Compare commits

..

12 commits

Author SHA1 Message Date
Claude
8f196145dc
Smithflix web app: theme, branding, AI rows, Not on Smithflix yet, Requests page, CI
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TdkZRTCV92L7gbQX2Z5Ay
2026-10-11 12:32:48 -04:00
Jellyfin Release Bot
fae41f33eb Bump version to 12.1 2026-09-14 20:34:42 -04:00
Bill Thornton
36e52bb5f8
Merge pull request #8483 from thornbill/fix-sdk-languages
Fix languages not being set for SDK
2026-09-14 12:49:45 -04:00
Bill Thornton
288b5ea3d8 Fix languages not being set for SDK 2026-09-14 12:33:06 -04:00
Bill Thornton
47045e757a
Merge pull request #8482 from thornbill/sdk-1.0.0
Use @jellyfin/sdk 1.0.0
2026-09-14 11:54:30 -04:00
Bill Thornton
516b817428
Merge pull request #8470 from thornbill/add-quick-connect-user-list
Add user selection to quick connect form for admins
2026-09-14 11:53:48 -04:00
Bill Thornton
43d362a4a7 Use @jellyfin/sdk 1.0.0 2026-09-14 10:08:52 -04:00
Bill Thornton
bf440ade9e Escape user names 2026-09-11 13:44:25 -04:00
Bill Thornton
f77e8a8b91 Add user selection to quick connect form for admins 2026-09-11 10:39:30 -04:00
Bill Thornton
4f2d1b1d8a
Merge pull request #8448 from thornbill/fix-ios-indicator-color
Fix indicator icon color in safari
2026-09-10 16:11:14 -04:00
Bill Thornton
5692208f57 Fix indicator icon color in safari 2026-09-09 11:45:03 -04:00
Jellyfin Release Bot
0e83c6a724 Bump version to 12.0 2026-09-07 21:05:12 -04:00
113 changed files with 2497 additions and 5509 deletions

View file

@ -18,7 +18,7 @@ body:
- type: markdown
attributes:
value: |
## Bug information
## Bug information
- type: textarea
id: description
attributes:
@ -88,13 +88,6 @@ body:
placeholder: 10.10.2
validations:
required: true
- type: textarea
attributes:
label: Plugins
description: List all plugins that are installed on the server.
placeholder: e.g. TMDb, Playback Reporting
validations:
required: false
- type: markdown
attributes:
value: |
@ -126,4 +119,4 @@ body:
description: Include any relevant details, resources, or screenshots that might help in understanding or implementing the request.
placeholder: Add any additional context here.
validations:
required: false
required: false

View file

@ -17,10 +17,8 @@ ex. Fixes #
### Code assistance
<!--
Describe whether or not code assistance ("AI"/LLM) was used.
List the exact tool, model, and version used and the specific actions that it performed.
e.g. all code generated by Gemma 4; investigated by LLama 4 Scout; PR authored by GitHub Copilot
Do NOT editorialize on code ownership, confidence, or any other aspect of LLM usage.
If code assistance was used, describe how it contributed
e.g., code generated by LLM, explanation of code base, debugging guidance.
-->
---

View file

@ -1,18 +0,0 @@
name: Automation 🎛️
on:
workflow_call:
secrets:
JF_BOT_TOKEN:
required: true
jobs:
conflicts:
name: Merge conflict labeling 🏷️
runs-on: ubuntu-latest
steps:
- uses: eps1lon/actions-label-merge-conflict@0273be72a0bbd58fcd71d0d6c02c209b50d1e5e1 # v3.1.0
with:
dirtyLabel: 'merge conflict'
commentOnDirty: 'This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.'
repoToken: ${{ secrets.JF_BOT_TOKEN }}

View file

@ -1,40 +0,0 @@
name: GitHub CodeQL 🔬
on:
workflow_call:
inputs:
commit:
required: true
type: string
jobs:
analyze:
name: Analyze ${{ matrix.language }} 🔬
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language:
- javascript-typescript
steps:
- name: Checkout repository ⬇️
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Initialize CodeQL 🛠️
uses: github/codeql-action/init@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
with:
queries: security-and-quality
languages: ${{ matrix.language }}
- name: Autobuild 📦
uses: github/codeql-action/autobuild@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
- name: Perform CodeQL Analysis 🧪
uses: github/codeql-action/analyze@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
with:
category: '/language:${{matrix.language}}'

View file

@ -1,86 +0,0 @@
name: Deploy 🏗️
on:
workflow_call:
secrets:
JF_BOT_TOKEN:
required: true
CLOUDFLARE_ACCOUNT_ID:
required: true
CLOUDFLARE_API_TOKEN:
required: true
inputs:
branch:
required: true
type: string
commit:
required: false
type: string
comment:
required: false
type: boolean
pr_number:
required: false
type: string
workflow_run_id:
required: true
type: string
artifact_name:
required: false
type: string
default: frontend
jobs:
progress-comment:
name: Progress Comment
if: ${{ always() && inputs.comment }}
uses: ./.github/workflows/__job_messages.yml
secrets:
JF_BOT_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
with:
branch: ${{ inputs.branch }}
commit: ${{ inputs.commit }}
pr_number: ${{ inputs.pr_number }}
comment: true
in_progress: true
cf-pages:
name: CloudFlare Pages 📃
runs-on: ubuntu-latest
environment:
name: ${{ inputs.branch == github.event.repository.default_branch && 'Production' || 'Preview' }}
url: ${{ steps.cf.outputs.deployment-url }}
outputs:
url: ${{ steps.cf.outputs.deployment-url }}
steps:
- name: Download workflow artifact ⬇️
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: ${{ inputs.artifact_name }}
run-id: ${{ inputs.workflow_run_id }}
github-token: ${{ github.token }}
- name: Publish to Cloudflare Pages 📃
uses: cloudflare/wrangler-action@ebbaa1584979971c8614a24965b4405ff95890e0 # v4.0.0
id: cf
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy . --project-name=jellyfin-web --branch="${{ inputs.branch }}"
compose-comment:
name: Compose and push comment 📝
# Always run so the comment is composed for the workflow summary
if: ${{ always() && inputs.comment }}
uses: ./.github/workflows/__job_messages.yml
secrets: inherit
needs:
- cf-pages
with:
branch: ${{ inputs.branch }}
commit: ${{ inputs.commit }}
preview_url: ${{ needs.cf-pages.outputs.url }}
pr_number: ${{ inputs.pr_number }}
comment: true
in_progress: false

View file

@ -1,72 +0,0 @@
name: Job messages ⚙️
on:
workflow_call:
secrets:
JF_BOT_TOKEN:
required: true
inputs:
branch:
required: false
type: string
commit:
required: true
type: string
preview_url:
required: false
type: string
in_progress:
required: true
type: boolean
comment:
required: false
type: boolean
pr_number:
required: true
type: string
marker:
description: Hidden marker to detect PR comments composed by the bot
required: false
type: string
default: "CFPages-deployment"
jobs:
cf_pages_msg:
name: CloudFlare Pages deployment 📃🚀
runs-on: ubuntu-latest
steps:
- name: Compose message 📃
if: ${{ always() }}
id: compose
env:
COMMIT: ${{ inputs.commit }}
PREVIEW_URL: ${{ inputs.preview_url != '' && (inputs.branch != 'master' && inputs.preview_url || format('https://jellyfin-web.pages.dev ({0})', inputs.preview_url)) || 'Not available' }}
DEPLOY_STATUS: ${{ inputs.in_progress && '🔄 Deploying...' || (inputs.preview_url != '' && '✅ Deployed!' || '❌ Failure. Check workflow logs for details') }}
DEPLOYMENT_TYPE: ${{ inputs.branch != 'master' && '🔀 Preview' || '⚙️ Production' }}
WORKFLOW_RUN: ${{ !inputs.in_progress && format('**[View build logs](https://github.com/{0}/actions/runs/{1})**', github.repository, github.run_id) || '' }}
# EOF is needed for multiline environment variables in a GitHub Actions context
run: |
echo "## Cloudflare Pages deployment" > $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| **Latest commit** | <code>${COMMIT::7}</code> |" >> $GITHUB_STEP_SUMMARY
echo "|------------------------- |:----------------------------: |" >> $GITHUB_STEP_SUMMARY
echo "| **Status** | $DEPLOY_STATUS |" >> $GITHUB_STEP_SUMMARY
echo "| **Preview URL** | $PREVIEW_URL |" >> $GITHUB_STEP_SUMMARY
echo "| **Type** | $DEPLOYMENT_TYPE |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "$WORKFLOW_RUN" >> $GITHUB_STEP_SUMMARY
COMPOSED_MSG=$(cat $GITHUB_STEP_SUMMARY)
echo "msg<<EOF" >> $GITHUB_ENV
echo "$COMPOSED_MSG" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Push comment to Pull Request 🔼
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
if: ${{ inputs.comment && steps.compose.conclusion == 'success' }}
with:
github-token: ${{ secrets.JF_BOT_TOKEN }}
message: ${{ env.msg }}
comment-tag: ${{ inputs.marker }}
pr-number: ${{ inputs.pr_number }}

View file

@ -1,46 +0,0 @@
name: Packaging 📦
on:
workflow_call:
inputs:
commit:
required: false
type: string
jobs:
run-build-prod:
name: Run production build 🏗️
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.commit || github.sha }}
- name: Setup node environment
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version-file: .nvmrc
cache: npm
check-latest: true
- name: Install Node.js dependencies
run: npm ci --no-audit
- name: Run a production build
env:
JELLYFIN_VERSION: ${{ inputs.commit || github.sha }}
run: npm run build:production
- name: Update config.json for testing
run: |
jq '.multiserver=true | .servers=["https://demo.jellyfin.org/unstable"]' dist/config.json > dist/config.tmp.json
mv dist/config.tmp.json dist/config.json
- name: Upload artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: frontend
path: dist
if-no-files-found: error

View file

@ -1,61 +0,0 @@
name: Quality checks 👌🧪
on:
workflow_call:
inputs:
commit:
required: true
type: string
workflow_dispatch:
jobs:
dependency-review:
name: Vulnerable dependencies 🔎
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Scan
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
with:
## Workaround from https://github.com/actions/dependency-review-action/issues/456
## TODO: Remove when necessary
base-ref: ${{ github.event.pull_request.base.sha || 'master' }}
head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
quality:
name: Run ${{ matrix.command }} 🕵️‍♂️
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
command:
- build:es-check
- lint
- stylelint
- build:check
- test
steps:
- name: Checkout ⬇️
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ inputs.commit }}
show-progress: false
- name: Setup node environment ⚙️
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version-file: .nvmrc
cache: npm
check-latest: true
- name: Install dependencies 📦
run: npm ci --no-audit
- name: Run ${{ matrix.command }} ⚙️
run: npm run ${{ matrix.command }}

View file

@ -1,29 +0,0 @@
name: Project Automation
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review, edited]
pull_request_review:
types: [submitted]
pull_request_target:
types: [closed]
permissions:
contents: read
jobs:
project-board:
name: Release project board
runs-on: ubuntu-latest
if: ${{ github.repository == 'jellyfin/jellyfin-web' && (github.event_name != 'pull_request_target' || github.event.pull_request.head.repo.full_name == github.repository) }}
steps:
- name: Update project board
uses: jellyfin/jellyfin-packaging/.github/actions/project-automation@f06be4dcc87411dd04434490b45a9745703e8efb # master
with:
github-token: ${{ secrets.GH_PROJECTS_TOKEN }}
repo: jellyfin-web
event-name: ${{ github.event_name }}
base-ref: ${{ github.event.pull_request.base.ref }}
pr-number: ${{ github.event.pull_request.number }}
pr-merged: ${{ github.event.pull_request.merged }}
required-approvals: '1'

View file

@ -1,66 +0,0 @@
name: Pull Request
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
on:
pull_request:
branches:
- master
- release*
paths-ignore:
- '**/*.md'
jobs:
build:
name: Build 🏗️
if: ${{ always() && !cancelled() }}
uses: ./.github/workflows/__package.yml
with:
commit: ${{ github.event.pull_request.head.sha }}
quality_checks:
name: Quality checks 👌🧪
if: ${{ always() && !cancelled() }}
uses: ./.github/workflows/__quality_checks.yml
permissions: {}
with:
commit: ${{ github.event.pull_request.head.sha }}
codeql:
name: GitHub CodeQL 🔬
if: ${{ always() && !cancelled() }}
uses: ./.github/workflows/__codeql.yml
permissions:
actions: read
contents: read
security-events: write
with:
commit: ${{ github.event.pull_request.head.sha }}
run-eslint:
name: Run eslint suggestions
if: ${{ github.repository == 'jellyfin/jellyfin-web' }}
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup node environment
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
with:
node-version-file: .nvmrc
cache: npm
check-latest: true
- name: Install Node.js dependencies
run: npm ci --no-audit
- name: Run eslint
uses: CatChen/eslint-suggestion-action@2b07b898c0dd5a016586d22b54282199b79cd358 # v4.1.33
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,57 +0,0 @@
name: Push & Release 🌍
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref }}
cancel-in-progress: true
on:
push:
branches:
- master
- release*
paths-ignore:
- '**/*.md'
jobs:
main:
name: 'Unstable release 🚀⚠️'
uses: ./.github/workflows/__package.yml
with:
commit: ${{ github.sha }}
quality_checks:
name: Quality checks 👌🧪
if: ${{ always() && !cancelled() }}
uses: ./.github/workflows/__quality_checks.yml
permissions: {}
with:
commit: ${{ github.sha }}
codeql:
name: GitHub CodeQL 🔬
uses: ./.github/workflows/__codeql.yml
permissions:
actions: read
contents: read
security-events: write
with:
commit: ${{ github.sha }}
deploy:
name: Deploy 🚀
if: ${{ github.repository == 'jellyfin/jellyfin-web' }}
uses: ./.github/workflows/__deploy.yml
needs:
- main
permissions:
contents: read
deployments: write
secrets:
JF_BOT_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
with:
branch: ${{ github.ref_name }}
commit: ${{ github.sha }}
workflow_run_id: ${{ github.run_id }}
comment: false

View file

@ -1,38 +0,0 @@
name: Scheduled tasks 🕑
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
issues:
name: Check stale issues and PRs
runs-on: ubuntu-latest
if: ${{ contains(github.repository, 'jellyfin/') }}
steps:
- uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0
with:
repo-token: ${{ secrets.JF_BOT_TOKEN }}
operations-per-run: 75
# Issues receive a stale warning after 120 days and close after an additional 21 days
days-before-stale: 120
days-before-close: 21
exempt-issue-labels: regression,security,roadmap,future,feature,enhancement,confirmed
stale-issue-label: stale
stale-issue-message: |-
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://jellyfin.org/contact).
# PRs are closed after having unresolved merge conflicts for 90 days
days-before-pr-stale: 0
days-before-pr-close: 90
only-pr-labels: merge conflict
stale-pr-label: stale
close-pr-message: |-
This PR has been closed due to having unresolved merge conflicts.

65
.github/workflows/smithflix-web.yml vendored Normal file
View file

@ -0,0 +1,65 @@
name: Smithflix / Build web app
# Builds the Smithflix web app on every push and publishes it as the "web" release in the
# public smithflix-releases repo. The Smithflix Hub on the PowerEdge checks that release
# every hour and installs new versions automatically.
on:
push:
branches:
- smithflix
workflow_dispatch:
concurrency:
group: smithflix-web
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
- name: Install
run: npm ci --no-audit
- name: Swap in the Smithflix logo and icons
run: |
cp smithflix/brand/*.png node_modules/@jellyfin/ux-web/
cp smithflix/brand/favicons/* node_modules/@jellyfin/ux-web/favicons/
- name: Build
env:
JELLYFIN_VERSION: Smithflix ${{ github.run_number }}
run: |
set -o pipefail
npm run build:production 2>&1 | tee build.log || {
grep -E "ERROR|error TS|Module not found|SyntaxError" -A3 build.log | head -40 | while IFS= read -r line; do echo "::error::${line}"; done
exit 1
}
- name: Package
run: |
test -f dist/index.html
tar -C dist -czf smithflix-web.tar.gz .
ls -la smithflix-web.tar.gz
- name: Publish to smithflix-releases
env:
GH_TOKEN: ${{ secrets.RELEASES_TOKEN }}
RELEASES_REPO: ${{ github.repository_owner }}/smithflix-releases
run: |
if [ -z "$GH_TOKEN" ]; then
echo "::error::Add the RELEASES_TOKEN secret to this repo (same token as the smithflix repo uses)"
exit 1
fi
gh release delete web -R "$RELEASES_REPO" --yes --cleanup-tag || true
gh release create web smithflix-web.tar.gz -R "$RELEASES_REPO" \
--title "Smithflix web app" \
--notes "Built from ${GITHUB_SHA::7}: $(git log -1 --pretty=%s)" \
--latest=false

View file

@ -1,66 +0,0 @@
name: Workflow Run
concurrency:
group: ${{ github.workflow }}-${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true
on:
workflow_run:
workflows:
- Pull Request
types:
- completed
jobs:
metadata:
name: Metadata
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
outputs:
pr_number: ${{ steps.pr_number.outputs.pr_number }}
steps:
- name: Get Pull Request Number
id: pr_number
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
run: |
API_RESPONSE=$(gh pr list --repo "${GITHUB_REPOSITORY}" --search "${HEAD_SHA}" --state open --json number)
PR_NUMBER=$(echo "${API_RESPONSE}" | jq '.[0].number')
echo "repository: ${GITHUB_REPOSITORY}"
echo "sha: ${HEAD_SHA}"
echo "response: ${API_RESPONSE}"
echo "pr: ${PR_NUMBER}"
echo "pr_number=${PR_NUMBER}" >> "${GITHUB_OUTPUT}"
automation:
name: Automation
uses: ./.github/workflows/__automation.yml
permissions:
contents: read
issues: write
secrets:
JF_BOT_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
deploy:
name: Deploy
if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/__deploy.yml
permissions:
contents: read
issues: write
deployments: write
secrets:
JF_BOT_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
needs:
- metadata
with:
branch: ${{ format('{0}/{1}', github.event.workflow_run.head_repository.full_name, github.event.workflow_run.head_branch) }}
commit: ${{ github.event.workflow_run.head_sha }}
workflow_run_id: ${{ github.event.workflow_run.id }}
pr_number: ${{ needs.metadata.outputs.pr_number }}
comment: true

View file

@ -110,7 +110,6 @@
- [austinhardaway](https://github.com/austinhardaway)
- [Alex Dickens](https://github.com/alex-dicko)
- [shindouj](https://github.com/shindouj)
- [TheDreadPirate](https://github.com/thedreaddpirate)
## Emby Contributors

View file

@ -94,6 +94,7 @@ export default tseslint.config(
'@typescript-eslint/no-useless-constructor': 'error',
'no-var': 'error',
'no-void': ['error', { 'allowAsStatement': true }],
'no-warning-comments': ['warn', { 'terms': ['hack', 'xxx'] }],
'one-var': ['error', 'never'],
'prefer-const': ['error', { 'destructuring': 'all' }],
'prefer-promise-reject-errors': ['warn', { 'allowEmptyReject': true }],
@ -386,6 +387,7 @@ export default tseslint.config(
},
rules: {
'react/jsx-filename-extension': ['error', { 'extensions': ['.jsx', '.tsx'] }],
'react/jsx-no-bind': 'error',
'react/jsx-no-useless-fragment': 'error',
'react/no-array-index-key': 'error',
'react-hooks/rules-of-hooks': 'error',

452
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "jellyfin-web",
"version": "13.0.0",
"version": "12.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "jellyfin-web",
"version": "13.0.0",
"version": "12.1.0",
"license": "GPL-2.0-or-later",
"dependencies": {
"@emotion/react": "11.14.0",
@ -18,15 +18,15 @@
"@fontsource/noto-sans-sc": "5.3.0",
"@fontsource/noto-sans-tc": "5.3.0",
"@jellyfin/libass-wasm": "4.2.4",
"@jellyfin/sdk": "0.0.0-unstable.202609160935",
"@jellyfin/sdk": "1.0.0",
"@jellyfin/ux-web": "1.0.0",
"@mui/icons-material": "6.5.0",
"@mui/material": "6.5.0",
"@mui/x-date-pickers": "7.29.4",
"@react-hook/resize-observer": "2.0.2",
"@tanstack/react-query": "5.104.1",
"@tanstack/react-query-devtools": "5.104.1",
"@tanstack/react-query-persist-client": "5.104.1",
"@tanstack/react-query": "5.91.3",
"@tanstack/react-query-devtools": "5.91.3",
"@tanstack/react-query-persist-client": "5.90.27",
"abortcontroller-polyfill": "1.7.8",
"axios": "1.18.1",
"blurhash": "2.0.5",
@ -144,7 +144,8 @@
},
"engines": {
"node": ">=24.0.0",
"npm": ">=11.0.0"
"npm": ">=11.0.0",
"yarn": "YARN NO LONGER USED - use npm instead."
},
"optionalDependencies": {
"sass-embedded": "1.100.0"
@ -2096,18 +2097,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/@corvu/utils": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@corvu/utils/-/utils-0.4.2.tgz",
"integrity": "sha512-Ox2kYyxy7NoXdKWdHeDEjZxClwzO4SKM8plAaVwmAJPxHMqA0rLOoAsa+hBDwRLpctf+ZRnAd/ykguuJidnaTA==",
"license": "MIT",
"dependencies": {
"@floating-ui/dom": "^1.6.11"
},
"peerDependencies": {
"solid-js": "^1.8"
}
},
"node_modules/@csstools/cascade-layer-name-parser": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz",
@ -4422,31 +4411,6 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@floating-ui/core": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz",
"integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==",
"license": "MIT",
"dependencies": {
"@floating-ui/utils": "^0.2.12"
}
},
"node_modules/@floating-ui/dom": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz",
"integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==",
"license": "MIT",
"dependencies": {
"@floating-ui/core": "^1.8.0",
"@floating-ui/utils": "^0.2.12"
}
},
"node_modules/@floating-ui/utils": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz",
"integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==",
"license": "MIT"
},
"node_modules/@fontsource/noto-sans": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.3.0.tgz",
@ -4566,15 +4530,6 @@
"url": "https://github.com/sponsors/nzakas"
}
},
"node_modules/@internationalized/number": {
"version": "3.6.8",
"resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.8.tgz",
"integrity": "sha512-8UmMFia46DUt+k97zKd9fKWXcWHR+k8ae3eYzILETuT2KbIvLyOfac7zesw+sJdRAAZ7Q9pM1Mk22aXp2LD0Ig==",
"license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0"
}
},
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
@ -4686,9 +4641,9 @@
"license": "LGPL-2.1-or-later AND (FTL OR GPL-2.0-or-later) AND MIT AND MIT-Modern-Variant AND ISC AND NTP AND Zlib AND BSL-1.0"
},
"node_modules/@jellyfin/sdk": {
"version": "0.0.0-unstable.202609160935",
"resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202609160935.tgz",
"integrity": "sha512-LuKHS1OuEHPnSGk1mUEb+YlZG656Z5ObHG4TypZzvFxPg+AEH4BUuKG6YjG9jPSirb6/Z00iJxq5kZsiw5gNvw==",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-1.0.0.tgz",
"integrity": "sha512-bu7EbMxEz+mH2N/v8Oj/dDCQQvTmEVTZBzKhYgwpKrL9l63LMZvjY2gvnU4imMi9389kzh0LQD75MzMtcoDJtA==",
"license": "MPL-2.0",
"peerDependencies": {
"axios": "^1.12.0"
@ -4818,42 +4773,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/@kobalte/core": {
"version": "0.13.14",
"resolved": "https://registry.npmjs.org/@kobalte/core/-/core-0.13.14.tgz",
"integrity": "sha512-SBVB1lnvYbYt2x3t7fG0lo5fGLEbHQ6PII3NDPva8vD5e2v53On84ZVQiuIk0XI/55R4GQhden7Yem+R/XR8uQ==",
"license": "MIT",
"dependencies": {
"@floating-ui/dom": "^1.5.1",
"@internationalized/number": "^3.2.1",
"@kobalte/utils": "^0.9.2",
"@solid-primitives/props": "^3.1.8",
"@solid-primitives/resize-observer": "^2.0.26",
"solid-presence": "^0.2.0",
"solid-prevent-scroll": "^0.1.11"
},
"peerDependencies": {
"solid-js": "^1.9.8"
}
},
"node_modules/@kobalte/utils": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@kobalte/utils/-/utils-0.9.2.tgz",
"integrity": "sha512-jRVXr+zsVHxzDXRoh+CDeXzvCsFJ6uiHhqqNQ26Cw9ZsZ3D6nqPUBt1gGVtj2ZPmRL3a9Uk1v8D1aJ8/I12Dow==",
"license": "MIT",
"dependencies": {
"@solid-primitives/event-listener": "^2.2.14",
"@solid-primitives/keyed": "^1.2.0",
"@solid-primitives/map": "^0.4.7",
"@solid-primitives/media": "^2.2.4",
"@solid-primitives/props": "^3.1.8",
"@solid-primitives/refs": "^1.0.5",
"@solid-primitives/utils": "^6.2.1"
},
"peerDependencies": {
"solid-js": "^1.8.8"
}
},
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
@ -6132,159 +6051,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/@solid-primitives/event-listener": {
"version": "2.4.6",
"resolved": "https://registry.npmjs.org/@solid-primitives/event-listener/-/event-listener-2.4.6.tgz",
"integrity": "sha512-5I0YJcTVYIWoMmgBSROBZGcz+ymhew/pGTg2dHW74BUjFKsV8Li4bOZYl0YAGP4mHw5o4UBd9/BEesqBci3wxw==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/keyed": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/@solid-primitives/keyed/-/keyed-1.5.3.tgz",
"integrity": "sha512-zNadtyYBhJSOjXtogkGHmRxjGdz9KHc8sGGVAGlUABkE8BED2tbIZoxkwSqzOwde8OcUEH0bb5DLZUWIMvyBSA==",
"license": "MIT",
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/map": {
"version": "0.4.13",
"resolved": "https://registry.npmjs.org/@solid-primitives/map/-/map-0.4.13.tgz",
"integrity": "sha512-B1zyFbsiTQvqPr+cuPCXO72sRuczG9Swncqk5P74NCGw1VE8qa/Ry9GlfI1e/VdeQYHjan+XkbE3rO2GW/qKew==",
"license": "MIT",
"dependencies": {
"@solid-primitives/trigger": "^1.1.0"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/media": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/@solid-primitives/media/-/media-2.3.6.tgz",
"integrity": "sha512-pk49gPOq/UMRUJ+pTSrOfBiR8xJjRYHXIf1iR/jSnyQ/KroU+ZXhkZzavC7hvfp2vJeOTW5k2/HN0r3Q1VJ7Pw==",
"license": "MIT",
"dependencies": {
"@solid-primitives/event-listener": "^2.4.6",
"@solid-primitives/rootless": "^1.5.4",
"@solid-primitives/static-store": "^0.1.4",
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/props": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/@solid-primitives/props/-/props-3.2.4.tgz",
"integrity": "sha512-MXXdvi2TSB6d+0N6ueA/HP1j/Kh9SEc4WdF1ZDMLwPagxW6pIHHSS9xbRO0RjqSVpNP4j0nxCWT1hx3CkJNhNA==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/refs": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@solid-primitives/refs/-/refs-1.1.4.tgz",
"integrity": "sha512-bLjwIs6ZPu8NQnuw04sU3Zc8qKSpbc0umUU/O4SHf6oWOdO4+dHY8vb1T7C4b/Tg103+9WGr6sEE0+NFlbaB/A==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/resize-observer": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@solid-primitives/resize-observer/-/resize-observer-2.2.0.tgz",
"integrity": "sha512-9Fuu/EWBeGj+atGHRJp70HKhdfalmpjwxY8a32NZixdLNmfCJ45AfhLQNr6uOzETbbiMx4iCKlTrJ8KZCHC2Ww==",
"license": "MIT",
"dependencies": {
"@solid-primitives/event-listener": "^2.4.6",
"@solid-primitives/rootless": "^1.5.4",
"@solid-primitives/static-store": "^0.1.4",
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/rootless": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/@solid-primitives/rootless/-/rootless-1.5.4.tgz",
"integrity": "sha512-TOIZa1VUfVJ+9nkCcRajw3U4t9vBOP1HxX1WHNTbXq32mXwlqTvUnC4CRIilohcryBkT9u2ZkhUDSHRTaGp55g==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/static-store": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.1.4.tgz",
"integrity": "sha512-LgtVaVBtB7EbmS4+M0b8xY5Iq6pUWXBsIC4VgtrFKDGDdyCaDt88sHk0fUlx1Enxm/XZnZyLXJABRoa39RjJqA==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/storage": {
"version": "1.3.11",
"resolved": "https://registry.npmjs.org/@solid-primitives/storage/-/storage-1.3.11.tgz",
"integrity": "sha512-PpQWR3TaTxHIJFbI9ZssYTM4Aa67g1vJIgps4TPhcXzHqqomrPAIveFC2FG7SDQoi9YQia8FVBjigELziJpfIg==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.2.0"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/transition-group": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@solid-primitives/transition-group/-/transition-group-1.1.2.tgz",
"integrity": "sha512-gnHS0OmcdjeoHN9n7Khu8KNrOlRc8a2weETDt2YT6o1zeW/XtUC6Db3Q9pkMU/9cCKdEmN4b0a/41MKAHRhzWA==",
"license": "MIT",
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/trigger": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@solid-primitives/trigger/-/trigger-1.2.4.tgz",
"integrity": "sha512-Ju0e+ZOD7hpOp7nptJimvDSZHWFvIvF9iBWMvuwt30smX7c5wmB8Kmc0AdDuv0wOTi06PQ1J5IrP1WJbH2yUBQ==",
"license": "MIT",
"dependencies": {
"@solid-primitives/utils": "^6.4.1"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@solid-primitives/utils": {
"version": "6.4.1",
"resolved": "https://registry.npmjs.org/@solid-primitives/utils/-/utils-6.4.1.tgz",
"integrity": "sha512-ISSB5QX1qP2ynrheIpYwc4oKR5Ny4siNuUyf1qZniy+Il+p/PtDB0QK1Dnle8noiHpwRD3gpPdubOC3qI/Zamg==",
"license": "MIT",
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/@stylistic/eslint-plugin": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.4.1.tgz",
@ -6374,15 +6140,6 @@
"node": ">=0.10.0"
}
},
"node_modules/@swc/helpers": {
"version": "0.5.23",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz",
"integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.8.0"
}
},
"node_modules/@tanstack/match-sorter-utils": {
"version": "8.19.4",
"resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz",
@ -6400,9 +6157,9 @@
}
},
"node_modules/@tanstack/query-core": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.104.1.tgz",
"integrity": "sha512-TiRghcrGkUTE+M4JBxvpPSpBhxvIzQairw+cksrHYGr+2uwC77yW1SY9nYxnYRYOppvucf8rEg6b5byoz4rTpw==",
"version": "5.91.2",
"resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.91.2.tgz",
"integrity": "sha512-Uz2pTgPC1mhqrrSGg18RKCWT/pkduAYtxbcyIyKBhw7dTWjXZIzqmpzO2lBkyWr4hlImQgpu1m1pei3UnkFRWw==",
"license": "MIT",
"funding": {
"type": "github",
@ -6410,51 +6167,22 @@
}
},
"node_modules/@tanstack/query-devtools": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.104.1.tgz",
"integrity": "sha512-wmXnQbnwEz+SctYMTrwsOWWNHKhCsVgtaliL9E+VI2vx2Xr773d/MpcrbIU1hEOUqC3p7x59swXFUPDLbplT3g==",
"version": "5.93.0",
"resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.93.0.tgz",
"integrity": "sha512-+kpsx1NQnOFTZsw6HAFCW3HkKg0+2cepGtAWXjiiSOJJ1CtQpt72EE2nyZb+AjAbLRPoeRmPJ8MtQd8r8gsPdg==",
"license": "MIT",
"dependencies": {
"@kobalte/core": "^0.13.14",
"@solid-primitives/keyed": "^1.5.3",
"@solid-primitives/resize-observer": "^2.2.0",
"@solid-primitives/storage": "^1.3.11",
"@tanstack/match-sorter-utils": "^9.1.2",
"@tanstack/query-core": "5.104.1",
"clsx": "^2.1.1",
"goober": "^2.1.19",
"solid-js": "^1.9.15",
"solid-transition-group": "^0.2.3",
"superjson": "^2.2.6"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/query-devtools/node_modules/@tanstack/match-sorter-utils": {
"version": "9.1.2",
"resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-9.1.2.tgz",
"integrity": "sha512-aPkUQctDzpXLSWhlx7jUDi3mInsI18xcnrK1hvIyIa88ab1ax88cACr7xU+BKMCGB4NZYNwh4SoNSEbv3RY2NA==",
"license": "MIT",
"dependencies": {
"remove-accents": "0.5.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
}
},
"node_modules/@tanstack/query-persist-client-core": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.104.1.tgz",
"integrity": "sha512-ONiadXqe56iNrw6RESqKILpTIVG9ZMI/DageTQnrBDt/nZ6WiP4G13iIiMwJEsiO12gQ3Gychx8tcFIPw4k25g==",
"version": "5.92.4",
"resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.92.4.tgz",
"integrity": "sha512-VKppfuXFJbm8ToFC9waMIb9bpjeyb3+H52Y6jNAQ/fnRs0PvFTPQX1lXuw6yMd43CKQZ9+s04zzvGTg6q4JBtA==",
"license": "MIT",
"dependencies": {
"@tanstack/query-core": "5.104.1"
"@tanstack/query-core": "5.91.2"
},
"funding": {
"type": "github",
@ -6462,12 +6190,12 @@
}
},
"node_modules/@tanstack/react-query": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.104.1.tgz",
"integrity": "sha512-Zz70EgjahNI7aCz8BZxM3vUGU44ycxEAzMuCUjLeA7SVhhOkg3ZgPjPJPvHjs6Rmky/dtmnu1WzjGHNHmhCoZQ==",
"version": "5.91.3",
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.91.3.tgz",
"integrity": "sha512-D8jsCexxS5crZxAeiH6VlLHOUzmHOxeW5c11y8rZu0c34u/cy18hUKQXA/gn1Ila3ZIFzP+Pzv76YnliC0EtZQ==",
"license": "MIT",
"dependencies": {
"@tanstack/query-core": "5.104.1"
"@tanstack/query-core": "5.91.2"
},
"funding": {
"type": "github",
@ -6478,37 +6206,36 @@
}
},
"node_modules/@tanstack/react-query-devtools": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.104.1.tgz",
"integrity": "sha512-0GoLxe08PVxnkbrHFwO+7fkgbc07xEcoBfdYvbTv63e6Fe7uz7PGyOxKeQTOXKGMmTfoniaISOqkjDzKC/66Ng==",
"version": "5.91.3",
"resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.3.tgz",
"integrity": "sha512-nlahjMtd/J1h7IzOOfqeyDh5LNfG0eULwlltPEonYy0QL+nqrBB+nyzJfULV+moL7sZyxc2sHdNJki+vLA9BSA==",
"license": "MIT",
"dependencies": {
"@tanstack/query-devtools": "5.104.1"
"@tanstack/query-devtools": "5.93.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"@tanstack/react-query": "^5.104.1",
"@types/react": "^18 || ^19",
"@tanstack/react-query": "^5.90.20",
"react": "^18 || ^19"
}
},
"node_modules/@tanstack/react-query-persist-client": {
"version": "5.104.1",
"resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-5.104.1.tgz",
"integrity": "sha512-kU3YaqjkwEUzUUfPF0JVg56d6gJKWHaFVqOlQztwc4C2IT0P5sv/23orrSoQqjxKaUe6Ejw5IIQtA/G12uNmow==",
"version": "5.90.27",
"resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-5.90.27.tgz",
"integrity": "sha512-rKiCZ2C0kzmyDoLfrPHz2UdEDKHo/oXkKVRbhgtHya/bWH6jWDFX5cSFc1SLB33FDrgR8uOG1MwVohBrI4+F8A==",
"license": "MIT",
"dependencies": {
"@tanstack/query-persist-client-core": "5.104.1"
"@tanstack/query-persist-client-core": "5.92.4"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
"@tanstack/react-query": "^5.104.1",
"@tanstack/react-query": "^5.91.2",
"react": "^18 || ^19"
}
},
@ -9498,18 +9225,6 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"node_modules/copy-anything": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.1.5.tgz",
"integrity": "sha512-vePst2VLTSqPglW7Q98VwFpGiGpOHTyXIo81MO5VyLecA5zMbZw/P/V1vmwD1jksa2iJpn/YkDrJ3XhTfzUyhQ==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/mesqueeb"
}
},
"node_modules/copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@ -13209,15 +12924,6 @@
"node": ">=0.6.0"
}
},
"node_modules/goober": {
"version": "2.1.19",
"resolved": "https://registry.npmjs.org/goober/-/goober-2.1.19.tgz",
"integrity": "sha512-U7veizMqxyKlM58+Z5j2ngJBH/r9siDmxpvNxSw0PylF6WQvrASJEZrxh1hidRBJc2jqoBVSyOban5u8m+6Rxg==",
"license": "MIT",
"peerDependencies": {
"csstype": "^3.0.10"
}
},
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@ -20678,27 +20384,6 @@
"node": ">=20.0.0"
}
},
"node_modules/seroval": {
"version": "1.5.6",
"resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.6.tgz",
"integrity": "sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==",
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/seroval-plugins": {
"version": "1.5.6",
"resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.6.tgz",
"integrity": "sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==",
"license": "MIT",
"engines": {
"node": ">=10"
},
"peerDependencies": {
"seroval": "^1.0"
}
},
"node_modules/serve-index": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
@ -21261,58 +20946,6 @@
"websocket-driver": "^0.7.4"
}
},
"node_modules/solid-js": {
"version": "1.9.15",
"resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.15.tgz",
"integrity": "sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==",
"license": "MIT",
"dependencies": {
"csstype": "^3.1.0",
"seroval": "~1.5.4",
"seroval-plugins": "~1.5.4"
}
},
"node_modules/solid-presence": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/solid-presence/-/solid-presence-0.2.0.tgz",
"integrity": "sha512-YM92o+jvpzX3XGaD4rLYmq/Kc2ZVh47GSCLEufHBFQQIurvZTs8SoGJxO8BJGNDxBKdcS8F3dYhW1SDXp4BNjA==",
"license": "MIT",
"dependencies": {
"@corvu/utils": "~0.4.2"
},
"peerDependencies": {
"solid-js": "^1.8"
}
},
"node_modules/solid-prevent-scroll": {
"version": "0.1.11",
"resolved": "https://registry.npmjs.org/solid-prevent-scroll/-/solid-prevent-scroll-0.1.11.tgz",
"integrity": "sha512-2PComVCDHaQN/5t7ogEqUYeHasritZKXZ8Sb/VLkl0Web8o9YhEwOo8LSujJEahvMlYCNyKt0zRJeHldOAeWZg==",
"license": "MIT",
"dependencies": {
"@corvu/utils": "~0.4.2"
},
"peerDependencies": {
"solid-js": "^1.8"
}
},
"node_modules/solid-transition-group": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/solid-transition-group/-/solid-transition-group-0.2.3.tgz",
"integrity": "sha512-iB72c9N5Kz9ykRqIXl0lQohOau4t0dhel9kjwFvx81UZJbVwaChMuBuyhiZmK24b8aKEK0w3uFM96ZxzcyZGdg==",
"license": "MIT",
"dependencies": {
"@solid-primitives/refs": "^1.0.5",
"@solid-primitives/transition-group": "^1.0.2"
},
"engines": {
"node": ">=18.0.0",
"pnpm": ">=8.6.0"
},
"peerDependencies": {
"solid-js": "^1.6.12"
}
},
"node_modules/sonic-forest": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sonic-forest/-/sonic-forest-1.0.3.tgz",
@ -23425,18 +23058,6 @@
"node": ">=6"
}
},
"node_modules/superjson": {
"version": "2.2.6",
"resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz",
"integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==",
"license": "MIT",
"dependencies": {
"copy-anything": "^4"
},
"engines": {
"node": ">=16"
}
},
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@ -24338,7 +23959,8 @@
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"devOptional": true
},
"node_modules/tsyringe": {
"version": "4.10.0",

View file

@ -1,6 +1,6 @@
{
"name": "jellyfin-web",
"version": "13.0.0",
"version": "12.1.0",
"description": "Web interface for Jellyfin",
"repository": "https://github.com/jellyfin/jellyfin-web",
"license": "GPL-2.0-or-later",
@ -86,15 +86,15 @@
"@fontsource/noto-sans-sc": "5.3.0",
"@fontsource/noto-sans-tc": "5.3.0",
"@jellyfin/libass-wasm": "4.2.4",
"@jellyfin/sdk": "0.0.0-unstable.202609160935",
"@jellyfin/sdk": "1.0.0",
"@jellyfin/ux-web": "1.0.0",
"@mui/icons-material": "6.5.0",
"@mui/material": "6.5.0",
"@mui/x-date-pickers": "7.29.4",
"@react-hook/resize-observer": "2.0.2",
"@tanstack/react-query": "5.104.1",
"@tanstack/react-query-devtools": "5.104.1",
"@tanstack/react-query-persist-client": "5.104.1",
"@tanstack/react-query": "5.91.3",
"@tanstack/react-query-devtools": "5.91.3",
"@tanstack/react-query-persist-client": "5.90.27",
"abortcontroller-polyfill": "1.7.8",
"axios": "1.18.1",
"blurhash": "2.0.5",
@ -173,6 +173,7 @@
},
"engines": {
"node": ">=24.0.0",
"npm": ">=11.0.0"
"npm": ">=11.0.0",
"yarn": "YARN NO LONGER USED - use npm instead."
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -221,6 +221,7 @@ export const Component = () => {
>
<Tooltip title={globalize.translate('Edit')}>
<IconButton
// eslint-disable-next-line react/jsx-no-bind
onClick={() => table.setEditingRow(row)}
>
<Edit />

View file

@ -94,6 +94,7 @@ export const Component = () => {
<Tooltip title={globalize.translate('ButtonRevoke')}>
<IconButton
color='error'
// eslint-disable-next-line react/jsx-no-bind
onClick={() => row.original?.AccessToken && onRevokeKey(row.original.AccessToken)}
>
<DeleteIcon />

View file

@ -183,18 +183,21 @@ export const Component = () => {
>
<Chip
color={status === PluginStatusOption.All ? 'primary' : undefined}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setStatus(PluginStatusOption.All)}
label={globalize.translate('All')}
/>
<Chip
color={status === PluginStatusOption.Available ? 'primary' : undefined}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setStatus(PluginStatusOption.Available)}
label={globalize.translate('LabelAvailable')}
/>
<Chip
color={status === PluginStatusOption.Installed ? 'primary' : undefined}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setStatus(PluginStatusOption.Installed)}
label={globalize.translate('LabelInstalled')}
/>
@ -203,6 +206,7 @@ export const Component = () => {
<Chip
color={!category ? 'primary' : undefined}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setCategory('')}
label={globalize.translate('All')}
/>
@ -211,6 +215,7 @@ export const Component = () => {
<Chip
key={c}
color={category === c.toLowerCase() ? 'primary' : undefined}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setCategory(c.toLowerCase())}
label={globalize.translate(CATEGORY_LABELS[c as PluginCategory])}
/>

View file

@ -126,6 +126,7 @@ export const Component = () => {
<Tooltip disableInteractive title={globalize.translate('ButtonRemove')}>
<IconButton
color='error'
// eslint-disable-next-line react/jsx-no-bind
onClick={() => onDeleteTrigger(row.original)}
>
<RemoveCircleIcon />

View file

@ -256,7 +256,7 @@ function renderVideoSelections(page, mediaSources) {
titleParts.push(v.Codec.toUpperCase());
}
return `<option value="${v.Index}" ${selected}>${escapeHtml(v.DisplayTitle || titleParts.join(' '))}</option>`;
return '<option value="' + v.Index + '" ' + selected + '>' + (v.DisplayTitle || titleParts.join(' ')) + '</option>';
}).join('');
select.setAttribute('disabled', 'disabled');
@ -279,7 +279,7 @@ function renderAudioSelections(page, mediaSources) {
const selectedId = mediaSource.DefaultAudioStreamIndex;
select.innerHTML = tracks.map(function (v) {
const selected = v.Index === selectedId ? ' selected' : '';
return `<option value="${v.Index}" ${selected}>${escapeHtml(v.DisplayTitle)}</option>`;
return '<option value="' + v.Index + '" ' + selected + '>' + v.DisplayTitle + '</option>';
}).join('');
if (tracks.length > 1) {
@ -309,7 +309,7 @@ function renderSubtitleSelections(page, mediaSources) {
let selected = selectedId === -1 ? ' selected' : '';
select.innerHTML = '<option value="-1">' + globalize.translate('Off') + '</option>' + tracks.map(function (v) {
selected = v.Index === selectedId ? ' selected' : '';
return `<option value="${v.Index}" ${selected}>${escapeHtml(v.DisplayTitle)}</option>`;
return '<option value="' + v.Index + '" ' + selected + '>' + v.DisplayTitle + '</option>';
}).join('');
if (tracks.length > 0) {
@ -729,22 +729,12 @@ function renderLinks(page, item) {
const links = [];
if (!layoutManager.tv && item.HomePageUrl) {
try {
const parsedUrl = new URL(item.HomePageUrl);
links.push(`<a is="emby-linkbutton" class="button-link" href="${parsedUrl.href}" target="_blank">${globalize.translate('ButtonWebsite')}</a>`);
} catch {
console.error('[renderLinks] Failed to parse home page URL', item.HomePageUrl);
}
links.push(`<a is="emby-linkbutton" class="button-link" href="${item.HomePageUrl}" target="_blank">${globalize.translate('ButtonWebsite')}</a>`);
}
if (item.ExternalUrls) {
for (const url of item.ExternalUrls) {
try {
const parsedUrl = new URL(url.Url);
links.push(`<a is="emby-linkbutton" class="button-link" href="${parsedUrl.href}" target="_blank">${escapeHtml(url.Name)}</a>`);
} catch {
console.error('[renderLinks] Failed to parse external URL', url.Url);
}
links.push(`<a is="emby-linkbutton" class="button-link" href="${url.Url}" target="_blank">${escapeHtml(url.Name)}</a>`);
}
}

View file

@ -50,6 +50,7 @@ const SearchFields: FC<SearchFieldsProps> = ({
data-keyboard='true'
placeholder={globalize.translate('Search')}
autoComplete='off'
maxLength={40}
// eslint-disable-next-line jsx-a11y/no-autofocus
autoFocus
value={query}

View file

@ -3,6 +3,7 @@ import { AsyncRoute } from '../../../../components/router/AsyncRoute';
export const ASYNC_USER_ROUTES: AsyncRoute[] = [
{ path: 'mypreferencesmenu', page: 'user/settings' },
{ path: 'quickconnect', page: 'quickConnect' },
{ path: 'requests' },
{ path: 'search', page: 'search' },
{ path: 'userprofile', page: 'user/userprofile' }
];

View file

@ -0,0 +1,161 @@
import React, { type FC, useCallback, useEffect, useRef, useState } from 'react';
import Page from 'components/Page';
import {
type HubTitle,
hubFetch,
renderHubCards
} from 'components/homesections/sections/smithflix';
import ServerConnections from 'lib/jellyfin-apiclient/ServerConnections';
interface MyRequest extends HubTitle {
request: 'pending' | 'approved' | 'declined' | 'failed' | 'completed'
}
const REQUEST_LABEL: Record<string, string> = {
pending: 'Waiting for approval',
approved: 'Approved · downloading',
declined: 'Declined',
failed: 'Failed',
completed: 'On Smithflix'
};
const REQUEST_COLOR: Record<string, string> = {
pending: '#FFB547',
approved: '#1C8CFF',
declined: '#FF5C5C',
failed: '#FF5C5C',
completed: '#3DDC97'
};
const Section: FC<{ title: string, hint?: string, children: React.ReactNode }> = ({ title, hint, children }) => (
<div className='verticalSection' style={{ marginBottom: '2em' }}>
<div className='sectionTitleContainer padded-left'>
<h2 className='sectionTitle'>{title}</h2>
</div>
{hint && <p className='padded-left' style={{ opacity: 0.7, marginTop: 0 }}>{hint}</p>}
{children}
</div>
);
/** Smithflix Requests: search for anything, request it, and see your requests and the AI's picks. */
const Requests: FC = () => {
const apiClient = ServerConnections.currentApiClient();
const [ query, setQuery ] = useState('');
const [ searching, setSearching ] = useState(false);
const [ searchError, setSearchError ] = useState('');
const [ suggestCount, setSuggestCount ] = useState<number | null>(null);
const [ mine, setMine ] = useState<MyRequest[]>([]);
const [ problem, setProblem ] = useState('');
const resultsRef = useRef<HTMLDivElement>(null);
const suggestRef = useRef<HTMLDivElement>(null);
const loadMine = useCallback(() => {
if (!apiClient) return;
hubFetch(apiClient, '/requests')
.then(body => setMine(body.results || []))
.catch(err => setProblem(err.message));
}, [ apiClient ]);
useEffect(() => {
if (!apiClient) return;
hubFetch(apiClient, '/suggestions')
.then(body => {
const titles: HubTitle[] = body.results || [];
setSuggestCount(titles.length);
if (suggestRef.current) renderHubCards(suggestRef.current, apiClient, titles, loadMine);
})
.catch(err => {
setSuggestCount(0);
setProblem(err.message);
});
loadMine();
}, [ apiClient, loadMine ]);
useEffect(() => {
const q = query.trim();
if (!apiClient || q.length < 2) {
if (resultsRef.current) resultsRef.current.innerHTML = '';
setSearchError('');
return;
}
const timer = setTimeout(() => {
setSearching(true);
hubFetch(apiClient, '/search?q=' + encodeURIComponent(q))
.then(body => {
const titles: HubTitle[] = body.results || [];
setSearchError(titles.length ? '' : 'Nothing found. Try a different spelling.');
if (resultsRef.current) renderHubCards(resultsRef.current, apiClient, titles, loadMine);
})
.catch(err => setSearchError(err.message))
.finally(() => setSearching(false));
}, 450);
return () => clearTimeout(timer);
}, [ apiClient, query, loadMine ]);
return (
<Page
id='smithflixRequestsPage'
title='Requests'
className='mainAnimatedPage libraryPage noSecondaryNavPage'
>
<div className='padded-top' style={{ paddingBottom: '3em' }}>
{problem && (
<p className='padded-left padded-right' style={{ color: '#FFB547' }}>{problem}</p>
)}
<Section
title='Request a movie or show'
hint="Search for anything. If it isn't on Smithflix yet, request it and it'll be added."
>
<div className='padded-left padded-right' style={{ maxWidth: '40em' }}>
<input
id='smithflixRequestSearch'
type='search'
className='emby-input'
placeholder='Search movies and shows'
autoComplete='off'
value={query}
onChange={e => setQuery(e.target.value)}
style={{ fontSize: '1.2em', padding: '.6em .9em', borderRadius: '10px', width: '100%' }}
/>
{searching && <p style={{ opacity: 0.7 }}>Searching…</p>}
{searchError && <p style={{ opacity: 0.8 }}>{searchError}</p>}
</div>
<div ref={resultsRef} className='itemsContainer padded-left padded-right vertical-wrap' style={{ marginTop: '1em' }} />
</Section>
<Section
title='Not on Smithflix yet'
hint={suggestCount === 0 ? 'Your picks appear here after the nightly AI run.' : 'Picked for you each night by the Smithflix AI.'}
>
<div ref={suggestRef} className='itemsContainer padded-left padded-right vertical-wrap' />
</Section>
<Section title='Your requests' hint={mine.length ? undefined : "You haven't requested anything yet."}>
<div className='padded-left padded-right' style={{ display: 'grid', gap: '.6em', maxWidth: '48em' }}>
{mine.map(r => (
<div
key={`${r.type}-${r.tmdbId}`}
style={{ display: 'flex', alignItems: 'center', gap: '1em', padding: '.6em', borderRadius: '12px', background: 'rgba(255,255,255,.05)', border: '1px solid rgba(255,255,255,.07)' }}
>
{r.poster ? (
<img src={r.poster} alt='' style={{ width: '3.2em', borderRadius: '.4em' }} />
) : null}
<div style={{ flex: 1, minWidth: 0 }}>
<div style={{ fontWeight: 600 }}>{r.title}{r.year ? ` (${r.year})` : ''}</div>
<div style={{ opacity: 0.7, fontSize: '.9em' }}>{r.type === 'tv' ? 'Series' : 'Movie'}</div>
</div>
<span style={{ fontSize: '.85em', fontWeight: 600, color: REQUEST_COLOR[r.request] || '#ccc' }}>
{REQUEST_LABEL[r.request] || r.request}
</span>
</div>
))}
</div>
</Section>
</div>
</Page>
);
};
export default Requests;

View file

@ -69,6 +69,7 @@ const RemotePlayButton = () => {
aria-haspopup='true'
onClick={onRemotePlayActiveButtonClick}
color='inherit'
// eslint-disable-next-line react/jsx-no-bind
sx={(theme) => ({
color: theme.vars.palette.primary.main
})}

View file

@ -83,6 +83,8 @@ const RemotePlayMenu: FC<RemotePlayMenuProps> = ({
{playbackTargets.map(target => (
<MenuItem
key={target.id}
// Since we are looping over targets there is no good way to avoid creating a new function here
// eslint-disable-next-line react/jsx-no-bind
onClick={() => onPlayTargetClick(target)}
>
<ListItemIcon>

View file

@ -143,7 +143,7 @@ const UserViewNav = () => {
startIcon={<Icon>{navItem.icon || 'link'}</Icon>}
component='a'
href={navItem.url}
target='_blank'
target={navItem.url.startsWith('#') ? undefined : '_blank'}
rel='noopener noreferrer'
>
{navItem.name}

View file

@ -37,7 +37,7 @@ const UserViewsMenu: FC<UserViewsMenuProps> = ({
key={navItem.name}
component='a'
href={navItem.url}
target='_blank'
target={navItem.url.startsWith('#') ? undefined : '_blank'}
rel='noopener noreferrer'
onClick={onMenuClose}
>

View file

@ -10,9 +10,9 @@ import Theaters from '@mui/icons-material/Theaters';
import MusicVideo from '@mui/icons-material/MusicVideo';
import Book from '@mui/icons-material/Book';
import Queue from '@mui/icons-material/Queue';
import Quiz from '@mui/icons-material/Quiz';
import VideoLibrary from '@mui/icons-material/VideoLibrary';
import Folder from '@mui/icons-material/Folder';
import OndemandVideo from '@mui/icons-material/OndemandVideo';
import React, { FC } from 'react';
import { MetaView } from '../constants/metaView';
@ -51,7 +51,7 @@ const LibraryIcon: FC<LibraryIconProps> = ({
case CollectionType.Playlists:
return <Queue />;
case undefined:
return <OndemandVideo />;
return <Quiz />;
default:
return <Folder />;
}

View file

@ -68,7 +68,7 @@ const MainDrawerContent = () => {
<ListItemButton
component='a'
href={menuLink.url}
target='_blank'
target={menuLink.url.startsWith('#') ? undefined : '_blank'}
rel='noopener noreferrer'
>
<ListItemIcon>

View file

@ -31,6 +31,7 @@ const AlphabetPicker: React.FC<AlphabetPickerProps> = ({
return (
<Box
className='alphaPicker-fixed-right'
// eslint-disable-next-line react/jsx-no-bind
sx={theme => ({
position: 'fixed',
top: {

View file

@ -1,6 +1,4 @@
import FilterAltOff from '@mui/icons-material/FilterAltOff';
import Box from '@mui/material/Box';
import Button from '@mui/material/Button';
import ButtonGroup from '@mui/material/ButtonGroup';
import Chip from '@mui/material/Chip';
import Stack from '@mui/material/Stack';
@ -64,8 +62,9 @@ const LibraryToolbar: FC = () => {
const isPending = itemsResult?.isPending ?? true;
const totalRecordCount = itemsResult?.data?.TotalRecordCount ?? 0;
const items = itemsResult?.data?.Items ?? [];
const hasFilterOptions = Object.values(viewSettings?.Filters ?? {}).some(f => !!f);
const hasFilters = !!viewSettings?.Alphabet || hasFilterOptions;
const hasFilters = Object.values(viewSettings?.Filters ?? {}).some(
(filter) => !!filter
);
const { user } = useApi();
const canCreateCollections = user?.Policy?.IsAdministrator || user?.Policy?.EnableCollectionManagement;
@ -107,172 +106,141 @@ const LibraryToolbar: FC = () => {
<LibraryViewMenu />
{!MENU_ONLY_VIEWS.includes(viewType) && (
<>
<Box
sx={{
display: 'flex',
flexGrow: {
xs: 1,
sm: 0
},
justifyContent: 'flex-end',
marginLeft: 1
}}
>
<Chip label={itemCountDisplay} />
</Box>
)}
{!MENU_ONLY_VIEWS.includes(viewType) && (
<Stack
direction='row'
spacing={1}
sx={{
justifyContent: {
xs: 'auto',
sm: 'flex-end'
},
flexBasis: {
xs: '100%',
sm: 'auto'
},
flexGrow: 1,
marginTop: {
xs: 1,
sm: 0.5
},
marginBottom: 0.5
}}
>
<Box
sx={{
display: 'flex',
flexDirection: {
xs: 'row-reverse',
sm: 'row'
},
alignItems: 'center',
flexGrow: {
xs: 1,
sm: 0
},
justifyContent: 'flex-start',
marginLeft: 1
}
}}
>
<Chip label={itemCountDisplay} />
{hasFilters && (
<Button
variant='text'
color='primary'
startIcon={<FilterAltOff />}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setLibraryViewSettings(prevState => ({
...prevState,
StartIndex: 0,
Alphabet: undefined,
Filters: undefined
}))}
sx={{
marginLeft: {
xs: 0,
sm: 1
},
marginRight: {
xs: 1,
sm: 0
}
}}
>
{globalize.translate('ResetFilters')}
</Button>
)}
</Box>
<Stack
direction='row'
spacing={1}
sx={{
justifyContent: {
xs: 'auto',
sm: 'flex-end'
},
flexBasis: {
xs: '100%',
sm: 'auto'
},
flexGrow: 1,
marginTop: {
xs: 1,
sm: 0.5
},
marginBottom: 0.5
}}
>
<Box
sx={{
display: 'flex',
alignItems: 'center',
flexGrow: {
xs: 1,
sm: 0
}
}}
>
<ButtonGroup
variant='contained'
size={isSmallScreen ? undefined : 'small'}
>
{isBtnPlayAllEnabled && (
<PlayAllButton
item={item}
items={items}
viewType={viewType}
collectionType={collectionType}
hasFilters={hasFilters}
isTextVisible={isSmallScreen}
libraryViewSettings={libraryViewSettings}
/>
)}
{isBtnShuffleEnabled && (
<ShuffleButton
item={item}
items={items}
viewType={viewType}
collectionType={collectionType}
hasFilters={hasFilters}
isTextVisible={isSmallScreen && !isBtnPlayAllEnabled}
libraryViewSettings={libraryViewSettings}
/>
)}
{isBtnQueueEnabled && item && playbackManager.canQueue(item) && (
<QueueButton
item={item}
items={items}
hasFilters={hasFilters}
isTextVisible={isSmallScreen && !isBtnPlayAllEnabled && !isBtnShuffleEnabled}
/>
)}
</ButtonGroup>
{isBtnNewCollectionEnabled && canCreateCollections && (
<NewCollectionButton isTextVisible={isSmallScreen} queryKey={allItemsQueryKey} />
)}
{isBtnNewPlaylistEnabled && (
<NewPlaylistButton isTextVisible={isSmallScreen} queryKey={allItemsQueryKey} />
)}
</Box>
<ButtonGroup
color='inherit'
variant='text'
variant='contained'
size={isSmallScreen ? undefined : 'small'}
>
{isBtnFilterEnabled && (
<FilterButton
parentId={parentId}
itemType={itemType ?? []}
{isBtnPlayAllEnabled && (
<PlayAllButton
item={item}
items={items}
viewType={viewType}
hasFilters={hasFilterOptions}
collectionType={collectionType}
hasFilters={hasFilters}
isTextVisible={isSmallScreen}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
/>
)}
{isBtnSortEnabled && (
<SortButton
{isBtnShuffleEnabled && (
<ShuffleButton
item={item}
items={items}
viewType={viewType}
collectionType={collectionType}
hasFilters={hasFilters}
isTextVisible={isSmallScreen && !isBtnPlayAllEnabled}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
/>
)}
{isBtnGridListEnabled && (
<ViewSettingsButton
viewType={viewType}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
{isBtnQueueEnabled && item && playbackManager.canQueue(item) && (
<QueueButton
item={item}
items={items}
hasFilters={hasFilters}
isTextVisible={isSmallScreen && !isBtnPlayAllEnabled && !isBtnShuffleEnabled}
/>
)}
</ButtonGroup>
{isPaginationEnabled && isUserPaginationEnabled && (
<Pagination
{isBtnNewCollectionEnabled && canCreateCollections && (
<NewCollectionButton isTextVisible={isSmallScreen} queryKey={allItemsQueryKey} />
)}
{isBtnNewPlaylistEnabled && (
<NewPlaylistButton isTextVisible={isSmallScreen} queryKey={allItemsQueryKey} />
)}
</Box>
<ButtonGroup
color='inherit'
variant='text'
size={isSmallScreen ? undefined : 'small'}
>
{isBtnFilterEnabled && (
<FilterButton
parentId={parentId}
itemType={itemType ?? []}
viewType={viewType}
hasFilters={hasFilters}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
index={startIndex}
pageSize={paginationLimit}
total={totalRecordCount}
disabled={isPending || !isPaginationRequired || itemsResult?.isPlaceholderData}
/>
)}
</Stack>
</>
{isBtnSortEnabled && (
<SortButton
viewType={viewType}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
/>
)}
{isBtnGridListEnabled && (
<ViewSettingsButton
viewType={viewType}
libraryViewSettings={libraryViewSettings}
setLibraryViewSettings={setLibraryViewSettings}
/>
)}
</ButtonGroup>
{isPaginationEnabled && isUserPaginationEnabled && (
<Pagination
setLibraryViewSettings={setLibraryViewSettings}
index={startIndex}
pageSize={paginationLimit}
total={totalRecordCount}
disabled={isPending || !isPaginationRequired || itemsResult?.isPlaceholderData}
/>
)}
</Stack>
)}
</Toolbar>
);

View file

@ -60,6 +60,7 @@ const LibraryViewMenu: FC = () => {
{currentRoute?.views.map(tab => (
<MenuItem
key={tab.view}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => {
searchParams.set('tab', `${tab.index}`);
setSearchParams(searchParams);

View file

@ -237,6 +237,7 @@ const SortButton: FC<SortButtonProps> = ({
.map((option) => (
<MenuItem
key={option.value.join(',')}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => onMenuItemClick(option.value)}
>
<ListItemText>

View file

@ -177,6 +177,7 @@ const ViewSettingsButton: FC<ViewSettingsButtonProps> = ({
{imageTypesOptions.map((imageType) => (
<MenuItem
key={imageType.value}
// eslint-disable-next-line react/jsx-no-bind
onClick={() => setImageType(imageType.value)}
>
<ListItemIcon>

View file

@ -2,6 +2,7 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-ite
import React, { FC, useCallback } from 'react';
import ArrowForwardIosSharpIcon from '@mui/icons-material/ArrowForwardIosSharp';
import FilterAlt from '@mui/icons-material/FilterAlt';
import Clear from '@mui/icons-material/Clear';
import Button from '@mui/material/Button';
import Popover from '@mui/material/Popover';
@ -114,6 +115,16 @@ const FilterButton: FC<FilterButtonProps> = ({
setAnchorEl(event.currentTarget);
}, []);
const handleResetFiltersClick = useCallback(() => {
if (hasFilters) {
setLibraryViewSettings((prevState) => ({
...prevState,
StartIndex: 0,
Filters: {}
}));
}
}, [hasFilters, setLibraryViewSettings]);
const handleClose = useCallback(() => {
setAnchorEl(null);
}, []);
@ -507,6 +518,19 @@ const FilterButton: FC<FilterButtonProps> = ({
</AccordionDetails>
</Accordion>
)}
<Button
disabled={!hasFilters}
title={globalize.translate('ResetFilters')}
aria-describedby={id}
onClick={handleResetFiltersClick}
fullWidth={true}
startIcon={<Clear />}
sx={{
justifyContent: 'right'
}}
>
{globalize.translate('ResetFilters')}
</Button>
</Popover>
</>
);

View file

@ -15,6 +15,7 @@ export const ASYNC_USER_ROUTES: AsyncRoute[] = [
{ path: 'mypreferencesdisplay', page: 'user/display', type: AppType.Modern },
{ path: 'mypreferencesmenu', page: 'user/settings' },
{ path: 'quickconnect', page: 'quickConnect' },
{ path: 'requests' },
{ path: 'search' },
{ path: 'tv', page: 'shows', type: AppType.Modern },
{ path: 'userprofile', page: 'user/userprofile' }

View file

@ -0,0 +1,2 @@
// The Requests page is shared with the legacy layout.
export { default } from 'apps/legacy/routes/requests';

View file

@ -8,10 +8,7 @@ const Backdrop = () => {
return (
<>
<div className='backdropContainer'>
<div id='backdropImage0' className='backdropImage' />
<div id='backdropImage1' className='backdropImage' />
</div>
<div className='backdropContainer' />
<div className='backgroundContainer' />
</>
);

View file

@ -10,24 +10,12 @@ const QueryClientEventHandler: FC = () => {
const queryClient = useQueryClient();
const { user } = useApi();
const clearQueries = useCallback(() => (
queryClient.clear()
), [queryClient]);
const invalidateItemQueries = useCallback(() => (
queryClient.invalidateQueries({
queryKey: ['User', user?.Id, 'Items']
})
), [queryClient, user?.Id]);
useEffect(() => {
Events.on(document, EventType.LANGUAGE_CHANGE, clearQueries);
return () => {
Events.off(document, EventType.LANGUAGE_CHANGE, clearQueries);
};
}, [clearQueries]);
useEffect(() => {
Events.on(document, EventType.REFRESH_NEEDED, invalidateItemQueries);

View file

@ -2,7 +2,6 @@ import React, { type FC, useEffect, useState } from 'react';
import { useUserTheme } from 'hooks/useUserTheme';
import { getDefaultTheme } from 'scripts/settings/webSettings';
import themeManager from 'scripts/themeManager';
interface ThemeCssProps {
dashboard?: boolean
@ -20,10 +19,7 @@ const ThemeCss: FC<ThemeCssProps> = ({
useEffect(() => {
const id = dashboard ? dashboardTheme : theme;
if (id) {
setThemeUrl(getThemeUrl(id));
void themeManager.setTheme(id);
}
if (id) setThemeUrl(getThemeUrl(id));
}, [dashboard, dashboardTheme, theme]);
return (

View file

@ -24,6 +24,7 @@ const UserAvatar: FC<UserAvatarProps> = ({
`${api.basePath}/Users/${user.Id}/Images/Primary?tag=${user.PrimaryImageTag}` :
undefined
}
// eslint-disable-next-line react/jsx-no-bind
sx={(theme) => ({
bgcolor: api && user.Id && user.PrimaryImageTag ?
theme.vars.palette.background.paper :

View file

@ -16,7 +16,7 @@ function enableRotation() {
}
class Backdrop {
load(url, slot) {
load(url, parent) {
const img = new Image();
const self = this;
@ -25,13 +25,14 @@ class Backdrop {
return;
}
const backdropImage = document.getElementById(`backdropImage${slot}`);
const backdropImage = document.createElement('div');
backdropImage.classList.add('backdropImage');
backdropImage.classList.add('displayingBackdropImage');
backdropImage.style.backgroundImage = `url('${url}')`;
backdropImage.setAttribute('data-url', url);
backdropImage.classList.add('displayingBackdropImage', 'backdropImageFadeIn');
self.currentAnimatingElement = backdropImage;
document.getElementById(`backdropImage${1 - slot}`)?.classList.remove('displayingBackdropImage');
backdropImage.classList.add('backdropImageFadeIn');
parent.appendChild(backdropImage);
if (!enableAnimation()) {
internalBackdrop(true);
@ -45,8 +46,6 @@ class Backdrop {
if (backdropImage === self.currentAnimatingElement) {
self.currentAnimatingElement = null;
}
backdropImage?.classList.remove('backdropImageFadeIn');
};
dom.addEventListener(backdropImage, dom.whichAnimationEvent(), onAnimationComplete, {
@ -96,12 +95,8 @@ export function clearBackdrop(clearAll) {
currentLoadingBackdrop = null;
}
// Remove backdrop images from each slot element
document.querySelectorAll('.backdropImage').forEach(elem => {
elem.classList.remove('displayingBackdropImage', 'backdropImageFadeIn');
elem.style.backgroundImage = 'none';
elem.removeAttribute('data-url');
});
const elem = getBackdropContainer();
elem.innerHTML = '';
if (clearAll) {
hasExternalBackdrop = false;
@ -139,8 +134,12 @@ export function externalBackdrop(isEnabled) {
}
let currentLoadingBackdrop;
let currentBackdropSlot = 0;
function setBackdropImage(url) {
if (currentLoadingBackdrop) {
currentLoadingBackdrop.destroy();
currentLoadingBackdrop = null;
}
const elem = getBackdropContainer();
const existingBackdropImage = elem.querySelector('.displayingBackdropImage');
// If the current backdrop image is the same as the new one, do nothing
@ -149,9 +148,8 @@ function setBackdropImage(url) {
}
const instance = new Backdrop();
instance.load(url, currentBackdropSlot);
instance.load(url, elem);
currentLoadingBackdrop = instance;
currentBackdropSlot = 1 - currentBackdropSlot;
}
function getItemImageUrls(item, imageOptions) {
@ -246,6 +244,14 @@ function onRotationInterval() {
currentRotationIndex = newIndex;
const currentImage = currentRotatingImages[newIndex];
setBackdropImage(currentImage);
// Remove old images after a delay to allow fade-in animation (800ms) to complete
setTimeout(() => {
const oldImages = getBackdropContainer().querySelectorAll(`.backdropImage:not([data-url="${currentImage}"])`);
oldImages.forEach(img => {
img.remove();
});
}, 1600);
}
function clearRotation() {

View file

@ -33,7 +33,3 @@
opacity: 1;
}
}
.displayingBackdropImage {
z-index: 1;
}

View file

@ -27,27 +27,21 @@ const Image: FC<ImageProps> = ({
containImage
}) => {
const [isLoaded, setIsLoaded] = useState(false);
const [isTransitionComplete, setIsTransitionComplete] = useState(false);
const [isLoadStarted, setIsLoadStarted] = useState(false);
const fadeinDuration = userSettings.enableFastFadein() ? '0.1s' : '0.5s';
const transitionDuration = isLoaded ? fadeinDuration : 'none';
const handleLoad = useCallback(() => {
setIsLoaded(true);
}, []);
const handleTransitionEnd = useCallback(() => {
setIsTransitionComplete(true);
}, []);
const handleLoadStarted = useCallback(() => {
setIsLoadStarted(true);
}, []);
const fadeinDuration = userSettings.enableFastFadein() ? '0.1s' : '0.5s';
const transitionDuration = isLoaded ? fadeinDuration : 'none';
return (
<div>
{!isTransitionComplete && isLoadStarted && blurhash && userSettings.enableBlurhash() && (
{!isLoaded && isLoadStarted && blurhash && userSettings.enableBlurhash() && (
<BlurhashCanvas
hash={blurhash}
width= {20}
@ -70,7 +64,6 @@ const Image: FC<ImageProps> = ({
transition: transitionDuration
}}
onLoad={handleLoad}
onTransitionEnd={handleTransitionEnd}
beforeLoad={handleLoadStarted}
/>

View file

@ -216,6 +216,15 @@
flex-shrink: 0;
}
@media all and (max-width: 50em) {
.newTvProgram,
.liveTvProgram,
.premiereTvProgram,
.guideHdIcon {
display: none;
}
}
.channelPrograms + .channelPrograms,
.guide-channelHeaderCell + .guide-channelHeaderCell {
margin-top: -1px;
@ -262,15 +271,6 @@
contain: strict;
flex-grow: 1;
margin: 0 !important;
@media all and (max-width: 50em) {
.newTvProgram,
.liveTvProgram,
.premiereTvProgram,
.guideHdIcon {
display: none;
}
}
}
.guideProgramName {

View file

@ -13,6 +13,7 @@ import { loadLiveTV } from './sections/liveTv';
import { loadNextUp } from './sections/nextUp';
import { loadRecentlyAdded } from './sections/recentlyAdded';
import { loadResume } from './sections/resume';
import { loadSmithflixAiRows, loadSmithflixSuggestions } from './sections/smithflix';
import 'elements/emby-button/paper-icon-button-light';
import 'elements/emby-itemscontainer/emby-itemscontainer';
@ -74,11 +75,28 @@ export function loadSections(elem, apiClient, user, userSettings) {
elem.innerHTML = html;
elem.classList.add('homeSectionsContainer');
const promises = getAllSectionsToShow(userSettings)
const sectionTypes = getAllSectionsToShow(userSettings);
const promises = sectionTypes
.map((section, index) => (
loadSection(elem, apiClient, user, userSettings, userViews, section, index)
));
// Smithflix: AI rows and "Not on Smithflix yet", right after Continue Watching
const anchorIndex = Math.max(0, sectionTypes.indexOf(HomeSectionType.Resume));
const anchor = elem.querySelector('.section' + anchorIndex);
const aiElem = document.createElement('div');
aiElem.className = 'smithflixAiRows';
const suggestElem = document.createElement('div');
suggestElem.className = 'verticalSection smithflixSuggestions hide';
if (anchor) {
anchor.after(aiElem, suggestElem);
} else {
elem.append(aiElem, suggestElem);
}
const sfxOptions = { enableOverflow: enableScrollX() };
promises.push(loadSmithflixAiRows(aiElem, apiClient, sfxOptions));
promises.push(loadSmithflixSuggestions(suggestElem, apiClient, sfxOptions));
return Promise.all(promises)
// Timeout for polyfilled CustomElements (webOS 1.2)
.then(() => new Promise((resolve) => setTimeout(resolve, 0)))

View file

@ -0,0 +1,219 @@
/**
* Smithflix home rows:
* - the nightly AI playlists ("Because you watched…", seasonal picks, Family Movie Night, Hidden Gems)
* - "Not on Smithflix yet": AI picks of titles that aren't on the server, with a Request button
* (served by the Smithflix Hub at /api on the same site).
*/
import type { BaseItemDto } from '@jellyfin/sdk/lib/generated-client/models/base-item-dto';
import type { ApiClient } from 'jellyfin-apiclient';
import cardBuilder from 'components/cardbuilder/cardBuilder';
import { getPortraitShape } from 'components/cardbuilder/utils/shape';
import dialogHelper from 'components/dialogHelper/dialogHelper';
import toast from 'components/toast/toast';
import escapeHtml from 'escape-html';
import type { SectionContainerElement, SectionOptions } from './section';
const AI_PREFIX = 'Because you watched';
const AI_SEASONAL = [ 'Halloween Picks', 'Holiday Picks', 'Date Night Picks' ];
const AI_FAMILY = 'Family Movie Night';
const AI_GEMS = 'Hidden Gems';
export interface HubTitle {
tmdbId: number
type: 'movie' | 'tv'
title: string
year?: number | null
overview?: string
poster?: string | null
reason?: string
status?: string
}
const REQUESTED = [ 'requested', 'processing', 'partial', 'available' ];
function aiOrder(name: string) {
if (name.startsWith(AI_PREFIX)) return 0;
if (AI_SEASONAL.includes(name)) return 1;
if (name === AI_FAMILY) return 2;
if (name === AI_GEMS) return 3;
return -1;
}
function rowHtml(title: string, enableOverflow: boolean) {
let html = '<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">';
html += '<h2 class="sectionTitle sectionTitle-cards">' + escapeHtml(title) + '</h2>';
html += '</div>';
if (enableOverflow) {
html += '<div is="emby-scroller" class="padded-top-focusscale padded-bottom-focusscale" data-centerfocus="true">';
html += '<div is="emby-itemscontainer" class="itemsContainer scrollSlider focuscontainer-x" data-monitor="markplayed"></div>';
html += '</div>';
} else {
html += '<div is="emby-itemscontainer" class="itemsContainer padded-left padded-right vertical-wrap focuscontainer-x" data-monitor="markplayed"></div>';
}
return html;
}
/** One row per AI playlist, in the same order as the TV app. */
export function loadSmithflixAiRows(elem: HTMLElement, apiClient: ApiClient, options: SectionOptions) {
const userId = apiClient.getCurrentUserId();
return apiClient.getItems(userId, { IncludeItemTypes: 'Playlist', Recursive: true })
.then(result => {
const playlists = (result.Items || [])
.filter(p => aiOrder(p.Name || '') >= 0)
.sort((a, b) => aiOrder(a.Name || '') - aiOrder(b.Name || ''));
elem.innerHTML = '';
for (const playlist of playlists) {
const section = document.createElement('div');
section.className = 'verticalSection hide';
section.innerHTML = rowHtml(playlist.Name || '', options.enableOverflow);
elem.appendChild(section);
const container = section.querySelector('.itemsContainer') as SectionContainerElement | null;
if (!container) continue;
container.fetchData = () => apiClient.getItems(userId, {
ParentId: playlist.Id,
Limit: 30,
Fields: 'PrimaryImageAspectRatio',
ImageTypeLimit: 1,
EnableImageTypes: 'Primary,Backdrop,Thumb'
});
container.getItemsHtml = (items: BaseItemDto[]) => cardBuilder.getCardsHtml({
items,
shape: getPortraitShape(options.enableOverflow),
showTitle: true,
showYear: true,
centerText: true,
overlayPlayButton: true,
lazy: true,
context: 'home',
allowBottomPadding: !options.enableOverflow
});
container.parentContainer = section;
}
})
.catch(err => {
console.warn('[Smithflix] AI rows failed', err);
elem.innerHTML = '';
});
}
/* ---------------- Smithflix Hub (requests) ---------------- */
export function hubFetch(apiClient: ApiClient, path: string, init: RequestInit = {}) {
return fetch('/api' + path, {
...init,
headers: {
'Authorization': `MediaBrowser Token="${apiClient.accessToken()}"`,
'Content-Type': 'application/json',
...(init.headers || {})
}
}).then(async r => {
const body = await r.json().catch(() => ({}));
if (!r.ok) throw new Error(body.error || 'Something went wrong.');
return body;
});
}
function cardHtml(t: HubTitle, i: number) {
const requested = REQUESTED.includes(t.status || '');
const img = t.poster ?
`<img src="${escapeHtml(t.poster)}" alt="" loading="lazy" style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;">` :
`<div style="position:absolute;inset:0;display:grid;place-items:center;padding:1em;text-align:center;font-weight:600">${escapeHtml(t.title)}</div>`;
return `<button type="button" class="card overflowPortraitCard card-hoverable sfx-card" data-index="${i}" style="background:none;border:0;padding:0;color:inherit;text-align:center;cursor:pointer">
<div class="cardBox cardBox-bottompadded">
<div class="cardScalable" style="position:relative;padding-bottom:150%;overflow:hidden;background:rgba(255,255,255,.05)">
${img}
<span class="sfx-badge${requested ? ' requested' : ''}">${requested ? 'REQUESTED' : 'REQUEST'}</span>
</div>
<div class="cardText cardTextCentered cardText-first"><bdi>${escapeHtml(t.title)}</bdi></div>
<div class="cardText cardTextCentered cardText-secondary"><bdi>${t.year ?? ''}${t.year ? ' · ' : ''}${t.type === 'tv' ? 'Series' : 'Movie'}</bdi></div>
</div>
</button>`;
}
/** "Request this?" dialog, shared with the Requests page. */
export function showRequestDialog(apiClient: ApiClient, t: HubTitle, onDone?: (status: string) => void) {
const requested = REQUESTED.includes(t.status || '');
const dlg = dialogHelper.createDialog({ size: 'small', removeOnClose: true, scrollY: false }) as HTMLElement;
dlg.classList.add('formDialog');
dlg.innerHTML = `
<div class="formDialogHeader">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1" title="Close"><span class="material-icons close" aria-hidden="true"></span></button>
<h3 class="formDialogHeaderTitle">${escapeHtml(t.title)}${t.year ? ' (' + t.year + ')' : ''}</h3>
</div>
<div class="formDialogContent" style="padding:1em 1.5em 1.5em">
<div style="display:flex;gap:1.2em;align-items:flex-start;flex-wrap:wrap">
${t.poster ? `<img src="${escapeHtml(t.poster)}" alt="" style="width:9em;border-radius:.6em">` : ''}
<div style="flex:1;min-width:14em">
${t.reason ? `<p style="color:#0FE6FF;margin-top:0">${escapeHtml(t.reason)}</p>` : ''}
<p style="opacity:.85">${escapeHtml(t.overview || 'No description available.')}</p>
<button is="emby-button" type="button" class="raised button-submit block btnRequest" ${requested ? 'disabled' : ''}>
<span>${requested ? 'Already requested' : (t.type === 'tv' ? 'Request series' : 'Request movie')}</span>
</button>
</div>
</div>
</div>`;
dlg.querySelector('.btnCancel')?.addEventListener('click', () => dialogHelper.close(dlg));
const btn = dlg.querySelector('.btnRequest') as HTMLButtonElement | null;
btn?.addEventListener('click', () => {
btn.disabled = true;
hubFetch(apiClient, '/request', { method: 'POST', body: JSON.stringify({ type: t.type, tmdbId: t.tmdbId }) })
.then(res => {
toast(res.message || 'Requested!');
onDone?.('requested');
dialogHelper.close(dlg);
})
.catch(err => {
toast(err.message);
btn.disabled = false;
});
});
dialogHelper.open(dlg);
}
export function renderHubCards(container: HTMLElement, apiClient: ApiClient, titles: HubTitle[], onRequested?: () => void) {
container.innerHTML = titles.map(cardHtml).join('');
container.querySelectorAll<HTMLButtonElement>('.sfx-card').forEach(card => {
card.addEventListener('click', () => {
const t = titles[Number(card.dataset.index)];
showRequestDialog(apiClient, t, status => {
t.status = status;
const badge = card.querySelector('.sfx-badge');
if (badge) {
badge.textContent = 'REQUESTED';
badge.classList.add('requested');
}
onRequested?.();
});
});
});
}
/** "Not on Smithflix yet" row. */
export function loadSmithflixSuggestions(elem: HTMLElement, apiClient: ApiClient, options: SectionOptions) {
return hubFetch(apiClient, '/suggestions')
.then(body => {
const titles: HubTitle[] = body.results || [];
if (!titles.length) {
elem.innerHTML = '';
return;
}
let html = '<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">';
html += '<a href="#/requests" class="button-flat button-flat-mini sectionTitleTextButton" style="text-decoration:none">';
html += '<h2 class="sectionTitle sectionTitle-cards">Not on Smithflix yet</h2>';
html += '<span class="material-icons chevron_right" aria-hidden="true"></span></a></div>';
html += options.enableOverflow ?
'<div is="emby-scroller" class="padded-top-focusscale padded-bottom-focusscale" data-centerfocus="true"><div class="itemsContainer scrollSlider focuscontainer-x sfx-items"></div></div>' :
'<div class="itemsContainer padded-left padded-right vertical-wrap focuscontainer-x sfx-items"></div>';
elem.innerHTML = html;
elem.classList.remove('hide');
const container = elem.querySelector('.sfx-items') as HTMLElement | null;
if (container) renderHubCards(container, apiClient, titles);
})
.catch(err => {
console.warn('[Smithflix] suggestions unavailable', err);
elem.innerHTML = '';
});
}

View file

@ -306,29 +306,28 @@ export async function getCommands(options) {
});
}
// Only show playlist edit actions if the user can modify the playlist
if (item.PlaylistItemId && options.playlistId && options.canEditPlaylist) {
commands.push({
name: globalize.translate('RemoveFromPlaylist'),
id: 'removefromplaylist',
icon: 'playlist_remove'
});
}
if (item.PlaylistIndex > 0) {
commands.push({
name: globalize.translate('MoveToTop'),
id: 'movetotop',
icon: 'vertical_align_top'
});
}
if (item.PlaylistItemId && options.playlistId && item.PlaylistIndex > 0) {
commands.push({
name: globalize.translate('MoveToTop'),
id: 'movetotop',
icon: 'vertical_align_top'
});
}
if (item.PlaylistIndex < (item.PlaylistItemCount - 1)) {
commands.push({
name: globalize.translate('MoveToBottom'),
id: 'movetobottom',
icon: 'vertical_align_bottom'
});
}
if (item.PlaylistItemId && options.playlistId && item.PlaylistIndex < (item.PlaylistItemCount - 1)) {
commands.push({
name: globalize.translate('MoveToBottom'),
id: 'movetobottom',
icon: 'vertical_align_bottom'
});
}
if (options.collectionId) {

View file

@ -406,7 +406,7 @@ function populateMetadataSettings(parent, contentType) {
renderMediaSegmentProviders(parent, availableOptions, {});
renderImageFetchers(parent, availableOptions, {});
renderSimilarItemProviders(parent, availableOptions, {});
availableOptions.SubtitleFetchers.length ? parent.querySelector('.subtitleProviderSettings').classList.remove('hide') : parent.querySelector('.subtitleProviderSettings').classList.add('hide');
availableOptions.SubtitleFetchers.length ? parent.querySelector('.subtitleDownloadSettings').classList.remove('hide') : parent.querySelector('.subtitleDownloadSettings').classList.add('hide');
}).catch(() => {
return Promise.resolve();
});
@ -557,10 +557,8 @@ export function setContentType(parent, contentType) {
if (contentType === 'tvshows' || contentType === 'movies' || contentType === 'musicvideos' || contentType === 'mixed') {
parent.querySelector('.fldAllowEmbeddedSubtitlesContainer').classList.remove('hide');
parent.querySelector('.subtitleDownloadSettings').classList.remove('hide');
} else {
parent.querySelector('.fldAllowEmbeddedSubtitlesContainer').classList.add('hide');
parent.querySelector('.subtitleDownloadSettings').classList.add('hide');
}
if (contentType === 'music') {

View file

@ -166,48 +166,45 @@ <h2>${HeaderChapterImages}</h2>
<div class="subtitleDownloadSettings hide">
<h2>${HeaderSubtitleDownloads}</h2>
<div class="subtitleProviderSettings hide">
<div>
<h3 class="checkboxListLabel">${LabelDownloadLanguages}</h3>
<div class="subtitleDownloadLanguages paperList checkboxList" style="max-height: 10.5em; overflow-y: auto; padding: .5em 1em;">
</div>
</div>
<br />
<div class="subtitleFetchers advanced" style="margin-bottom: 2em;">
</div>
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input is="emby-checkbox" type="checkbox" id="chkRequirePerfectMatch" checked />
<span>${OptionRequirePerfectSubtitleMatch}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${OptionRequirePerfectSubtitleMatchHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription advanced">
<label>
<input is="emby-checkbox" type="checkbox" id="chkSkipIfAudioTrackPresent" />
<span>${LabelSkipIfAudioTrackPresent}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelSkipIfAudioTrackPresentHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription advanced">
<label>
<input is="emby-checkbox" type="checkbox" id="chkSkipIfGraphicalSubsPresent" />
<span>${LabelSkipIfGraphicalSubsPresent}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelSkipIfGraphicalSubsPresentHelp}</div>
<div>
<h3 class="checkboxListLabel">${LabelDownloadLanguages}</h3>
<div class="subtitleDownloadLanguages paperList checkboxList" style="max-height: 10.5em; overflow-y: auto; padding: .5em 1em;">
</div>
</div>
<br />
<div class="fldSaveSubtitlesSettings">
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input type="checkbox" is="emby-checkbox" id="chkSaveSubtitlesLocally" checked />
<span>${SaveSubtitlesIntoMediaFolders}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${SaveSubtitlesIntoMediaFoldersHelp}</div>
</div>
<div class="subtitleFetchers advanced" style="margin-bottom: 2em;">
</div>
<div class="checkboxContainer checkboxContainer-withDescription">
<label>
<input is="emby-checkbox" type="checkbox" id="chkRequirePerfectMatch" checked />
<span>${OptionRequirePerfectSubtitleMatch}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${OptionRequirePerfectSubtitleMatchHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription advanced">
<label>
<input is="emby-checkbox" type="checkbox" id="chkSkipIfAudioTrackPresent" />
<span>${LabelSkipIfAudioTrackPresent}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelSkipIfAudioTrackPresentHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription advanced">
<label>
<input is="emby-checkbox" type="checkbox" id="chkSkipIfGraphicalSubsPresent" />
<span>${LabelSkipIfGraphicalSubsPresent}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelSkipIfGraphicalSubsPresentHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription advanced">
<label>
<input type="checkbox" is="emby-checkbox" id="chkSaveSubtitlesLocally" checked />
<span>${SaveSubtitlesIntoMediaFolders}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${SaveSubtitlesIntoMediaFoldersHelp}</div>
</div>
</div>

View file

@ -20,6 +20,7 @@ const StarIcons: FC<StarIconsProps> = ({ className, communityRating }) => {
<Box className={cssClass}>
<StarIcon
fontSize={'small'}
// eslint-disable-next-line react/jsx-no-bind
sx={(theme) => ({
color: theme.vars.palette.starIcon.main
})}

View file

@ -2,35 +2,53 @@
"includeCorsCredentials": false,
"multiserver": false,
"themes": [
{
"name": "Smithflix",
"id": "smithflix",
"color": "#090C14",
"default": true
},
{
"name": "Apple TV",
"id": "appletv",
"color": "#bcbcbc"
}, {
},
{
"name": "Blue Radiance",
"id": "blueradiance",
"color": "#011432"
}, {
},
{
"name": "Dark",
"id": "dark",
"color": "#202020",
"default": true
}, {
"color": "#202020"
},
{
"name": "Light",
"id": "light",
"color": "#303030"
}, {
},
{
"name": "Purple Haze",
"id": "purplehaze",
"color": "#000420"
}, {
},
{
"name": "WMC",
"id": "wmc",
"color": "#0c2450"
}
],
"menuLinks": [],
"servers": [],
"menuLinks": [
{
"name": "Requests",
"icon": "add_circle",
"url": "#/requests"
}
],
"servers": [
"https://media.smithflix.us"
],
"plugins": [
"playAccessValidation/plugin",
"experimentalWarnings/plugin",

View file

@ -66,6 +66,7 @@ const AutoTimeProgressBar: FC<AutoTimeProgressBarProps> = ({
className={progressBarClass}
variant='determinate'
value={progress}
// eslint-disable-next-line react/jsx-no-bind
sx={(theme) => ({
[`& .${linearProgressClasses.bar}`]: {
borderRadius: 5,

View file

@ -9,7 +9,7 @@
<meta http-equiv="X-UA-Compatibility" content="IE=Edge">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="application-name" content="Jellyfin">
<meta name="application-name" content="Smithflix">
<meta name="robots" content="noindex, nofollow, noarchive">
<meta name="referrer" content="no-referrer">
@ -20,7 +20,7 @@
<meta name="msapplication-TileImage" content="../node_modules/@jellyfin/ux-web/favicons/touchicon144.png">
<meta name="msapplication-TileColor" content="#333333">
<title>Jellyfin</title>
<title>Smithflix</title>
<style>
.transparentDocument,

View file

@ -38,6 +38,7 @@ import './elements/emby-button/emby-button';
import './components/playback/displayMirrorManager';
import './components/playback/playerSelectionMenu';
import './components/themeMediaPlayer';
import './scripts/autoThemes';
import './scripts/mouseManager';
import './scripts/screensavermanager';

View file

@ -1,11 +1,11 @@
{
"name": "Jellyfin",
"description": "The Free Software Media System",
"name": "Smithflix",
"description": "Smithflix: movies, shows and live TV",
"lang": "en-US",
"short_name": "Jellyfin",
"short_name": "Smithflix",
"start_url": "index.html#/home",
"theme_color": "#101010",
"background_color": "#101010",
"theme_color": "#090C14",
"background_color": "#090C14",
"display": "standalone",
"icons": [
{

View file

@ -181,7 +181,7 @@ function getTextTrackUrl(track, item, format) {
}
function getSubtitleFileNameHint(track) {
const candidates = [track?.Path];
const candidates = [track?.Path, track?.DeliveryUrl];
for (const candidate of candidates) {
if (!candidate) {
continue;

View file

@ -27,8 +27,7 @@ export default class PhotoPlayer {
interactive: true,
// playbackManager.shuffle has no options. So treat 'shuffle' as a 'play' action
autoplay: {
delay: userSettings.slideshowInterval() * 1000,
enabled: !!(options.autoplay || options.shuffle)
delay: userSettings.slideshowInterval() * 1000
},
user: result,
onClose: () => screenSaverManager.unblock()

25
src/scripts/autoThemes.js Normal file
View file

@ -0,0 +1,25 @@
import * as userSettings from './settings/userSettings';
import skinManager from './themeManager';
import { ServerConnections } from 'lib/jellyfin-apiclient';
import { pageClassOn } from 'utils/dashboard';
import Events from 'utils/events.ts';
// Set the default theme when loading
skinManager.setTheme(userSettings.theme())
/* this keeps the scrollbar always present in all pages, so we avoid clipping while switching between pages
that need the scrollbar and pages that don't.
*/
.then(() => document.body.classList.add('force-scroll'));
// set the saved theme once a user authenticates
Events.on(ServerConnections, 'localusersignedin', () => {
skinManager.setTheme(userSettings.theme());
});
pageClassOn('viewbeforeshow', 'page', function () {
if (this.classList.contains('type-interior')) {
skinManager.setTheme(userSettings.dashboardTheme());
} else {
skinManager.setTheme(userSettings.theme());
}
});

View file

@ -10,6 +10,10 @@ function isTv(userAgent) {
return true;
}
if (userAgent.includes('samsungbrowser')) {
return true;
}
if (userAgent.includes('viera')) {
return true;
}

View file

@ -35,22 +35,4 @@ describe('Browser', () => {
expect(browser.xboxOne).toBe(true);
expect(browser.tv).toBe(true);
});
it('should identify Samsung Tizen TV devices', () => {
// 2024 Samsung TV (Tizen 8.0)
const browser = detectBrowser('Mozilla/5.0 (SMART-TV; Linux; Tizen 8.0) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/7.0 Chrome/108.0.5359.1 TV Safari/537.36');
expect(browser.tizen).toBe(true);
expect(browser.tizenVersion).toBe(8);
expect(browser.tv).toBe(true);
expect(browser.mobile).toBeFalsy();
});
it('should not identify Samsung Browser (Android) as a TV', () => {
// Ref: https://developer.samsung.com/browser/user-agent-string-format.html
const browser = detectBrowser('Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/24.0 Chrome/117.0.0.0 Mobile Safari/537.36');
expect(browser.android).toBe(true);
expect(browser.mobile).toBe(true);
expect(browser.tizen).toBeFalsy();
expect(browser.tv).toBeFalsy();
});
});

View file

@ -526,7 +526,6 @@ export default function (options) {
};
let videoAudioCodecs = [];
let mkvAudioCodecs = [];
let hlsInTsVideoAudioCodecs = [];
let hlsInFmp4VideoAudioCodecs = [];
@ -563,14 +562,12 @@ export default function (options) {
// Prefer AAC, MP3 to other codecs when audio transcoding.
if (canPlayAacVideoAudio) {
videoAudioCodecs.push('aac');
mkvAudioCodecs.push('aac');
hlsInTsVideoAudioCodecs.push('aac');
hlsInFmp4VideoAudioCodecs.push('aac');
}
if (supportsMp3VideoAudio) {
videoAudioCodecs.push('mp3');
mkvAudioCodecs.push('mp3');
}
// Safari supports mp3 with HLS, but only in mpegts container, and the supportsMp3VideoAudio will return false.
@ -587,14 +584,12 @@ export default function (options) {
// Do not use AC3 for audio transcoding unless AAC and MP3 are not supported.
if (canPlayAc3VideoAudio) {
videoAudioCodecs.push('ac3');
mkvAudioCodecs.push('ac3');
if (browser.edgeChromium) {
hlsInFmp4VideoAudioCodecs.push('ac3');
}
if (canPlayEac3VideoAudio) {
videoAudioCodecs.push('eac3');
mkvAudioCodecs.push('eac3');
if (browser.edgeChromium) {
hlsInFmp4VideoAudioCodecs.push('eac3');
}
@ -613,7 +608,6 @@ export default function (options) {
if (supportsMp2VideoAudio) {
videoAudioCodecs.push('mp2');
mkvAudioCodecs.push('mp2');
hlsInTsVideoAudioCodecs.push('mp2');
hlsInFmp4VideoAudioCodecs.push('mp2');
}
@ -626,37 +620,30 @@ export default function (options) {
if (supportsDts) {
videoAudioCodecs.push('dca');
videoAudioCodecs.push('dts');
mkvAudioCodecs.push('dca', 'dts');
}
if (browser.tizen || browser.web0s) {
videoAudioCodecs.push('pcm_s16le');
videoAudioCodecs.push('pcm_s24le');
mkvAudioCodecs.push('pcm_s16le', 'pcm_s24le');
}
if (appSettings.enableTrueHd() || options.supportsTrueHd) {
videoAudioCodecs.push('truehd');
mkvAudioCodecs.push('truehd');
}
if (browser.tizen) {
videoAudioCodecs.push('aac_latm');
mkvAudioCodecs.push('aac_latm');
}
if (canPlayAudioFormat('opus')) {
// On Tizen 3/4/5, OPUS is supported only in MKV/WebM
// On Tizen 6, OPUS appears to be supported in MP4 as well, but not in TS (that requires refactoring of TS profile generation)
if (!browser.tizen) {
videoAudioCodecs.push('opus');
}
mkvAudioCodecs.push('opus');
videoAudioCodecs.push('opus');
webmAudioCodecs.push('opus');
if (browser.tizen) {
hlsInTsVideoAudioCodecs.push('opus');
}
hlsInFmp4VideoAudioCodecs.push('opus');
} else if (safariSupportsOpus) {
videoAudioCodecs.push('opus');
mkvAudioCodecs.push('opus');
webmAudioCodecs.push('opus');
hlsInFmp4VideoAudioCodecs.push('opus');
}
@ -664,13 +651,11 @@ export default function (options) {
// FLAC audio in video plays with a delay on Tizen
if (canPlayAudioFormat('flac') && !browser.tizen) {
videoAudioCodecs.push('flac');
mkvAudioCodecs.push('flac');
hlsInFmp4VideoAudioCodecs.push('flac');
}
if (canPlayAudioFormat('alac')) {
videoAudioCodecs.push('alac');
mkvAudioCodecs.push('alac');
hlsInFmp4VideoAudioCodecs.push('alac');
}
@ -678,8 +663,6 @@ export default function (options) {
return (options.disableVideoAudioCodecs || []).indexOf(c) === -1;
});
mkvAudioCodecs = mkvAudioCodecs.filter(c => !(options.disableVideoAudioCodecs || []).includes(c));
hlsInTsVideoAudioCodecs = hlsInTsVideoAudioCodecs.filter(function (c) {
return (options.disableHlsVideoAudioCodecs || []).indexOf(c) === -1;
});
@ -767,7 +750,6 @@ export default function (options) {
if ((!browser.safari && canPlayVp8) || browser.tizen) {
videoAudioCodecs.push('vorbis');
mkvAudioCodecs.push('vorbis');
}
if (webmVideoCodecs.length) {
@ -793,7 +775,7 @@ export default function (options) {
Container: 'mkv',
Type: 'Video',
VideoCodec: mp4VideoCodecs.join(','),
AudioCodec: mkvAudioCodecs.join(',')
AudioCodec: videoAudioCodecs.join(',')
});
}

View file

@ -50,7 +50,6 @@ const _GAMEPAD_LEFT_THUMBSTICK_LEFT_KEYCODE = 37;
const _GAMEPAD_LEFT_THUMBSTICK_RIGHT_KEYCODE = 39;
const _THUMB_STICK_THRESHOLD = 0.75;
let _lastGamepad = -1;
let _leftThumbstickUpPressed = false;
let _leftThumbstickDownPressed = false;
let _leftThumbstickLeftPressed = false;
@ -258,38 +257,22 @@ let inputLoopTimer;
function runInputLoop() {
// Get the latest gamepad state.
const gamepads = navigator.getGamepads(); /* eslint-disable-line compat/compat */
let lastGamepad = _lastGamepad;
_lastGamepad = -1;
if (!gamepads[lastGamepad]) lastGamepad = -1;
for (let i = 0, len = gamepads.length; i < len; i++) {
if (lastGamepad >= 0 && i !== lastGamepad) {
continue;
}
const gamepad = gamepads[i];
if (!gamepad) {
continue;
}
// Iterate through the axes
const axes = gamepad.axes;
const leftStickX = axes[0];
const leftStickY = axes[1];
if (leftStickX > _THUMB_STICK_THRESHOLD) { // Right
_lastGamepad = i;
_ButtonPressedState.setleftThumbstickRight(true);
} else if (leftStickX < -_THUMB_STICK_THRESHOLD) { // Left
_lastGamepad = i;
_ButtonPressedState.setleftThumbstickLeft(true);
} else if (leftStickY < -_THUMB_STICK_THRESHOLD) { // Up
_lastGamepad = i;
_ButtonPressedState.setleftThumbstickUp(true);
} else if (leftStickY > _THUMB_STICK_THRESHOLD) { // Down
_lastGamepad = i;
_ButtonPressedState.setleftThumbstickDown(true);
} else {
_ButtonPressedState.setleftThumbstickLeft(false);
@ -302,8 +285,6 @@ function runInputLoop() {
for (let j = 0, buttonsLen = buttons.length; j < buttonsLen; j++) {
if (ProcessedButtons.indexOf(j) !== -1) {
if (buttons[j].pressed) {
_lastGamepad = i;
switch (j) {
case _GAMEPAD_DPAD_UP_BUTTON_INDEX:
_ButtonPressedState.setdPadUp(true);
@ -366,8 +347,6 @@ function runInputLoop() {
}
}
}
if (_lastGamepad >= 0) break;
}
}

View file

@ -444,8 +444,11 @@ function updateLibraryMenu(user) {
links.forEach(link => {
const option = document.createElement('a', 'emby-linkbutton');
option.classList.add('navMenuOption', 'lnkMediaFolder');
option.rel = 'noopener noreferrer';
option.target = '_blank';
// Smithflix: in-app links (e.g. #/requests) open in the same tab
if (!link.url.startsWith('#')) {
option.rel = 'noopener noreferrer';
option.target = '_blank';
}
option.href = link.url;
const icon = document.createElement('span');

View file

@ -583,7 +583,7 @@ export class UserSettings {
return this.set('stillWatchingPrompt', val, false);
}
return this.get('stillWatchingPrompt', false) || StillWatchingOptions.Disabled;
return this.get('stillWatchingPrompt', false) || StillWatchingOptions.Default;
}
/**

View file

@ -109,7 +109,7 @@
"ButtonArrowLeft": "Злева",
"Browse": "Праглядзіце",
"Auto": "Аўта",
"Ascending": "Па ўзрастанні",
"Ascending": "Нарастаючы",
"Banner": "Банэр",
"BirthDateValue": "Нарадзіўся: {0}",
"BirthPlaceValue": "Месца нараджэння: {0}",
@ -795,7 +795,7 @@
"DeleteMedia": "Выдаліць медыяфайл",
"DeleteUserConfirmation": "Вы ўпэўнены, што хочаце выдаліць гэтага карыстальніка?",
"Depressed": "Прыгнечаны",
"Descending": "Па ўбыванні",
"Descending": "Па сыходзе",
"Desktop": "Працоўны стол (састарэлая версія)",
"DetectingDevices": "Прылады выяўлення",
"DirectStreamHelp2": "Рэсурсы, якія спажываюцца прамой трансляцыяй, звычайна залежаць ад аўдыяпрофілю. Толькі відэа паток перадаецца без страт.",

View file

@ -1361,7 +1361,7 @@
"LabelMediaSegmentsType": "{0} сегмента",
"LabelNoChangelog": "За тази версия не е предоставен регистър на промените.",
"LabelMediaSegmentProviders": "Доставчици на медиен сегмент",
"Anime": "Японски анимации",
"Anime": "Аниме",
"EnableHi10p": "Разреши H.264 High 10 профил",
"HeaderConfirmRepositoryInstallation": "Потвърдете инсталирането на Plugin Repository",
"HeaderDeleteLyrics": "Изтриване на текстове",

View file

@ -54,7 +54,7 @@
"AlwaysRemuxFlacAudioFilesHelp": "Ako imate datoteke koje vaš preglednik odbija reproducirati ili kod kojih netačno izračunava vremenske oznake, omogućite ovo kao privremeno rješenje.",
"AlwaysRemuxMp3AudioFilesHelp": "Ako imate datoteke za koje vaš preglednik netačno izračunava vremenske oznake, omogućite ovo kao privremeno rješenje.",
"AndOtherArtists": "{0} i {1} drugih umjetnika.",
"Anime": "Japanski ctrići",
"Anime": "Anime",
"AnyLanguage": "Bilo koji jezik",
"Anytime": "Bilo kada",
"ApiKeysCaption": "Lista trenutno omogućenih API ključeva",

View file

@ -17,7 +17,7 @@
"Anytime": "Kdykoliv",
"AroundTime": "Okolo {0}",
"Art": "Čistý obrázek",
"Artists": "Interpreti",
"Artists": "Umělci",
"AsManyAsPossible": "Tolikrát jak je možné",
"AspectRatio": "Poměr stran",
"Audio": "Zvuk",
@ -65,7 +65,7 @@
"ButtonSignIn": "Přihlásit se",
"ButtonSignOut": "Odhlásit se",
"ButtonStop": "Zastavit",
"ButtonSubmit": "Odeslat",
"ButtonSubmit": "Potvrdit",
"ButtonTrailer": "Upoutávka",
"ButtonUninstall": "Odinstalovat",
"ButtonWebsite": "Webové stránky",
@ -178,7 +178,7 @@
"HeaderAddUpdateImage": "Přidat/aktualizovat obrázek",
"HeaderAdditionalParts": "Další součásti",
"HeaderAdmin": "Správa",
"HeaderAlbumArtists": "Interpreti alba",
"HeaderAlbumArtists": "Umělci alba",
"HeaderAlert": "Upozornění",
"HeaderApiKey": "Klíč k API",
"HeaderApiKeys": "Klíče k API",
@ -317,11 +317,11 @@
"LabelAirsAfterSeason": "Vysíláno po sérii",
"LabelAirsBeforeEpisode": "Vysíláno před epizodou",
"LabelAirsBeforeSeason": "Vysíláno před sérií",
"LabelAlbumArtists": "Interpreti alba",
"LabelAlbumArtists": "Umělci alba",
"LabelAllowHWTranscoding": "Povolit hardwarové překódování",
"LabelAppName": "Název aplikace",
"LabelAppNameExample": "Čitelný název pro identifikaci klíčů k API. Toto nastavení nemá vliv na funkčnost.",
"LabelArtists": "Interpreti",
"LabelArtists": "Umělci",
"LabelArtistsHelp": "Více interpretů se odděluje pomocí středníku.",
"LabelAudioLanguagePreference": "Preferovaný jazyk zvuku",
"LabelBindToLocalNetworkAddress": "Vázat na místní síťovou adresu",
@ -1355,7 +1355,7 @@
"Track": "Stopa",
"Remixer": "Remixoval",
"ReleaseGroup": "Skupina vydání",
"OtherArtist": "Jiný umělec",
"OtherArtist": "Další umělec",
"Mixer": "Zvukový mixér",
"Lyricist": "Textař",
"Engineer": "Zvukový inženýr",
@ -1402,7 +1402,7 @@
"TypeOptionPluralSeries": "Seriály",
"TypeOptionPluralSeason": "Série",
"TypeOptionPluralMusicVideo": "Hudební videa",
"TypeOptionPluralMusicArtist": "Interpreti",
"TypeOptionPluralMusicArtist": "Hudební interpreti",
"TypeOptionPluralMusicAlbum": "Hudební alba",
"TypeOptionPluralMovie": "Filmy",
"TypeOptionPluralEpisode": "Díly",
@ -1658,12 +1658,12 @@
"EnableLibrary": "Povolit knihovnu",
"EnableLibraryHelp": "Vypnutím knihovny ji skryjete ze všech míst, kde je uživateli zobrazena.",
"ConfirmDeleteLyrics": "Písně budou odstraněny ze systému i knihovny médií. Opravdu chcete pokračovat?",
"DeleteLyrics": "Odstranit texty",
"DeleteLyrics": "Odstranit texty písní",
"ErrorDeletingLyrics": "Při odstraňování textů písní ze serveru došlo k chybě. Zkontrolujte, zda-li má Jellyfin oprávnění k zápisu do složky s médii a zkuste to znovu.",
"HeaderDeleteLyrics": "Odstranit texty",
"HeaderNoLyrics": "Nebyly nalezeny žádné texty",
"Lyrics": "Texty",
"ViewLyrics": "Zobrazit texty",
"HeaderDeleteLyrics": "Odstranit texty písní",
"HeaderNoLyrics": "Žádné texty písní nebyly nalezeny",
"Lyrics": "Texty písní",
"ViewLyrics": "Zobrazit texty písní",
"SavePassword": "Uložit heslo",
"PlaylistError.AddFailed": "Přidání do seznamu skladeb se nezdařilo",
"PlaylistError.CreateFailed": "Tvorba seznamu skladeb se nezdařila",
@ -1675,11 +1675,11 @@
"PlaylistPublic": "Povolit veřejný přístup",
"PlaylistPublicDescription": "Tento seznam skladeb bude možné zobrazit i nepřihlášeným uživatelům.",
"HeaderLyricDownloads": "Stažení textů písní",
"SaveLyricsIntoMediaFolders": "Uložit texty do složek s médii",
"SaveLyricsIntoMediaFolders": "Uložit texty písní do složek s médii",
"SaveLyricsIntoMediaFoldersHelp": "Uložení textů písní spolu se zvukovými souboru je snazší pro správu.",
"Author": "Autor",
"Colorist": "Kolorista",
"CoverArtist": "Autor obalu",
"CoverArtist": "Autor obálky",
"Creator": "Tvůrce",
"Editor": "Editor",
"Illustrator": "Ilustrátor",
@ -1706,8 +1706,8 @@
"PluginLoadConfigError": "Při získávání nastavení zásuvného modulu došlo k chybě.",
"PluginLoadRepoError": "Při získávání podrobností zásuvného z repozitáře modulu došlo k chybě.",
"PluginUninstallError": "Při odinstalaci zásuvného modulu došlo k chybě.",
"AndOtherArtists": "{0} a {1} dalších interpretů.",
"EditLyrics": "Upravit texty",
"AndOtherArtists": "{0} a {1} dalších umělců.",
"EditLyrics": "Upravit texty k písni",
"HeaderAddLyrics": "Přidat texty k písni",
"HeaderPreviewLyrics": "Náhled textu k písni",
"HeaderUploadLyrics": "Nahrát text k písni",
@ -1760,7 +1760,7 @@
"RenderPgsSubtitle": "Experimentální vykreslování titulků ve formátech PGS a VobSub",
"RenderPgsSubtitleHelp": "Určete, zda má klient vykreslovat titulky ve formátech PGS a VobSub namísto použití titulků vypálených do videa. Tím lze zabránit transkódování na straně serveru, avšak na úkor výkonu vykreslování na straně klienta.",
"UseCustomTagDelimiters": "Použít vlastní oddělovač štítků",
"UseCustomTagDelimitersHelp": "Rozdělit štítky interpretů a žánrů pomocí vlastních znaků.",
"UseCustomTagDelimitersHelp": "Rozdělit štítky pro umělce a žánry pomocí vlastních znaků.",
"LabelScreensaverTime": "Prodleva spořiče obrazovky",
"LabelScreensaverTimeHelp": "Po jak dlouhé neaktivitě (v sekundách) se má spustit spořič obrazovky.",
"AlwaysBurnInSubtitleWhenTranscoding": "Vždy vypálit titulky do obrazu při překódování",

View file

@ -58,7 +58,7 @@
"ButtonSelectDirectory": "Vælg mappe",
"ButtonSelectView": "Vælg visning",
"ButtonShutdown": "Luk",
"ButtonSignIn": "Log ind",
"ButtonSignIn": "Log Ind",
"ButtonSignOut": "Log ud",
"ButtonSubmit": "Indsend",
"ButtonUninstall": "Afinstallér",
@ -148,7 +148,7 @@
"HeaderAddUpdateImage": "Tilføj/opdatér billede",
"HeaderAdditionalParts": "Andre stier",
"HeaderAlert": "Advarsel",
"HeaderAllowMediaDeletionFrom": "Tillad mediesletning fra",
"HeaderAllowMediaDeletionFrom": "Tillad Media Sletning Fra",
"HeaderApiKey": "API-nøgle",
"HeaderApiKeys": "API-nøgler",
"HeaderApiKeysHelp": "Eksterne applikationer skal have en API-nøgle for at kunne kommunikere med serveren. Nøgler udstedes ved at logge ind med en normal bruger konto, eller ved manuelt at tildele applikationen en nøgle.",
@ -161,7 +161,7 @@
"HeaderChapterImages": "Kapitelbilleder",
"HeaderConfigureRemoteAccess": "Konfigurer fjernadgang",
"HeaderConfirmPluginInstallation": "Bekræft Installation af Plugin",
"HeaderConfirmRevokeApiKey": "Tilbagekald API-nøgle",
"HeaderConfirmRevokeApiKey": "Invalider API nøgle",
"HeaderConnectToServer": "Forbind til server",
"HeaderConnectionFailure": "Forbindelsesfejl",
"HeaderContinueWatching": "Fortsæt med at se",
@ -188,7 +188,7 @@
"HeaderFrequentlyPlayed": "Ofte afspillet",
"HeaderGuideProviders": "TV-guide-udbydere",
"HeaderIdentifyItemHelp": "Indtast et eller flere søgekriterier.Fjern kriterier for at få flere søgeresultater.",
"HeaderImageOptions": "Billedpræferencer",
"HeaderImageOptions": "Billede Præferencer",
"HeaderInstall": "Installér",
"HeaderInstantMix": "Øjeblikkelig Mix",
"HeaderKeepRecording": "Bevar optagelse",
@ -304,12 +304,12 @@
"LabelCollection": "Samling",
"LabelCommunityRating": "Fællesskabsbedømmelse",
"LabelContentType": "Indholdstype",
"LabelCountry": "Land/region",
"LabelCountry": "Land/Region",
"LabelCriticRating": "Kritikerbedømmelse",
"LabelCurrentPassword": "Nuværende adgangskode",
"LabelCustomCertificatePath": "Sti til brugerdefineret SSL-certifikat",
"LabelCustomCertificatePath": "Brugerdefineret SSL certifikat sti",
"LabelCustomCertificatePathHelp": "Sti til PKCS #12 fil indeholdende et certifikat og privat nøgle for at aktivere TLS understøttelse på et brugerdefineret domæne.",
"LabelCustomCss": "Brugerdefineret CSS-kode",
"LabelCustomCss": "Brugerdefineret CSS kode",
"LabelCustomCssHelp": "Anvend din egne CSS-stile for at ændre tema eller branding i webinterfacet.",
"LabelCustomDeviceDisplayNameHelp": "Angiv en brugerdefineret navn. hvis der ikke angives et navn, bruges det navn enheden sender.",
"LabelCustomRating": "Brugerdefineret bedømmelse",
@ -333,7 +333,7 @@
"LabelEvent": "Hændelse",
"LabelEveryXMinutes": "Hver",
"LabelExtractChaptersDuringLibraryScan": "Udtræk kapitelbilleder under biblioteksskanning",
"LabelExtractChaptersDuringLibraryScanHelp": "Generér kapitelbilleder, når videoer importeres under biblioteksscanningen. Ellers udtrækkes de under den planlagte opgave til kapitelbilleder, så den almindelige biblioteksscanning kan gennemføres hurtigere.",
"LabelExtractChaptersDuringLibraryScanHelp": "Generere kapitelbillleder mens videofiler bliver importeret under biblioteksskanningen. Alternativt bliver de udtrukket når den planlagte opgave kapitelbilleder kører, hvilket tillader den almindelige biblioteksskanning at afslutte hurtigere.",
"LabelFailed": "Fejlet",
"LabelFileOrUrl": "Fil eller URL",
"LabelFinish": "Afslut",
@ -346,8 +346,8 @@
"LabelEncoderPreset": "Forudindstilling for indkodning",
"LabelHardwareAccelerationType": "Hardwareacceleration",
"LabelHardwareAccelerationTypeHelp": "Hardwareacceleration kræver yderligere konfiguration.",
"LabelHttpsPort": "Lokalt HTTPS-portnummer",
"LabelHttpsPortHelp": "TCP-port for HTTPS-server.",
"LabelHttpsPort": "Lokalt HTTPS portnummer",
"LabelHttpsPortHelp": "TCP port for HTTPS server.",
"LabelImageFetchersHelp": "Aktivér og rangordn dine foretrukne billedhentere efter prioritet.",
"LabelImageType": "Billedtype",
"LabelImportOnlyFavoriteChannels": "Begræns til kanaler der er markeret som favoritter",
@ -367,7 +367,7 @@
"LabelLanguage": "Sprog",
"LabelLineup": "Opstilling",
"LabelLocalHttpServerPortNumber": "Lokalt HTTP-portnummer",
"LabelLocalHttpServerPortNumberHelp": "TCP-port for HTTP-server.",
"LabelLocalHttpServerPortNumberHelp": "TCP port for HTTP-server.",
"LabelLockItemToPreventChanges": "Lås dette element for at undgå fremtidige metadata-ændringer",
"LabelLoginDisclaimer": "Ansvarsfraskrivelse",
"LabelLoginDisclaimerHelp": "En besked, som vises i bunden af loginsiden.",
@ -381,7 +381,7 @@
"LabelMetadataDownloadersHelp": "Aktivér og rangordn dine foretrukne metadata-downloadere efter prioritet. Downloadere med lavere prioritet vil kun blive brugt til at udfylde manglende oplysninger.",
"LabelMetadataPath": "Metadatasti",
"LabelMetadataPathHelp": "Angiv en brugerdefineret lokation til hentet grafik og metadata.",
"LabelMetadataReaders": "Metadata-aflæsere",
"LabelMetadataReaders": "Metadata aflæsere",
"LabelMetadataReadersHelp": "Ranger dine fortrukne lokale metadatakilder i prioriteret rækkefølge. Den først fundne fil vil blive aflæst.",
"LabelMetadataSavers": "Metadata-gemmer",
"LabelMetadataSaversHelp": "Vælg filformatet du ønsker metadata gemmes som.",
@ -423,8 +423,8 @@
"LabelProtocol": "Protokol",
"LabelPublicHttpPort": "Offentligt HTTP-portnummer",
"LabelPublicHttpPortHelp": "Det offentlige portnummer som bliver knyttet til det lokale HTTP-portnummer.",
"LabelPublicHttpsPort": "Offentligt HTTPS-portnummer",
"LabelPublicHttpsPortHelp": "Det offentlige portnummer som bliver knyttet til det lokale HTTPS-portnummer.",
"LabelPublicHttpsPort": "Offentligt HTTPS portnummer",
"LabelPublicHttpsPortHelp": "Det offentlige portnummer som bliver knyttet til det lokale HTTPS portnummer.",
"LabelRecord": "Optag",
"LabelRecordingPath": "Standard afspilningssti",
"LabelRecordingPathHelp": "Angiv standard-placering til optagelser. Hvis efterladt blankt, benyttes serverens programdata-mappe.",
@ -446,7 +446,7 @@
"LabelSkipIfAudioTrackPresentHelp": "Angiv ikke dette for at sikre at alle videoer har undertekster, uanset hvilket sprog lydsporet anvender.",
"LabelSkipIfGraphicalSubsPresent": "Spring over, hvis videoen allerede indeholder indlejrede undertekster",
"LabelSkipIfGraphicalSubsPresentHelp": "Hvis man bevarer tekstversionerne af underteksterne, vil det medføre en mere effektiv levering og mindske sandsynligheden for, at videoen skal transkodes.",
"LabelSortTitle": "Sorteringstitel",
"LabelSortTitle": "Sorter titel",
"LabelSource": "Kilde",
"LabelSpecialSeasonsDisplayName": "Special sæson visningsnavn",
"LabelSportsCategories": "Sportskategorier",
@ -478,8 +478,8 @@
"LabelVersionInstalled": "{0} installeret",
"LabelYoureDone": "Du er færdig!",
"LabelZipCode": "Postnummer",
"LabelffmpegPath": "FFmpeg-sti",
"LabelffmpegPathHelp": "Stien til FFmpeg-applikationsfilen eller mappen indeholdende FFmpeg.",
"LabelffmpegPath": "FFmpeg sti",
"LabelffmpegPathHelp": "Stien til FFmpeg applikationsfilen eller mappen indeholdende FFmpeg.",
"LanNetworksHelp": "Komma separeret liste over IP adresser eller netmasker til netværk der vil blive anset for at være lokale når der bliver påtvunget båndbredde og fjernadgang restriktioner. Hvis blank, vil alle RFC1918 adresser blive set som lokale.",
"LatestFromLibrary": "Nyligt tilføjet i {0}",
"LibraryAccessHelp": "Vælg hvilke mediemapper der skal deles med denne bruger. Administratorer vil kunne redigere alle mapper ved hjælp af metadata-redskabet.",
@ -493,7 +493,7 @@
"MediaInfoAspectRatio": "Billedformat",
"MediaInfoBitDepth": "Bitdybde",
"MediaInfoChannels": "Kanaler",
"MediaInfoCodecTag": "Kodek-mærkat",
"MediaInfoCodecTag": "Codec mærkat",
"MediaInfoContainer": "Beholder",
"MediaInfoDefault": "Standard",
"MediaInfoExternal": "Ekstern",
@ -513,7 +513,7 @@
"MessageConfirmRecordingCancellation": "Annullér optagelse?",
"MessageConfirmRemoveMediaLocation": "Er du sikker på, at du vil slette denne placering?",
"MessageConfirmRestart": "Er du sikker på du vil genstarte Jellyfin?",
"MessageConfirmRevokeApiKey": "Er du sikker på du ønsker at tilbagekalde denne API nøgle? Applikationens forbindelse til denne server vil blive afbrudt øjeblikkeligt.",
"MessageConfirmRevokeApiKey": "Er du sikker på du ønsker at invalidere denne API nøgle? Applikationens forbindelse til denne server vil blive afbrudt øjeblikkeligt.",
"MessageConfirmShutdown": "Er du sikker på du ønsker at slukke for serveren?",
"MessageContactAdminToResetPassword": "Kontakt venligst din systemadministrator for at nulstille din adgangskode.",
"MessageCreateAccountAt": "Opret en konto hos {0}",
@ -531,7 +531,7 @@
"MessageNoMovieSuggestionsAvailable": "Ingen filmforslag er tilgængelige. Begynd at se og vurder dine film, og kom tilbage for at se dine anbefalinger.",
"MessageNothingHere": "Her er ingenting.",
"MessagePasswordResetForUsers": "Følgende brugere har fået nulstillet deres adgangskoder. De kan nu logge på med de pinkoder, der blev brugt til at udføre nulstillingen.",
"MessagePleaseEnsureInternetMetadata": "Venligst sikr at hentning af metadata fra internettet er aktiveret.",
"MessagePleaseEnsureInternetMetadata": "Venligst sikre at hentning af metadata fra internettet er aktiveret.",
"MessagePleaseWait": "Vent venligst. Dette kan tage et par minutter.",
"MessagePluginConfigurationRequiresLocalAccess": "For at opsætte dette plugin log da venligst direkte ind på din lokale server.",
"MessagePluginInstallDisclaimer": "ADVARSEL: Installation af tredjepartsplugins medfører risici. Plugins kan indeholde ustabil eller skadelig kode, og kan ændres til enhver tid. Du bør kun installere plugins fra brugere du stoler på. Derudover bør du også være opmærksom på at plugins kan medføre: forespørgsler til eksterne services, længere biblioteksscanninger og yderligere baggrundsprocesser.",
@ -550,7 +550,7 @@
"MoveRight": "Flyt mod højre",
"MovieLibraryHelp": "Læs {0}vejledningen til navngivning af film{1}.",
"Movies": "Film",
"Mute": "Mute",
"Mute": "Afbryd lyd",
"MySubtitles": "Mine undertekster",
"Name": "Navn",
"Never": "Aldrig",
@ -622,7 +622,7 @@
"OptionSpecialEpisode": "Særudsendelser",
"OptionTrackName": "Nummerets navn",
"OptionTvdbRating": "TheTVDB-bedømmelse",
"OptionUnairedEpisode": "Ikke-sendte episoder",
"OptionUnairedEpisode": "Ikke sendte episoder",
"OptionWakeFromSleep": "Vågner fra dvale",
"OptionWeekdays": "Hverdage",
"OptionWeekends": "Weekender",
@ -639,7 +639,7 @@
"PasswordSaved": "Adgangskoden er gemt.",
"People": "Personer",
"PictureInPicture": "Billede i billede",
"PlaceFavoriteChannelsAtBeginning": "Placér favoritkanaler i begyndelsen",
"PlaceFavoriteChannelsAtBeginning": "Placer favoritkanaler i begyndelsen",
"Play": "Afspil",
"PlayAllFromHere": "Afspil alt fra her",
"PlayFromBeginning": "Afspil fra begyndelsen",
@ -727,7 +727,7 @@
"TabNfoSettings": "NFO-indstillinger",
"TabOther": "Andet",
"TabParentalControl": "Forældrekontrol",
"TabPlugins": "Plugins",
"TabPlugins": "Tilføjelser",
"TabScheduledTasks": "Planlagte opgaver",
"TabUpcoming": "Kommende",
"TellUsAboutYourself": "Fortæl os lidt om dig selv",
@ -740,7 +740,7 @@
"Tuesday": "Tirsdag",
"TvLibraryHelp": "Læs {0}vejledningen til navngivning af tv-programmer{1}.",
"UninstallPluginConfirmation": "Er du sikker på du vil afinstallere {0}?",
"HeaderUninstallPlugin": "Afinstallér plugin",
"HeaderUninstallPlugin": "Afinstaller plugin",
"Unmute": "Genoptag lyd",
"Unrated": "Ingen bedømmelse",
"UserAgentHelp": "Angiv en brugerdefineret 'User-Agent' HTTP-header.",
@ -889,7 +889,7 @@
"LabelCertificatePassword": "Adgangskode til certifikat",
"LabelCertificatePasswordHelp": "Hvis dit certifikat kræver en adgangskode, skriv det venligst her.",
"LabelDashboardTheme": "Serverkontrolpanel-tema",
"LabelDateTimeLocale": "Dato, klokkeslæt og lokalitet",
"LabelDateTimeLocale": "Dato og tid område",
"LabelDefaultScreen": "Standardskærm",
"LabelDisplayLanguage": "Visningssprog",
"LabelDisplayLanguageHelp": "Oversættelse af Jellyfin er et vedvarende projekt.",
@ -899,11 +899,11 @@
"LabelEnableHardwareDecodingFor": "Aktivér hardwareafkodning for",
"LabelFont": "Skrifttype",
"LabelFormat": "Format",
"LabelHomeNetworkQuality": "Hjemmenetværkskvalitet",
"LabelHomeScreenSectionValue": "Hjemmeskærm-sektion {0}",
"LabelHomeNetworkQuality": "Hjemme netværk kvalitet",
"LabelHomeScreenSectionValue": "Hjemmeskærm sektion {0}",
"LabelInternetQuality": "Internetkvalitet",
"LabelLogs": "Logfiler",
"LabelMaxChromecastBitrate": "Google Cast-streamingskvalitet",
"LabelMaxChromecastBitrate": "Google Cast streaming kvalitet",
"LabelMetadata": "Metadata",
"LabelPreferredSubtitleLanguage": "Foretrukket undertekst sprog",
"LabelProfileContainer": "Beholder",
@ -912,14 +912,14 @@
"LabelSelectFolderGroups": "Grupper automatisk indhold fra følgende mapper ind i visninger såsom 'Film', 'Musik' og 'TV'",
"LabelSelectFolderGroupsHelp": "Mapper der ikke er valgt vil blive vist for sig selv i deres egen visning.",
"LabelSkipBackLength": "Spol tilbage-længde",
"LabelSkipForwardLength": "Spol frem-længde",
"LabelSkipForwardLength": "Gå fremad længde",
"LabelSortBy": "Sortér efter",
"LabelSortOrder": "Sorteringsorden",
"LabelStatus": "Status",
"LabelTVHomeScreen": "Hjemmeskærm i TV-tilstand",
"LabelTVHomeScreen": "TV modus hjemmeskærm",
"LabelTag": "Mærke",
"LabelTagline": "Taglinje",
"LabelTextBackgroundColor": "Tekstbaggrundsfarve",
"LabelTextBackgroundColor": "Tekst baggrundsfarve",
"LabelTextColor": "Tekstfarve",
"LabelTextSize": "Tekststørrelse",
"LabelType": "Type",
@ -935,7 +935,7 @@
"Logo": "Logo",
"ManageRecording": "Administrér optagelse",
"MediaInfoBitrate": "Bitrate",
"MediaInfoCodec": "Kodek",
"MediaInfoCodec": "Codek",
"MediaInfoFramerate": "Billederate",
"MediaInfoInterlaced": "Interlaceret",
"MediaInfoLayout": "Layout",
@ -985,7 +985,7 @@
"Small": "Lille",
"SmallCaps": "Små bogstaver",
"Smaller": "Mindre",
"Smart": "Smart",
"Smart": "Klog",
"SmartSubtitlesHelp": "Undertekster der matcher det foretrukne sprog vil blive indlæst når lyden er et fremmed sprog.",
"Sort": "Sortér",
"SortByValue": "Sortér efter {0}",
@ -1001,7 +1001,7 @@
"ThemeSongs": "Tema-sange",
"ThemeVideos": "Temavideoer",
"TheseSettingsAffectSubtitlesOnThisDevice": "Disse indstillinger påvirker kun undertekster på denne enhed",
"Thumb": "Miniature",
"Thumb": "Tommel",
"Trailers": "Trailere",
"Transcoding": "Transkodning",
"Uniform": "Ensformig",
@ -1133,7 +1133,7 @@
"ButtonUseQuickConnect": "Brug Lyn-forbind",
"ButtonPlayer": "Afspiller",
"Authorize": "Tillad",
"ApiKeysCaption": "Liste over aktive API-nøgler",
"ApiKeysCaption": "Liste over aktive API nøgler",
"EnableBlurHash": "Aktivér slørede pladsholdere for billeder",
"DeleteDevicesConfirmation": "Er du sikker på at du ønsker at slette alle enheder? Alle andre sessioner vil blive logget ud. Enhederne vil dukke op igen næste gang en bruger logger ind.",
"DeleteAll": "Slet alle",
@ -1146,7 +1146,7 @@
"LabelAutomaticDiscoveryHelp": "Tillad, at applikationer automatisk finder Jellyfin ved hjælp af UDP-port 7359.",
"LabelAutomaticDiscovery": "Aktivér automatisk registrering",
"Image": "Billede",
"HeaderUploadSubtitle": "Upload undertekster",
"HeaderUploadSubtitle": "Overfør undertekster",
"HeaderSyncPlaySelectGroup": "Deltag i en gruppe",
"HeaderSyncPlayEnabled": "SyncPlay er aktiveret",
"HeaderServerAddressSettings": "Serveradresse-indstillinger",
@ -1168,7 +1168,7 @@
"MessagePlaybackError": "Der opstod en fejl under afspilning af denne fil på din Google Cast-modtager.",
"MessageChromecastConnectionError": "Din Google Cast-modtager kan ikke komme i kontakt med Jellyfin. Undersøg venligst forbindelsen og prøv igen.",
"LabelPlaybackInfo": "Afspilningsinformation",
"Remuxing": "Remuxing",
"Remuxing": "Ompakning",
"AspectRatioFill": "Stræk",
"AspectRatioCover": "Zoom",
"EnableFallbackFont": "Aktivér reserveskrifttyper",
@ -1229,7 +1229,7 @@
"MessagePluginInstallError": "Der opstod en fejl under installationen af tilføjelsen.",
"MessageNoRepositories": "Ingen arkiver.",
"LabelUnstable": "Ustabil",
"LabelSyncPlayTimeSyncOffset": "Tidsforskydning",
"LabelSyncPlayTimeSyncOffset": "Tid tærskel",
"LabelSyncPlaySyncMethod": "Synkroniseringsmetode",
"LabelSyncPlayResumePlaybackDescription": "Deltag i gruppeafspilning",
"LabelSyncPlayResumePlayback": "Fortsæt lokal afspilning",
@ -1242,7 +1242,7 @@
"LabelSyncPlayAccessNone": "Deaktiveret for denne bruger",
"LabelSyncPlayAccessJoinGroups": "Tillad bruger at tilslutte grupper",
"LabelSyncPlayAccessCreateAndJoinGroups": "Tillad bruger at oprette og tilslutte grupper",
"LabelSyncPlayAccess": "SyncPlay-adgang",
"LabelSyncPlayAccess": "SyncPlay adgang",
"LabelSubtitleVerticalPosition": "Lodret position",
"LabelStable": "Stabil",
"LabelRequireHttpsHelp": "Hvis afkrydset, vil serveren automatisk omdirigere alle anmodninger over HTTP til HTTPS. Dette har ingen indflydelse hvis serveren ikke lytter på HTTPS.",
@ -1251,7 +1251,7 @@
"LabelRepositoryName": "Arkiv navn",
"LabelQuickConnectCode": "Kode til Lyn-forbind",
"LabelPublishedServerUri": "Udgivne server-URI'er",
"LabelOpenclDevice": "OpenCL-enhed",
"LabelOpenclDevice": "OpenCL Enhed",
"LabelIsForced": "Tvunget",
"LabelH265Crf": "H.265-indkodning CRF",
"LabelEnableIP6Help": "Aktivér IPv6-funktionalitet.",
@ -1266,7 +1266,7 @@
"EnableDetailsBannerHelp": "Vis et banner billede i toppen af element detalje siden.",
"EnableBlurHashHelp": "Billeder som stadigt indlæses vil blive vist med et tilfældigt unikt billede.",
"LabelTonemappingDesat": "Tonemapping-afmætning",
"ThumbCard": "Miniaturekort",
"ThumbCard": "Tommel Kort",
"AllowVppTonemappingHelp": "Fuld Intel-driver-baseret tonemapping. Virker på nuværende tidspunkt kun når der omkodes video med HDR10-metadata. Dette har en højere prioritet end andre OpenCL-implementeringer.",
"EnableVppTonemapping": "Aktivér VPP-tonemapping",
"YoutubeDenied": "Den efterspurgte video er ikke tilladt at afspille i embedded afspillere.",
@ -1326,8 +1326,8 @@
"LabelDisableCustomCss": "Slå tilpasset CSS kode til temaer/branding som er forsynet af serveren fra.",
"DisableCustomCss": "Slå server-forsynet tilpasset CSS fra",
"LabelSyncPlaySettingsSyncCorrection": "Synkroniseringskorrektion",
"LabelSyncPlaySettingsExtraTimeOffsetHelp": "Juster tidsforskydningen (i ms) manuelt med den valgte enhed til tidssynkronisering. Justér med omhu.",
"LabelSyncPlaySettingsExtraTimeOffset": "Ekstra tidsforskydning",
"LabelSyncPlaySettingsExtraTimeOffsetHelp": "Juster tidsforskydningen (i ms) manuelt med den valgte enhed til tidssynkronisering. Juster med omhu.",
"LabelSyncPlaySettingsExtraTimeOffset": "Forskydning af ekstra tid",
"LabelSyncPlaySettingsDescription": "Ændr SyncPlay-præferencer",
"LabelSortName": "Sorteringsnavn",
"LabelOriginalName": "Original navn",
@ -1425,7 +1425,7 @@
"NextChapter": "Næste kapitel",
"Mixer": "Mikser",
"MixedMoviesShows": "Blandede film og serier",
"MessageUnauthorizedUser": "Du har ikke adgang til denne server lige nu. Kontakt din serveradministrator for mere information.",
"MessageUnauthorizedUser": "Du har ikke adgang til denne server lige nu. Kontakt din server administrator for mere information.",
"MediaInfoTitle": "Titel",
"Lyricist": "Lyriker",
"Localization": "Lokalisering",
@ -1562,8 +1562,8 @@
"ListView": "Listevisning",
"LabelVppTonemappingContrastHelp": "Anvend konstrastforstærkning i VPP-tonemapping. Den anbefalede værdi er 1.",
"LogLevel.Trace": "Spore",
"LabelServerVersion": "Serverversion",
"LabelWebVersion": "Web-version",
"LabelServerVersion": "Server version",
"LabelWebVersion": "Web version",
"AirPlay": "AirPlay",
"PlaybackError.NO_MEDIA_ERROR": "Ikke muligt at finde en gyldig mediekilde at afspille.",
"AllowSubtitleManagement": "Tillad denne bruger at redigere undertekster",
@ -1700,7 +1700,7 @@
"Reset": "Nulstil",
"LabelIsSynced": "Er synkroniseret",
"AndOtherArtists": "{0} og {1} andre kunstnere.",
"LabelEnablePlugin": "Aktivér plugin",
"LabelEnablePlugin": "Aktivér tilføjelsesprogram",
"LabelNotInstalled": "Ikke installeret",
"PluginDisableError": "Der opstod en fejl under deaktivering af plugin'et.",
"LabelInstalled": "Installeret",
@ -1736,8 +1736,8 @@
"LabelQsvDevice": "QSV-enhed",
"HeaderEditPlaylist": "Redigér playliste",
"HeaderNewPlaylist": "Ny playliste",
"LabelAlwaysRemuxFlacAudioFiles": "Remux altid FLAC-lydfiler",
"LabelAlwaysRemuxMp3AudioFiles": "Remux altid MP3-lydfiler",
"LabelAlwaysRemuxFlacAudioFiles": "Remux altid FLAC lydfiler",
"LabelAlwaysRemuxMp3AudioFiles": "Remux altid MP3 lydfiler",
"LabelAllowStreamSharing": "Tillad streamdeling",
"LabelFallbackMaxStreamingBitrate": "Maks. bitrate til reserve-stream (Mbps)",
"LabelMediaSegmentsType": "{0} segmenter",
@ -1851,7 +1851,7 @@
"StorageType.Removable": "Flytbar",
"StorageType.Unknown": "Ukendt",
"MessageRestoreInProgress": "Gendannelse i gang",
"MessageRestoreSuccess": "Gendannelse fuldført",
"MessageRestoreSuccess": "Gendannelse fuldført successfully",
"MessageWaitingForServer": "Venter på server...",
"ConfirmDeleteRepository": "Slet bibliotek?",
"DeleteRepositoryConfirmation": "Er du sikker på, at du vil slette dette bibliotek?",
@ -1872,7 +1872,7 @@
"ConfirmDeletePlaylist": "Er du sikker på at du vil slette denne playliste?",
"HeaderDeleteCollection": "Slet samling",
"ActivitiesLoadError": "Kunne ikke indlæse aktiviteter",
"ApiKeysLoadError": "Kunne ikke indlæse API-nøgler",
"ApiKeysLoadError": "Kunne ikke indlæse API nøgler",
"Authors": "Forfattere",
"NewPlaylist": "Ny playliste",
"Disabled": "Deaktiveret",
@ -1900,7 +1900,7 @@
"NetworkingPageLoadError": "Det lykkedes ikke at indlæse netværksindstillingerne",
"NoCastTargets": "Der er ingen mål til castning tilgængelige",
"OnFilesystem": "På filsystemet: {0}",
"OptionDatePlaylistUpdated": "Dato for opdatering af playliste",
"OptionDatePlaylistUpdated": "Dato for opdatering af playsliste",
"OriginalLanguage": "Originalsprog",
"ResetFilters": "Nulstil filtre",
"ResumeLoadError": "Det lykkedes ikke at indlæse genoptagelsesindstillinger",
@ -1916,7 +1916,7 @@
"LabelExternalServerUri": "Ekstern URI",
"LabelExternalServerUriHelp": "Offentliggjort server-URI til ekstern adgang.",
"LabelVideoAttributes": "Videoegenskaber",
"LabelVideoColors": "Videofarver",
"LabelVideoColors": "Videoefarver",
"LabelVideoBitDepth": "Videobitdybde",
"LabelAudioAttributes": "Lydegenskaber",
"LabelTargetCodecs": "Mål-kodeks",
@ -1934,10 +1934,10 @@
"BitmapSubtitleAspectModeCover": "Omslag",
"BitmapSubtitleAspectModeHelp": "Kontrollerer hvordan klient renderede PGS og VobSub undertekster skaleres til det synlige video område.",
"BitmapSubtitleAspectModeStretch": "Stræk",
"ViewDoublePage": "Dobbeltsidevisning",
"ViewSinglePage": "Enkeltsidevisning",
"ViewLeftToRight": "Ventre mod højre",
"ViewRightToLeft": "Højre mod venstre",
"ViewDoublePage": "Dobbelt Side Visning",
"ViewSinglePage": "Enkelt Side Visning",
"ViewLeftToRight": "Ventre til Højre",
"ViewRightToLeft": "Højre til Venstre",
"LabelBitmapSubtitleAspectMode": "Bitmap undertekst aspekt mode",
"Novel": "Novelle",
"Screenplay": "Skærmspil",

File diff suppressed because it is too large Load diff

View file

@ -66,7 +66,7 @@
"AnyLanguage": "Mikä tahansa kieli",
"Anytime": "Milloin tahansa",
"AroundTime": "Noin {0}",
"Art": "Läpinäkyvä logo",
"Art": "Clearart",
"Artists": "Artistit",
"AsManyAsPossible": "Niin monta kuin mahdollista",
"Ascending": "Nousevassa järjestyksessä",

View file

@ -20,13 +20,13 @@
"AllChannels": "Allar rásir",
"AllComplexFormats": "Øll fjølbroytt snið (ASS, SSA, VobSub, PGS, SUB, IDX, ...)",
"Directors": "Leikstjórar",
"AgeValue": "({0} ár)",
"AllLibraries": "Øllum søvnum",
"AgeValue": "({0} ára gamalt)",
"AllLibraries": "Øll søvn",
"Artist": "Tónlistafólk",
"Artists": "Tónlistafólk",
"Books": "Bøkur",
"Composer": "Tónaskald",
"DailyAt": "Dagliga kl. {0}",
"DailyAt": "Dagligani kl. {0}",
"DeathDateValue": "Andaðist: {0}",
"Digital": "Talgilt",
"Director": "Leikstjóri",
@ -49,7 +49,7 @@
"LabelArtists": "Tónlistafólk",
"LabelCountry": "Land",
"LabelDeveloper": "Mennari",
"AddToPlayQueue": "Legg í spælirøðina",
"AddToPlayQueue": "Legg í spælirøð",
"AirDate": "Frumsýningardagur",
"Aired": "Frumsýningardegi",
"Album": "Tónleikaútgáva",
@ -87,8 +87,8 @@
"SubtitleRed": "Reytt",
"Subtitles": "Undirtekstir",
"Suggestions": "Uppskot",
"TabAdvanced": "Framkomnar",
"TabDashboard": "Yvirlitssýni",
"TabAdvanced": "Framkomin",
"TabDashboard": "Yvirlitsskíggi",
"TabLatest": "Nýliga innlagt",
"TabLogs": "Gerðalistar",
"TabNetworking": "Net",
@ -103,17 +103,17 @@
"ThemeSongs": "Eyðkennisløg",
"ThumbCard": "Tummlakort",
"TitleHostingSettings": "Hýsingarstillingar",
"TrackCount": "Løg: {0}",
"TrackCount": "{0} løg",
"Trailers": "Brellbitar",
"Tuesday": "Týsdag",
"TV": "Sjónvarp",
"TypeOptionPluralAudio": "Ljóð",
"TypeOptionPluralBoxSet": "Savnssett",
"TypeOptionPluralBoxSet": "Bokssett",
"TypeOptionPluralMusicAlbum": "Tónleikaútgávur",
"TypeOptionPluralMusicVideo": "Sjónbandaløg",
"TypeOptionPluralVideo": "Sjónbond",
"Typewriter": "Skrivimaskina",
"Uniform": "Einsháttaðir",
"Uniform": "Einsháttað",
"Unmute": "Skrúva ljóðið upp",
"Unrated": "Eingin meting",
"Up": "Upp",
@ -131,21 +131,21 @@
"ShowYear": "Vís árið",
"SimultaneousConnectionLimitHelp": "Hámark fyri samstundis stroymingum. Tøppa inn 0 fyri einki hámark.",
"Settings": "Stillingar",
"SettingsSaved": "Stillingarnar eru goymdar.",
"SettingsSaved": "Stillingar eru goymdar.",
"SelectAdminUsername": "Vinaliga vel eitt brúkaranavn til umsitarakontuna.",
"Series": "Sendirøðir",
"SeriesCancelled": "Røðin er steðgað.",
"SeriesCancelled": "Røðin er steðga.",
"Search": "Leita",
"SearchForCollectionInternetMetadata": "Leita eftir list og metadátum á alnetinum",
"SeriesSettings": "Røðstillingar",
"SeriesYearToPresent": "{0} - Nú",
"SeriesYearToPresent": "{0} - Núverandi",
"ServerRestartNeededAfterPluginInstall": "Jellyfin noyðist at endurbyrjast, eftir at eitt ískoytisforrit er innlagt.",
"ShowAdvancedSettings": "Vís víðkaðar stillingar",
"StopPlayback": "Steðga spæling",
"SubtitleGray": "Grátt",
"SubtitleLightGray": "Ljósagráður",
"SubtitleMagenta": "Viólreyður",
"AllowedRemoteAddressesHelp": "Kommaskiltur listi av IP-atsetrum ella IP/netsíla av netum, ið verða loyvd at fjarbinda. Er hesin teigur blankur eru øll fjaratsetur loyvd.",
"AllowedRemoteAddressesHelp": "Kommaskiltur listið av IP-atsetrum ella IP/netsíla av netum, ið verða loyvd at fjarbinda. Er hesin teigur blankur eru øll fjaratsetur loyvd.",
"SubtitleWhite": "Hvítt",
"Arranger": "Fyrireikari",
"SubtitleYellow": "Gult",
@ -161,8 +161,8 @@
"SubtitleBlack": "Svart",
"SubtitleBlue": "Blátt",
"TextSent": "Tekstur sendur.",
"TheseSettingsAffectSubtitlesOnThisDevice": "Hesar stillingar ávirka undirtekstir á hesi eindini",
"Thumb": "Smámynd",
"TheseSettingsAffectSubtitlesOnThisDevice": "Hesir stillingar ávirka undirteksir á hesari eindini",
"Thumb": "Tummil",
"Thursday": "Hósdagur",
"Track": "Lag",
"Transcoding": "Umkoting",
@ -185,7 +185,7 @@
"ButtonSignIn": "Innrita",
"ButtonSignOut": "Útrita",
"Channels": "Rásir",
"Favorites": "Yndislisti",
"Favorites": "Yndislista",
"Folders": "Skjáttur",
"Collections": "Samlingar",
"Default": "Forsett",
@ -226,8 +226,8 @@
"DeleteEpisode": "Strika part",
"DeleteName": "Strika {0}",
"DeleteUser": "Strika brúkara",
"DeleteUserConfirmation": "Vilt tú strika hendan brúkaran?",
"DeleteServerConfirmation": "Vilt tú strika hendan ambætaran?",
"DeleteUserConfirmation": "Ynskir tú at strika hendan brúkaran?",
"DeleteServerConfirmation": "Ynskir tú at strika hendan ambætaran?",
"Descending": "Lækkandi",
"DirectPlayHelp": "Keldufílan hevur fult sínamillumvirkni við hendan viðskiftaran og verður hon móttikin uttan broytingar.",
"EnablePlugin": "Virkja",
@ -247,8 +247,8 @@
"Episode": "Partur",
"Episodes": "Partar",
"EveryHour": "Hvønn tíma",
"EveryNDays": "Hvønn {0}. dag",
"EveryXHours": "Hvønn {0}. tíma",
"EveryNDays": "{0}. hvønn dag",
"EveryXHours": "{0}. hvønn tíma",
"EveryXMinutes": "{0}. hvønn minutt",
"File": "Fíla",
"FileNotFound": "Fílan var ikki funnin.",
@ -303,7 +303,7 @@
"LabelDatabase": "Dátugrunnur",
"LabelDay": "Vikudagur",
"LabelDevice": "Eind",
"LabelDisplayLanguageHelp": "Týðingin av Jellyfin er ein áhaldandi verkætlan.",
"LabelDisplayLanguageHelp": "Týðing av Jellyfin er ein áhaldandi verkætlan.",
"LabelChapterImageResolution": "Loysni",
"LabelEnableHttps": "Virkja HTTPS",
"LabelEnableIP4": "Virkja IPv4",
@ -334,7 +334,7 @@
"LabelServerVersion": "Ambætaraútgáva",
"LabelSortBy": "Raða eftir",
"LabelTag": "Spjaldur",
"Bold": "Feit",
"Bold": "Feitt",
"LabelUser": "Brúkari",
"LabelUsername": "Brúkaranavn",
"LabelVaapiDevice": "VA-API-eind",
@ -394,7 +394,7 @@
"StorageType.Unknown": "Ókent",
"HeaderBackups": "Trygdaravrit",
"TableOfContents": "Innihaldsyvirlit",
"UninstallPluginConfirmation": "Vilt tú strika {0}?",
"UninstallPluginConfirmation": "Ynskir tú at strikað {0}?",
"Vertical": "Loddrætt",
"Wednesday": "Mikudag",
"WeeklyAt": "{0} klokkan {1}",
@ -417,7 +417,7 @@
"LabelTrickplayThreads": "FFmpeg træðrir",
"ApiKeysLoadError": "Miseydnaðist at innlesa API-lyklar",
"AspectRatio": "Støddarlutfall",
"Audio": "Ljóðspor",
"Audio": "Ljóð",
"Backdrops": "Bakgrundir",
"ButtonAddServer": "Legg ambætara inn",
"ButtonBackspace": "Bakglopp",
@ -429,7 +429,7 @@
"ButtonTrailer": "Brellbiti",
"ButtonUninstall": "Strika",
"ButtonWebsite": "Vevsíða",
"ConfirmDeletePlaylist": "Vilt tú strika spælilistan?",
"ConfirmDeletePlaylist": "Ynskir tú at strika spælilistan?",
"Connect": "Sambind",
"ConnectAnyway": "Sambind kortini",
"ContinueReading": "Hald áfram at lesa",
@ -476,7 +476,7 @@
"LabelArtistsHelp": "Skil ímillum tónlistafólk við semikoloni.",
"LabelAllowHWTranscoding": "Loyv tólbúnaðarumkoting",
"LabelReasonForTranscoding": "Umkotar vegna",
"LabelTranscodingInfo": "Umkotingarupplýsingar",
"LabelTranscodingInfo": "Umkotuupplýsingar",
"TranscodingLoadError": "Miseydnaðist at innlesa umkotustillingar",
"AirPlay": "AirPlay",
"MusicVideos": "Sjónbandaløg",
@ -489,11 +489,11 @@
"LabelThrottleDelaySeconds": "Avmarka eftir",
"LabelThrottleDelaySecondsHelp": "Tíð í sekundum eftir at umkotarin verður avmarkaður. Skal verða nóg leingi so at viðskiftarir hava stundir at viðlíkahalda eitt nøktandi tippi. Hevur einans ávirkan um avmarking er virkt.",
"AllowMediaConversionHelp": "Játta ella nokta atgongd til miðlaformbroytingarhentleikan.",
"AllowOnTheFlySubtitleExtraction": "Loyv leypandi undirtekstaúttøku",
"AllowOnTheFlySubtitleExtraction": "Loyv leypandi undirtekstaavstúgving",
"AllowRemoteAccessHelp": "Loka verður fyri øllum fjaríbindingum um hetta er frávalt.",
"AlwaysRemuxFlacAudioFilesHelp": "Virkja hetta í fall tín kagi ikki er førur fyri at spæla ávísar fílur ella ger skeivar tíðarútrokningar av teimum.",
"AlwaysRemuxMp3AudioFilesHelp": "Virkja hetta í fall tín kagi ger skeivar tíðarútrokningar av teimum.",
"AnyLanguage": "Eitthvørt talumál",
"AnyLanguage": "Eitthvørt mál",
"Anytime": "Nær sum helst",
"ApiKeysCaption": "Listi av núverandi virknum API-lyklum",
"Art": "Myndprýðing",
@ -510,9 +510,9 @@
"ButtonAddImage": "Legg inn mynd",
"ButtonAddMediaLibrary": "Legg inn margmiðlasavn",
"ButtonAddProvider": "Legg inn veitara",
"ButtonCancel": "Avlýs",
"ButtonCancel": "Ógilda",
"ButtonFullscreen": "Fyll skíggjan",
"ButtonLibraryAccess": "Savnsatgongd",
"ButtonLibraryAccess": "Savnaatgongd",
"ButtonNextTrack": "Næsta lag",
"ButtonPause": "Pausa",
"ButtonPreviousTrack": "Undanfarna lag",
@ -538,7 +538,7 @@
"EnableTrueHdHelp": "Einans virkja hetta um tín eind hevur ella er knýtt til ein ljóðmóttakara ið hevur TrueHD virkisføri, annars kann tað elva til spælitrupulleika.",
"ErrorDefault": "Ein villa kom fyri undir viðgerð av umbønini. Vinaliga royn aftur seinni.",
"FileReadError": "Ein villa kom fyri undir lesing av fíluni.",
"FFmpegSavePathNotFound": "FFmpeg var ikki funni í inntøppaðu leiðini. FFprobe er eisini eitt krav og noyðist at vera í somu skjáttu. Hesi forrit verða vanliga innløgd sum partar av somu innlegging. Vinaliga kanna leiðina og royn aftur.",
"FFmpegSavePathNotFound": "FFmpeg var ikki funni í inntøppaðu leiðini. FFprobe er eisini eitt krav og noyðist at verða í somu skjáttu. Hesi forrit verða vanliga innløgd sum partar av somu innlegging. Vinaliga kanna leiðina og royn aftur.",
"HeaderAddToPlaylist": "Legg á spælilista",
"HeaderAddUser": "Legg inn brúkara",
"HeaderAllRecordings": "Allar upptøkur",
@ -576,7 +576,7 @@
"LabelQuickConnectCode": "Quick Connect kota",
"LabelScreensaver": "Skáaskíggi",
"LabelSubtitlePlaybackMode": "Undirtekstastøða",
"LabelTrackNumber": "Lag nummar",
"LabelTrackNumber": "Lag nr.",
"LabelVideoResolution": "Kykmyndaloysni",
"LibrariesLoadError": "Miseydnaðist at innlesa søvn",
"NewPlaylist": "Nýggjan spælilista",
@ -649,7 +649,7 @@
"ButtonScanAllLibraries": "Skanna øll søvn",
"AllowSegmentDeletionHelp": "Strika gomul brot eftir at viðskiftarin hevur niðurtikið tey. Við hesum slepst undan at goyma alla umkotaðu fíluna á diski. Óvirkja hesa stilling um tú renur teg í spælitrupulleikar.",
"LabelSegmentKeepSecondsHelp": "Tíð ið brot verða varðveit eftir at tey eru niðurtikin av viðskiftaranum. Hetta hevur einans virkna um strikan av brotum er virkt.",
"LabelMediaSegmentsType": "{0}",
"LabelMediaSegmentsType": "{0} brot",
"LimitSegmentLength": "Brúka styttri HLS-brot",
"MediaSegmentSkipPrompt": "Leyp {0} um",
"MediaSegmentType.Preview": "Undansýning",
@ -661,14 +661,14 @@
"AllowEmbeddedSubtitlesAllowAllOption": "Loyv øllum",
"AllowEmbeddedSubtitlesAllowNoneOption": "Nokta øllum",
"ButtonEditOtherUserPreferences": "Broyt brúkarans vanga, vangamynd og persónligu stillingar.",
"ConfirmDeleteItem": "Miðilin verður strikaður úr bæði fílukervinum og tínum miðlasavni. Vilt tú halda áfram?",
"ConfirmDeleteItemByName": "Um tú strikar \"{0}\" verður hann strikaður úr bæði fílukervinum og tínum miðlasavni. Vilt tú halda áfram?",
"ConfirmDeleteItem": "Miðilin verður strikaður úr bæði fílukervinum og tínum miðlasavni. Ynskir tú at halda áfram?",
"ConfirmDeleteItemByName": "Um tú strikar \"{0}\" verður hann strikaður úr bæði fílukervinum og tínum miðlasavni. Ynskir tú at halda áfram?",
"ConfirmDeleteSeries": "Verður røðin strikað verða ALLIR {0} partarnir strikaðir úr fílukervinum og tínum miðlasavni. Ynsir tú at halda áfram?",
"ConfirmDeleteItems": "Miðlarnir verða strikaðir úr bæði fílukervinum og tínum miðlasavni. Vilt tú halda áfram?",
"ConfirmDeleteLyrics": "Sangtekstirnir verða strikaðir úr bæði fílukervinum og tínum miðlasavni. Vilt tú halda áfram?",
"ConfirmDeleteItems": "Miðlarnir verða strikaðir úr bæði fílukervinum og tínum miðlasavni. Ynskir tú at halda áfram?",
"ConfirmDeleteLyrics": "Sangtekstirnir verða strikaðir úr bæði fílukervinum og tínum miðlasavni. Ynskir tú at halda áfram?",
"ConfirmDeleteRepository": "Strika ískoytisforritakeldu?",
"DeleteRepositoryConfirmation": "Vilt tú strika ískoytisforritakelduna?",
"DeleteImageConfirmation": "Vilt tú strika myndina?",
"DeleteRepositoryConfirmation": "Ynskir tú at strika ískoytisforritakelduna?",
"DeleteImageConfirmation": "Ynskir tú at strika myndina?",
"DlnaMovedMessage": "DLNA-virkisførið er flutt til eitt ískoytisforrit.",
"ViewLeftToRight": "Frá vinstru til høgru",
"ViewRightToLeft": "Frá høgru til vinstru",
@ -739,7 +739,7 @@
"Watched": "Sæddur",
"YoutubeNotFound": "Kykmynd var ikki funnin.",
"EnableEnhancedNvdecDecoder": "Virkja víkaðan NVDEC-avkotara",
"LabelVideoAttributes": "Kykmyndaeginleikar",
"LabelVideoAttributes": "Kykmyndareginleikar",
"LabelBitrate": "Bitferð",
"LabelAudioBitrate": "Ljóðbitferð",
"LabelVideoBitrate": "Kykmyndabitferð",
@ -770,9 +770,9 @@
"MediaInfoPixelFormat": "Piksilsnið",
"Menu": "Valmynd",
"MenuClose": "Loka valmynd",
"MessageConfirmRestart": "Vilt tú endurbyrja Jellyfin?",
"MessageConfirmRestart": "Ynskir tú at endurbyrja Jellyfin?",
"MessageNoEpisodesFound": "Í løtuni eru eingir partar tøkir.",
"MessagePleaseWait": "Vinaliga bíða. Hetta kann taka eina løtu.",
"MessagePleaseWait": "Vinaliga bíða. Hettar kann taka eina løtu.",
"Name": "Navn",
"NetworkingPageLoadError": "Miseydnaðist at innlesa netstillingar",
"Quality": "Góðska",
@ -787,7 +787,7 @@
"ChannelNumber": "Rásnummar",
"HeaderChapterImages": "Kapitlamyndir",
"HeaderBranding": "Marking",
"HeaderVideoAdvanced": "Víðkaðar kykmyndastillingar",
"HeaderVideoAdvanced": "Víkaðar kykmyndastillingar",
"ImageDeleteFailed": "Miseydnaðist at strika mynd",
"InstantMix": "Løtubland",
"LabelBackupsUnavailable": "Eingi trygdaravrit eru tøk",
@ -799,13 +799,13 @@
"LiveTVPageLoadError": "Miseydnaðist at innlesa síðu við upptøkum",
"MessagePluginInstalled": "Ískoytisforritið var innlagt. Neyðugt er at endurbyrja ambætaran til tess at virkja tað.",
"MessageSyncPlayCreateGroupDenied": "Loyvi er neyðugt til tess at gera ein bólk.",
"LabelMediaSegmentProviders": "Margmiðlabrotsgreinarar",
"LabelMediaSegmentProviders": "Margmiðlabrotseyðmerkjarar",
"MediaSegmentAction.AskToSkip": "Spyr um at leypa um",
"MediaSegmentProvidersHelp": "Virkja og raðfest miðlabrotsgreinarar.",
"MediaSegmentProvidersHelp": "Virkja og raðfest miðlabrotseyðmerkjarar.",
"MediaSegmentType.Outro": "Endi",
"MediaSegmentType.Intro": "Inngangur",
"DisableCustomCss": "Óvirkja ambætaraveitta tillagaða CSS-kotu",
"DisableVbrAudioEncodingHelp": "Hindra ambætaranum at kota VBR-ljóð til hendan viðskiftaran.",
"DisableVbrAudioEncodingHelp": "Hindra ambætaranum at kota VBR ljóð fyri hendan viðskiftaran.",
"Disconnect": "Slít samband",
"ViewDoublePage": "Sýni við tveimum síðum",
"ViewSinglePage": "Sýni við einkultari síðu",
@ -835,7 +835,7 @@
"HeaderGuestCast": "Gestaleikarar",
"MessageChromecastConnectionError": "Tað eydnaðist ikki Google Cast-eindini at sambinda við Jellyfin ambætaran. Vinaliga kanna sambondini og royn aftur.",
"MessagePlaybackError": "Ein villa kom fyri undir spæling av hesi fílu á Google Cast-eindini.",
"SubtitleAppearanceSettingsAlsoPassedToCastDevices": "Hesar stillingar eru eisini galdandi fyri Google Cast-spælingar ið verða varpaðar frá hesi eindini.",
"SubtitleAppearanceSettingsAlsoPassedToCastDevices": "Hesar stillingar eru eisini galdandi fyri Google Cast-spælingar ið verða varpaðar frá hesi eind.",
"GoogleCastUnsupported": "Google Cast virkisføri vantar",
"LiveBroadcasts": "Beinleiðis sendingar",
"CriticRating": "Ummælarameting",
@ -846,7 +846,7 @@
"DeleteCustomImage": "Strika tillagaða mynd",
"CustomSplashScreenSize": "Tillagað mynd eigur at verða í 16x9 støddarlutfalli og í minsta lagi 1920x1080 til støddar.",
"Custom": "Tillagaður",
"EnableNextVideoInfoOverlay": "Vís upplýsingar um næstu kykmynd",
"EnableNextVideoInfoOverlay": "Vís upplýsingar um næstu kykmynd undir spæling",
"EnablePhotos": "Vís myndirnar",
"EnablePhotosHelp": "Kervið finnur myndir og vísir tær saman við øðrum miðlafílum.",
"Framerate": "Myndatídd",
@ -860,8 +860,8 @@
"Larger": "Størri",
"MediaInfoFramerate": "Myndatídd",
"MediaInfoSize": "Stødd",
"MessageAreYouSureDeleteSubtitles": "Vilt tú strika hesa undirtekstafílu?",
"MessageConfirmDeleteTunerDevice": "Vilt tú strika hesa eindina?",
"MessageAreYouSureDeleteSubtitles": "Ynskir tú at strika hesa undirtekstafílu?",
"MessageConfirmDeleteTunerDevice": "Ynskir tú at strika hesa eindina?",
"MessageFileReadError": "Ein villa kom fyri undir lesing av fíluni. Vinaliga royn aftur.",
"MessageNoRepositories": "Ongar ískoytisforritakeldur.",
"MetadataManager": "Metadátuumsiting",
@ -905,8 +905,8 @@
"Creator": "Skapari",
"Creators": "Skaparar",
"Create": "Stovna",
"DirectStreamHelp1": "Eindin fær spælt kykmyndastroymin men er ikki før fyri at spæla ljóðsniðið (DTS, Dolby TrueHD, o.s.fr.) ella mongdina av ljóðræsum. Kykmyndastroymurin verður umpakkaður uttan ávirkan á myndagóðskuna áðrenn hann verður sendur til eindina. Einans ljóðstroymurin verður umkotaður.",
"EnableDtsHelp": "Einans virkja hetta um tín eind hevur DTS-virkisføri ella er knýtt í ein ljóðmóttakara við DTS-virkisføri. Annars kann hetta elva til spælitrupulleika.",
"DirectStreamHelp1": "Eindin fær spælt kykmyndastroymin men er ikki før fyri at spæla ljóðsniðið (DST, Dolby TrueHD, o.s.fr.) ella mongdina av ljóðræsum. Kykmyndastroymurin verður umpakkaður uttan ávirkan á myndagóðskuna áðrenn hann verður sendur til eindina. Einans ljóðstroymurin verður umkotaður.",
"EnableDtsHelp": "Virkja einans um tín eind hevur DTS-virkisføri ella er knýtt í ein ljóðmóttakara við DTS-virkisføri. Annars kann hetta elva til spælitrupulleika.",
"DrmChannelsNotImported": "Rásir við DRM verða ikki innlisnar.",
"EnableBlurHash": "Virkja kámar fyribilsmyndir",
"EnableBlurHashHelp": "Kámar fyribilsmyndir verða sýndar áðrenn myndir eru liðugt innlisnar.",
@ -944,19 +944,19 @@
"XmlTvMovieCategoriesHelp": "Sendingar við hesum flokkunum verða vístar sum filmar. Skil ímillum fleiri flokkar við \"|'\".",
"XmlTvNewsCategoriesHelp": "Sendingar við hesum flokkunum verða vístar sum tíðindasendingar. Skil ímillum fleiri flokkar við \"|'\".",
"XmlTvSportsCategoriesHelp": "Sendingar við hesum flokkunum verða vístar sum ítróttasendingar. Skil ímillum fleiri flokkar við \"|'\".",
"ClearQueue": "Tøm spælirøðina",
"CopyStreamURL": "Avrita stroymileinkju",
"ClearQueue": "Reinsa spælirøðina",
"CopyStreamURL": "Avrita leinkju til stroym",
"CopyLogSuccess": "Tað eydnaðist at avrita gerðalistainnihaldið.",
"DeleteDeviceConfirmation": "Vilt tú strika hesa eindina? Hon verður innløgd aftur næstu ferð ein brúkari ritar inn við henni.",
"DeleteDevicesConfirmation": "Vilt tú strika allar eindir? Allar aðrar setur verða útritaðar. Eindir verða innlagdar aftur næstu ferð ein brúkari ritar inn við teimum.",
"DeleteDeviceConfirmation": "Ynskir tú at strika hesa eindina? Hon verður innløgd aftur næstu ferð ein brúkari ritar inn við henni.",
"DeleteDevicesConfirmation": "Ynskir tú at strika allar eindir? Allar aðrar setur verða útritaðar. Eindir verða innlagdar aftur næstu ferð ein brúkari ritar inn við teimum.",
"EnableStreamLoopingHelp": "Virkja hetta um stroymarnir einans innihalda nøkur fá sekund av dátum og noyðast at verða áhaldandi umbidnir. Verður hetta virkt, uttan at tørvur er á tí, kann tað elva til trupulleikar.",
"ErrorAddingXmlTvFile": "Ein villa kom fyri undir innlesing av XMLTV-fíluni. Vinaliga tryggja at fílan finst og royn aftur.",
"None": "Eingin",
"HardwareAccelerationWarning": "At virkja tólbunaðarstyðjan kann elva til óreglusemi á summum kervum. Tryggja at stýrikervi títt og skíggjakortsdrívarar eru dagførdir. Renur tú teg í trupulleikar við kykmyndaspæling eftir at hetta er virkt noyðist tú at broyta hesa stillingina aftur til \"Eingin\".",
"HeaderDownloadSync": "Niðurtøka & samstilling",
"HeaderDownloadSync": "Niðurtøka & samstillan",
"HeaderDummyChapter": "Kapitlamyndir",
"HeaderPageNotFound": "Síðan fanst ikki",
"ConfirmDeleteCollection": "Vilt tú strika hesa samlingina?",
"ConfirmDeleteCollection": "Ynskir tú at strika hesa samlingina?",
"LabelBaseUrl": "Grundslóð",
"LabelDeathDate": "Doyði tann",
"LabelDownloadLanguages": "Mál at niðurtaka",
@ -974,10 +974,10 @@
"LabelOpenclDevice": "OpenCL-eind",
"LabelOverview": "Samandráttur",
"LabelPlayMethod": "Spæliháttalag",
"LabelPlayDefaultAudioTrack": "Spæl forsett ljóðspor uttan mun til talumál",
"LabelPlayDefaultAudioTrack": "Spæl forsett ljóðspor uttan mun til mál",
"LabelRefreshMode": "Endurinnlesistøða",
"LabelRepositoryUrlHelp": "Leinkjan til ynsktu keldusavnsskránna.",
"LabelRequireHttps": "Noyð HTTPS",
"LabelRequireHttps": "Krev HTTPS",
"LabelRequireHttpsHelp": "Um virkt beinir ambætarin sjálvvirkandi allar HTTP-umbønir til HTTPS. Hetta hevur ongan virknað um ambætarin ikki lurtar á HTTPS.",
"LabelRuntimeMinutes": "Spælitíð",
"LabelStatus": "Støða",
@ -1005,11 +1005,11 @@
"MessageSyncPlayIsDisabled": "Tørvur er á loyvi at brúka SyncPlay.",
"NextChapter": "Næsti kapittul",
"NextTrack": "Leyp um til næsta",
"Next": "Næsta",
"Next": "Næstu",
"OnlyImageFormats": "Einans myndagrundaði undirtekstasnið (VobSub, PGS, SUB)",
"OptionCommunityRating": "Hyggjarameting",
"OptionAllowUserToManageServer": "Loyv hesum brúkaranum at umsita ambætaran",
"OptionAllowSyncTranscoding": "Loyv miðlaniðurtøkum og samstillingum ið tørva umkoting",
"OptionAllowSyncTranscoding": "Loyv miðlaniðurtøkum og samstillan ið tørva umkoting",
"OptionAutomaticallyGroupSeries": "Sameina sjálvvirkandi røðir ið eru spjaddar yvir fleiri skjáttur",
"OptionAutomaticallyGroupSeriesHelp": "Røðir ið eru spjaddar yvir fleiri skjáttur ið hesum savninum verða sjálvvirkandi sameindar í eina einstaka røð.",
"OptionEveryday": "Hvønn dag",
@ -1018,10 +1018,10 @@
"PackageInstallCancelled": "Innleggingin av {0} (útgáva {1}) var avbrotin.",
"People": "Fólk",
"Penciller": "Blýantsteknari",
"PlaybackError.MEDIA_DECODE_ERROR": "Spæling miseydnaðist vegna miðlaavkotingarvillu.",
"PlaybackError.MEDIA_DECODE_ERROR": "Spæling miseydnaðist vegnað miðlaavkotingsvillu.",
"PlaybackError.MEDIA_NOT_SUPPORTED": "Spæling miseydnaðist av tí at hesin viðskiftarin ikki hevur virkisføri at spæla miðilin.",
"PlaybackError.NETWORK_ERROR": "Spæling miseydnaðist vegna netvillu.",
"PlaybackError.SERVER_ERROR": "Spæling miseydnaðist vegna ambætaravillu.",
"PlaybackError.NETWORK_ERROR": "Spæling miseydnaðist vegnað netvillu.",
"PlaybackError.SERVER_ERROR": "Spæling miseydnaðist vegnað ambætaravillu.",
"PlaybackErrorNoCompatibleStream": "Hesin viðskiftarin hevur ikki virkisføri at spæla miðilin og ambætarin sendur ikki eitt sínamillumvirkið miðlasnið.",
"PlayFromBeginning": "Spæl frá byrjanini",
"PlaylistError.CreateFailed": "Villa undir stovning av spælilista",
@ -1038,19 +1038,19 @@
"Screenplay": "Handrit",
"Schedule": "Skrá",
"SortChannelsBy": "Raða rásir eftir",
"SubtitleOffset": "Undirtekstssamstilling",
"SubtitleOffset": "Undirtekstssamstillan",
"SyncPlayGroupDefaultTitle": "Bólkur {0}s",
"ViewAllPlugins": "Leita millum øll ískoytisforrit",
"Writer": "Rithøvundur",
"Writers": "Rithøvundar",
"XmlTvPathHelp": "Leiðin til eina XMLTV-fílu. Jellyfin lesur og kannar fíluna regluliga fyri dagføringum í skráunum. Jellyfin tekur sær ikki av at gera og dagføra fíluna.",
"XmlTvPathHelp": "Leiðin til eina XMLTV-fílu. Jellyfin lesur og kannar fíluna regluligani fyri dagføringum í skráunum. Jellyfin tekur sær ikki av at gera og dagføra fíluna.",
"LabelAudioInfo": "Ljóðupplýsingar",
"LabelSyncPlayInfo": "SyncPlay-upplýsingar",
"LabelOriginalMediaInfo": "Upplýsingar upprunamiðilsins",
"LabelSyncPlayInfo": "SyncPlay-upplysingar",
"LabelOriginalMediaInfo": "Upprunamargmiðlaupplýsingar",
"LabelSelectAudioChannels": "Ræsir",
"YoutubePlaybackError": "Kann ikki spæla umbidnu kykmyndina.",
"LabelWidthResolutions": "Breiddaloysnir",
"LabelVideoBitDepth": "Kykmyndabitdýpd",
"LabelVideoBitDepth": "Bitdýpd kykmyndarinnar",
"ButtonSyncPlay": "SyncPlay",
"Casual": "Óformligt",
"ChannelResolutionSD": "SD",
@ -1065,9 +1065,9 @@
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Nýt partaupplýsingar úr innpakkaðum metadátum, um teir eru tøkir.",
"PreferEmbeddedEpisodeInfosOverFileNames": "Nýt innpakkaðar upplýsingar úr partinum heldur enn úr fílunøvnum",
"PreferEmbeddedExtrasTitlesOverFileNames": "Nýt innpakkaði heitir heldur enn tey úr fílunøvnum fyri eykatilfar",
"PreferEmbeddedTitlesOverFileNames": "Nýt innpakkað heitir í staðin fyri at lesa tey úr fílunøvnum",
"PreferEmbeddedTitlesOverFileNames": "Nýt innpakkaði heitir í staðin fyri at lesa tey úr fílunøvnum",
"PreferEmbeddedTitlesOverFileNamesHelp": "Avger vísta heitið tá metadátur ikki útvegaðar, hvørki umvegis alnet ella nærnet.",
"PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Mangan hevur eykatilfar sama innpakkaða heitið eins og høvuðstilfarið. Vel hetta til tess at brúka innpakkaði heitir kortini.",
"PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Tíðum hevur eykatilfar sama innpakkaða heitið eins og høvuðstilfarið. Vel hetta til tess at brúka innpakkaði heitir koritini.",
"LabelSkipIfGraphicalSubsPresent": "Leyp kykmynd um í fall hon hevur innpakkaðar undirtekstir",
"AllowEmbeddedSubtitles": "Nokta ymiskum sløgum av innpakkaðum undirtekstum",
"YoutubeDenied": "Umbidna kykmyndin er noktað at verða spæld í innbygdum spælarum.",
@ -1088,7 +1088,7 @@
"HeaderCancelRecording": "Avlýs upptøku",
"HeaderCancelSeries": "Frásig sendirøð",
"HeaderMyMediaSmall": "Mínir miðlar (lítil)",
"HeaderMoreLikeThis": "Tílíkir miðlar",
"HeaderMoreLikeThis": "Fleiri líkir hesum",
"HeaderOnNow": "Á skrá nú",
"HeaderStopRecording": "Steðga upptøku",
"LabelBurnSubtitles": "Kykmyndafest undirtekstir",
@ -1109,7 +1109,7 @@
"RecordSeries": "Tak sendirøðina upp",
"StillWatchingPrompt": "Hyggur tú framvegis?-spurningar",
"LabelPlaybackInfo": "Spæliupplýsingar",
"PreferFmp4HlsContainer": "Umbið fMP4-HLS-miðlapakkasnið",
"PreferFmp4HlsContainer": "Umbið fMP4-HLS miðlapakkasnið",
"AlwaysBurnInSubtitleWhenTranscoding": "Kykmyndafest altíð undirtekstir undir umkoting",
"AlwaysBurnInSubtitleWhenTranscodingHelp": "Fest allar undirtekstir á kykmyndina undir umkoting. Hetta tryggjar undirtekstasamstilling afturfyri seinni umkotiferð.",
"BurnSubtitlesHelp": "Avger um ambætarin festir undirtekstir á kykmyndina. At frávelja hetta elvir til betri avrik. Vel \"Sjálvvirkandi\" til tess at einans kykmyndafesta myndagrundað undirtekstasnið (VobSub, PGS, SUB, IDX, o.s.fr.) umframt ávísar ASS ella SSA undirtekstir.",
@ -1167,16 +1167,16 @@
"LabelVideoRangeType": "Slag av kykmyndaspenni",
"Trickplay": "Trickplay (smámyndir á spoliteigi)",
"TrickplayLoadError": "Miseydnaðist at innlesa trickplay-stillingar",
"LabelImageIntervalHelp": "Tíðarbil í millisekundum ímillum hvørja trickplay-mynd.",
"LabelImageIntervalHelp": "Tíðarbil (í millisekundum) ímillum hvørja trickplay-mynd.",
"LabelUsernameAllowedCharactersHelp": "Brúkaranøvn kunnu innihalda bókstavir, talstavir, millumrúm umframt fylgjandi tekn: - _ ' . @ +. Tey kunnu ikki byrja ella enda við millumrúmi.",
"OptionExtractTrickplayImage": "Virkja trickplay-myndaframleiðslu",
"ExtractTrickplayImagesHelp": "Trickplay-myndir eru líkar kapitlamyndum, men fevna um alla kykmyndalongdina og verða vístar sum smámyndir yvir spoliteiginum og tá spola verður.",
"LabelExtractTrickplayDuringLibraryScan": "Framleið trickplay-myndir undir savnsinnlesingum",
"EnableDisplayMirroring": "Skíggjaspegling",
"LabelSaveTrickplayLocally": "Goym trickplay-myndir við síðunar av miðlum",
"LabelSaveTrickplayLocally": "Goym trickplay-myndir við síðuna av miðlum",
"LabelSaveTrickplayLocallyHelp": "Verða trickplay-myndir goymdar í miðlaskjáttunum eru tær meira atkomiligar og lættari at flyta.",
"LabelSkipIfAudioTrackPresent": "Leyp um um forsetta talumálið er eins og ynskta undirtekstamálið",
"LabelSkipIfGraphicalSubsPresentHelp": "At rúma og brúka tekstgrundaði undirtekstasnið gevur møgulleika fyri munagóðari avhending og lækkar sannlíkindini fyri kykmyndaumkotingum.",
"LabelSkipIfGraphicalSubsPresentHelp": "At rúma og brúka tekstgrundaði undirtekstasnið gevur møgulleika fyri munagóðari avhending og lækkar sanlíkindini fyri kykmyndaumkotingum.",
"EnableThemeVideosHelp": "Spæl eyðkenniskykmyndir í bakgrundini í meðan kagað verður í søvnum.",
"HeaderDeleteTaskTrigger": "Strika koyrslukveikjara",
"HeaderEditPlaylist": "Broyt spælilista",
@ -1204,7 +1204,7 @@
"LabelBlockContentWithTags": "Nokta atgongd til miðlar við fylgjandi spjøldrum",
"LabelMaxAudiobookResume": "Írestandi minuttir til tess at uppafturtaka ljóðbók",
"LabelMaxAudiobookResumeHelp": "Verða ljóðbøkur steðgaðar við minni tíð eftir enn ásett her verða tær merktar liðugt spældar.",
"LabelMaxResumePercentage": "Longsta uppafturtøkutíð í prosentum",
"LabelMaxResumePercentage": "Hámarkstíð í prosentum fyri uppafturtaku",
"LabelMaxResumePercentageHelp": "Verða miðlar steðgaðir eftir ásettu tíðina verða teir merktir liðugt spældir.",
"LabelSyncPlayAccess": "SyncPlay-atgongd",
"LabelTriggerType": "Kveikjaraslag",
@ -1218,10 +1218,10 @@
"Off": "Sløkt",
"Disc": "Diskur",
"LabelDiscNumber": "Diskur nummar",
"MessageRepositoryInstallDisclaimer": "GEV GÆTUR: Innleggjan av ískoytisforriti frá triðjaparti ber váðar við sær. Tað kann koma við óstøðugum ella illviljaðum ritbúnaði og kann til einhvørja tíð broytast. Legg einans ískoytisforritakeldur inn ið eru frá mennarum tú hevur álit á.",
"MessagePluginInstallDisclaimer": "GEV GÆTUR: Innleggjan av ískoytisforriti frá triðjaparti ber váðar við sær. Tað kann koma við óstøðugum ella illviljaðum ritbúnaði og kann til einhvørja tíð broytast. Legg einans ískoytisforritakeldur inn ið eru frá mennarum tú hevur álit á. Harumframt skalt tú eisini vera varugur við at tey kunnu gera umbønir til ytri tænastur, leingja um skanningartíðina á søvnum, og elva til aðrar umfatandi bakviðgerðir.",
"MessageRepositoryInstallDisclaimer": "GEV GÆTUR: Innleggjan av ískoytisforriti frá triðja parti ber vágar við sær. Tað kann koma við óstøðugum ella illviljaðum ritbúnaði og kann til einhvørja tíð broytast. Legg einans ískoytisforritakeldur inn ið eru frá mennarum tú hevur álit á.",
"MessagePluginInstallDisclaimer": "GEV GÆTUR: Innleggjan av ískoytisforriti frá triðja parti ber vágar við sær. Tað kann koma við óstøðugum ella illviljaðum ritbúnaði og kann til einhvørja tíð broytast. Legg einans ískoytisforritakeldur inn ið eru frá mennarum tú hevur álit á. Harumframt skalt tú eisini vera varugur við at tey kunnu gera umbønir til ytri tænastur, leingja um skanningartíðina á søvnum, og elva til aðrar umfatandi bakviðgerðir.",
"LabelSelectPreferredTranscodeVideoCodec": "Ynskt kykmynda-kodek undir umkoting",
"SelectPreferredTranscodeVideoCodecHelp": "Áset ynskt kykmynda-kodek at umkota til. Vantar virkisføri fyri valda kodekkinum brúkar ambætarin tað fragasta tøka kodekkið ið virkisføri er fyri.",
"SelectPreferredTranscodeVideoCodecHelp": "Áset ynskt kykmynda-kodek at umkota til. Er ynskta kodekkið ikki tøkt brúkar ambætarin tað besta ið er tøkt.",
"MessageEnablingOptionLongerScans": "At virkja hesa stillingina kann hava við sær at savnsskanningar taka munandi longri tíð.",
"MessageForgotPasswordFileCreated": "Fylgjandi fíla er gjørd á ambætaranum og inniheldur hon leiðbeining um hvussu haldast skal fram",
"MessageGetInstalledPluginsError": "Ein villa fór fram tá roynt var at útvega listan av innløgdum ískoytisforritum.",
@ -1231,7 +1231,7 @@
"MessageUnableToConnectToServer": "Tað eydnaðist ikki at sambinda við valda ambætaran. Vinaliga tryggja at hann koyrur og royn aftur.",
"NativeSubtitleStylingHelp": "Tillagaðir undirtekstir hava ikki virkna á øllum eindum. Hinvegin, so krevur tann hátturin ikki meira rokniorku.",
"Native": "Innbygdur",
"NoCreatedLibraries": "Tú tykist ikki hava stovnað nakað savn enn. {0}Vilt tú stovna eitt nú?{1}",
"NoCreatedLibraries": "Tú tykist ikki hava stovnað nakað savn enn. {0}Ynskir tú at stovna eitt nú?{1}",
"OptionHasThemeVideo": "Eyðkenniskykmynd",
"RepeatMode": "Endurtøkustøða",
"ScanLibrary": "Skanna savnið",
@ -1247,7 +1247,7 @@
"VideoResolutionNotSupported": "Virkisføri vantar fyri kykmyndaloysninum",
"MediaInfoDoViTitle": "DV-tittul",
"Anime": "Anime (Japanskar teknirøðir)",
"EnableDetailsBannerHelp": "Vísir bannaramyndina ovast á upplýsingarsíðu miðilsins.",
"EnableDetailsBannerHelp": "Vísur bannaramyndina ovast á upplýsingarsíðu miðilsins.",
"EnableDetailsBanner": "Upplýsingarbannari",
"ImageUploadCancelled": "Myndauppsending var avlýst",
"LabelAudioLanguagePreference": "Ynskt talumál",
@ -1262,8 +1262,8 @@
"LabelTranscodePath": "Leið til umkotaðar fílur",
"LimitSupportedVideoResolution": "Avmarka kykmyndaloysni",
"LimitSupportedVideoResolutionHelp": "Brúka \"Loysnihámark undir kykmyndaumkoting\" sum kykmyndaloysnimark.",
"MessageConfirmDeleteGuideProvider": "Vilt tú strika hendan veitaran av sjónvarpsskráum?",
"OptionForceRemoteSourceTranscoding": "Umkota altíð fjarmiðlakeldur, t.d. beinleiðis sjónvarp",
"MessageConfirmDeleteGuideProvider": "Ynskir tú at strika hendan veitaran av sjónvarpsskráum?",
"OptionForceRemoteSourceTranscoding": "Umkota altíð fjarmiðlakeldur, eitt nú beinleiðis sjónvarp",
"PasswordRequiredForAdmin": "Umsitarir skulu hava loyniorð.",
"PluginLoadRepoError": "Ein villa kom fyri undir útvegan av ískoytisforritaupplýsingum frá kelduni.",
"PluginUninstallError": "Ein villa kom fyri undir strikan av ískoytisforritinum.",
@ -1273,7 +1273,7 @@
"ViewPlaybackInfo": "Sí spæliupplýsingar",
"IntelLowPowerEncHelp": "Orkusparandi koting kann minka um tørvin á CPU-GPU samstillingum. Á Linux noyðist hetta at verða óvirkt um i915 HuC fastbúnaðurin ikki er uppsettur.",
"EncodingFormatHelp": "Vel kykmyndakotingina ið Jellyfin skal kunna at umkota til. Er tólbúnaðarstyðjan fyri brúkta sniðið ikki tøk brúkar Jellyfin ritbúnaðarkoting. H264-kykmyndakoting er altíð virkt.",
"EnableEnhancedNvdecDecoderHelp": "Víðkað NVDEC-verkseting. Óvirkja hesa stilling til tess at brúka CUVID ið fall tú renur teg í avkotingartrupulleikar.",
"EnableEnhancedNvdecDecoderHelp": "Styrkt NVDEC-verkseting. Óvirkja hesa stilling til tess at brúka CUVID ið fall tú renur teg í avkotingartrupulleikar.",
"VideoFramerateNotSupported": "Virkisføri vantar fyri kykmyndatíddini",
"HeaderBlockItemsWithNoRating": "Nokta atgongd til miðlar við ongum ella ókendum aldursmarki",
"LabelMoviePrefix": "Filmsforskoyti",
@ -1281,7 +1281,7 @@
"LabelSystem": "Kervið",
"LabelTranscodingThreadCount": "Umkotingartræðrir",
"OptionAllowMediaPlaybackTranscodingHelp": "At nokta atgongd til umkoting kann elva til spælitrupulleikar á viðskiftarum ið ikki hava virkisføri til ávís miðlasnið.",
"PlaybackError.PLAYER_ERROR": "Spælingin miseydnaðist vegna óbøtiliga spælaravillu.",
"PlaybackError.PLAYER_ERROR": "Spælingin miseydnaðist vegnað óbøtiliga spælaravillu.",
"SaveLyricsIntoMediaFolders": "Goym sangtekstir í miðlaskjáttum",
"MediaInfoDvVersionMajor": "DV-stórútgáva",
"MediaInfoDvVersionMinor": "DV-smáútgáva",
@ -1306,12 +1306,12 @@
"LabelParallelImageEncodingLimitHelp": "Hámark av myndakotingum ið verða loyvdar at koyra samstundis. Er teigurin tómur verður eitt hámark grundað á gerilskjarnar í tólbúnaðinum ásett.",
"LabelPleaseRestart": "Broytingar fáa virkna eftir at vevsíðan er endurinnlisin.",
"LabelRestore": "Endurstovna",
"LabelSelectFolderGroups": "Savna sjálvvirkandi innihaldið í fylgjandi skjáttum í sýnir so sum \"Filmar\", \"Tónleikur\" og \"Sendirøðir\"",
"LabelSelectFolderGroups": "Savna sjálvvirkandi innihaldið í fylgjandi skjáttum í sýnir so sum \"Filmar\", \"Tónleikur\" og \"Sendirtøðir\"",
"LabelSelectFolderGroupsHelp": "Søvn ið ikki eru vald verða víst fyri seg sjálvan í egnum sýni.",
"LabelSeriesRecordingPath": "Goymslustaður fyri upptøkur av sendirøðum",
"LabelStable": "Støðug(ur/t)",
"LabelStopping": "Steðgar",
"LabelTranscodingTempPathHelp": "Tillaga goymslustað fyri umkotaðu fílurnar ið verða handaðar viðskiftarum. Lat teigin vera tóman til tess at brúka ambætaraforsetta goymslustaðið.",
"LabelTranscodingTempPathHelp": "Tillaga goymslustað fyri umkotaðu fílurnar ið verða handaðar viðskiftarum. Lat teigin verða tóman til tess at brúka ambætaraforsetta goymslustaðið.",
"LabelTranscodingThreadCountHelp": "Áset hámark fyri træðrir at brúka til umkotingar. Færri træðrir lækka um gerilsnýtsluna, men eru ikki neyðturviliga nóg skjótir, at umkota til eina nøktandi hyggjarauppliving.",
"LogLevel.None": "Einki",
"LogLevel.Error": "Villa",
@ -1328,7 +1328,7 @@
"MediaInfoLayout": "Ræsauppsetan",
"MessageBackupDisclaimer": "Hvussu langa tíð trygdaravritstilgongdin tekur valdast støddina á tínum savni.",
"MenuOpen": "Lat valmynd upp",
"MessageConfirmAppExit": "Vilt tú loka?",
"MessageConfirmAppExit": "Ynskir tú at loka?",
"MessageReenableUser": "Sí niðanfyri hvussu hann verður virktur aftur",
"MinutesAfter": "minuttir aftaná",
"MinutesBefore": "minuttir áðrenn",
@ -1361,17 +1361,17 @@
"MediaInfoInterlaced": "Samanflættað",
"InterlacedVideoNotSupported": "Virkisføri vantar fyri samanflættaðari kykmynd",
"DeinterlaceMethodHelp": "Vel sundurflættingarháttin at brúka undir ritbúnaðarligari umkoting av samanflættaðum kykmyndum. Er tólbúnaðarstyðjað sundurflætting tøk og virkin verður hon brúkt framum tað ið her er ásett.",
"MessageNoGenresAvailable": "Virkja onkra metadátukeldu til tess at útvega greinar umvegis alnetið.",
"MessageNoGenresAvailable": "Virkja onkra metadátukeldur til tess at útvega greinar umvegis alnetið.",
"MetadataNfoLoadError": "Miseydnaðist at innlesa NFO-metadátustillingar",
"OptionEnableAccessToAllChannels": "Gev atgongd til allar rásir",
"ReadInputAtNativeFramerate": "Les inntak í upprunaligari myndatídd",
"ReadInputAtNativeFramerateHelp": "At virkja hesa stilling kann loysa nakrar trupulleikar, t.d. har beinleiðis stroymar steðga óvæntað ella ov tíðliga.",
"ScanForNewAndUpdatedFiles": "Leita eftir broyttum og nýggjum fílum",
"ReadInputAtNativeFramerateHelp": "At virkja hesa stilling kann loysa nakrar trupulleikar, t.d. har beinleiðis stroymar steðgað óvæntað ella ov tíðliga.",
"ScanForNewAndUpdatedFiles": "Leita eftir nýggjum og broyttum fílum",
"UseDoubleRateDeinterlacing": "Tvífalda myndatíddina undir sundurflætting",
"RemuxHelp1": "Eindin ella ritbúnaðurin hevur ikki virkisføri fyri pakkasniði miðilsins (MKV, AVI, WMV, o.s.fr.) men hevur sínamillumvirkni til bæði ljóð- og kykmyndastroymin. Miðilin verður umpakkaður so hvørt hann verður sendur til eindina. Hetta ávirkar ikki miðlagóðskuna.",
"PreferFmp4HlsContainerHelp": "Bið um fMP4 sum forsett pakkasnið fyri HLS. Við hesum kunnu virkisførar eindir beinleiðis-stroyma HEVC og AV1 innihald.",
"AudioBitrateNotSupported": "Virkisføri vantar fyri ljóðbitferðini",
"VideoBitrateNotSupported": "Virkisføri vantar fyri kykmyndabitferðini",
"AudioBitrateNotSupported": "Virkisføri vantar fyri bitferð ljóðsins",
"VideoBitrateNotSupported": "Virkisføri vantar fyri bitferð kykmyndarinnar",
"UnknownVideoStreamInfo": "Upplýsingar um kykmyndastroymin eru ókendir",
"UnknownAudioStreamInfo": "Upplýsingar um ljóðstroymin eru ókendir",
"LabelDroppedFrames": "Sleptar myndir",
@ -1380,7 +1380,7 @@
"DisplayInOtherHomeScreenSections": "Vís forsíðuteigar sum t.d. \"Nýliga innlagdir miðlar\" og \"Hald á fram at hyggja\"",
"DisplayLoadError": "Ein villa kom fyri undir innlesing av sýnisstillingum.",
"HeaderAlert": "Ávaring",
"LabelAudioTagSettings": "Ljóðmerkjastillingar",
"LabelAudioTagSettings": "Spjaldurstillingar á ljóðum",
"LabelExtractChaptersDuringLibraryScanHelp": "Úttak kapitlamyndur tá kykmyndir verða innlisnar undir savsskanning. Er hetta frávalt verða tær úttiknar undir fyriskipaðu koyrsluni, og verða vanligu savnsskanningarnar tí skjótari avgreiddar.",
"LabelMessageText": "Tekstboð",
"OnApplicationStartup": "Tá skipanin byrjar",
@ -1389,7 +1389,7 @@
"HeaderAccessSchedule": "Atgongdartímatalva",
"EnableNextVideoInfoOverlayHelp": "Vís upplýsingar um næstu kykmyndina í spælirøðini tá ein kykmynd er enda.",
"LabelCustomRating": "Tillaga aldursmark",
"ConfigureDateAdded": "Tillaga hvussu 'Innleggingardagur' verður avgjørdur undir Yvirlitssýni > Søvn > Sýni",
"ConfigureDateAdded": "Tillaga hvussu 'Innleggingardagur' verður avgjørdur undir Yvirlitsskíggi > Søvn > Sýni",
"DateModified": "Tillagingardagur",
"ErrorGettingTvLineups": "Ein villa kom fyri undir útvegan av sjónvarpsskráum. Vinaliga tryggja at upplýsingarnir eru rættir og royn aftur.",
"ErrorPleaseSelectLineup": "Vinaliga vel eitt sjónvarpsskráayvirlit og royn aftur. Eru eingi yvirlit tøk, tryggja so at títt brúkaranavn, loyniorð, og postnummar eru røtt.",
@ -1398,7 +1398,7 @@
"HeaderFetchImages": "Myndasløg at útvega",
"HeaderStartNow": "Byrja nú",
"Label3DFormat": "3D-snið",
"LabelAbortedByServerShutdown": "Avbrotin vegna ambætarasteðg",
"LabelAbortedByServerShutdown": "Avbrotin vegnað ambætarasteðg",
"LabelAccessEnd": "Afturlatingartíð",
"LabelAccessStart": "Upplatingartíð",
"LabelAllowFmp4TranscodingContainer": "Loyv fMP4-umkotingarpakkasniði",
@ -1406,7 +1406,7 @@
"LabelAppNameExample": "Eitt menniskjaligt lesiligt navn ið eyðmerkir API-lykilin. Hetta hevur onga ávirkan á virkisføri.",
"LabelAutomaticallyRefreshInternetMetadataEvery": "Sjálvvirkandi dagføring av metadátum frá alnetinum",
"LabelAutomaticDiscovery": "Virkja sjálvvirkna viðraking",
"LabelAutomaticDiscoveryHelp": "Loyvir viðskiftarum at varnast hendan Jellyfin ambætaran sjálvvirkandi umvegis UDP-portur 7359.",
"LabelAutomaticDiscoveryHelp": "Loyvir viðskiftarum at varnast Jellyfin sjálvvirkandi umvegis UDP-portur 7359.",
"LabelBundled": "Fylgir við Jellyfin",
"LabelEndDate": "Lokadagur",
"LabelEvent": "Hending",
@ -1417,7 +1417,7 @@
"LabelSpecialSeasonsDisplayName": "Víst umfarsnavn fyri eykapartar og partar uttan umfar",
"LabelUserMaxActiveSessions": "Hámark á samstundis setum",
"MessageContactAdminToResetPassword": "Vinaliga set teg í samband við tín skipanarumsitara um at fáa endurstilla loyniorðið títt.",
"MessageDeleteTaskTrigger": "Vilt tú strika hendan koyrslukveikjaran?",
"MessageDeleteTaskTrigger": "Ynskir tú at strika hendan koyrslukveikjaran?",
"MessageSent": "Boðini eru send.",
"OptionDateEpisodeAdded": "Innleggingardegi partanna",
"OptionDateShowAdded": "Innleggingardegi raðanna",
@ -1429,7 +1429,7 @@
"OptionEnableForAllTuners": "Virkja fyri allar móttakarar",
"OptionSaveMetadataAsHiddenHelp": "At broyta hesa stilling hevur ikki afturvirkandi kraft. Verandi metadátufílur verða broyttar næstu ferð ambætarin goymur tær.",
"QuickConnectDescription": "Til tess at rita inn við Quick Connect, trýst á \"Quick Connect\" knøttin á eindini tú ritar inn frá og inntøppa kotuna niðanfyri.",
"RefreshDialogHelp": "Metadátur verða endurinnlisnar grundað á stillingar og alnetstænastur ið eru virktar á umsitingarsíðunum.",
"RefreshDialogHelp": "Metadátur verða endurinnlisnar grunda á stillingar og alnetstænastur ið eru virktar á umsitingarsíðunum.",
"ReplaceAllMetadata": "Endurinnles allar metadátur",
"ReplaceExistingImages": "Útskift verandi myndir",
"ReplaceTrickplayImages": "Útskift verandi trickplay-myndir",
@ -1447,7 +1447,7 @@
"HeaderNavigation": "Stýring",
"HeaderRemoteAccessSettings": "Fjaratgongdarstillingar",
"HeaderSetupLibrary": "Stovna tíni miðlasøvn",
"LabelRemoteClientBitrateLimit": "Bitferðarhámark fyri alnetsstroyming (Mbps)",
"LabelRemoteClientBitrateLimit": "Bitferðmark fyri alnetsstroyming (Mbps)",
"Other": "Annað",
"OtherArtist": "Onnur tónlistafólk",
"PasswordMissingSaveError": "Nýggja loyniorðið kann ikki verða tómt.",
@ -1475,7 +1475,7 @@
"LabelVideoColors": "Kykmyndalitir",
"AllowStreamSharingHelp": "Loyv Jellyfin at tvítaka mpegts-stroymin frá móttakaraeindini og ambæta teir til sínar viðskiftarar. Hetta er gagnligt um móttakaraeindin hevur eitt stroymingahámark, men tað kann eisini elva til spælitrupulleikar.",
"HeaderSplitMedia": "Být miðil sundur",
"ConfirmSplitMedia": "Vilt tú býta miðlakeldurnar sundur í hvør sínar miðlar?",
"ConfirmSplitMedia": "Ynskir tú at býta miðlakeldurnar sundur í hvør sínar miðlar?",
"KnownProxiesHelp": "Kommaskildur listi av IP-atsetrum ella vertsnøvnum á góðkendum proxy-ambætarum ið sambinda til tín Jellyfin-ambætara. Hetta er neyðugt til tess at brúka \"X-Forwarded-For\" í høvdunum á HTTP-umbønum. Neyðugt er at endurbyrja ambætaran til tess at hendan broytingin fær virkna.",
"LabelBaseUrlHelp": "Legg eina tillagaða grundslóð afturat ambætaraleinkjuni. Til dømis: https://dømi.fo/<grundslod>",
"LabelCustomDeviceDisplayNameHelp": "Inntøppa eitt navn fyri eindina ella lat teigin verða tóman til tess at brúka eindarfráboðaða navni.",
@ -1528,7 +1528,7 @@
"BitmapSubtitleAspectModeStretch": "Toygg",
"BitmapSubtitleAspectModeCover": "Fyll",
"BitmapSubtitleAspectModeContain": "Rúma",
"EnableRewatchingNextUpHelp": "Vísir partar ið longu eru sæddir í \"Næst á skránni\" teiginum.",
"EnableRewatchingNextUpHelp": "Vísur partar ið longu eru sæddir í \"Næst á skránni\" teiginum.",
"EnableRewatchingNextUp": "Virkja endursýningar í \"Næst á skránni\"",
"Preview": "Royndarsýning",
"LabelEncoderPreset": "Forsett stilling fyri umkotingar",
@ -1577,19 +1577,19 @@
"LabelServerNameHelp": "Navnið verður brúkt at eyðmerkja ambætaran. Er teigurin tómur verður vertsnavn ambætarans brúkt ístaðin.",
"LabelVaapiDeviceHelp": "Endurgevingarliðurin ið verður brúktur til tólbúnaðarstyðjan.",
"LyricDownloadersHelp": "Virkja og raðfest sangtekstaniðurtakarar.",
"MessageConfirmRevokeApiKey": "Vilt tú ógilda hendan API-lykilin? Samband nýtsluforritsins til hendan ambætaran verður kvett beinanvegin.",
"MessageConfirmRevokeApiKey": "Ynskir tú at ógilda hendan API-lykilin? Samband nýtsluforritsins til hendan ambætaran verður kvett beinanvegin.",
"MessageCreateAccountAt": "Stovna eina konto á {0}",
"MessageItemsAdded": "Miðlar lagdir í samling.",
"MessageItemSaved": "Upplýsingarnir eru goymdir.",
"New": "Nýggj",
"MediaInfoDvLevel": "DV-støði",
"ConfirmEndPlayerSession": "Vilt tú steðga Jellyfin á {0}?",
"ConfirmEndPlayerSession": "Ynskir tú at steðga Jellyfin á {0}?",
"DoNotRecord": "Tak ikki upp",
"Bwdif": "Bob Weaver sundurflættingarfiltur (BWDIF)",
"Yadif": "Enn eitt sundurflættingarfiltur (YADIF)",
"LabelDelimiterWhitelist": "Loyvd markatekn",
"HeaderPreferredMetadataLanguage": "Ynskt mál fyri metadátur",
"LabelMinResumeDurationHelp": "Stytsta kykmyndaspælilongd í sekundum ið verður goymd og harvið kann takast uppaftur.",
"LabelMinResumeDurationHelp": "Stytsta spælilongd í sekundum ið verður goymd og harvið kann takast uppaftur.",
"LabelLocalCustomCss": "Tillaga CSS-sniðgevingarkota ið einans hevur virkna á hesum viðskiftaranum. Hugsa teg um um tú burdi at óvirkja ambætaraveitta tillagaða CSS-kotu.",
"LabelKodiMetadataUser": "Goym brúkara hyggjudátur í NFO-fílum fyri",
"LabelKodiMetadataUserHelp": "Goym hyggjudátur í NFO-fílum til tess at aðrar nýtsluskipanir kunnu innlesa tær.",
@ -1615,11 +1615,11 @@
"AudioChannelsNotSupported": "Virkisføri vantar fyri mongdini av ljóðræsum",
"LabelEncodingFormatOptions": "Kotingarsnið stillingar",
"LabelDisplayMode": "Sýnisháttur",
"LabelDisableCustomCss": "Óvirkja ambætaraveitta tillagaða CSS-sniðgevingarkotu.",
"LabelDisableCustomCss": "Óvirkja ambætaraveitta tillagaða CSS-sniðgevingarkotu",
"LabelMoviePrefixHelp": "Um filmsheitir hava eitt forskoyti, inntøppa tað her, so at ambætarin kann handfara tað á rættan hátt.",
"MessageCancelTimerError": "Ein villa kom fyri tá roynt var at avlýsa upptøkuna",
"MessageCancelSeriesTimerError": "Ein villa kom fyri tá roynt var at avlýsa upptøku sendiraðarinnar",
"MessageConfirmShutdown": "Vilt tú steðga ambætaranum?",
"MessageConfirmShutdown": "Ynskir tú at steðga ambætaranum?",
"MessageUnauthorizedUser": "Tú hevur ikki atgongd til ambætaran í løtuni. Vinaliga set teg í samband við ambætaraumsitaran fyri nágreiniligari upplýsingar.",
"OptionDatePlaylistUpdated": "Broytingardegi spælilistanna",
"MediaInfoElPresentFlag": "DV el-tøkt flagg",
@ -1628,8 +1628,8 @@
"LabelProgressAndSpeed": "Støða / ferð",
"DirectPlayError": "Ein villa kom fyri tá fari var undir beinleiðis spæling",
"VideoRotationNotSupported": "Virkisføri vantar fyri kykmyndasnúningini",
"VideoBitDepthNotSupported": "Virkisføri vantar fyri kykmyndabitdýpdini",
"AudioBitDepthNotSupported": "Virkisføri vantar fyri ljóðbitdýpdini",
"VideoBitDepthNotSupported": "Virkisføri vantar fyri bitdýpd kykmyndarinnar",
"AudioBitDepthNotSupported": "Virkisføri vantar fyri bitdýpd ljóðsins",
"LabelProcessPriority": "Tilgongdarraðfesti",
"LabelProcessPriorityHelp": "Hettar avgerð hvussu gerilin raðfestur ffmpeg tilgongdina ið framleiðir trickplay-myndir í mun til aðrar tilgongdir. Um tú varnast niðursett avrikaføri undir trickplay-myndaframleiðsluni og ikki ynskir at steðga henni, kanst tú royna at lækka hettar umframt tali av træðrum.",
"VideoRangeTypeNotSupported": "Virkisføri vantar fyri kykmyndaspennislagnum",
@ -1640,7 +1640,7 @@
"LabelFallbackFontPathHelp": "Summir viðskiftarar nýta hesi stavsnið til endurgeving av undirtekstum. Vinaliga sí skjalfestingina fyri nágreiniligari upplýsingar.",
"HeaderSelectFallbackFontPathHelp": "Vel ella inntøppa leiðina til skjáttuna við varastavsniðum ið skulu nýtast til endurgeving av ASS/SSA-undirtekstum.",
"EnableFallbackFontHelp": "Virkja tillagaði varastavsnið. Við hesum kann sleppast undan trupulleikanum við skeivari undirtekstaendurgeving.",
"WizardCompleted": "Hattar var alt ið tørvur var á á hesum sinni. Jellyfin er fari undir at savna upplýsingar um títt margmiðlasavn. Kunna teg um okkara Jellyfin-viðskiftara-appir. Trýst á <b>Loka</b> til tess at síggja <b>Yvirlitssýnið</b>.",
"WizardCompleted": "Hattar var alt ið tørvur var á á hesum sinni. Jellyfin er fari undir at savna upplýsingar um títt margmiðlasavn. Kunna teg um okkara Jellyfin-viðskiftara-appir. Trýst á <b>Loka</b> til tess at síggja <b>Yvirlitsskíggjan</b>.",
"Unwatch": "Steðga eygleiðing",
"SearchResultsEmpty": "Haldi okkum til góðar! Leitingin eftir \"{0}\" gav eingi úrslit",
"SecondarySubtitles": "Annar undirtekstur",
@ -1649,8 +1649,8 @@
"ViewLyrics": "Sí sangtekst",
"PreviewLyrics": "Sí sangtekst",
"RetryWithGlobalSearch": "Leita í øllum søvnunum",
"PlaylistPublic": "Gev øllum atgongd",
"Rate": "Met um",
"PlaylistPublic": "Loyv almennari atgongd",
"Rate": "Gev meting",
"PluginEnableError": "Ein villa kom fyri undir virkjan av ískoytisforritinum.",
"PluginDisableError": "Ein villa kom fyri undir óvirkjan av ískoytisforritinum.",
"PlaybackError.NotAllowed": "Spæling av hesum miðli er noktað.",
@ -1666,7 +1666,7 @@
"OptionDisplayFolderViewHelp": "Vís skjáttusýni saman við tínum miðlasøvnum. Hetta er hent um tú ynskir eitt einfaldari skjáttusýni.",
"MovieLibraryHelp": "Sí {0}filmanevningaleiðbeiningina{1}.",
"MusicLibraryHelp": "Sí {0}tónleiksnevningaleiðbeiningina{1}.",
"MoreUsersCanBeAddedLater": "Til ber at leggja fleiri brúkarar inn seinni umvegis yvirlitssýnið.",
"MoreUsersCanBeAddedLater": "Til ber at leggja fleiri brúkarar inn seinni umvegis yvirlitsskíggjan.",
"NoNewDevicesFound": "Ongar nýggjar eindir vórðu funnar. Til tess at innleggja eina nýggja móttkaraeind loka hetta sýni og inntøppa eindarupplýsingarnar við hánd.",
"NoSubtitleSearchResultsFound": "Einki leitiúrslit funni.",
"MessageRenameMediaFolder": "Nýnevning av miðlasavni hevur við sær at allar metadátur verða burtur. Far varliga fram.",
@ -1684,11 +1684,11 @@
"LabelProgramData": "Forritsdátur",
"LabelRecordingPathHelp": "Áset varagoymslustaðið fyri upptøkur. Er teigurin tómur verða upptøkur goymdar í forritsdátuskjáttu ambætarans.",
"MessageSyncPlayErrorNoActivePlayer": "Eingin virkin spælari funnin. SyncPlay er óvirkja.",
"LabelMaxDaysForNextUpHelp": "Áset dagatalsmark ið ein sendirøð kann verða í \"Næst á skránni\"-teiginum uttan at hon verður sædd.",
"LabelMaxDaysForNextUpHelp": "Áset dagatalsmark ið ein sendirøð kann verða í \"Næst á skránni\"-teiginum uttan at hon verður spæld.",
"LabelMaxDaysForNextUp": "Dagatalsmark fyri \"Næst á skránni\"",
"LabelEnableHttpsHelp": "Lurta á ásetta HTTPS-portrinum. Virknaðurin av hesum er eisini treytaður av at eitt galdandi sertifikat er ásett.",
"LabelHttpsPortHelp": "TCP-portur nummarið fyri HTTPS-ambætaran.",
"LabelFallbackMaxStreamingBitrate": "Tiltaksstroymibitferðarhámark (Mbps)",
"LabelFallbackMaxStreamingBitrate": "Varastroymibitferðmark (Mbps)",
"HeaderSelectCertificatePath": "Vel leið til sertifikat",
"HeaderPreviewLyrics": "Sí sangtekst",
"HttpsRequiresCert": "Til tess at virkja trygg sambond noyðist tú at útvega eitt gildigt SSL-sertifikat, frá t.d. Let's Encrypt. Vinaliga útvega slíkt sertifikat ella óvirkja trygg og bronglaði sambond.",
@ -1710,7 +1710,7 @@
"OptionEnableExternalContentInSuggestions": "Loyv innihaldi uttanífrá í uppskotum",
"OptionEnableExternalContentInSuggestionsHelp": "Loyv brellbitar frá alnetinum og beinleiðis sjónvarpssendingum í uppskotsteigum.",
"TvLibraryHelp": "Sí {0}nevningaleiðbeiningina fyri sendirøðir{1}.",
"ContainerBitrateExceedsLimit": "Kykmyndabitferðin er hægri enn markið",
"ContainerBitrateExceedsLimit": "Bitferð kykmyndarinnar er hægri enn markið",
"LabelWidthResolutionsHelp": "Kommaskildur listi av breiddum (px) ið trickplay-myndir verða framleiddar í. Allar myndirnar verða framleiddar í støddarlutfalli keldunnar. T.v.s. at við eini breidd á 320 og einum 16:9 kykmyndastøddarlutfalli verða trickplay-myndirnar 320x180 til støddar.",
"NewCollectionHelp": "Við samlingum kanst tú gera samansetingar av filmum og øðrum innihaldi sum tær lystir.",
"LabelTrickplayKeyFrameOnlyExtraction": "Framleið einans trickplay-myndir úr lyklamyndum",
@ -1752,198 +1752,18 @@
"HeaderEpisodesStatus": "Partastøða",
"LabelBlastMessageInterval": "Virkisfráboðanartíðarbil",
"LabelBlastMessageIntervalHelp": "Avgerð tíðarbili í sekundum ímillum boðini har kervi ger vart við seg.",
"PasswordResetConfirmation": "Vilt tú endurstilla loyniorðið?",
"PasswordResetConfirmation": "Ynskir tú at endurstilla loyniorðið?",
"HeaderEnabledFieldsHelp": "Frável upplýsingar til tess at læsa tilsvarandi teigarnar og harvið forða teimum í at verða broyttir.",
"LabelChapterImageResolutionHelp": "Loysnið ið kapitlamyndir skulu framleiðast í. At broyta hetta hevur onga ávirkan á fyribilskapitlamyndir ið longu eru framleiddar.",
"LabelDummyChapterDurationHelp": "Tíðarbil í sekundum í millum fyribilskapitlar. Áset 0 til tess at óvirkja framleiðslu av fyribilskapitlamyndum. At broyta hetta hevur onga ávirkan á fyribilskapitlamyndir ið longu eru framleiddar.",
"LabelKodiMetadataEnableExtraThumbsHelp": "Niðurtiknar myndir kunnu verða vístar til bæði í \"extrafanart\" og \"extrathumbs\"-teigunum fyri besta sínamillumvirkni við Kodi.",
"LabelMaxMuxingQueueSize": "Hámark á pakkibíðirøð",
"LabelMaxMuxingQueueSizeHelp": "Hámark av pakkum ið kunnu verða í tippinum tá bíða verður eftir innleiðing av øllum stroymunum. Fært tú villuna \"Too many packets buffered for output stream\" í FFmpeg gerðalistum kanst tú royna at hækka tað. Tilmælda markvirði er 2048.",
"LabelNoChangelog": "Eingin broytingalisti fylgir við hesi útgávuni.",
"LabelNoChangelog": "Eingin broytingarlisti fylgir við hesi útgávuni.",
"LabelMetadataReadersHelp": "Raðfest tínar lokalu metadátukeldur. Fyrst funna fílan verður innlisin.",
"LabelSimultaneousConnectionLimit": "Hámark á samstundis stroymum",
"LabelLocalHttpServerPortNumber": "Lurta á HTTP-porturnummari",
"LabelLocalHttpServerPortNumber": "Lurta á HTTP-portur nummari",
"LabelSyncPlayHaltPlayback": "Steðga spælingini á hesi eindini",
"LabelSyncPlayResumePlayback": "Tak spælingina á hesi eindini uppaftur",
"MessageSyncPlayGroupDoesNotExist": "Bar ikki til at luttaka í bólkinum tí hann er ikki til.",
"HeaderEnabledFields": "Virknir teigar",
"VideoCodecTagNotSupported": "Virkisføri vantar fyri kodek-eyðmerki kykmyndarinnar",
"PreferNonstandardArtistsTag": "Brúka ARTISTS-merkið um tað finst",
"PreferNonstandardArtistsTagHelp": "Brúka tað minni vanliga ARTISTS-merkið í staðin fyri ARTIST-merkið tá tað er tøkt.",
"LabelCustomTagDelimiters": "Tillagað merkjamarkatekn",
"LabelCustomTagDelimitersHelp": "Tekn ið skulu tulkast sum skilnaður millum merkir.",
"UseCustomTagDelimiters": "Brúka tillagað merkjamarkatekn",
"UseCustomTagDelimitersHelp": "Tekn ið skulu tulkast sum skilnaður millum tónlistafólk- og grein-merkir.",
"LabelDelimiterWhitelistHelp": "Lutir ella tekn ið skulu verða undantikin frá merkjaskilnaði. Ein lut fyri hvørja reglu.",
"Fullscreen": "Fullskíggjasýni",
"ExitFullscreen": "Loka fullskíggjasýni",
"LabelCustomCssHelp": "Innset egna tillagaða CSS-sniðgevingarkotu ið setur dám á vevmarkamótið.",
"LabelHttpsPort": "Lurta á HTTPS-porturnummari",
"LabelMessageTitle": "Tittul boðsins",
"MetadataSettingChangeHelp": "Broyting av metadátustillingum verða einans galdandi fyri nýtt innihald ið verður lagt inn. Til tess at dagføra metadátur á innihaldi ið longu er innlisið skalt tú á miðlaupplýsingasýninum trýsta á \"Endurinnles\"-knøttin, ella gera heildarendurinnlesingar við \"Metadátuumsitaranum\".",
"Normal": "Vanlig",
"PasswordMatchError": "Loyniorð og loyniorðsváttan skulu vera eins.",
"SkipEpisodesAlreadyInMyLibraryHelp": "Umfar- og partanummur verða brúkt til at samanbera partar, tá tær upplýsingarnar eru tøkar.",
"Controls": "Fjarstýring",
"SecondaryAudioNotSupported": "Virkisføri vantar fyri hjá-ljóðspori",
"MediaInfoDvProfile": "DV-profilur",
"VideoProfileNotSupported": "Virkisføri vantar fyri kodek-profili kykmyndarinnar",
"AudioProfileNotSupported": "Virkisføri vantar fyri kodek-profili ljóðsins",
"MediaInfoProfile": "Profilur",
"EnableHi10p": "Virkja H.264 High 10 profil",
"DirectStreamHelp2": "Streymnýtslan undir beinleiðis stroyming valdast vanliga ljóðprofilin. Myndagóðskan er óbroytt.",
"HeaderAllowMediaDeletionFrom": "Loyv miðlastriking úr",
"HeaderRemoveMediaFolder": "Strika miðlasavn",
"MessageAreYouSureYouWishToRemoveMediaFolder": "Vilt tú strika hetta miðlasavnið?",
"MessageConfirmRemoveMediaLocation": "Vilt tú strika tilvísingina til goymslustaðið úr Jellyfin?",
"HeaderRemoveMediaLocation": "Strika miðlastaðið úr Jellyfin",
"IndexNumber": "Vísitali",
"LabelAllowStreamSharing": "Loyv stroymtvítøku",
"MediaInfoForced": "Tvingað",
"OnlyForcedSubtitles": "Einans tvingaðar",
"OnlyForcedSubtitlesHelp": "Einans undirtekstir ið eru merktir sum tvingaðir verða innlisnir.",
"ForeignPartsOnly": "Tvingaður/Einans fyri talu ið ikki er á upprunamáli filmsins",
"LabelIsForced": "Tvingaður",
"DefaultSubtitlesHelp": "Undirtekstir verða innlisnir alt eftir forsettum og tvingaðum fløggum í innpakkaðu metadátunum. Tá tað er møguligt verður hædd tikin fyri ynskta undirtekstamálinum.",
"LabelInternalServerUri": "Innanhýsis leinkja",
"LabelInternalServerUriHelp": "Kunngjørd ambætaraleinkja fyri innanhýsis atgongd.",
"LabelDashboardTheme": "Snið á yvirlitssýni ambætarans",
"MessageTheFollowingLocationWillBeRemovedFromLibrary": "Fylgjandi miðlagoymslur verða ikki longur partur av tínum savni",
"SmartSubtitlesHelp": "Ynsktu undirtekstir verða innlisnir tá talan er á einum fremmandamáli.",
"OptionAllowRemoteSharedDevices": "Loyvi at fjarstýra deildum eindum",
"OptionAllowRemoteSharedDevicesHelp": "DLNA-eindir verða sæddar sum deildar inntil ein brúkari byrjar at stýra teimum.",
"Remixer": "Remiksari",
"UseDoubleRateDeinterlacingHelp": "Reintíddin verður brúkt undir sundurflætting. Eisini kallað bob-sundurflætting. Hetta tvífaldar myndatídd kykmyndarinnar til tess at javnari endurgeva rørslur sum ein samanflættað kykmynd í einum sjónvarpi.",
"LabelTrackGain": "Ljóðstyrki sporsins",
"LabelAllowedAudioChannels": "Ljóðræsamark",
"LabelDirectStreamingInfo": "Upplýsingar um beinleiðis-stroymingina",
"LabelSelectMono": "Einræsi (Mono)",
"IgnoreDts": "Tak ikki hædd fyri DTS (avkodingartíðarstempli)",
"TonemappingRangeHelp": "Áset úttakslitspenni. Sjálvvirkandi merkir at úttakið verður eins og inntøkulitspenni.",
"LabelMinResumePercentageHelp": "Miðlaspæl styttri enn tað ið her er ásett verður ikki goymt til uppafturøku.",
"LabelMinAudiobookResumeHelp": "Ljóðbókaspæl styttri enn tað ið her er ásett verður ikki goymt til uppafturøku.",
"LabelMinAudiobookResume": "Stytsta spælilongd í minuttum til uppafturtøku av ljóbókum",
"LabelMinResumeDuration": "Stytsta uppafturtøkutíð í sekundum",
"LabelMinResumePercentage": "Stytsta uppafturtøkutíð í prosentum",
"MessageForgotPasswordInNetworkRequired": "Vinaliga royn aftur at endurstilla títt loyniorð frá heimanetinum.",
"MessagePasswordResetForUsers": "Loyniorði hjá fylgjandi brúkarum er endurstilla. Teir hava nú møgulleika at rita inn við PIN-kotunum ið vóru brúktar til endurstillingina.",
"OptionRequirePerfectSubtitleMatch": "Tak einans niður undirtekstir ið samhóska fullkomiliga við kykmyndafílurnar",
"PerfectMatch": "Samhóskar fullkomiliga",
"OptionRequirePerfectSubtitleMatchHelp": "At krevja at undirtekstir samhóska fullkomiliga, avmarkar niðurtøkuna til einans teir undirtekstir ið eru sannroyndir við júst teimum kykmyndafílum ið finnast í hesum savninum. At velja hetta frá økir sannlíkindini fyri at undirtekstir verða útvegaðir men við størri sannlíkindum fyri at teir eru ósamstillaðir ella óhóskandi.",
"MoveLeft": "Flyt til vinstru",
"MoveRight": "Flyt til høgru",
"MoveToTop": "Flyt ovast",
"MoveToBottom": "Flyt niðjast",
"LabelEnableGamepad": "Virkja fjarstýring og joystikk",
"EnableGamepadHelp": "Lurtar eftir boðum frá sambundnum fjarstýringum og joystikkum. Hetta krevur eisini at sýnishátturin er settur til \"Sjónvarp\".",
"LabelExternalServerUriHelp": "Kunngjørd ambætaraleinkja fyri atgongd uttanífrá.",
"HeaderTypeSimilarItemProviders": "Líkleikagreinarar ({0})",
"LabelSimilarItemProvidersHelp": "Virkja og raðfest eyðkennarar av líkum miðlum.",
"MessageForgotPasswordPinReset": "Inntøppa PIN-kotuna her fyri at fremja loyniorðsendurstillingina",
"LabelExternalServerUri": "Almenn leinkja",
"SelectAudioNormalizationHelp": "Ljóðstyrki sporsins - tillagar ljóðstyrkina á hvørjum einstøkum spori so at ljóðstyrkin er jøvn tvørtur um øll spor. Ljóðstyrki útgávunnar - tillagar ljóðstyrkina á øllum sporum men varðveitir munin ímillum ljóðstyrkina á sporunum á hvørjari útgávu sær. Broyting av hesi stilling fær virkna eftir at spælingin er endurbyrjað.",
"MessageForgotPasswordRedirect": "Tú varð beindur til ein ytri samgildisveitara til tess at endurstilla loyniorðið.",
"MessageAddRepository": "Fyri at leggja inn eina ískoytisforritakeldu, trýstur tú á knøttin tætt við yvirskriftina og tøppar síðani inn neyðugu upplýsingarnar.",
"MessageSyncPlayNoGroupsAvailable": "Eingin bólkur er tøkur. Byrja at spæla onkran miðil fyrst.",
"MessageSyncPlayPlaybackPermissionRequired": "Tú tykist ikki hava neyðug spælirættindi.",
"MessagePlayAccessRestricted": "Spæling av hesum miðlinum er avmarkað í løtuni. Vinaliga set teg í samband við ambætaraumsitaran fyri nágreiniligari upplýsingar.",
"OptionHideUserFromLoginHelp": "Hent fyri privatar- ella umsitarakontur ið ikki skulu verða ein valmøgulleiki á innritanarskíggjum. Er hetta virkt noyðist brúkarin at rita inn við at skriva sítt brúkaranavn og loyniorð.",
"SyncPlayAccessHelp": "Við SyncPlay hentleikanum er møguligt at samstilla spælingar á fleiri eindum og brúkarum. Tilskila hesum brúkaranum SyncPlay rættindi.",
"RememberAudioSelectionsHelp": "Royn at velja ljóðspor líkt tí í undanfarnu kykmyndini.",
"RememberSubtitleSelectionsHelp": "Royn at velja undirtekst líkur honum í undanfarnu kykmyndini.",
"PlayAllFromHere": "Spæl hiðanífrá",
"LabelPasswordResetProvider": "Loyniorðsendurstillingarveitari",
"LabelBindToLocalNetworkAddressHelp": "Ásetur lokala IP-atsetur HTTP-ambætarans. Er hesin teigurin tómur bindur ambætarin til øll tøk atsetur. Broyting av hesi stilling fær virkna eftir endurbyrjan av skipanini.",
"MessageBackupInProgress": "Trygdaravritar",
"PlaybackError.RateLimitExceeded": "Hesin miðilin kann ikki spælast í løtuni vegna ferðavmarkingar.",
"PasswordResetProviderHelp": "Vel ein loyniorðsendurstillingarveitara fyri hendan brúkaran.",
"LabelImageInterval": "Myndamillumbil",
"HeaderRevisionHistory": "Broytingaryvirlit",
"DeviceAccessHelp": "Hetta er bert galdandi fyri eindir ið kunnu verða einskilt eyðmerktar. Hetta noktar ikki atgongd umvegis vevkagara. Er atgongd avmarkað til ávísar eindir verður atgongd frá nýggjum eindum ikki sjálvvirkandi loyvd og skulu tær játtast her.",
"GroupBySeries": "Bólka eftir røðum",
"LabelParentNumber": "Høvuðsnummar",
"LabelPublicHttpPortHelp": "Almenna porturnummarið ið er beint til innara HTTP-portrið.",
"LabelPublicHttpsPortHelp": "Almenna porturnummarið ið er beint til innara HTTPS-portrið.",
"MessageRestoreInProgress": "Endurstovnar",
"MessageRestoreDisclaimer": "GEV GÆTUR: Tú er í ferð við at endurstovna frá einum eldri trygdaravriti. Ambætarin verður ikki nýtiligur undir tilgongdini, og allar dátur yngri enn trygdaravritið verða strikaðar.\n\nTrygdaravrit eiga einans at verða endurstovnaði í somu ambætaraútgávu sum tey vóru stovnaði við. At endurstovna eitt trygdaravrit við aðrari ambætaraútgávu er frámælt og kann elva til at ambætarin gerst ónýtiligur.",
"MessageRestoreSuccess": "Endurstovnanin eydnaðist",
"LabelTargetCodecs": "Kodek ið miðað er eftir",
"PriorityIdle": "Lágt",
"OptionAllowLinkSharing": "Loyv deiling á sosialum miðlum",
"OptionAllowLinkSharingHelp": "Bert vevsíður við miðlaupplýsingum verða deildar. Miðlafílur verða ongantíð deildar alment. Deilingar eru tíðaravmarkaðar og fyrna eftir {0} dagar.",
"OptionMaxActiveSessions": "Samstundis setur brúkarans.",
"OptionMaxActiveSessionsHelp": "Verður 0 ásett er avmarkingin óvirkja.",
"LabelDropShadow": "Skuggar",
"LabelSyncPlayHaltPlaybackDescription": "Og tak ikki hædd fyri broytingum á núverandi spælilista",
"LabelScanBehaviorHelp": "Forsetti atburðurin er óhindrandi, ið leggur miðlar inn í savnið áðrenn trickplay-myndaframleiðslan er liðug. Hindrandi atburðurin tryggjar at trickplay-myndirnar eru framleiddar áðrenn miðlar verða lagdir í savnið, men hevur við sær at savnsskanningar taka munandi longri tíð.",
"NonBlockingScan": "Óhindrandi - setur myndaframleiðsluna í bíðirøð og heldur fram",
"BlockingScan": "Hindrandi - setur myndaframleiðsluna í bíðirøð og heldur ikki fram við skanningini fyrr enn hon er liðug",
"LabelScanBehavior": "Skanningaratburður",
"LabelExtractTrickplayDuringLibraryScanHelp": "Framleiður trickplay-myndir tá ið kykmyndir verða innlisnar í savnið. Annars verða tær framleiddar av fyriskipaðu koyrsluni ið framleiður trickplay-myndir. Er framleiðsluatburðurin settur til \"óhindrandi\" hevur tað ikki ávirkan á savnsskanningartíðina.",
"SelectPreferredTranscodeVideoAudioCodecHelp": "Áset ynskta ljóð-kodekkið ið umkotast skal til tá hugt verður at kykmyndum. Vantar virkisføri fyri valda kodekkinum brúkar ambætarin tað fragasta tøka kodekkið ið virkisføri er fyri.",
"MediaInfoDvBlSignalCompatibilityId": "DV BL-sínamillumvirkisflagg",
"UserProfilesIntro": "Jellyfin hevur virkisføri fyri brúkarum við egnum neyvstillaðum sýnisstillingum, spælistøðum og aldursmørkum.",
"OptionLoginAttemptsBeforeLockoutHelp": "Er virðið null arvar stillingin forsettu mørkini, ið eru tríggjar royndir fyri vanligar brúkarar og fimm royndir fyri umsitarar. Áset -1 til tess at óvirkja markið.",
"MessageLeaveEmptyToInherit": "Lat teigin verða tóman til tess at arva stillingina frá eini yvirskjáttu ella frá tí heiltøka forsetta virðinum.",
"OptionAllowRemoteControlOthers": "Loyv brúkaranum at fjarstýra aðrar brúkarar",
"MediaInfoTimestamp": "Tíðarstempul",
"LabelTonemappingDesatHelp": "Doyv litir bjartari enn hettar. Tilmælt virði er 0 (óvirkja).",
"LabelSyncPlaySettingsMinDelaySpeedToSyncHelp": "Skunda ikki undir spælingina (SpeedToSync) til tess at koma ájavnt aftur fyrr enn spælingin er dragna so nógv millisekund afturúr.",
"LabelSyncPlaySettingsMaxDelaySpeedToSyncHelp": "Spola fram (SkipToSync), heldur enn at skunda undir spælingina (SpeedToSync), tá spælingin er dragna so nógv millisekund ella meira afturúr.",
"LabelSyncPlaySettingsMinDelaySpeedToSync": "Seinkan áðrenn SpeedToSync verður tikin í nýtslu",
"LabelSyncPlaySettingsMaxDelaySpeedToSync": "Seinkanarhámark fyri SpeedToSync verður tikin í nýtslu",
"LabelSyncPlaySettingsSpeedToSyncHelp": "Samstillingarháttur ið skundar undir spælingina til tess at varðveita stevið. Hetta er treytað av at Stevjavning er virkt.",
"LabelSyncPlaySettingsSkipToSyncHelp": "Samstillingarháttur ið spolar til tess at varðveita stevið. Hetta er treytað av at Stevjavning er virkt.",
"LabelSyncPlaySettingsMinDelaySkipToSync": "Seinkan áðrenn SkipToSync verður tikin í nýtslu",
"LabelSyncPlaySettingsMinDelaySkipToSyncHelp": "Spola fram (SkipToSync) tá spælingin er dragna so nógv millisekund ella meira afturúr.",
"HeaderUpcomingOnTV": "Á sjónvarpsskrá",
"MediaInfoAnamorphic": "Anamorfisk",
"AnamorphicVideoNotSupported": "Virkisføri vantar fyri anamorfiskum kykmyndum",
"LabelStartWhenPossible": "Byrja upptøku",
"LabelStopWhenPossible": "Steðga upptøku",
"LabelSyncPlaySettingsExtraTimeOffsetHelp": "Áset eina tíðarfrávik í millisekundum ið hendan eindin víkir frá samstilling bólksins. Hetta skal brúkast við varsemi.",
"LabelSyncPlaySettingsExtraTimeOffset": "Eyka tíðarfrávik",
"EnableCardLayout": "Vís kortfløtuna",
"HeaderSyncPlayTimeSyncSettings": "Tíðarmótrokning",
"LabelUserRemoteClientBitrateLimitHelp": "Skúgvar til viks altøka virði ið er ásett í ambætarastillingum. Sí Yvirlitssýni > Spæling > Stroyming.",
"PictureInPicture": "Egnan spælaraglugga",
"LabelTileWidthHelp": "Myndahámark fyri hvønn vatnrættan teig.",
"LabelTileHeightHelp": "Myndahámark fyri hvønn loddrættan teig.",
"LabelTileHeight": "Teigahædd",
"LabelTileWidth": "Teigabreidd",
"LabelAutomaticallyAddToCollectionHelp": "Tá ið í minsta lagi 2 filmar hava eins samlingsnavn verða teir sjálvvirkandi lagdir í samlingina.",
"LabelKodiMetadataEnablePathSubstitution": "Virkja skifti av fíluleiðum",
"LabelKodiMetadataEnablePathSubstitutionHelp": "Virkja skifti av myndafíluleiðum ið ger gagn av leiðarskiftisstillingum ambætarans.",
"GuideProviderSelectListings": "Vel skráir",
"Raised": "Upplyftir",
"DropShadow": "Undirskuggar",
"Depressed": "Niðursøktir",
"ErrorAddingListingsToSchedulesDirect": "Ein villa kom fyri undir skráseting av rásalistanum á tíni Schedules Direct konto. Schedules Direct loyvir bert eini avmarkaðari mongd av rásum á hvørjari konto. Tú noyðist møguliga at rita inn á Schedules Direct-vevsíðuna, til tess at strika aðrar skráir av tíni konto áðrenn tú kanst halda áfram.",
"LabelRemoteClientBitrateLimitHelp": "Eitt valfrítt bitferðarhámark ið er galdandi fyri hvønn stroym til eindir ið ikki eru á nærnetinum. Hetta er hent til tess at nokta eindum eina hægri bitferð enn títt alnetssamband megnar. Hetta kann elva til økta byrðu á ambætaran, til tess at leypandi umkota kykmyndir til eina lægri bitferð.",
"FallbackMaxStreamingBitrateHelp": "Eitt tiltaksbitferðarhámark ið verður brúkt tá ffprobe ikki fær staðfest bitferðina á keldustroyminum. Hetta er við til at avmarka bitferðina ið viðskiftarar fáa, so at teir ikki ovbyrða kotaran og elva til spælivillur.",
"BoxSet": "Savnssett",
"ColorTransfer": "Litayvirførsla",
"LabelColorTransfer": "Litayvirførsla",
"MediaInfoColorTransfer": "Litayvirførsla",
"EnableTonemapping": "Virkja tónaavmyndan",
"LabelTonemappingDesat": "Doyving undir tónaavmyndan",
"EnableVideoToolboxTonemapping": "Virkja VideoToolbox-tónaavmyndan",
"AllowVideoToolboxTonemappingHelp": "Tólbúnaðarstyðja tónaavmyndan við VideoToolbox. Tað hevur virkisføri fyri flestu HDR-sniðum, harímillum HDR10, HDR10+ og HLG, men ikki fyri Dolby Vision profili 5. Hetta hevur hægri raðfesti enn aðrar Metal-verksetingar.",
"LabelTonemappingAlgorithm": "Vel tónaavmyndanaralgoritmu at brúka",
"LabelTonemappingMode": "Tónaavmyndanarháttalag",
"TonemappingModeHelp": "Vel tónaavmyndanarháttalagið. Um tú varnast ovlýstar litir kanst tú royna at skifta til RGB-háttalagið.",
"LabelTonemappingParam": "Bundnatal til tónaavmyndan",
"LabelTonemappingParamHelp": "Fínstilla tónaavmyndanaralgoritmuna. Í flestu umstøðum skal teigurin verða tómur.",
"EnableVppTonemapping": "Virkja VPP-tónaavmyndan",
"AllowVppTonemappingHelp": "Tónaavmyndan ið er fult grunda á Intel-drívara. Í løtuni virkar hettar einans við ávísum tólbúnaði og HDR10-kykmyndum. Hetta hevur hægri raðfesti enn aðrar OpenCL-verksetingar.",
"LabelOpenclDeviceHelp": "Hetta er OpenCL-eindin ið verður brúkt til tónaavmyndan. Vinstrumegin punktum er palsnummarið, og høgrumegin er eindarnummarið á pallinum. Forsetta virðið er 0.0. Tørvur er á at FFmpeg-forritið hevur virkisføri fyri OpenCL-tólbúnaðarstyðjanarháttalagnum.",
"AllowTonemappingHelp": "Tónaavmyndan kann ummynda dynamiska kykmyndaspenni frá HDR til SDR og samstundis varðveita myndasmálutir og litir, ið eru sera umráðandi til tess at endurgeva upprunaligu myndina. Í løtuni riggar hettar einans við 10bit HDR10, HLG og Dolby Vision kykmyndum. Hetta krevur at tilsvarandi GPGPU-koyrsluumhvørvi er tøkt.",
"LabelTonemappingPeak": "Tónaavmyndanarhámarksvirði",
"LabelTonemappingPeakHelp": "Hámarksvirði at brúka ístaðin fyri metadátuinnpakkaða virðið keldunnar. Forsetta virðið er 100 (1000nit).",
"LabelTonemappingRange": "Tónaavmyndanarspenni",
"TonemappingAlgorithmHelp": "Møguligt er at neyvstilla tónaavmyndan. Kennist tú ikki við hesar kostirnar er mælt til at tú varðveitur tann forsetta ið er \"BT.2390\".",
"LabelVppTonemappingBrightness": "Bjartleikahækkan undir VPP-tónaavmyndan",
"LabelVppTonemappingBrightnessHelp": "Hækka bjartleikan undir VPP-tónaavmyndan. Tilmælda virðið er 16.",
"LabelVppTonemappingContrast": "Mótsetningahækkan undir VPP-tónaavmyndan",
"LabelVppTonemappingContrastHelp": "Hækka litmótsetningar undir VPP-tónaavmyndan. Tilmælda virðið er 1."
"MessageSyncPlayGroupDoesNotExist": "Bar ikki til at luttaka í bólkinum tí hann er ikki til."
}

View file

@ -1627,7 +1627,7 @@
"LabelJpegQualityHelp": "La qualité de compression JPEG pour les images trickplay.",
"LabelQscaleHelp": "L'échelle de qualité des images générées par ffmpeg, 2 étant la qualité la plus élevée et 31 la plus basse.",
"ExtractTrickplayImagesHelp": "Les images Trickplay sont similaires aux images de chapitre, sauf qu'elles couvrent toute la longueur du contenu et sont utilisées pour afficher un aperçu lors du parcours des vidéos.",
"Trickplay": "Aperçu vidéo",
"Trickplay": "Trickplay",
"PriorityHigh": "Élevé",
"LabelProcessPriorityHelp": "Un réglage inférieur ou supérieur déterminera la manière dont le processeur donne la priorité au processus de génération de trickplay ffmpeg par rapport aux autres processus. Si vous remarquez un ralentissement lors de la génération d'images trickplay mais que vous ne souhaitez pas arrêter complètement leur génération, essayez de réduire ce ralentissement en modifiant le nombre de threads.",
"LabelImageIntervalHelp": "Intervalle de temps (ms) entre chaque nouvelle image trickplay.",
@ -1647,7 +1647,7 @@
"LabelTileHeightHelp": "Nombre maximum d'images par tuile dans la direction Y.",
"LabelJpegQuality": "Qualité JPEG",
"LabelQscale": "Echelle de qualité",
"LabelTrickplayThreads": "Threads FFmpeg",
"LabelTrickplayThreads": "FFmpeg Threads",
"OptionExtractTrickplayImage": "Activer l'extraction d'images trickplay",
"LabelTrickplayThreadsHelp": "Le nombre de threads à transmettre à l'argument '-threads' de ffmpeg.",
"LabelExtractTrickplayDuringLibraryScan": "Extraire les images trickplay pendant l'analyse de la médiathèque",

View file

@ -1397,7 +1397,7 @@
"AlternateDVD": "Alternativni DVD",
"DeleteServerConfirmation": "Jeste li sigurni da želite obrisati ovaj poslužitelj?",
"EnableHi10pHelp": "Uključi za izbjegavanje transkodiranja H.264 10-bitnih videozapisa. Isključite ovu opciju ako videozapis prikazuje prazne slike.",
"Anime": "Japanski ctrići",
"Anime": "Anime",
"EnableHi10p": "Uključi H.264 High 10 Profil",
"EnableTrueHd": "Uključi TrueHD",
"Editor": "Uređivač",

File diff suppressed because it is too large Load diff

View file

@ -43,43 +43,43 @@
"NonBlockingScan": "Non-blocking Scan",
"LabelWidthResolutions": "Breet/Opléisung(en)",
"LabelQscale": "Qualitéitsskala (Qscale)",
"LabelTrickplayThreads": "FFmpeg-Threads",
"LabelTrickplayThreads": "Trickplay Threads",
"Actor": "Schauspiller",
"AddToCollection": "Zur Kollektioun derbäisetzen",
"AddToFavorites": "Zu Favoritten derbäisetzen",
"AddToPlaylist": "Zur Playlëscht derbäisetzen",
"AddToPlayQueue": "An d'Schlaang derbäisetzen",
"AirDate": "Éischtausstralung",
"AddToPlayQueue": "An d'Wiedergabelëscht derbäisetzen",
"AirDate": "Sendedatum",
"AirPlay": "AirPlay",
"AddedOnValue": "Derbäigesat den {0}",
"AgeValue": "({0} Joer aal)",
"AgeValue": "{0} Joer aal",
"Aired": "Ausgestraalt",
"Album": "Album",
"AlbumArtist": "Albumkënschtler",
"AlbumArtist": "Album-Kënschtler",
"Albums": "Alben",
"Alerts": "Alerten",
"Alerts": "Alèrten",
"All": "All",
"AllChannels": "All Kanäl",
"AllComplexFormats": "All komplex Formater (ASS, SSA, Vobsub, PGS, SUB/IDX, ...)",
"AllComplexFormats": "All komplex Formater",
"AllEpisodes": "All Episoden",
"AllLanguages": "All Sproochen",
"AllLibraries": "All Bibliothéiken",
"AllowCollectionManagement": "Erlaab dësem Benotzer, Kollektiounen ze verwalten",
"AllowSubtitleManagement": "Erlaab dësem Benotzer, Ënnertitelen ze verwalten",
"AllowFfmpegThrottling": "Transkodéierung drosselen",
"AllowFmp4TranscodingContainerHelp": "Erlaabt den fMP4 Transkodéierungscontainer fir dësen Tuner, fir HEVC an HDR Inhalter z’aktivéieren. Net all Tuner si mat dësem Container kompatibel. Deaktivéiert dëst, wa Problemer beim Ofspillen optrieden.",
"AllowSegmentDeletion": "Segmenter läschen",
"AllowCollectionManagement": "Erlaabt d'Verwaltung vu Kollektiounen",
"AllowSubtitleManagement": "Erlaabt d'Verwaltung vu Sous-titres",
"AllowFfmpegThrottling": "Erlaabt Ffmpeg-Throttling",
"AllowFmp4TranscodingContainerHelp": "Erlaabt den fMP4 Transkodéierungscontainer fir dësen Tuner, fir HEVC an HDR Inhalter z’aktivéieren. Net all Tuner si mat dësem Container kompatibel. Deaktivéiert dëst, wann Dir Problemer beim Ofspillen hutt.",
"AllowSegmentDeletion": "Erlaabt d'Läschen vu Segmenter",
"Alternate": "Alternativ",
"AlternateDVD": "Alternativ-DVD",
"AlwaysBurnInSubtitleWhenTranscoding": "Sous-titres ëmmer verbrennen beim Transkodéieren",
"AlwaysBurnInSubtitleWhenTranscodingHelp": "Brennt all Ënnertitelen an, wann Transkodéierung ausgeléist gëtt. Dëst garantéiert d’Ënnertitelsynchroniséierung no der Transkodéierung, op Käschte vun enger reduzéierter Transkodéierungsgeschwindegkeet.",
"AllowMediaConversion": "Erlaabt Mediakonversioun",
"AllowMediaConversionHelp": "Hëllef zum Erlaabe vun der Mediekonvertéierung.",
"AllowMediaConversionHelp": "Hëllef zum Erlaaben vun der Mediakonversioun",
"LabelSegmentKeepSeconds": "Zäit fir Segmenter ze behalen",
"LabelSegmentKeepSecondsHelp": "Zäit an Sekonnen, fir déi Segmenter behaale solle ginn, nodeems se vum Client erofgeluede goufen. Funktionéiert nëmmen, wann d’Segment-Läsche aktivéiert ass.",
"AllowOnTheFlySubtitleExtraction": "Erlaabt d'On-the-Fly-Extraktioun vu Sous-titres",
"AllowRemoteAccess": "Erlaabt Fernzugang",
"AllowRemoteAccessHelp": "Wann desaktivéiert, ginn all extern Verbindunge blockéiert.",
"AllowRemoteAccessHelp": "Hëllef zum Erlaaben vum Fernzugang",
"AlwaysPlaySubtitlesHelp": "Ënnertitelen, déi der Sproochpräferenz entspriechen, ginn gelueden, onofhängeg vun der Audio-Sprooch.",
"AlwaysRemuxFlacAudioFilesHelp": "Wann Dir Dateien hutt, déi Äre Browser net ofspille kann oder wou d’Zäite falsch berechent ginn, aktivéiert dëst als Ëmwee.",
"Anime": "Anime",
@ -90,7 +90,7 @@
"Artist": "Kënschtler",
"Artists": "Kënschtler",
"AroundTime": "Ronderëm {0}",
"Art": "Clear-Art",
"Art": "Clearart",
"Ascending": "Opsteigend",
"AsManyAsPossible": "Sou vill wéi méiglech",
"AspectRatio": "Aspect Ratio",
@ -275,7 +275,7 @@
"EnableCardLayout": "Kaarte Layout aktivéieren",
"EnableRewatchingNextUp": "Erëm kucken am Next Up aktivéieren",
"EnableRewatchingNextUpHelp": "Hëllef zum Erëm kucken am Next Up aktivéieren",
"EnableQuickConnect": "QuickConnect op dësem Server aktivéieren",
"EnableQuickConnect": "QuickConnect aktivéieren",
"EnableSmoothScroll": "Geschmeidegt Scrollen aktivéieren",
"EnableStreamLooping": "Stroum Looping aktivéieren",
"EnableStreamLoopingHelp": "Hëllef zum Stroum Looping aktivéieren",
@ -1342,16 +1342,16 @@
"Profile": "Profil",
"Programs": "Programmer",
"Quality": "Qualitéit",
"QuickConnect": "Quick Connect",
"QuickConnectActivationSuccessful": "Erfollegräich aktivéiert",
"QuickConnectAuthorizeCode": "Code {0} fir anzeloggen aginn",
"QuickConnectAuthorizeFail": "Onbekannte Quick Connect-Code",
"QuickConnectAuthorizeSuccess": "Den Apparat gouf erfollegräich authentifizéiert!",
"QuickConnectDeactivated": "Quick Connect gouf desaktivéiert, ier de Login verifizéiert konnt ginn",
"QuickConnectDescription": "Fir d'Alogge mat Quick Connect wiel de 'Quick Connect'-Knäppchen op dengem Apparat, mat dem s du dech umelle wëlls, a gëff den ënnen ugewisene Code an.",
"QuickConnectInvalidCode": "Quick Connect-Code ongëlteg",
"QuickConnectNotActive": "Quick Connect ass op dësem Server net aktiv",
"QuickConnectNotAvailable": "Fro däi Server-Administrator, ob hie Quick Connect erlaabt",
"QuickConnect": "QuickConnect",
"QuickConnectActivationSuccessful": "QuickConnect-Aktivéierung ass gelongen",
"QuickConnectAuthorizeCode": "QuickConnect-Autorisatiounscode",
"QuickConnectAuthorizeFail": "QuickConnect-Autorisatioun ass gescheitert",
"QuickConnectAuthorizeSuccess": "QuickConnect-Autorisatioun ass gelongen",
"QuickConnectDeactivated": "QuickConnect ass deaktivéiert",
"QuickConnectDescription": "Benotzt QuickConnect, ohne Portweiterleitungen ze konfiguréieren.",
"QuickConnectInvalidCode": "QuickConnect-Code ass ongëlteg",
"QuickConnectNotActive": "QuickConnect ass net aktiv",
"QuickConnectNotAvailable": "QuickConnect ass net verfügbar",
"Raised": "Héichgezunn",
"Rate": "Bewäerten",
"RecentlyWatched": "Rezent gekuckt",
@ -1739,21 +1739,21 @@
"LabelJpegQuality": "JPEG-Qualitéit",
"LabelJpegQualityHelp": "Hëllef zur JPEG-Qualitéit",
"LabelQscaleHelp": "Hëllef zur Qscale",
"LabelTrickplayThreadsHelp": "D'Unzuel vun Threads, déi un d'Argument '-threads' vu ffmpeg iwwergi gëtt.",
"OptionExtractTrickplayImage": "Extrahéiere vun Trickplay-Biller aktivéieren",
"LabelTrickplayThreadsHelp": "Hëllef zu Trickplay Threads",
"OptionExtractTrickplayImage": "Trickplay-Bild extrahéieren",
"ExtractTrickplayImagesHelp": "Hëllef zum Extrahéieren vu Trickplay-Biller",
"LabelExtractTrickplayDuringLibraryScan": "Extrahéiere vun Trickplay-Biller beim Scanne vun der Bibliothéik",
"LabelExtractTrickplayDuringLibraryScan": "Trickplay extrahéieren während Bibliothéik-Scan",
"LabelExtractTrickplayDuringLibraryScanHelp": "Hëllef zum Extrahéieren vu Trickplay während Bibliothéik-Scan",
"AllowContentWithTagsHelp": "Nëmme Medie mat mindestens engem vun de spezifizéierten Taggen uweisen.",
"AllowedRemoteAddressesHelp": "Kommaseparéiert Lëscht vun IP-Adressen oder IP/Netzmask-Entréeë fir Netzwierker, déi däerfen aus der Distanz verbannen. Wann eidel gelooss, ginn all Fernadressen erlaabt.",
"AccessRestrictedTryAgainLater": "Zougang ass ageschränkt. Probéier et méi spéit nach eng Kéier.",
"AllowContentWithTagsHelp": "Hëllef zum Erlaaben vun Inhalter mat Markéierunge.",
"AllowedRemoteAddressesHelp": "Komma-separéiert Lëscht vun IP-Adressen oder IP/Netzmask Entréeë fir Netzwierker, déi däerfen aus der Distanz verbannen. Wann eidel gelooss, ginn all Fernadressen erlaabt.",
"AccessRestrictedTryAgainLater": "Zougang ass limitéiert, probéier et méi spéit nach eng Kéier.",
"AllowEmbeddedSubtitlesHelp": "Hëllef zum Erlaaben vu embeddéierten Sous-titres.",
"AllowFfmpegThrottlingHelp": "Wann eng Transkodéierung oder e Remux wäit genuch vorm aktuellen Wiedergabe-Punkt ass, pauszéiert de Prozess, sou datt e manner Ressourcë verbraucht. Dat ass am nëtzlechsten, wann Dir normal kuckt, ouni dacks ze spulen. Schalt dat aus, wann Dir Wiedergabeproblemer erliewt.",
"AllowOnTheFlySubtitleExtractionHelp": "Agebett Ënnertitelen kënnen aus Videoeextrahéiert an als einfachen Text un d’Clienten geliwwert ginn, fir Video-Transkodéierung ze vermeiden. Op e puer Systemer kann dëse Prozess laang daueren a féiert dozou, datt d’Video-Ofspillung während der Extraktioun hänke bleift. Deaktivéiert dëst, fir d’agebett Ënnertitelen an de Video mat Transkodéierung anzebrennen, wann se net natierlech vum Client-Gerät ënnerstëtzt ginn.",
"AllowHWTranscodingHelp": "Erlaabt dem Tuner, Streams spontan ze transkodéieren. Dëst kann hëllefen, d’Transkodéierung, déi vum Server erfuerderlech ass, ze reduzéieren.",
"LabelThrottleDelaySecondsHelp": "Zäit an Sekonnen, no där den Transkodéierer gedrosselt gëtt. Muss grouss genuch sinn, fir datt de Client e gesonde Buffer erhale kann. Funktionéiert nëmmen, wann Drosselung aktivéiert ass.",
"AskAdminToCreateLibrary": "Frot en Administrateur, fir eng Bibliothéik ze erstellen.",
"AllowSegmentDeletionHelp": "Läscht al Segmenter, nodeems se vum Client erofgeluede goufen. Dëst verhënnert, datt déi komplett transkodéiert Datei op der Festplack gespäichert gëtt. Schalt dëst aus, wa Problemer beim Ofspillen optrieden.",
"AllowSegmentDeletionHelp": "Läscht al Segmenter nodeems se vum Client erofgeluede goufen. Dëst verhënnert, datt déi komplett transkodéiert Datei op der Festplack gespäichert gëtt. Schalt dëst aus, wann Dir Problemer beim Ofspillen hutt.",
"AllowStreamSharingHelp": "Erlaabt Jellyfin, de mpegts-Stream vum Tuner ze duplizéieren an dëse duplizéierte Stream un d’Clienten ze deelen. Dëst ass nëtzlech, wann den Tuner eng Limit fir d’Gesamtzuel vun de Stréim huet, kann awer och Problemer beim Ofspillen verursaachen.",
"ButtonForgotPassword": "Passwuert vergiess",
"ButtonQuickStartGuide": "Schnellstart Guide",
@ -1928,10 +1928,10 @@
"LabelVideoBitDepth": "Video-Bitdéift",
"LabelAudioAttributes": "Audioattributer",
"LabelTargetCodecs": "Zilcodecs",
"LabelProgressAndSpeed": "Fortschrëtt / Vitess",
"LabelProgressAndSpeed": "Fortschrëtt / Geschwindegkeet",
"LabelReasons": "Grënn",
"LabelPlayerSizes": "Spillergréissten",
"LabelPlaybackQuality": "Frame verluer / beschiedegt",
"LabelPlaybackQuality": "Ausgelooss / beschiedegt Biller",
"IndexNumber": "Indexnummer",
"NoCastTargets": "Keng Cast-Ziler verfügbar",
"MessageNoEpisodesFound": "Et si momentan keng Episode verfügbar.",

View file

@ -37,7 +37,7 @@
"ChannelNameOnly": "Tik {0} kanalas",
"ChannelNumber": "Kanalo numeris",
"Composer": "Kompozitorius",
"ConfigureDateAdded": "Nustatykite, kaip bus nustatomi 'Pridėjimo data' metaduomenys skyriuje, Prietaisų skydelis > Bibliotekos > Ekranas",
"ConfigureDateAdded": "Nustatykite, kaip bus nustatomi 'Pridėjimo data' metaduomenys skiltyje, Prietaisų skydelis > Bibliotekos > Ekranas",
"ConfirmDeleteImage": "Ištrinti atvaizdą?",
"ConfirmDeleteItem": "Ištrynus šį elementą, jis bus ištrintas ir iš failų sistemos, ir iš jūsų medijos bibliotekos. Ar tikrai norite tęsti?",
"ConfirmDeleteItems": "Ištrynus šiuos elementus, jie bus ištrinti ir iš failų sistemos, ir iš medijos bibliotekos. Ar tikrai norite tęsti?",
@ -108,7 +108,7 @@
"Identify": "Identifikuoti",
"Images": "Atvaizdai",
"InstallingPackage": "Diegiama {0} (versija {1})",
"InstantMix": "Greitas miksas",
"InstantMix": "Maišyti",
"ItemCount": "{0} elementų",
"Kids": "Vaikams",
"Label3DFormat": "3D formatas",
@ -163,7 +163,7 @@
"LabelMaxBackdropsPerItem": "Maksimalus fonų kiekis elementui",
"LabelMaxParentalRating": "Didžiausias leidžiamas tėvų kontrolės įvertinimas",
"LabelMaxResumePercentage": "Didžiausias procentas pratęsimui",
"LabelMaxResumePercentageHelp": "Turinys laikomas peržiūrėtu, jei sustabdomas praėjus šiam laikui.",
"LabelMaxResumePercentageHelp": "Kūrinys laikomas peržiūrėtu, jei sustabdomas žiūrėjimas vėliau šio laiko.",
"LabelMetadataDownloadLanguage": "Pageidaujama siuntimo kalba",
"LabelMetadataPath": "Metaduomenų kelias",
"LabelMetadataPathHelp": "Nurodykite pasirinktinę atsisiųstų atvaizdų ir metaduomenų vietą.",
@ -171,7 +171,7 @@
"LabelMinResumeDuration": "Mažiausia trukmė įrašo pratęsimui",
"LabelMinResumeDurationHelp": "Trumpiausias vaizdo įrašo ilgis sekundėmis, kuris išsaugos peržiūros vietą ir leis tęsti atkūrimą.",
"LabelMinResumePercentage": "Mažiausias procentas pratęsimui",
"LabelMinResumePercentageHelp": "Turinys laikomas nežiūrėtu, jei sustabdomas anksčiau šio laiko.",
"LabelMinResumePercentageHelp": "Failai laikomi nežiūrėtais jei sustabdoma iki šio laiko.",
"LabelMovieRecordingPath": "Filmų įrašymo kelias",
"LabelName": "Pavadinimas",
"LabelNewPassword": "Naujas slaptažodis",
@ -179,7 +179,7 @@
"LabelNumber": "Numeris",
"LabelNumberOfGuideDays": "Kiek dienų gido duomenų atsisiųsti",
"LabelNumberOfGuideDaysHelp": "Atsisiunčiant daugiau dienų gido duomenų, galima sudaryti tvarkaraštį iš anksto ir peržiūrėti daugiau sąrašų, tačiau atsisiuntimas užtruks ilgiau. Automatinis pasirinkimas priklauso nuo kanalų skaičiaus.",
"LabelOriginalAspectRatio": "Originalus kraštinių santykis",
"LabelOriginalAspectRatio": "Šaltinio vaizdo santykis",
"LabelOriginalTitle": "Originalus pavadinimas",
"LabelOverview": "Apžvalga",
"LabelParentalRating": "Tėvų įvertinimas",
@ -190,10 +190,10 @@
"LabelPlaceOfBirth": "Gimimo vieta",
"LabelPlaylist": "Grojaraštis",
"LabelPreferredDisplayLanguage": "Pageidautina rodymo kalba",
"LabelPublicHttpPort": "Viešasis HTTP prievado numeris",
"LabelPublicHttpPortHelp": "Viešasis prievado numeris, kurį reikia susieti su vietiniu HTTP prievadu.",
"LabelPublicHttpsPort": "Viešasis HTTPS prievado numeris",
"LabelPublicHttpsPortHelp": "Viešasis prievado numeris, kurį reikia susieti su vietiniu HTTPS prievadu.",
"LabelPublicHttpPort": "Viešojo HTTP prievado numeris",
"LabelPublicHttpPortHelp": "Viešojo prievado numeris, kuris turėtų būti atvaizduotas į vietinį HTTP prievadą.",
"LabelPublicHttpsPort": "Viešojo HTTPS prievado numeris",
"LabelPublicHttpsPortHelp": "Viešas porto numeris, kurį reiktų susieti su vietiniu HTTPS portu.",
"LabelRecord": "Įrašyti",
"LabelRecordingPath": "Numatytasis įrašymo kelias",
"LabelRecordingPathHelp": "Nurodykite numatytąją vietą įrašams išsaugoti. Jei paliksite tuščią vietą, bus naudojamas serverio programos duomenų aplankas.",
@ -299,7 +299,7 @@
"People": "Žmonės",
"PlaceFavoriteChannelsAtBeginning": "Mėgstamus kanalus į pradžią",
"Play": "Paleisti",
"PlayAllFromHere": "Paleisti visus nuo čia",
"PlayAllFromHere": "Paleisti viską nuo čia",
"PlayFromBeginning": "Paleisti nuo pradžių",
"PleaseEnterNameOrId": "Įveskite vardą arba išorinį ID.",
"PleaseRestartServerName": "Prašau paleisti Jellyfin Serverį iš naujo - {0}.",
@ -335,7 +335,7 @@
"SeriesCancelled": "Serialas atšauktas.",
"SeriesRecordingScheduled": "Serialo įrašymas suplanuotas.",
"SeriesSettings": "Serialų nustatymai",
"SeriesYearToPresent": "{0} - Dabartis",
"SeriesYearToPresent": "{0} - Dabar",
"ServerNameIsRestarting": "Jellyfin Serveris - {0} leidžiamas iš naujo.",
"ServerNameIsShuttingDown": "Jellyfin Serveris - {0} išsijungia.",
"ServerUpdateNeeded": "Šį Jellyfin serverį reikia atnaujinti. Naujausią versiją atsisiųsti galite {0}",
@ -425,7 +425,7 @@
"ButtonStart": "Pradėti",
"ButtonUninstall": "Išdiegti",
"ButtonWebsite": "Svetainė",
"ChangingMetadataImageSettingsNewContent": "Metaduomenų ar iliustracijų atsisiuntimo nustatymų pakeitimai bus pritaikyti tik naujai pridėtam turiniui, pridėtam prie jūsų bibliotekos. Norint pritaikyti pakeitimus esančiam turiniui reikės atnaujinti metaduomenis rankiniu būdu.",
"ChangingMetadataImageSettingsNewContent": "Metaduomenų ar iliustracijų pakeitimai bus pritaikyti tik naujai pridėtam turiniui. Norint pritaikyti pakeitimus esančiam turiniui reikės atnaujinti metaduomenis rankiniu būdu.",
"Channels": "Kanalai",
"Collections": "Kolekcijos",
"CommunityRating": "Bendruomenės įvertinimas",
@ -473,7 +473,7 @@
"EnableNextVideoInfoOverlayHelp": "Vaizdo įrašo pabaigoje rodyti informaciją apie sekantį vaizdo įrašą, esantį grojaraštyje.",
"EnablePhotos": "Rodyti nuotraukas",
"EnablePhotosHelp": "Atvaizdai bus aptikti ir rodomi kartu su kitais medijos failais.",
"AspectRatio": "Kraštinių santykis",
"AspectRatio": "Vaizdo Santykis",
"Ascending": "Didėjančia tvarka",
"AllComplexFormats": "Visi sudėtingi formatai (ASS, SSA, VobSub, PGS, SUB, IDX, …)",
"AllowHWTranscodingHelp": "Leisti imtuvui transkoduoti srautus realiu laiku. Tai gali padėti sumažinti serveriui reikalingą transkodavimą.",
@ -530,10 +530,10 @@
"DisplayInOtherHomeScreenSections": "Rodyti pagrindinio ekrano skyriuose 'Neseniai pridėta medija' ir 'Žiūrėti toliau'",
"DisplayMissingEpisodesWithinSeasonsHelp": "Tai taip pat turi būti įjungta TV bibliotekoms serverio konfigūracijoje.",
"DropShadow": "Mesti šešėlį",
"EnableExternalVideoPlayers": "Išoriniai vaizdo leistuvai",
"EnableExternalVideoPlayersHelp": "Paleidus vaizdo įrašą, bus rodomas išorinio leistuvo meniu.",
"EnableExternalVideoPlayers": "Išoriniai vaizdo grotuvai",
"EnableExternalVideoPlayersHelp": "Paleidus vaizdo įrašą, bus rodomas išorinio grotuvo meniu.",
"EnableHardwareEncoding": "Įjungti aparatinės įrangos kodavimą",
"EnableThemeSongsHelp": "Naršant bibliotekoje, fone leisti temines dainas.",
"EnableThemeSongsHelp": "Naršant bibliotekoje, fone groti temines dainas.",
"EnableThemeVideosHelp": "Naršant bibliotekoje paleisti teminius vaizdo įrašus fone.",
"Episodes": "Epizodai",
"HeaderBranding": "Prekės ženklas",
@ -609,8 +609,8 @@
"HeaderLatestMovies": "Neseniai pridėti filmai",
"HeaderLatestMusic": "Neseniai pridėta muzika",
"HeaderLibraryFolders": "Bibliotekos aplankai",
"HeaderNextEpisodePlayingInValue": "Sekantis epizodas prasidės po {0}",
"HeaderNextVideoPlayingInValue": "Sekantis vaizdo įrašas prasidės po {0}",
"HeaderNextEpisodePlayingInValue": "Sekantis epizodas atkuriamas už {0}",
"HeaderNextVideoPlayingInValue": "Sekantis vaizdo įrašas atkuriamas už {0}",
"HeaderPassword": "Slaptažodis",
"HeaderPasswordReset": "Slaptažodžio nustatymas iš naujo",
"LabelMetadataSavers": "Metaduomenų išsaugojimo priemonės",
@ -652,7 +652,7 @@
"LabelMetadataReaders": "Metaduomenų rinkėjai",
"LabelParentNumber": "Tėvų numeris",
"LabelPasswordConfirm": "Slaptažodis (pakartoti)",
"LabelPlayer": "Leistuvas",
"LabelPlayer": "Grotuvas",
"LabelReasonForTranscoding": "Transkodavimo priežastis",
"LabelPreferredSubtitleLanguage": "Pageidaujama subtitrų kalba",
"HeaderChannelAccess": "Prieiga prie kanalų",
@ -675,7 +675,7 @@
"GroupBySeries": "Grupuoti pagal serialus",
"Guide": "Gidas",
"GuideProviderLogin": "Prisijungimas",
"HardwareAccelerationWarning": "Įjungus aparatinės įrangos spartinimą, kai kuriose diegimo aplinkose gali atsirasti nestabilumas. Įsitikinkite, kad jūsų operacinė sistema ir vaizdo tvarkyklės yra visiškai atnaujintos. Jei atkuriant šį vaizdo įrašą kyla problemų, turite pakeisti nustatymą į Nėra.",
"HardwareAccelerationWarning": "Įjungus aparatinės įrangos spartinimą, kai kuriose diegimo aplinkose gali atsirasti nestabilumas. Įsitikinkite, kad jūsų operacinė sistema ir vaizdo tvarkyklės yra visiškai atnaujintos. Jei atkuriant šį vaizdo įrašą kyla problemų, turite pakeisti nustatymą į \"Nėra\".",
"HeaderAdmin": "Administravimas",
"HeaderAlert": "Perspėjimas",
"HeaderAllowMediaDeletionFrom": "Leisti medijos ištrynimą iš",
@ -688,7 +688,7 @@
"HeaderBlockItemsWithNoRating": "Blokuoti elementus, kuriuose amžiaus kategorija yra neatpažinta arba jos nėra",
"HeaderChapterImages": "Skyriaus atvaizdai",
"HeaderFetcherSettings": "Teikėjo nustatymai",
"HeaderSelectServerCachePath": "Pasirinkite serverio talpyklos kelią",
"HeaderSelectServerCachePath": "Pasirinkite serverio \"Cache\" kelią",
"HeaderStartNow": "Paleisti dabar",
"HeaderStopRecording": "Sustabdyti įrašymą",
"HeaderSubtitleAppearance": "Subtitrų Išvaizda",
@ -705,16 +705,16 @@
"LabelAudioCodec": "Garso kodekas",
"LabelAuthProvider": "Autentifikavimo paslaugos teikėjas",
"LabelBindToLocalNetworkAddress": "Susieti su vietinio tinklo adresu",
"LabelBlastMessageInterval": "Gyvų pranešimų intervalas",
"LabelBlastMessageInterval": "Pranešimo \"gyvas\" intervalas",
"LabelBitrate": "Sparta bitais",
"LabelBlastMessageIntervalHelp": "Nustatykite trukmę sekundėmis tarp gyvų pranešimų.",
"LabelBlastMessageIntervalHelp": "Nustato sekundžių trukmę tarp \"gyvų\" pranešimų.",
"LabelBlockContentWithTags": "Blokuoti elementus su žymėmis",
"LabelBurnSubtitles": "Subtitrų įrašymas į vaizdo takelį",
"LabelCache": "Spartinančioji talpykla",
"LabelEnableHardwareDecodingFor": "Įjungti aparatinės įrangos dekodavimą",
"LabelProfileContainer": "Konteineris",
"LabelProtocol": "Protokolas",
"HeaderInstantMix": "Greitas miksas",
"HeaderInstantMix": "Maišyti",
"HeaderLibraryAccess": "Bibliotekos prieigos teisės",
"HeaderLibraryOrder": "Bibliotekos eiliškumas",
"HeaderLibrarySettings": "Bibliotekos nustatymai",
@ -724,7 +724,7 @@
"HeaderOtherItems": "Kiti elementai",
"HeaderParentalRatings": "Tėvų įvertinimai",
"HeaderPhotoAlbums": "Nuotraukų albumai",
"HeaderPlayAll": "Paleisti visus",
"HeaderPlayAll": "Paleisti viską",
"HeaderPlaybackError": "Atkūrimo klaida",
"HeaderPlayback": "Medijos atkūrimas",
"HeaderSeasons": "Sezonai",
@ -795,7 +795,7 @@
"DisableCustomCss": "Išjungti serverio pateiktą pasirinktinį CSS kodą",
"EnablePlugin": "Įjungti",
"DeleteDevicesConfirmation": "Ar tikrai norite ištrinti visus įrenginius? Visos kitos sesijos bus atjungtos. Įrenginiai vėl atsiras, kai naudotojas prisijungs kitą kartą.",
"DeleteAll": "Ištrinti visus",
"DeleteAll": "Ištrinti viską",
"Data": "Duomenys",
"CopyFailed": "Nepavyko nukopijuoti",
"Copy": "Kopijuoti",
@ -803,13 +803,13 @@
"Console": "Konsolė",
"ClearQueue": "Išvalyti eilę",
"ButtonExitApp": "Išeiti iš programos",
"ButtonPlayer": "Leistuvas",
"ButtonPlayer": "Grotuvas",
"ButtonCast": "Perduoti į įrenginį",
"ButtonClose": "Uždaryti",
"BoxSet": "Viršelių rinkinys",
"Authorize": "Įgalioti",
"Artist": "Atlikėjas",
"AgeValue": "({0} m.)",
"AgeValue": "({0} metų senumo)",
"LabelSyncPlayNewGroupDescription": "Sukurti naują grupę",
"LabelSyncPlayNewGroup": "Nauja grupė",
"LabelSyncPlayLeaveGroup": "Palikti grupę",
@ -882,7 +882,7 @@
"EnableDetailsBanner": "Išsamios informacijos reklamjuostė",
"EnableAutoCast": "Nustatyti kaip numatytąjį",
"EnableBlurHash": "Įjungti neryškius atvaizdų vietos rezervavimo ženklus",
"ButtonUseQuickConnect": "Naudoti greitą prisijungimą",
"ButtonUseQuickConnect": "Naudoti Quick Connect",
"Casual": "Neformalus",
"LabelSelectVersionToInstall": "Pasirinkite versiją, kurią norite įdiegti",
"Season": "Sezonas",
@ -915,7 +915,7 @@
"VideoAudio": "Vaizdo garso įrašas",
"Watched": "Žiūrėtas",
"Whitelist": "Leidimų sąrašas",
"ErrorPlayerNotFound": "Nerastas leistuvas, skirtas prašomai medijai.",
"ErrorPlayerNotFound": "Nerastas grotuvas, skirtas prašomai medijai.",
"LabelInternetQuality": "Interneto kokybė",
"PasswordResetConfirmation": "Ar tikrai norite iš naujo nustatyti slaptažodį?",
"TypeOptionPluralMusicVideo": "Muzikos vaizdo įrašai",
@ -934,7 +934,7 @@
"LabelScreensaver": "Ekrano užsklanda",
"LabelBaseUrlHelp": "Pridėkite pasirinktinį pakatalogį prie serverio URL. Pavyzdžiui: https://example.com/<baseurl>",
"LabelBindToLocalNetworkAddressHelp": "Pakeiskite vietinį HTTP serverio IP adresą. Jei paliekama tuščia, serveris bus susietas su visais prieinamais adresais. Keičiant šią reikšmę reikia iš naujo paleisti serverį.",
"LabelEnableHttpsHelp": "Klausytis sukonfigūruotame HTTPS prievade. Kad tai įsigaliotų, taip pat būtina pateikti galiojantį sertifikatą.",
"LabelEnableHttpsHelp": "Klausykitės sukonfigūruotame HTTPS prievade. Taip pat turi būti pateiktas galiojantis sertifikatas, kad tai įsigaliotų.",
"LabelExtractChaptersDuringLibraryScanHelp": "Generuoti skyrių atvaizdus, kai bibliotekos skenavimo metu importuojami vaizdo įrašai. Priešingu atveju jie bus išskirti atliekant suplanuotą skyrių atvaizdų užduotį, todėl įprastas bibliotekos skenavimas bus baigtas greičiau.",
"LabelCreateHttpPortMap": "Įjungti automatinį prievadų atvaizdavimą HTTP ir HTTPS srautui.",
"LabelCustomDeviceDisplayNameHelp": "Nurodykite pasirinktinį rodomą pavadinimą arba palikite tuščią laukelį, kad būtų naudojamas įrenginio pateiktas pavadinimas.",
@ -948,7 +948,7 @@
"LabelImageType": "Atvaizdo tipas",
"LabelImageFetchersHelp": "Įjunkite pageidaujamus atvaizdų teikėjus ir išdėliokite juos pagal svarbą.",
"LabelFileOrUrl": "Failas arba URL",
"LabelAutomaticDiscovery": "Įjungti automatinį aptikimą",
"LabelAutomaticDiscovery": "Įjungti automatinį atradimą",
"LabelDisableCustomCss": "Išjungti serverio teikiamą temų/prekės ženklo kūrimo pasirinktinį CSS kodą.",
"LabelDroppedFrames": "Pamesti kadrai",
"LabelEnableIP4": "Įjungti IPv4",
@ -965,8 +965,8 @@
"LabelffmpegPath": "FFmpeg kelias",
"LabelDropSubtitleHere": "Nuvilkite subtitrą čia arba spustelėkite norėdami naršyti.",
"AllowFfmpegThrottling": "Transkodavimo ribojimas",
"EnableRewatchingNextUp": "Įjungti pakartotinę peržiūrą skyriuje 'Toliau'",
"EnableRewatchingNextUpHelp": "Įjungti jau žiūrėtų epizodų rodymą skyriuje 'Toliau'.",
"EnableRewatchingNextUp": "Įjungti pakartotinę peržiūrą skiltyje Toliau",
"EnableRewatchingNextUpHelp": "Įjungti jau žiūrėtų epizodų rodymą skyriuose 'Toliau'.",
"EnableTonemapping": "Įjungti tonų atvaizdavimą",
"LabelChromecastVersion": "Google Cast versija",
"LabelColorPrimaries": "Pirminės spalvos",
@ -979,20 +979,20 @@
"DeinterlaceMethodHelp": "Pasirinkite šakotojo vaizdo išlyginimo (deinterlacing) metodą, kuris bus naudojamas programiškai transkoduojant šakotąjį (interlace) turinį. Kai įjungtas aparatinis pagreitinimas, palaikantis aparatinį šakotojo vaizdo išlyginimą, vietoj šio nustatymo bus naudojamas aparatinis šakotojo vaizdo išlyginimas.",
"LabelStereoDownmixAlgorithm": "Stereo Downmix algoritmas",
"LabelHomeScreenSectionValue": "Pagrindinio ekrano skyrius {0}",
"DownloadAll": "Atsisiųsti visus",
"DownloadAll": "Atsisiųsti viską",
"Engineer": "Garso inžinierius",
"HeaderDummyChapter": "Skyriaus atvaizdai",
"IgnoreDts": "Ignoruoti DTS (dekodavimo laiko žyma)",
"IgnoreDtsHelp": "Išjungus šią parinktį gali būti išspręstos kai kurios problemos, pvz., garso dingimas kanaluose su atskirais garso ir vaizdo srautais.",
"KnownProxiesHelp": "Kableliais atskirtas žinomų tarpinių serverių, naudojamų jungiantis prie Jellyfin egzemplioriaus, IP adresų arba prieglobos vardų sąrašas. To reikia, kad būtų tinkamai naudojamos 'X-Forwarded-For' antraštės. Išsaugojus reikia iš naujo paleisti serverį.",
"LabelAutomaticDiscoveryHelp": "Leidžia programoms automatiškai aptikti Jellyfin naudojant 7359 UDP prievadą.",
"LabelAutomaticDiscoveryHelp": "Leisti programoms automatiškai aptikti Jellyfin naudojant UDP prievadą 7359.",
"LabelBaseUrl": "Bazinis URL adresas",
"LabelDummyChapterDuration": "Intervalas",
"LabelDummyChapterDurationHelp": "Intervalas tarp fiktyvių skyrių sekundėmis. Nustatykite 0, kad būtų išjungtas fiktyvių skyrių generavimas. Šio parametro keitimas neturės jokios įtakos esamiems fiktyviems skyriams.",
"LabelChapterImageResolution": "Rezoliucija",
"LabelChapterImageResolutionHelp": "Išskirtų skyrių atvaizdų skiriamoji geba. Šio parametro keitimas neturės jokios įtakos esamiems fiktyviems skyriams.",
"LabelEnableIP4Help": "Įjungia IPv4 funkcionalumą.",
"LabelEnableIP6Help": "Įjungia IPv6 funkcionalumą.",
"LabelEnableIP4Help": "Įjungti IPv4 funkcionalumą.",
"LabelEnableIP6Help": "Įjungti IPv6 funkcionalumą.",
"LabelExtractChaptersDuringLibraryScan": "Skyrių atvaizdų išskyrimas bibliotekos skenavimo metu",
"LabelHardwareAccelerationTypeHelp": "Aparatiniam greitintuvui reikia papildomos konfigūracijos.",
"HeaderRecordingMetadataSaving": "Metaduomenų įrašymas",
@ -1060,7 +1060,7 @@
"HeaderNextEpisode": "Sekantis Epizodas",
"LabelInstalled": "Įdiegta",
"LabelDuration": "Trukmė",
"LabelQuickConnectCode": "Greito prisijungimo kodas",
"LabelQuickConnectCode": "Quick Connect kodas",
"LabelSubtitlePlaybackMode": "Subtitrų režimas",
"EnableLibrary": "Įjungti biblioteką",
"EnableTrueHd": "Įjungti TrueHD",
@ -1075,7 +1075,7 @@
"ManageRecording": "Tvarkyti įrašą",
"LabelSubtitleStyling": "Subtitrų stilius",
"LiveTV": "Tiesioginė TV",
"MediaInfoAspectRatio": "Kraštinių santykis",
"MediaInfoAspectRatio": "Vaizdo kraštinių santykis",
"AiTranslated": "DI Išverstas",
"LabelNotInstalled": "Neįdiegta",
"LabelSortName": "Rūšiuoti pavadinimus",
@ -1093,7 +1093,7 @@
"ButtonLearnMore": "Sužinoti daugiau",
"HeaderNextVideo": "Sekantis vaizdo įrašas",
"LabelMediaSegmentsType": "{0} segmentai",
"LabelPlayerDimensions": "Leistuvo matmenys",
"LabelPlayerDimensions": "Grotuvo matmenys",
"LabelSubtitleVerticalPosition": "Vertikali padėtis",
"LogLevel.Warning": "Įspėjimas",
"DateModified": "Modifikavimo data",
@ -1188,7 +1188,7 @@
"DlnaMovedMessage": "DLNA funkcijos perkeltos į įskiepį.",
"CustomSplashScreenSize": "Pasirinktiniai atvaizdai turi būti 16x9 formato ir ne mažesnio kaip 1920x1080 dydžio.",
"DeleteCustomImage": "Ištrinti pasirinktinį atvaizdą",
"FallbackMaxStreamingBitrateHelp": "Didžiausias srautinės transliacijos pralaidumas naudojamas kaip atsarginis variantas, kai ffprobe negali nustatyti šaltinio srauto pralaidumo. Tai padeda išvengti, kad klientai neprašytų per didelio transkodavimo bitų srauto, dėl kurio leistuvas gali sugesti ir apkrauti kodavimo įrenginį.",
"FallbackMaxStreamingBitrateHelp": "Didžiausias srautinės transliacijos pralaidumas naudojamas kaip atsarginis variantas, kai ffprobe negali nustatyti šaltinio srauto pralaidumo. Tai padeda išvengti, kad klientai neprašytų per didelio transkodavimo bitų srauto, dėl kurio grotuvas gali sugesti ir apkrauti kodavimo įrenginį.",
"HeaderAudioAdvanced": "Garso išplėstiniai nustatymai",
"HeaderDeleteLyrics": "Ištrinti dainos tekstą",
"HeaderGuestCast": "Kviestinės žvaigždės",
@ -1212,8 +1212,8 @@
"LabelNoChangelog": "Šios versijos pakeitimų sąrašas nepateiktas.",
"LabelMediaSegmentProviders": "Medijos segmento paslaugų teikėjai",
"LabelLyricDownloaders": "Dainos teksto parsisiuntimo programos",
"LabelMinAudiobookResumeHelp": "Turinys laikomas nežiūrėtu, jei sustabdomas anksčiau šio laiko.",
"LabelPublishedServerUriHelp": "Pakeisti Jellyfin naudojamą URL pagal sąsają arba kliento IP adresą.",
"LabelMinAudiobookResumeHelp": "Failai laikomi nežiūrėtais, jei rodymas sustabdytas iki šio laiko.",
"LabelPublishedServerUriHelp": "Pakeiskite Jellyfin naudojamą URL pagal sąsają arba kliento IP adresą.",
"LabelRemoteClientBitrateLimitHelp": "Pasirinktinė vieno srauto pralaidumo riba, taikoma visiems ne tinklo įrenginiams. Tai naudinga, kad įrenginiai neprašytų didesnio bitų srauto, nei jūsų interneto ryšys gali priimti. Dėl to, kad vaizdo įrašai realiu laiku būtų transkoduojami į lėtesnę bitų spartą, gali padidėti serverio procesoriaus apkrova.",
"LabelOpenclDeviceHelp": "Tai yra OpenCL įrenginys, naudojamas tonų atvaizdavimui. Kairėje taško pusėje yra platformos numeris, o dešinėje - platformos įrenginio numeris. Numatytoji vertė yra 0.0. Reikalingas FFmpeg taikomosios programos failas, kuriame yra OpenCL aparatinio greitinimo metodas.",
"LabelMetadataReadersHelp": "Išrikiuokite pageidaujamus vietinius metaduomenų šaltinius pagal svarbą. Bus perskaitytas pirmas rastas failas.",
@ -1229,12 +1229,12 @@
"LabelLocalCustomCss": "Pasirinktinis CSS stiliaus kodas, taikomas tik šiam klientui. Galite išjungti serverio pasirinktinį CSS kodą.",
"LabelOpenclDevice": "OpenCL įrenginys",
"LabelPlayDefaultAudioTrack": "Paleisti numatytąjį garso takelį, neatsižvelgiant į kalbą",
"LabelPostProcessorArgumentsHelp": "Naudoti {path} kaip įrašymo failo kelią.",
"LabelPostProcessorArgumentsHelp": "Naudokite {path} kaip įrašymo failo kelią.",
"LabelRepositoryName": "Saugyklos pavadinimas",
"LabelParallelImageEncodingLimitHelp": "Didžiausias leistinas lygiagrečiai paleidžiamų vaizdų kodavimų skaičius. Palikus šią reikšmę tuščią, bus pasirinkta riba, pagrįsta jūsų sistemos branduolių skaičiumi.",
"LabelMoviePrefixHelp": "Jei filmų pavadinimams taikomas priešdėlis, įveskite jį čia, kad serveris galėtų tinkamai jį apdoroti.",
"LabelProgramData": "Programos duomenys",
"LabelPublishedServerUri": "Paskelbtas serverio URI",
"LabelPublishedServerUri": "Publikuoto serverio URL",
"LabelRemoteClientBitrateLimit": "Srautinės transliacijos interneto pralaidumo riba (Mbps)",
"LabelRepositoryUrl": "Saugyklos URL",
"LabelRepository": "Saugykla",
@ -1287,10 +1287,10 @@
"Lyricist": "Dainos teksto autorius",
"LabelWeb": "Žiniatinklis",
"Lyrics": "Dainos tekstas",
"LimitSegmentLengthHelp": "Šios parinkties įjungimas gali padėti išvengti HLS leistuvo užstrigimo ieškant tam tikruose įrenginiuose, pvz., webOS televizoriuose.",
"LimitSegmentLengthHelp": "Šios parinkties įjungimas gali padėti išvengti HLS grotuvo užstrigimo ieškant tam tikruose įrenginiuose, pvz., webOS televizoriuose.",
"LimitSegmentLength": "Naudoti trumpesnius HLS segmentus",
"LabelSyncPlaySettingsExtraTimeOffset": "Papildoma laiko kompensacija",
"LabelSyncPlaySettingsSyncCorrectionHelp": "Įjunkite aktyvų atkūrimo sinchronizavimą pagreitindami mediją arba ieškodami numatomos padėties. Išjunkite šią funkciją, jei labai stringa.",
"LabelSyncPlaySettingsSyncCorrectionHelp": "Įgalinkite aktyvų atkūrimo sinchronizavimą pagreitindami mediją arba ieškodami numatomos padėties. Išjunkite šią funkciją, jei labai stringa.",
"LabelUserRemoteClientBitrateLimitHelp": "Pakeiskite numatytąją bendrąją reikšmę, nustatytą serverio nustatymuose, žr. punktą Prietaisų skydelis > Atkūrimas > Srautinė transliacija.",
"LabelSimultaneousConnectionLimit": "Vienalaikio srauto riba",
"LabelServerVersion": "Serverio versija",
@ -1317,7 +1317,7 @@
"LibraryScanFanoutConcurrencyHelp": "Didžiausias lygiagrečių užduočių skaičius bibliotekos skenavimo metu. Palikus šią reikšmę tuščią, bus pasirinkta riba, pagrįsta jūsų sistemos branduolių skaičiumi. ĮSPĖJIMAS: nustačius per didelį skaičių, gali kilti problemų su tinklo failų sistemomis; jei susidursite su problemomis, sumažinkite šį skaičių.",
"LogLevel.Critical": "Kritinė",
"MediaInfoColorSpace": "Spalvų erdvė",
"LimitSupportedVideoResolutionHelp": "Naudoti 'Didžiausia leidžiama vaizdo transkodavimo raiška' kaip didžiausią palaikomą vaizdo įrašų skiriamąją gebą.",
"LimitSupportedVideoResolutionHelp": "Naudokite 'Didžiausia leidžiama vaizdo transkodavimo raiška' kaip didžiausią palaikomą vaizdo įrašų skiriamąją gebą.",
"LabelSyncPlayAccess": "SyncPlay prieiga",
"LabelSyncPlayAccessJoinGroups": "Leisti naudotojui prisijungti prie grupių",
"LabelSyncPlaySettingsSpeedToSync": "Įjungti SpeedToSync",
@ -1325,7 +1325,7 @@
"LabelZipCode": "Pašto kodas",
"LabelRequireHttps": "Reikalauti HTTPS",
"LabelRequireHttpsHelp": "Jei pažymėta, serveris automatiškai nukreipia visas HTTP užklausas į HTTPS. Tai neturi poveikio, jei serveris neklauso HTTPS.",
"LabelScheduledTaskLastRan": "Paskutinį kartą paleista {0}, užtruko {1}.",
"LabelScheduledTaskLastRan": "Paskutinį kartą paleistas {0}, o dabar {1}.",
"LabelSyncPlayResumePlaybackDescription": "Grįžkite prie grupinio atkūrimo",
"LabelStable": "Stabilus",
"LibraryScanFanoutConcurrency": "Lygiagrečių bibliotekos skenavimo užduočių riba",
@ -1405,8 +1405,8 @@
"PleaseAddAtLeastOneFolder": "Į šią biblioteką pridėkite bent vieną aplanką, spustelėję mygtuką '+' skyriuje 'Aplankai'.",
"None": "Nėra",
"MessageSyncPlayGroupWait": "{0} buferizuoja…",
"MessageSyncPlayErrorNoActivePlayer": "Aktyvių leistuvų nerasta. SyncPlay buvo išjungta.",
"PlaybackError.PLAYER_ERROR": "Atkūrimas nepavyko dėl lemtingos leistuvo klaidos.",
"MessageSyncPlayErrorNoActivePlayer": "Aktyvių grotuvų nerasta. SyncPlay buvo išjungta.",
"PlaybackError.PLAYER_ERROR": "Atkūrimas nepavyko dėl lemtingos grotuvo klaidos.",
"MessageReenableUser": "Norėdami iš naujo įjungti, žr. toliau",
"OptionMaxActiveSessions": "Nustatykite didžiausią vienu metu veikiančių naudotojų seansų skaičių.",
"PluginDisableError": "Išjungiant įskiepį įvyko klaida.",
@ -1544,11 +1544,11 @@
"PlaybackError.SERVER_ERROR": "Atkūrimas nepavyko dėl serverio klaidos.",
"PlaybackErrorNoCompatibleStream": "Šis klientas nėra suderinamas su medija, o serveris nesiunčia suderinamo formato medijos.",
"PlayNextEpisodeAutomatically": "Automatiškai paleisti sekantį epizodą",
"PreferNonstandardArtistsTagHelp": "Naudoti nestandartinę žymą ARTISTS vietoj žymos ARTIST, kai ji yra.",
"PreferNonstandardArtistsTagHelp": "Naudokite nestandartinę žymą ARTISTS vietoj žymos ARTIST, kai ji yra.",
"PreferEmbeddedTitlesOverFileNames": "Pirmenybė teikiama įterptiems pavadinimams, o ne failų pavadinimams",
"PreferEmbeddedTitlesOverFileNamesHelp": "Nustatykite rodomą pavadinimą, kuris bus naudojamas, kai nėra interneto metaduomenų arba vietinių metaduomenų.",
"PreferEmbeddedEpisodeInfosOverFileNames": "Pirmenybė teikiama ne failų pavadinimams, o įterptai epizodų informacijai",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Naudoti epizodo informaciją iš įterptųjų metaduomenų, jei ji yra.",
"PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Naudokite epizodo informaciją iš įterptųjų metaduomenų, jei ji yra.",
"PreferEmbeddedExtrasTitlesOverFileNames": "Pirmenybė teikiama įterptiesiems pavadinimams, o ne papildomų failų pavadinimams",
"PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Papildomi elementai dažnai turi tą patį įterptąjį pavadinimą kaip ir pagrindinis elementas, todėl pažymėkite šią parinktį, jei norite, kad jiems vis tiek būtų naudojami įterptieji pavadinimai.",
"PreferNonstandardArtistsTag": "Pirmenybė teikiama žymai ARTISTS, jei yra",
@ -1568,9 +1568,9 @@
"SubtitleRed": "Raudona",
"SubtitleLightGray": "Šviesiai pilka",
"SubtitleWhite": "Balta",
"QuickConnect": "Greitas prisijungimas",
"QuickConnect": "Quick Connect",
"SubtitleYellow": "Geltona",
"QuickConnectNotAvailable": "Paprašykite serverio administratoriaus įjungti greitą prisijungimą",
"QuickConnectNotAvailable": "Paprašykite serverio administratoriaus įjungti Quick Connect",
"Rate": "Įvertinti",
"Recordings": "Įrašai",
"Regional": "Regioninis",
@ -1610,8 +1610,8 @@
"ResolutionMatchSource": "Atitikti šaltinį",
"TvLibraryHelp": "Peržiūrėkite {0}TV pavadinimų gidą{1}.",
"Primary": "Pirminis",
"QuickConnectDescription": "Norėdami prisijungti naudodami greitą prisijungimą, pasirinkite mygtuką 'Greitas prisijungimas' įrenginyje, iš kurio prisijungiate, ir įveskite toliau pateiktą kodą.",
"QuickConnectInvalidCode": "Neteisingas greito prisijungimo kodas",
"QuickConnectDescription": "Norėdami prisijungti naudodami Quick Connect, pasirinkite mygtuką 'Quick Connect' įrenginyje, iš kurio prisijungiate, ir įveskite toliau pateiktą kodą.",
"QuickConnectInvalidCode": "Neteisingas Quick Connect kodas",
"RememberSubtitleSelectionsHelp": "Pabandyti nustatyti subtitrų takelį, kuris labiausiai atitiktų paskutinį vaizdo įrašą.",
"Remixer": "Remixer",
"ScanForNewAndUpdatedFiles": "Naujų ir atnaujintų failų paieška",
@ -1639,9 +1639,9 @@
"Quality": "Kokybė",
"QuickConnectActivationSuccessful": "Sėkmingai aktyvuota",
"Programs": "Programos",
"QuickConnectAuthorizeFail": "Nežinomas greito prisijungimo kodas",
"QuickConnectAuthorizeFail": "Nežinomas Quick Connect kodas",
"QuickConnectAuthorizeSuccess": "Sėkmingai autentifikavote savo įrenginį!",
"QuickConnectNotActive": "Greitas prisijungimas šiame serveryje nėra aktyvus",
"QuickConnectNotActive": "Quick Connect šiame serveryje nėra aktyvus",
"ReadInputAtNativeFramerateHelp": "Įjungus šią parinktį gali būti išspręstos kai kurios problemos, pvz., jei tiesioginės transliacijos nutrūksta anksčiau laiko.",
"ReadInputAtNativeFramerate": "Įvesties duomenų skaitymas tikruoju kadrų dažniu",
"RenderPgsSubtitleHelp": "Nustatykite, ar klientas turėtų atvaizduoti PGS ir VobSub subtitrus, o ne naudoti įrašytus subtitrus. Tai gali padėti išvengti serverio transkodavimo, kuris sumažintų kliento atvaizdavimo našumą.",
@ -1667,16 +1667,16 @@
"TitlePlayback": "Atkūrimas",
"SubtitleDownloadersHelp": "Įjunkite pageidaujamus subtitrų parsisiuntimo įrenginius ir sudėliokite juos pagal svarbą.",
"AllowEmbeddedSubtitles": "Išjungti skirtingus įterptųjų subtitrų tipus",
"RepeatAll": "Kartoti visus",
"RepeatAll": "Kartoti viską",
"Preview": "Peržiūra",
"QuickConnectDeactivated": "Greitas prisijungimas buvo deaktyvuotas prieš patvirtinant prisijungimo užklausą",
"QuickConnectDeactivated": "Quick Connect buvo deaktyvuota prieš patvirtinant prisijungimo užklausą",
"ReplaceTrickplayImages": "Pakeisti esamus Trickplay atvaizdus",
"Rewind": "Atsukti atgal",
"Small": "Mažas",
"Sort": "Rūšiuoti",
"AllowEmbeddedSubtitlesAllowTextOption": "Leisti tekstą",
"PreviousTrack": "Pereiti prie ankstesnio",
"ReleaseGroup": "Leidimų grupė",
"ReleaseGroup": "Išleidimo grupė",
"RememberSubtitleSelections": "Nustatyti subtitrų takelį pagal ankstesnį elementą",
"SaveRecordingNFO": "Išsaugoti įrašo EPG metaduomenis į NFO",
"Thumb": "Miniatiūra",
@ -1697,7 +1697,7 @@
"XmlTvNewsCategoriesHelp": "Programos su šiomis kategorijomis bus rodomos kaip naujienų programos. Atskirkite kelias su '|'.",
"TonemappingModeHelp": "Pasirinkite tonų atvaizdavimo režimą. Jei išryškėja ryškūs akcentai, pabandykite perjungti į RGB režimą.",
"LabelProcessPriorityHelp": "Nustačius mažesnį arba didesnį šį parametrą, bus nustatyta, kaip procesorius teikia pirmenybę ffmpeg Trickplay generavimo procesui kitų procesų atžvilgiu. Jei pastebėjote sulėtėjimą generuojant Trikplay atvaizdus, bet nenorite visiškai sustabdyti jų generavimo, pabandykite sumažinti šį parametrą ir gijų skaičių.",
"LabelExtractTrickplayDuringLibraryScanHelp": "Kai bibliotekos nuskaitymo metu importuojami vaizdo įrašai, generuojami Tickplay atvaizdai. Priešingu atveju jie bus išgauti atliekant suplanuotos Generuoti Trickplay atvaizdus užduoties metu. Jei generavimas nustatytas kaip neblokuojantis, tai neturės įtakos bibliotekos nuskaitymo laikui.",
"LabelExtractTrickplayDuringLibraryScanHelp": "Kai bibliotekos nuskaitymo metu importuojami vaizdo įrašai, generuojami Tickplay atvaizdai. Priešingu atveju jie bus išgauti atliekant suplanuotos Trickplay atvaizdų užduoties metu. Jei generavimas nustatytas kaip neblokuojantis, tai neturės įtakos bibliotekos nuskaitymo laikui.",
"ViewSettings": "Peržiūros nustatymai",
"Yadif": "Dar vienas 'DeInterlacing' filtras (YADIF)",
"EnableFallbackFont": "Įjungti atsarginius šriftus",
@ -1705,7 +1705,7 @@
"MediaInfoDvLevel": "DV lygis",
"LabelVppTonemappingBrightness": "VPP Tono žemėlapio ryškumo stiprinimas",
"MachineTranslated": "Mašininis vertimas",
"OptionExtractTrickplayImage": "Įjungti Trickplay atvaizdo išgavimą",
"OptionExtractTrickplayImage": "Įgalinti Trickplay atvaizdo išgavimą",
"UseCustomTagDelimitersHelp": "Padalyti atlikėjo / žanro žymas su pasirinktiniais simboliais.",
"XmlTvMovieCategoriesHelp": "Šių kategorijų programos bus rodomos kaip filmai. Atskirkite kelias su '|'.",
"LabelSelectStereo": "Stereo",
@ -1721,7 +1721,7 @@
"AnamorphicVideoNotSupported": "Anamorfinis vaizdo įrašas nepalaikomas",
"LabelSelectMono": "Mono",
"MediaInfoDvVersionMinor": "DV versija minorinė",
"NonBlockingScan": "Neblokuojantis - generuoja eilę, tada grįžta",
"NonBlockingScan": "Non Blocking - generuoja eilę, tada grįžta",
"LabelImageInterval": "Atvaizdo intervalas",
"LabelTrickplayThreads": "FFmpeg gijos",
"UseCustomTagDelimiters": "Naudoti pasirinktinį žymų skirtuką",
@ -1734,7 +1734,7 @@
"LabelTrackGain": "Takelio stiprinimas",
"RemuxHelp2": "Remux naudoja labai mažai apdorojimo galios ir visiškai nepraranda medijos kokybės.",
"LabelRemuxingInfo": "Remuksavimo informacija",
"YoutubeDenied": "Prašomo vaizdo įrašo negalima paleisti įterptuosiuose leistuvuose.",
"YoutubeDenied": "Prašomo vaizdo įrašo neleidžiama paleisti įterptuosiuose grotuvuose.",
"Clip": "Klipas",
"LabelScanBehavior": "Skenavimo elgsena",
"Upload": "Įkelti",
@ -1837,7 +1837,7 @@
"LabelQscale": "Qscale",
"EnableSplashScreen": "Įjungti užsklandos ekrano atvaizdą",
"DirectPlayError": "Įvyko klaida pradedant tiesioginį atkūrimą",
"SelectAll": "Pasirinkti visus",
"SelectAll": "Pasirinkti viską",
"XmlTvKidsCategoriesHelp": "Programos su šiomis kategorijomis bus rodomos kaip programos vaikams. Atskirkite kelias su '|'.",
"HeaderSelectFallbackFontPath": "Pasirinkite atsarginį šrifto aplanko kelią",
"Remuxing": "Remuksavimas",
@ -1878,7 +1878,7 @@
"LabelSlideshowIntervalHelp": "Laikas sekundėmis, kiek kiekviena nuotrauka rodoma skaidrių demonstracijose.",
"LabelInternalServerUri": "Vidinis URI",
"LabelInternalServerUriHelp": "Paskelbtas serverio URI vidinei prieigai.",
"LabelUseSamePublishedServerUri": "Naudoti tą patį paskelbtą serverio URI vidinei ir išorinei prieigai",
"LabelUseSamePublishedServerUri": "Naudokite tą patį paskelbtą serverio URL vidinei ir išorinei prieigai",
"LibrariesLoadError": "Nepavyko įkelti bibliotekų",
"NetworkingPageLoadError": "Nepavyko įkelti tinklo nustatymų",
"NewPlaylist": "Naujas grojaraštis",
@ -1940,10 +1940,10 @@
"StillWatchingPrompt": "Raginimas Vis dar žiūriu",
"StopWatching": "Nustoti žiūrėti",
"LabelTargetCodecs": "Tiksliniai kodekai",
"LabelPlayerSizes": "Leistuvo dydžiai",
"LabelPlayerSizes": "Grotuvo dydžiai",
"LabelPlaybackQuality": "Kadras pamestas / sugadintas",
"HlsAudioSeekStrategy": "Strategija, kurią reikia naudoti ieškant HLS srautuose.",
"LabelHlsAudioSeekStrategy": "Garso paieškos strategija.",
"MessageForgotPasswordRedirect": "Buvote nukreipti pas išorinį teikėją slaptažodžio nustatymui iš naujo.",
"MessageItemMetadataLocked": "Šio elemento metaduomenys užrakinti. Prieš naudodami identifikavimo funkciją, juos atrakinkite."
"MessageItemMetadataLocked": "Šio elemento metaduomenys užrakinti. Atrakinkite juos prieš naudodami funkciją „Identifikuoti“."
}

View file

@ -361,7 +361,7 @@
"HeaderActiveRecordings": "Активни снимања",
"HeaderAddToPlaylist": "Додај во листа за пуштање",
"HeaderAddUpdateImage": "Додај/ажурирај слика",
"Anime": "Јапонски анимации",
"Anime": "Аниме",
"ChannelResolutionHD": "HD",
"ChannelResolutionFullHD": "Full HD",
"ChannelResolutionUHD4K": "UHD (4K)",

View file

@ -1182,7 +1182,7 @@
"ButtonCast": "Casten naar apparaat",
"Bwdif": "Bob Weaver Deinterlacing Filter (BWDIF)",
"VideoAudio": "Beeld Geluid",
"Video": "Video",
"Video": "Beeld",
"UseDoubleRateDeinterlacingHelp": "Deze instelling gebruikt de veldsnelheid bij de-interliniëren, ook wel bob-de-interliniëring genoemd, waarmee de verversingssnelheid van de video wordt verdubbeld om volledige beweging te bieden, zoals je zou zien bij het bekijken van geïnterlinieerd beeld op een tv.",
"UseDoubleRateDeinterlacing": "Verversingssnelheid verdubbelen bij de-interliniëren",
"ThumbCard": "Miniatuurkaart",
@ -1887,7 +1887,7 @@
"LabelExternalServerUriHelp": "Gepubliceerde server-URI voor externe toegang.",
"ResetFilters": "Filters herstellen",
"Unwatch": "Volgen stoppen",
"Watch": "Kijken",
"Watch": "Volgen",
"Authors": "Auteurs",
"ContinueReading": "Verderlezen",
"HeaderLatestBooks": "Onlangs toegevoegde boeken",

View file

@ -129,30 +129,5 @@
"AllEpisodes": "ਸਾਰੇ ਐਪਿਸੋਡ",
"AllLanguages": "ਸਭ ਭਾਸ਼ਾਵਾਂ",
"AirDate": "ਪ੍ਰਸਾਰਣ ਦੀ ਮਿਤੀ",
"AllowCollectionManagement": "ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਕਲੈਕਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ",
"ActivitiesLoadError": "ਗਤੀਵਿਧੀਆਂ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ",
"AllowSubtitleManagement": "ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਉਪਸਿਰਲੇਖ ਸੰਪਾਦਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ",
"AllowFfmpegThrottlingHelp": "ਜਦੋਂ ਇੱਕ ਟ੍ਰਾਂਸਕੋਡ ਜਾਂ ਰੀਮਕਸ ਮੌਜੂਦਾ ਪਲੇਬੈਕ ਸਥਿਤੀ ਤੋਂ ਕਾਫ਼ੀ ਅੱਗੇ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਰੋਕੋ ਤਾਂ ਜੋ ਇਹ ਘੱਟ ਸਰੋਤਾਂ ਦੀ ਖਪਤ ਕਰੇ। ਇਹ ਸਭ ਤੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਅਕਸਰ ਖੋਜ ਕੀਤੇ ਬਿਨਾਂ ਦੇਖਦੇ ਹੋ. ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਲੇਬੈਕ ਸਮੱਸਿਆਵਾਂ ਦਾ ਅਨੁਭਵ ਹੁੰਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਬੰਦ ਕਰੋ।",
"AllowFmp4TranscodingContainerHelp": "HEVC ਅਤੇ HDR ਸਮੱਗਰੀ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਇਸ ਟਿਊਨਰ ਲਈ fMP4 ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਕੰਟੇਨਰ ਦੀ ਆਗਿਆ ਦਿਓ। ਸਾਰੇ ਟਿਊਨਰ ਇਸ ਕੰਟੇਨਰ ਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹਨ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਲੇਅਬੈਕ ਸਮੱਸਿਆਵਾਂ ਦਾ ਅਨੁਭਵ ਹੁੰਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਅਯੋਗ ਕਰੋ।",
"AllowSegmentDeletion": "ਭਾਗ ਹਟਾਓ",
"AllowSegmentDeletionHelp": "ਪੁਰਾਣੇ ਹਿੱਸਿਆਂ ਨੂੰ ਕਲਾਇੰਟ ਦੁਆਰਾ ਡਾਊਨਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ ਮਿਟਾਓ। ਇਹ ਪੂਰੀ ਟ੍ਰਾਂਸਕੋਡ ਕੀਤੀ ਫਾਈਲ ਨੂੰ ਡਿਸਕ 'ਤੇ ਸਟੋਰ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਪਲੇਬੈਕ ਸਮੱਸਿਆਵਾਂ ਦਾ ਅਨੁਭਵ ਹੁੰਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਬੰਦ ਕਰੋ।",
"AllowStreamSharingHelp": "ਜੈਲੀਫਿਨ ਨੂੰ ਟਿਊਨਰ ਤੋਂ mpegts ਸਟ੍ਰੀਮ ਦੀ ਡੁਪਲੀਕੇਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ ਅਤੇ ਇਸ ਡੁਪਲੀਕੇਟ ਸਟ੍ਰੀਮ ਨੂੰ ਆਪਣੇ ਕਲਾਇੰਟਸ ਨਾਲ ਸਾਂਝਾ ਕਰੋ। ਇਹ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਟਿਊਨਰ ਦੀ ਕੁੱਲ ਸਟ੍ਰੀਮ ਗਿਣਤੀ ਸੀਮਾ ਹੁੰਦੀ ਹੈ ਪਰ ਇਹ ਪਲੇਬੈਕ ਸਮੱਸਿਆਵਾਂ ਦਾ ਕਾਰਨ ਵੀ ਬਣ ਸਕਦੀ ਹੈ।",
"Alternate": "ਬਦਲਵਾਂ",
"AlwaysBurnInSubtitleWhenTranscoding": "ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਕਰਦੇ ਸਮੇਂ ਹਮੇਸ਼ਾ ਉਪਸਿਰਲੇਖ ਵਿੱਚ ਲਿਖੋ",
"AlwaysBurnInSubtitleWhenTranscodingHelp": "ਜਦੋਂ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸਾਰੇ ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਬਰਨ ਕਰੋ। ਇਹ ਘੱਟ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਗਤੀ ਦੀ ਕੀਮਤ 'ਤੇ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਤੋਂ ਬਾਅਦ ਉਪਸਿਰਲੇਖ ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।",
"LabelThrottleDelaySecondsHelp": "ਸਕਿੰਟਾਂ ਵਿੱਚ ਸਮਾਂ ਜਿਸ ਤੋਂ ਬਾਅਦ ਟ੍ਰਾਂਸਕੋਡਰ ਨੂੰ ਥ੍ਰੋਟਲ ਕੀਤਾ ਜਾਵੇਗਾ। ਇਹ ਇੰਨਾ ਵੱਡਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕਲਾਇੰਟ ਇੱਕ ਸਿਹਤਮੰਦ ਬਫਰ ਬਣਾਈ ਰੱਖ ਸਕੇ। ਸਿਰਫ਼ ਤਾਂ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ ਜੇਕਰ ਥ੍ਰੋਟਲਿੰਗ ਚਾਲੂ ਹੋਵੇ।",
"LabelSegmentKeepSeconds": "ਖੰਡਾਂ ਨੂੰ ਰੱਖਣ ਦਾ ਸਮਾਂ",
"LabelSegmentKeepSecondsHelp": "ਕਲਾਇੰਟ ਦੁਆਰਾ ਡਾਊਨਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸੈਗਮੈਂਟਾਂ ਨੂੰ ਕਿੰਨੇ ਸਕਿੰਟਾਂ ਵਿੱਚ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਹ ਸਮਾਂ ਸਕਿੰਟਾਂ ਵਿੱਚ ਹੈ। ਸਿਰਫ਼ ਤਾਂ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ ਜੇਕਰ ਸੈਗਮੈਂਟ ਮਿਟਾਉਣਾ ਯੋਗ ਹੋਵੇ।",
"AllowHWTranscodingHelp": "ਟਿਊਨਰ ਨੂੰ ਤੁਰੰਤ ਸਟ੍ਰੀਮਾਂ ਨੂੰ ਟ੍ਰਾਂਸਕੋਡ ਕਰਨ ਦਿਓ। ਇਹ ਸਰਵਰ ਦੁਆਰਾ ਲੋੜੀਂਦੀ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ।",
"AllowMediaConversion": "ਮੀਡੀਆ ਪਰਿਵਰਤਨ ਦੀ ਆਗਿਆ ਦਿਓ",
"AllowMediaConversionHelp": "ਕਨਵਰਟ ਮੀਡੀਆ ਵਿਸ਼ੇਸ਼ਤਾ ਤੱਕ ਪਹੁੰਚ ਦਿਓ ਜਾਂ ਇਨਕਾਰ ਕਰੋ।",
"AllowOnTheFlySubtitleExtraction": "ਤੁਰੰਤ ਉਪਸਿਰਲੇਖ ਕੱਢਣ ਦੀ ਆਗਿਆ ਦਿਓ",
"AllowOnTheFlySubtitleExtractionHelp": "ਏਮਬੈਡਡ ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਵੀਡੀਓ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਨੂੰ ਰੋਕਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ, ਵੀਡੀਓ ਤੋਂ ਐਕਸਟਰੈਕਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਕਲਾਇੰਟਾਂ ਨੂੰ ਸਾਦੇ ਟੈਕਸਟ ਵਿੱਚ ਡਿਲੀਵਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਕੁਝ ਸਿਸਟਮਾਂ 'ਤੇ ਇਸ ਵਿੱਚ ਲੰਮਾ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਐਕਸਟਰੈਕਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਵੀਡੀਓ ਪਲੇਬੈਕ ਰੁਕ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਕਲਾਇੰਟ ਡਿਵਾਈਸ ਦੁਆਰਾ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸਮਰਥਿਤ ਨਹੀਂ ਹੁੰਦੇ ਹਨ ਤਾਂ ਏਮਬੈਡਡ ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਵੀਡੀਓ ਟ੍ਰਾਂਸਕੋਡਿੰਗ ਨਾਲ ਬਰਨ ਕਰਨ ਲਈ ਇਸਨੂੰ ਅਯੋਗ ਕਰੋ।",
"AllowRemoteAccess": "ਇਸ ਸਰਵਰ ਨਾਲ ਰਿਮੋਟ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਆਗਿਆ ਦਿਓ",
"AllowRemoteAccessHelp": "ਜੇਕਰ ਅਣਚੈਕ ਨਹੀਂ ਕੀਤਾ ਗਿਆ, ਤਾਂ ਸਾਰੇ ਰਿਮੋਟ ਕਨੈਕਸ਼ਨ ਬਲੌਕ ਕਰ ਦਿੱਤੇ ਜਾਣਗੇ।",
"AllowTonemappingHelp": "ਟੋਨ-ਮੈਪਿੰਗ ਵੀਡੀਓ ਦੀ ਗਤੀਸ਼ੀਲ ਰੇਂਜ ਨੂੰ HDR ਤੋਂ SDR ਵਿੱਚ ਬਦਲ ਸਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਚਿੱਤਰ ਵੇਰਵਿਆਂ ਅਤੇ ਰੰਗਾਂ ਨੂੰ ਬਣਾਈ ਰੱਖਦੀ ਹੈ, ਜੋ ਕਿ ਅਸਲ ਦ੍ਰਿਸ਼ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਬਹੁਤ ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਹਨ। ਵਰਤਮਾਨ ਵਿੱਚ ਸਿਰਫ 10bit HDR10, HLG ਅਤੇ DoVi ਵੀਡੀਓਜ਼ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ ਸੰਬੰਧਿਤ GPGPU ਰਨਟਾਈਮ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।",
"AlwaysPlaySubtitlesHelp": "ਭਾਸ਼ਾ ਦੀ ਪਸੰਦ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਉਪਸਿਰਲੇਖ ਆਡੀਓ ਭਾਸ਼ਾ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਲੋਡ ਕੀਤੇ ਜਾਣਗੇ।",
"AlwaysRemuxFlacAudioFilesHelp": "ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਅਜਿਹੀਆਂ ਫਾਈਲਾਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਰ ਚਲਾਉਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ ਜਾਂ ਜਿੱਥੇ ਇਹ ਟਾਈਮਸਟੈਂਪਾਂ ਦੀ ਗਲਤ ਗਣਨਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਇੱਕ ਹੱਲ ਵਜੋਂ ਸਮਰੱਥ ਬਣਾਓ।",
"AlwaysRemuxMp3AudioFilesHelp": "ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਅਜਿਹੀਆਂ ਫਾਈਲਾਂ ਹਨ ਜਿਨ੍ਹਾਂ ਲਈ ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਰ ਟਾਈਮਸਟੈਂਪਾਂ ਦੀ ਗਲਤ ਗਣਨਾ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਇੱਕ ਹੱਲ ਵਜੋਂ ਸਮਰੱਥ ਬਣਾਓ।",
"AndOtherArtists": "{0} ਅਤੇ {1} ਹੋਰ ਕਲਾਕਾਰ।"
"AllowCollectionManagement": "ਇਸ ਉਪਭੋਗਤਾ ਨੂੰ ਕਲੈਕਸ਼ਨ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"
}

View file

@ -100,7 +100,7 @@
"Channels": "Kanały",
"CinemaModeConfigurationHelp": "Tryb kinowy, wnosi kinowe doświadczenia wprost do Twojego salonu, z możliwością odtwarzania zwiastunów i niestandardowych prezentacji przed seansem.",
"Collections": "Kolekcje",
"ColorPrimaries": "Kolory podstawowe",
"ColorPrimaries": "Wzorce kolorów",
"ColorSpace": "Przestrzeń kolorów",
"ColorTransfer": "Transfer kolorów",
"CommunityRating": "Ocena społeczności",

View file

@ -1194,20 +1194,20 @@
"Image": "Imagem",
"Other": "Outro",
"Data": "Dados",
"QuickConnectNotActive": "Conexão Rápida não está ativo nesse servidor",
"QuickConnectNotAvailable": "Peça ao administrador do servidor para ativar Conexão Rápida",
"QuickConnectInvalidCode": "Código Conexão Rápida inválido",
"QuickConnectDescription": "Para fazer login com Conexão Rápida, clique em 'Conexão Rápida' no dispositivo a partir do qual você está fazendo login e insira o código exibido abaixo.",
"QuickConnectDeactivated": "Conexão Rápida foi desativado antes que a solicitação de login fosse aprovada",
"QuickConnectAuthorizeFail": "Código de Conexão Rápida desconhecido",
"QuickConnectNotActive": "Quick Connect não está ativo nesse servidor",
"QuickConnectNotAvailable": "Peça ao administrador do servidor para ativar o Quick Connect",
"QuickConnectInvalidCode": "Código Quick Connect inválido",
"QuickConnectDescription": "Para fazer login com o Quick Connect, clique em 'Quick Connect' no dispositivo a partir do qual você está fazendo login e insira o código exibido abaixo.",
"QuickConnectDeactivated": "O Quick Connect foi desativado antes que a solicitação de login fosse aprovada",
"QuickConnectAuthorizeFail": "Código Quick Connect desconhecido",
"QuickConnectAuthorizeSuccess": "Você autorizou o dispositivo com sucesso!",
"QuickConnectAuthorizeCode": "Inserir código {0} para entrar",
"QuickConnectActivationSuccessful": "Ativado com sucesso",
"QuickConnect": "Conexão rápida",
"PosterCard": "Poster Cartão",
"LabelCurrentStatus": "Status atual",
"EnableQuickConnect": "Habilitar Conexão Rápida neste servidor",
"ButtonUseQuickConnect": "Usar Conexão Rápida",
"EnableQuickConnect": "Habilitar Quick Connect nesse servidor",
"ButtonUseQuickConnect": "Usar Quick Connect",
"ButtonActivate": "Ativar",
"Authorize": "Autorizar",
"LabelTonemappingDesat": "Dessaturação do Mapeamento de tom",
@ -1853,7 +1853,7 @@
"Success": "Sucesso",
"LabelProgramData": "Arquivos de programa",
"LabelRestore": "Restaurar",
"HeaderBackups": "Cópias de segurança",
"HeaderBackups": "Backups",
"LabelImageCache": "Arquivos de imagem temporários",
"LabelAvailable": "Disponível",
"LabelBundled": "Incluído",

View file

@ -1389,7 +1389,7 @@
"ErrorPlayerNotFound": "Не найден проигрыватель для запрошенных медиаданных.",
"LabelSortName": "Сортируемое имя",
"LabelOriginalName": "Оригинальное имя",
"AgeValue": "({0} лет)",
"AgeValue": "(в возрасте {0} лет)",
"PlaybackErrorPlaceHolder": "Это заполнитель для физических носителей, которые Jellyfin не может воспроизводить. Вставьте диск для воспроизведения.",
"LabelMaxDaysForNextUp": "Максимум дней в разделе \"Очередные\"",
"LabelMaxDaysForNextUpHelp": "Задать максимальное количество дней, в течение которых сериал должен оставаться в списке «Следующих серий» без его просмотра .",

View file

@ -67,7 +67,7 @@
"ColorSpace": "Farebný priestor",
"CommunityRating": "Hodnotenie komunity",
"Composer": "Skladateľ",
"ConfirmDeleteImage": "Vymazať obrázok?",
"ConfirmDeleteImage": "Zmazať obrázok?",
"ConfirmDeletion": "Potvrdiť zmazanie",
"ConfirmEndPlayerSession": "Chceli by ste vypnúť Jellyfin na {0}?",
"Connect": "Pripojiť",
@ -77,12 +77,12 @@
"DatePlayed": "Dátum prehrania",
"DeathDateValue": "Zomrel/a: {0}",
"ErrorDefault": "Pri spracovaní požiadavky došlo k chybe. Prosím, skúste to neskôr znova.",
"Delete": "Vymazať",
"DeleteDeviceConfirmation": "Naozaj chcete toto zariadenie odstrániť? Znovu sa zobrazí pri najbližšom prihlásení používateľa prostredníctvom tohto zariadenia.",
"DeleteImage": "Vymazať obrázok",
"DeleteImageConfirmation": "Určite chcete vymazať tento obrázok?",
"DeleteMedia": "Vymazať médiá",
"DeleteUser": "Vymazať používateľa",
"Delete": "Zmazať",
"DeleteDeviceConfirmation": "Ste si istý, že chcete zmazať toto zariadenie? Objaví sa znovu až keď sa ním používateľ nabudúce prihlási.",
"DeleteImage": "Zmazať obrázok",
"DeleteImageConfirmation": "Ste si istý, že chcete zmazať tento obrázok?",
"DeleteMedia": "Zmazať média",
"DeleteUser": "Zmazať používateľa",
"DeleteUserConfirmation": "Ste si istý, že chcete vymazať tohto používateľa?",
"Descending": "Zostupne",
"Desktop": "Počítač (zastaralé)",
@ -149,10 +149,10 @@
"HeaderContinueListening": "Pokračovať v počúvaní",
"HeaderContinueWatching": "Pokračovať v pozeraní",
"HeaderDateIssued": "Dátum vydania",
"HeaderDeleteDevice": "Vymazať zariadenie",
"HeaderDeleteItem": "Vymazať položku",
"HeaderDeleteItems": "Vymazať položky",
"HeaderDeleteProvider": "Vymazať poskytovateľa",
"HeaderDeleteDevice": "Zmazať zariadenie",
"HeaderDeleteItem": "Zmazať položku",
"HeaderDeleteItems": "Zmazať položky",
"HeaderDeleteProvider": "Zmazať poskytovateľa",
"HeaderDeviceAccess": "Prístup k zariadeniu",
"HeaderDevices": "Zariadenia",
"HeaderEditImages": "Upraviť obrázky",
@ -319,7 +319,7 @@
"LabelNumber": "Číslo",
"LabelOriginalAspectRatio": "Pôvodný pomer strán",
"LabelOriginalTitle": "Pôvodný názov",
"LabelOverview": "Súhrn",
"LabelOverview": "Prehľad",
"LabelParentalRating": "Rodičovské hodnotenie",
"LabelPassword": "Heslo",
"LabelPasswordConfirm": "Heslo (potvrdenie)",
@ -400,10 +400,10 @@
"MediaInfoResolution": "Rozlíšenie",
"MediaInfoSize": "Veľkosť",
"MediaInfoTimestamp": "Časová značka",
"MessageAreYouSureDeleteSubtitles": "Ste si istý, že chcete vymazať súbor s titulkami?",
"MessageAreYouSureDeleteSubtitles": "Ste si istý, že chcete zmazať súbor s titulkami?",
"MessageAreYouSureYouWishToRemoveMediaFolder": "Ste si istý, že chcete odstrániť tento priečinok s médiami?",
"MessageConfirmDeleteGuideProvider": "Naozaj chcete odstrániť tohto poskytovateľa sprievodcu?",
"MessageConfirmDeleteTunerDevice": "Naozaj chcete toto zariadenie odstrániť?",
"MessageConfirmDeleteGuideProvider": "Ste si istý, že chcete zmazať tohto poskytovateľa programu?",
"MessageConfirmDeleteTunerDevice": "Ste si istý, že chcete zmazať toto zariadenie?",
"MessageConfirmRecordingCancellation": "Zrušiť nahrávanie?",
"MessageConfirmRemoveMediaLocation": "Ste si istý, že chcete odstrániť toto umiestnenie?",
"MessageConfirmRestart": "Ste si istý, že chcete reštartovať Jellyfin?",
@ -424,7 +424,7 @@
"Mobile": "Mobilné (zastaralé)",
"Monday": "Pondelok",
"MoreFromValue": "Viac od {0}",
"MoreUsersCanBeAddedLater": "Ďalších používateľov môžete neskôr pridať cez Prehľad.",
"MoreUsersCanBeAddedLater": "Ďalších používateľov môžete neskôr pridať cez Dashboard.",
"MoveLeft": "Posunúť vľavo",
"MoveRight": "Posunúť vpravo",
"Movies": "Filmy",
@ -494,7 +494,7 @@
"OptionWeekends": "Víkendy",
"OptionWeekly": "Týždenne",
"OriginalAirDateValue": "Pôvodný dátum vysielania: {0}",
"Overview": "Súhrn",
"Overview": "Prehľad",
"PackageInstallCancelled": "{0} (verzia{1}) inštalácia zrušená.",
"PackageInstallCompleted": "{0} (verzia{1}) inštalácia dokončená.",
"PackageInstallFailed": "{0} (verzia {1}) inštalácia zlyhala.",
@ -583,7 +583,7 @@
"Sunday": "Nedeľa",
"TabAccess": "Prístup",
"TabAdvanced": "Pokročilé",
"TabDashboard": "Prehľad",
"TabDashboard": "Dashboard",
"TabLatest": "Nedávno pridané",
"TabMusic": "Hudba",
"TabNetworks": "Stanice",
@ -628,7 +628,7 @@
"ViewAlbum": "Zobraziť album",
"Wednesday": "Streda",
"WelcomeToProject": "Víta Vás Jellyfin!",
"WizardCompleted": "To je zatiaľ všetko, čo potrebujeme. Jellyfin začal zhromažďovať údaje o vašej multimediálnej knižnici. Pozrite si niektoré z našich aplikácií a potom kliknite na <b>Dokončiť</b> pre zobrazenie <b>Prehľadu</b>.",
"WizardCompleted": "To je zatiaľ všetko, čo potrebujeme. Jellyfin začal zhromažďovať údaje o vašej multimediálnej knižnici. Pozrite si niektoré z našich aplikácií a potom kliknite na <b>Dokončiť</b> pre zobrazenie <b>Dashboardu</b>.",
"Yes": "Áno",
"Yesterday": "Včera",
"AccessRestrictedTryAgainLater": "Prístup je momentálne obmedzený. Prosím, skúste to znova neskôr.",
@ -673,7 +673,7 @@
"List": "Zoznam",
"Logo": "Logo",
"MessageImageFileTypeAllowed": "Sú podporované iba súbory JPEG a PNG.",
"Playlists": "Zoznamy skladieb",
"Playlists": "Playlisty",
"Box": "Box",
"BoxRear": "Box (zadná časť)",
"ButtonLibraryAccess": "Prístup ku knižnici",
@ -687,9 +687,9 @@
"DisplayModeHelp": "Vyberte štýl rozloženia, ktorý chcete pre rozhranie.",
"EnableCinemaMode": "Kino režim",
"EnableNextVideoInfoOverlay": "Zobraziť informácie o nasledujúcom videu počas prehrávania",
"EnableNextVideoInfoOverlayHelp": "Na konci videa sa zobrazí informácie o nasledujúcom videu v aktuálnom zozname.",
"EnableNextVideoInfoOverlayHelp": "Na konci videa sa zobrazí informácie o nasledujúcom videu v aktuálnom playliste.",
"ErrorAddingMediaPathToVirtualFolder": "Pri pridávaní cesty k mediám nastala chyba. Uistite sa prosím, že cesta je platná, a že Jellyfin má prístup k umiestneniu.",
"HeaderAddToPlaylist": "Pridať do zoznamu skladieb",
"HeaderAddToPlaylist": "Pridať do playlistu",
"HeaderAlert": "Upozornenie",
"HeaderDownloadSync": "Sťahovanie a synchronizácia",
"HeaderExternalIds": "Externé ID",
@ -717,7 +717,7 @@
"OptionRequirePerfectSubtitleMatch": "Sťahovať iba titulky, ktoré perfektne sedia k video súborom",
"Rate": "Hodnotenie",
"Recordings": "Nahrávky",
"RemoveFromPlaylist": "Odstrániť zo zoznamu skladieb",
"RemoveFromPlaylist": "Odstrániť z playlistu",
"RepeatMode": "Režim opakovania",
"Rewind": "Pretočiť späť",
"Runtime": "Dĺžka",
@ -770,7 +770,7 @@
"DropShadow": "Tieň",
"Auto": "Automaticky",
"AllowMediaConversionHelp": "Povoliť alebo zakázať prístup k funkcií konverzie médií.",
"AddToPlaylist": "Pridať do zoznamu skladieb",
"AddToPlaylist": "Pridať do playlistu",
"HeaderAlbumArtists": "Interpreti albumu",
"AddToPlayQueue": "Pridať do fronty prehrávania",
"AllowHWTranscodingHelp": "Povoliť tuneru prekódovanie v reálnom čase. Toto môže znížiť množstvo prekódovania požadovaného serverom.",
@ -780,7 +780,7 @@
"LabelDisplayName": "Zobrazovaný názov",
"LabelDisplayLanguageHelp": "Preklad aplikácie Jellyfin je v neustálom vývoji.",
"LabelDateAddedBehaviorHelp": "Pokiaľ majú metadáta hodnotu, bude vždy použitá pred niektorou z týchto možností.",
"LabelDashboardTheme": "Téma Prehľadu servera",
"LabelDashboardTheme": "Téma Dashboardu servera",
"LabelCustomDeviceDisplayNameHelp": "Nahraďte vlastným názvom alebo ponechajte prázdne, aby bol názov určený zariadením.",
"LabelCache": "Vyrovnávacia pamäť",
"LabelBurnSubtitles": "Vypáliť titulky",
@ -827,7 +827,7 @@
"HeaderCancelSeries": "Ukončiť seriál",
"HeaderBranding": "Personalizácia",
"HeaderBlockItemsWithNoRating": "Blokovať položky so žiadnymi alebo nerozpoznanými informáciami o hodnotení",
"HeaderAppearsOn": "Nachádza sa na",
"HeaderAppearsOn": "Objaví sa",
"HeaderApp": "Aplikácia",
"HeaderApiKeysHelp": "Externé aplikácie musia mať vlastný API kľúč, aby mohli komunikovať so serverom. Kľúče sú vydávané pomocou prihlásenia cez bežný účet alebo manuálnym priradením kľúča aplikácií.",
"HeaderAdditionalParts": "Dodatočné časti",
@ -859,7 +859,7 @@
"DefaultMetadataLangaugeDescription": "Toto sú vaše predvolené hodnoty ktoré môžu byť prispôsobené na základe jednotlivých knižníc.",
"CopyStreamURLSuccess": "URL úspešne skopírovaná.",
"CopyStreamURL": "Kopírovať URL adresu streamu",
"ConfigureDateAdded": "Nastavte spôsob určovania metadát pre „Dátum pridania“ v časti Prehľad > Knižnice > Zobrazenie",
"ConfigureDateAdded": "Nastavte spôsob určovania metadát pre „Dátum pridania“ v časti Dashboard > Knižnice > Zobrazenie",
"ColorTransfer": "Prenos farieb",
"ColorPrimaries": "Primárna farba",
"CinemaModeConfigurationHelp": "Kino režim prináša zážitok ako z kina priamo do vašej obývačky s možnosťou prehrať upútavky a vlastné úvody pred hlavným programom.",
@ -904,7 +904,7 @@
"SeriesCancelled": "Seriál zrušený.",
"SelectAdminUsername": "Prosím, vyberte si používateľské meno pre účet administrátora.",
"RefreshQueued": "Obnovenie zaradené do fronty.",
"RefreshDialogHelp": "Metadáta sa obnovujú na základe nastavení a internetových služieb, ktoré sú povolené v Prehľade.",
"RefreshDialogHelp": "Metadáta sa obnovujú na základe nastavení a internetových služieb, ktoré sú povolené v Dashboarde.",
"MessageChangeRecordingPath": "Zmenou priečinku pre nahrávanie sa existujúce nahrávky automaticky nepresunú zo starej lokácie na novú. Budete ich musieť presunúť ručne, pokiaľ budete chcieť.",
"RecordSeries": "Nahrať sériu",
"Raised": "Vystupujúce",
@ -974,7 +974,7 @@
"LabelVideoBitrate": "Dátový tok videa",
"LabelVaapiDeviceHelp": "Toto je vykresľovaní node, ktorý sa používa na hardvérovú akceleráciu.",
"LabelVaapiDevice": "VA-API zariadenie",
"LabelUserRemoteClientBitrateLimitHelp": "Prepíšte predvolenú globálnu hodnotu nastavenú v nastaveniach servera; pozrite si časť Prehľad > Prehrávanie > Streamovanie.",
"LabelUserRemoteClientBitrateLimitHelp": "Prepíšte predvolenú globálnu hodnotu nastavenú v nastaveniach servera; pozrite si časť Dashboard > Prehrávanie > Streamovanie.",
"LabelUserLoginAttemptsBeforeLockout": "Neúspešné pokusy o prihlásenie pred uzamknutím používateľa",
"LabelTriggerType": "Typ spúšťača",
"LabelTranscodingThreadCountHelp": "Vyberte maximálny počet vlákien, ktoré sa môžu použiť na prekódovanie. Znížením počtu vlákien sa zníži aj využitie CPU, to však môže spôsobiť, že prevod nemusí byť dostatočne rýchly pre plynulé prehrávanie.",
@ -1017,7 +1017,7 @@
"LabelPostProcessor": "Aplikácia pre následné spracovanie",
"LabelPleaseRestart": "Zmeny sa prejavia až po ručnom obnovení webového klienta.",
"LabelPlayMethod": "Spôsob prehrávania",
"LabelPlaylist": "Zoznam skladieb",
"LabelPlaylist": "Playlist",
"LabelPlayer": "Prehrávač",
"LabelPersonRoleHelp": "Príklad: Vodič nákladiaku so zmrzlinou",
"LabelPasswordResetProvider": "Poskytovateľ obnovy hesla",
@ -1104,7 +1104,7 @@
"UnsupportedPlayback": "Jellyfin nemôže dešifrovať obsah chránený technológiou DRM, ale pokúsi sa o to, vrátane chránených titulov. Niektoré súbory sa môžu zobraziť ako kompletne čierne z dôvodu, že sú zašifrované alebo obsahujú nepodporované funckie, ako napríklad interaktívne funkcie.",
"Filter": "Filter",
"New": "Nové",
"ButtonTogglePlaylist": "Zoznam skladieb",
"ButtonTogglePlaylist": "Playlist",
"ApiKeysCaption": "Zoznam v súčasnosti povolených API kľúčov",
"LabelStable": "Stabilná",
"LabelChromecastVersion": "Verzia Google Cast",
@ -1186,8 +1186,8 @@
"Other": "Ostatné",
"EnableQuickConnect": "Povoliť Rýchle pripojenie k tomuto serveru",
"EnableAutoCast": "Nastaviť ako predvolený",
"DeleteDevicesConfirmation": "Naozaj chcete vymazať všetky zariadenia? Všetky ostatné relácie budú odhlásené. Zariadenia sa znovu objavia až pri ďalšom prihlásení.",
"DeleteAll": "Vymazať všetko",
"DeleteDevicesConfirmation": "Naozaj chcete zmazať všetky zariadenia? Všetky ostatné relácie budú odhlásené. Zariadenia sa znovu objavia až pri ďalšom prihlásení.",
"DeleteAll": "Zmazať všetko",
"Data": "Údaje",
"ThumbCard": "Thumb karta",
"Bwdif": "Bob Weaver DeInterlacing Filter (BWDIF)",
@ -1209,7 +1209,7 @@
"HeaderUploadSubtitle": "Nahrať titulky",
"HeaderPortRanges": "Nastavenia firewallu a proxy",
"HeaderNetworking": "Protokoly IP",
"HeaderDeleteDevices": "Vymazať všetky zariadenia",
"HeaderDeleteDevices": "Zmazať všetky zariadenia",
"HeaderAutoDiscovery": "Zisťovanie siete",
"HeaderAddUser": "Pridať používateľa",
"HeaderAddUpdateSubtitle": "Pridať/aktualizovať titulky",
@ -1305,7 +1305,7 @@
"LabelSyncPlayTimeSyncDevice": "Časová synchronizácia s",
"LabelSyncPlayResumePlaybackDescription": "Pripojiť sa späť ku skupinovému prehrávaniu",
"LabelSyncPlayResumePlayback": "Pokračovať v lokálnom prehrávaní",
"LabelSyncPlayHaltPlaybackDescription": "A ignorovať aktualizácie aktuálneho zoznamu skladieb",
"LabelSyncPlayHaltPlaybackDescription": "A ignorovať aktualizácie aktuálneho playlistu",
"LabelSyncPlayHaltPlayback": "Zastaviť lokálne prehrávanie",
"MessagePlaybackError": "Nastala chyba pri prehrávaní tohoto súboru na vašom zariadení Google Cast.",
"MessageChromecastConnectionError": "Vášmu zariadeniu Google Cast sa nepodarilo kontaktovať Jellyfin server. Prosím, skontrolujte spojenie a skúste to znovu.",
@ -1538,7 +1538,7 @@
"LabelEnableLUFSScan": "Povoliť skenovanie LUFS",
"LabelEnableLUFSScanHelp": "Klienti môžu normalizovať prehrávanie zvuku, aby sa dosiahla rovnaká hlasitosť všetkých stôp. (Predlžuje prehľadávanie knižnice a je náročnejšie na výkon).",
"MenuOpen": "Otvoriť ponuku",
"AllowSegmentDeletion": "Vymazať segmenty",
"AllowSegmentDeletion": "Zmazať segmenty",
"LogoScreensaver": "Šetrič obrazovky s logom",
"AllowAv1Encoding": "Povoliť kódovanie do formátu AV1",
"BackdropScreensaver": "Šetrič obrazovky s pozadím",
@ -1665,8 +1665,8 @@
"HeaderNoLyrics": "Nenašli sa žiadne texty piesní",
"ViewLyrics": "Zobraziť texty piesní",
"SavePassword": "Uložiť heslo",
"PlaylistError.AddFailed": "Chyba pri pridávaní do zoznamu skladieb",
"PlaylistError.CreateFailed": "Chyba pri vytváraní zoznamu skladieb",
"PlaylistError.AddFailed": "Chyba pri pridávaní do playlistu",
"PlaylistError.CreateFailed": "Chyba pri vytváraní playlistu",
"EnableDts": "Povoliť DTS (DCA)",
"EnableDtsHelp": "Povoľte len vtedy, ak vaše zariadenie podporuje DTS alebo je pripojené ku kompatibilnému audio receiveru, inak môže dôjsť k zlyhaniu prehrávania.",
"EnableTrueHd": "Povoliť TrueHD",
@ -1686,7 +1686,7 @@
"SaveLyricsIntoMediaFolders": "Uložiť texty piesní do priečinkov médií",
"SaveLyricsIntoMediaFoldersHelp": "Uloženie textov piesní k zvukovým súborom umožní ich jednoduchšie spravovanie.",
"Translator": "Prekladateľ",
"PlaylistPublicDescription": "Povoliť zobrazenie tohto zoznamu skladieb každému prihlásenému používateľovi.",
"PlaylistPublicDescription": "Povoliť zobrazenie tohto playlistu každému prihlásenému používateľovi.",
"LibraryScanFanoutConcurrencyHelp": "Maximálny počet paralelných úloh počas skenovania knižnice. Ak túto položku necháte prázdnu, zvolí sa limit na základe počtu CPU jadier vášho systému. UPOZORNENIE: Nastavenie príliš vysokého čísla môže spôsobiť problémy so sieťovými súborovými systémami, Ak sa vyskytnú problémy, znížte toto číslo.",
"LibraryScanFanoutConcurrency": "Limit úloh paralelného skenovania knižnice",
"LabelSelectPreferredTranscodeVideoAudioCodec": "Preferovaný zvukový kodek pre prekódovanie počas prehrávania videa",
@ -1776,9 +1776,9 @@
"MediaSegmentType.Outro": "Záverečné titulky",
"MediaSegmentType.Preview": "Ukážka",
"MediaSegmentType.Recap": "Rekapitulácia",
"PlaylistError.UpdateFailed": "Chyba pri aktualizácii zoznamu skladieb",
"HeaderEditPlaylist": "Upraviť zoznam skladieb",
"HeaderNewPlaylist": "Nový zoznam skladieb",
"PlaylistError.UpdateFailed": "Chyba pri aktualizácii playlistu",
"HeaderEditPlaylist": "Upraviť playlist",
"HeaderNewPlaylist": "Nový playlist",
"MediaSegmentAction.AskToSkip": "Opýtať sa na preskočenie",
"MediaSegmentSkipPrompt": "Preskočiť {0}",
"Anime": "Anime",
@ -1871,8 +1871,8 @@
"HeaderDeleteCollection": "Vymazať kolekciu",
"HeaderDeletePlaylist": "Vymazať zoznam skladieb",
"LabelSlideshowInterval": "Interval prezentácie fotografií",
"NewPlaylist": "Nový zoznam skladieb",
"OptionDatePlaylistUpdated": "Dátum aktualizácie zoznamu skladieb",
"NewPlaylist": "Nový playlist",
"OptionDatePlaylistUpdated": "Dátum aktualizácie playlistu",
"ActivitiesLoadError": "Nepodarilo sa načítať aktivity",
"ApiKeysLoadError": "Nepodarilo sa načítať API kľúče",
"Authors": "Autori",

View file

@ -1605,7 +1605,7 @@
"ConfirmDeleteLyrics": "Če izbrišete ta besedila pesmi, jih boste izbrisali iz datotečnega sistema in knjižnice predstavnosti. Ste prepričani, da želite nadaljevati?",
"Alternate": "Izmenjavati",
"AlternateDVD": "Nadomestni DVD",
"Anime": "Japonske risanke",
"Anime": "Anime",
"FallbackMaxStreamingBitrateHelp": "Največja bitna hitrost pretakanja se uporablja kot nadomestna, ko ffprobe ne more določiti bitne hitrosti izvornega toka. S tem preprečite, da bi odjemalci zahtevali previsoko bitno hitrost prekodiranja, kar bi lahko povzročilo odpoved predvajalnika in preobremenitev kodirnika.",
"HeaderMediaSegmentActions": "Dejanja Medijskega Segmenta",
"DeleteEpisode": "Izbriši Epizodo",

View file

@ -1487,7 +1487,7 @@
"ChannelResolutionUHD4K": "УХД (4К)",
"ConfirmDeleteSeries": "Брисањем ове серије избрисаћете СВИХ {0} епизода из фајл система и ваше медијатеке. Да ли сте сигурни да желите да наставите?",
"ConfirmDeleteLyrics": "Брисањем ових текстова песама избрисаћете их из фајл система и ваше медијатеке. Да ли сте сигурни да желите да наставите?",
"Anime": "Јапански цтрићи",
"Anime": "Аниме",
"Creator": "Креатор",
"DeleteSeries": "Избриши серију",
"DeleteEpisode": "Избриши епизоду",

View file

@ -1722,7 +1722,7 @@
"PluginEnableError": "செருகுநிரலை இயக்கும்போது பிழை ஏற்பட்டது.",
"PluginLoadConfigError": "செருகுநிரல் உள்ளமைவு பக்கங்களைப் பெறும்போது பிழை ஏற்பட்டது.",
"ReadInputAtNativeFramerateHelp": "இந்த விருப்பத்தை இயக்குவது சில சிக்கல்களைத் தீர்க்கக்கூடும், எ.கா. நேரடி ஒளிபரப்புகள் முன்கூட்டியே நிறுத்தப்படுவது.",
"RenderPgsSubtitleHelp": "உள்ளமைக்கப்பட்ட வசன வரிகளைப் பயன்படுத்துவதற்குப் பதிலாக, கிளையன்ட் PGS மற்றும் VobSub வசன வரிகளை வழங்க வேண்டுமா என்பதைத் தீர்மானியுங்கள். இதன் மூலம், கிளையன்ட் தரப்பு வழங்கல் செயல்திறனை அதிகரித்துக் கொண்டு, சர்வர் தரப்பு குறியீட்டு மாற்றத்தைத் தவிர்க்கலாம்.",
"RenderPgsSubtitleHelp": "கிளையன்ட், பர்ன்டு இன் சப்டைட்டில்களைப் பயன்படுத்துவதற்குப் பதிலாக PGS சப்டைட்டில்களை ரெண்டர் செய்ய வேண்டுமா என்பதைத் தீர்மானிக்கவும். இது கிளையன்ட்-சைட் ரெண்டரிங் செயல்திறனுக்கு ஈடாக சர்வர்-சைட் டிரான்ஸ்கோடிங்கைத் தவிர்க்கலாம்.",
"RetryWithGlobalSearch": "உலகளாவிய தேடலுடன் மீண்டும் முயற்சிக்கவும்",
"Reset": "மீட்டமைக்கவும்",
"RepositoriesPageLoadError": "களஞ்சியங்களை ஏற்றுவதில் தோல்வி",
@ -1780,7 +1780,7 @@
"HeaderPageNotFound": "பக்கம் கிடைக்கவில்லை",
"UseCustomTagDelimiters": "தனிப்பயன் டேக் பிரிப்பானைப் பயன்படுத்தவும்",
"LabelNoChangelog": "இந்த வெளியீட்டிற்கு எந்த மாற்றப் பதிவும் வழங்கப்படவில்லை.",
"RenderPgsSubtitle": "சோதனை PGS மற்றும் VobSub வசன ரெண்டரிங்",
"RenderPgsSubtitle": "பரிசோதனை PGS வசன ரெண்டரிங்",
"LabelEnablePlugin": "செருகுநிரலை இயக்கு",
"LabelIsSynced": "ஒத்திசைக்கப்பட்டது",
"LabelMediaSegmentsType": "{0} பிரிவுகள்",
@ -1867,83 +1867,5 @@
"ButtonAddTunerDevice": "ட்யூனர் சாதனத்தைச் சேர்",
"Disabled": "முடக்கப்பட்டது",
"Watch": "பார்த்தல்",
"MessageItemMetadataLocked": "இந்த உருப்படியின் மெட்டாடேட்டா பூட்டப்பட்டுள்ளது. அடையாளம் காணும் அம்சத்தைப் பயன்படுத்துவதற்கு முன் அதைத் திறக்கவும்.",
"ActivitiesLoadError": "செயல்பாடுகளை ஏற்ற முடியவில்லை",
"ApiKeysLoadError": "API திறவிகளை ஏற்ற முடியவில்லை",
"Authors": "ஆசிரியர்கள்",
"BitmapSubtitleAspectModeContain": "உள்ளடக்கிய",
"BitmapSubtitleAspectModeCover": "உறை",
"BitmapSubtitleAspectModeHelp": "கிளையன்ட்-ரெண்டர் செய்யப்பட்ட PGS மற்றும் VobSub வசனங்கள் எப்படி தெரியும் வீடியோ பகுதிக்கு அளவிடப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது.",
"BitmapSubtitleAspectModeStretch": "நீட்டு",
"BrandingLoadError": "பிராண்டிங் அமைப்புகளை ஏற்ற முடியவில்லை",
"CardSettings": "அட்டை அமைப்புகள்",
"ConfirmDeleteItemByName": "\"{0}\" ஐ நீக்குவது கோப்பு முறைமை மற்றும் உங்கள் மீடியா லைப்ரரி இரண்டிலிருந்தும் நீக்கப்படும். நீங்கள் நிச்சயமாக தொடர விரும்புகிறீர்களா?",
"ConfirmDeleteCollection": "இந்தத் தொகுப்பை நீக்க நீங்கள் உறுதியாக விரும்புகிறீர்களா?",
"ConfirmDeletePlaylist": "இந்தப் பிளேலிஸ்ட்டை நீக்க நீங்கள் உறுதியாக விரும்புகிறீர்களா?",
"ConfirmSplitMedia": "மீடியா ஆதாரங்களை தனித்தனி உருப்படிகளாகப் பிரிக்க விரும்புகிறீர்களா?",
"ConfirmStillWatching": "நீங்கள் இன்னும் பார்த்துக் கொண்டிருக்கிறீர்களா?",
"ContinueReading": "தொடர்ந்து படிக்கவும்",
"Creators": "படைப்பாளர்கள்",
"DevicesLoadError": "சாதனங்களை ஏற்ற முடியவில்லை",
"ViewDoublePage": "இரட்டைப் பக்கக் காட்சி",
"ViewSinglePage": "ஒற்றைப் பக்கக் காட்சி",
"ViewLeftToRight": "இடமிருந்து வலமாக",
"ViewRightToLeft": "வலமிருந்து இடமாக",
"HeaderDeleteCollection": "சேகரிப்பை நீக்கு",
"HeaderDeletePlaylist": "பிளேலிஸ்ட்டை நீக்கு",
"HeaderLatestBooks": "சமீபத்தில் சேர்க்கப்பட்ட புத்தகங்கள்",
"HeaderLatestMusicVideos": "சமீபத்தில் சேர்க்கப்பட்ட இசை வீடியோக்கள்",
"HeaderSplitMedia": "ஊடகங்களைப் பிளவுபடுத்துங்கள்",
"HeaderTypeSimilarItemProviders": "ஒத்த உருப்படி வழங்குநர்கள் ({0})",
"IndexNumber": "குறியீட்டு எண்",
"LabelBackupWarning": "திட்டமிடப்பட்ட பணிகள் தற்போது நடைபெற்று வருகின்றன. காப்புப் பிரதி செயல்பாட்டைத் தொடங்குவதற்கு முன், அவற்றை நிறுத்துவது அல்லது அவை முடிவடையும் வரை காத்திருப்பது பரிந்துரைக்கப்படுகிறது.",
"LabelSlideshowInterval": "புகைப்பட ஸ்லைடுஷோ இடைவேளை",
"LabelSlideshowIntervalHelp": "ஒவ்வொரு புகைப்படமும் வினாடிகளில் காட்டப்படும் நேரம், படக்காட்சிகளில் காண்பிக்கப்படுகிறது.",
"LabelBitmapSubtitleAspectMode": "பிட்மேப் துணைத்தலைப்பு தோற்றப் பயன்முறை",
"LabelSimilarItemProvidersHelp": "உங்கள் விருப்பமான ஒத்த உருப்படி வழங்குநர்களை முன்னுரிமை வரிசையில் இயக்கி வரிசைப்படுத்தவும்.",
"LabelInternalServerUri": "உள் URI",
"LabelInternalServerUriHelp": "உள் அணுகலுக்காக வெளியிடப்பட்ட சேவையக URI.",
"LabelOriginalLanguage": "அசல் மொழி",
"LabelSyncPlayJoinGroup": "குழுவில் சேரவும்",
"LabelUseSamePublishedServerUri": "உள் மற்றும் வெளி அணுகலுக்கு வெளியிடப்பட்ட ஒரே சேவையக URI-ஐப் பயன்படுத்தவும்",
"LibrariesLoadError": "நூலகங்களை ஏற்ற முடியவில்லை",
"MessageForgotPasswordRedirect": "கடவுச்சொல் மீட்டமைப்பிற்காக நீங்கள் ஒரு வெளிப்புற சேவை வழங்குநரிடம் திருப்பி விடப்பட்டுள்ளீர்கள்.",
"MessageNoEpisodesFound": "தற்போது எந்த அத்தியாயங்களும் கிடைக்கவில்லை.",
"NetworkingPageLoadError": "பிணைய அமைப்புகளை ஏற்ற முடியவில்லை",
"NewPlaylist": "புதிய பிளேலிஸ்ட்",
"NoCastTargets": "வார்ப்பு இலக்குகள் எதுவும் கிடைக்கவில்லை",
"Novel": "நாவல்",
"OnFilesystem": "கோப்பு முறைமையில்: {0}",
"OptionDatePlaylistUpdated": "பிளேலிஸ்ட் புதுப்பிக்கப்பட்ட தேதி",
"OriginalLanguage": "அசல் மொழி",
"ResetFilters": "வடிப்பான்களை மீட்டமைக்கவும்",
"ResumeLoadError": "மீண்டும் தொடங்குவதற்கான அமைப்புகளை ஏற்ற முடியவில்லை",
"Screenplay": "திரைக்கதை",
"SeriesName": "தொடரின் பெயர்",
"StillWatchingPrompt": "இன்னும் பார்த்துக்கொண்டிருக்கிறேன்",
"StillWatchingOption": "{0} அத்தியாயங்கள் அல்லது {1} நிமிடங்கள்",
"StopWatching": "பார்ப்பதை நிறுத்துங்கள்",
"StreamingLoadError": "ஸ்ட்ரீமிங் பக்க அமைப்புகளை ஏற்ற முடியவில்லை",
"HeaderBackupWarning": "எச்சரிக்கை: திட்டமிடப்பட்ட பணிகள் தொடர்ந்து நடைபெறுகின்றன",
"TableOfContents": "பொருளடக்கம்",
"Unwatch": "பார்க்காதே",
"UsersEditPageError": "பயனர்கள் திருத்தும் பக்கத்தை ஏற்ற முடியவில்லை",
"HlsAudioSeekStrategy": "HLS ஸ்ட்ரீம்களில் தேடும்போது பயன்படுத்த வேண்டிய உத்தி.",
"VideoRotationNotSupported": "வீடியோ சுழற்சி ஆதரிக்கப்படவில்லை",
"LabelHlsAudioSeekStrategy": "ஒலித் தேடல் உத்தி.",
"TrickplayLoadError": "ட்ரிக் பிளே அமைப்புகளை ஏற்ற முடியவில்லை",
"LabelUsernameAllowedCharactersHelp": "பயனர்பெயர்களில் எழுத்துக்கள், எண்கள், இடைவெளிகள் மற்றும் பின்வரும் குறியீடுகள் இடம்பெறலாம்: - _ ' . @ +. அவை இடைவெளியுடன் தொடங்கவோ அல்லது முடியவோ கூடாது.",
"LabelExternalServerUri": "வெளிப்புற URI",
"LabelExternalServerUriHelp": "வெளிப்புற அணுகலுக்காக வெளியிடப்பட்ட சேவையக URI.",
"LabelVideoAttributes": "வீடியோ பண்புக்கூறுகள்",
"LabelVideoColors": "வீடியோ வண்ணங்கள்",
"LabelVideoBitDepth": "வீடியோ பிட் ஆழம்",
"LabelAudioAttributes": "ஆடியோ பண்புக்கூறுகள்",
"LabelTargetCodecs": "இலக்கு கோடெக்குகள்",
"LabelProgressAndSpeed": "முன்னேற்றம் / வேகம்",
"LabelReasons": "காரணங்கள்",
"LabelPlayerSizes": "பிளேயர் அளவுகள்",
"LabelPlaybackQuality": "சட்டகம் கைவிடப்பட்டது / சிதைந்தது",
"AudioLanguages": "ஆடியோ மொழிகள்",
"SubtitleLanguages": "துணைத் தலைப்பு மொழிகள்"
"MessageItemMetadataLocked": "இந்த உருப்படியின் மெட்டாடேட்டா பூட்டப்பட்டுள்ளது. அடையாளம் காணும் அம்சத்தைப் பயன்படுத்துவதற்கு முன் அதைத் திறக்கவும்."
}

Some files were not shown because too many files have changed in this diff Show more