Compare commits

...

30 Commits

Author SHA1 Message Date
Gauvino
59c5195120 refactor(i18n): reuse login.login_button instead of new login.login alias
login.login duplicated login.login_button (both 'Log In'). Point the TV
password modal at the existing key and drop the redundant source key.
Addresses CodeRabbit (en.json:29).
2026-06-01 13:06:03 +02:00
Gauvain
f325d04666 feat(i18n): complete & audit French (fr) translations (#1635) 2026-06-01 12:34:38 +02:00
Gauvino
ac2bb104e4 refactor(i18n): harden key checker per review
- Validate static t() keys even under a dynamic prefix (dynamic prefixes now
  only affect the unused calc, not missing) — Copilot
- Strip JS/TS/JSX comments before scanning so keys in comments aren't counted
  as usage — CodeRabbit
- Run i18n:check as part of \un run test\ so local mirrors CI — CodeRabbit
- Fix stale 'all locale files' comment (fixer is source-only) — Copilot
2026-06-01 12:15:22 +02:00
Gauvino
5d3648e875 chore(i18n): propagate obsolete-key removal to all locales 2026-06-01 11:41:51 +02:00
Gauvino
8def6d3d46 chore(i18n): remove obsolete unused keys from en.json
Keeps 15 keys for planned features (watchlist add/remove, PIN confirm,
in-player subtitle search, stop-playback confirm) via the checker allow-list.
2026-06-01 11:41:49 +02:00
Gauvino
e8f21a879c fix(i18n): add 9 source keys referenced in code but missing from en.json 2026-06-01 11:41:47 +02:00
Gauvino
badbce34e1 ci(i18n): add unused & missing translation-key check to Quality Gate
Dependency-free Bun script (bun run i18n:check, added to the linting matrix):
flags keys referenced in code but missing from en.json, and keys in en.json
referenced nowhere. Handles dynamic t(\prefix.\\) and keys stored as string
constants (exact delimited-literal match). Source-only: only en.json is
checked/edited; Crowdin syncs the other locales. Planned-feature keys are
allow-listed in scripts/i18n-keys.config.json.
2026-06-01 11:41:44 +02:00
github-actions[bot]
32c99de874 feat: New Crowdin Translations (#1460)
Some checks failed
🌐 Translation Sync / sync-translations (push) Waiting to run
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-06-01 10:33:17 +02:00
Fredrik Burmester
c232e433bf fix(ci): grant actions:read to github-release job (#1634) 2026-06-01 10:31:05 +02:00
Fredrik Burmester
07e2faff07 fix(tv): only add user-management entitlement for tvOS builds (#1633) 2026-06-01 10:28:21 +02:00
Fredrik Burmester
8507699cdd feat(eas): force bun on EAS via custom build configs + 5-build release workflow (#1632) 2026-06-01 10:24:52 +02:00
Gauvain
21fb056586 fix(i18n): make two hardcoded titles translatable (#1627) 2026-06-01 09:46:27 +02:00
Gauvain
1d79b513f3 fix(item): dedupe top people sections by id (#1623) 2026-06-01 09:37:45 +02:00
Gauvain
863dffd944 fix(chapters): keep landscape when opening chapter list on iOS (#1624) 2026-06-01 09:37:35 +02:00
lance chant
6aa0868bfd fix: fixed a runtime issue for android (#1628)
Signed-off-by: Lance Chant <13349722+lancechant@users.noreply.github.com>
2026-06-01 09:35:19 +02:00
Felix Schneider
6b7ee0514f feat(i18n): add new translations for action sheet options (#1475)
Some checks failed
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🌐 Translation Sync / sync-translations (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
Co-authored-by: lance chant <13349722+lancechant@users.noreply.github.com>
Co-authored-by: Gauvain <contact@uruk.dev>
2026-05-31 23:45:45 +02:00
Fredrik Burmester
c663bd0413 fix(jellyseerr): correct RequestModal ref type to fix typecheck
advancedReqModalRef was typed as BottomSheetModal but RequestModal's
forwardRef expects BottomSheetModalMethods, causing a TS2322 error
that broke the Security & Quality Gate typecheck on develop.
2026-05-31 22:10:15 +02:00
Alex
52e6f56220 fix(auth): clear stored user on logout to prevent empty home on relaunch (#1622) 2026-05-31 21:52:41 +02:00
Fredrik Burmester
c981f59a50 fix(downloads): repair bottom sheets on iOS and restore downloads delete sheet
Some checks failed
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🌐 Translation Sync / sync-translations (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
Bump @gorhom/bottom-sheet 5.2.8 -> 5.2.14, which fixes BottomSheetModal
present() silently no-opping under Reanimated 4 / New Architecture (SDK 56).
Affected every sheet app-wide: present() was called with a valid ref but
nothing rendered (not even the backdrop). Verified on the iOS simulator that
the download options sheet now opens.

Also restore the downloads-page delete sheet (delete movies/series/other/all)
that was accidentally dropped in the Expo 54 rewrite (#1174), which left an
orphaned trigger button and underscore-silenced handlers.
2026-05-31 14:58:51 +02:00
Alex
62fc6f9a70 fix(progress-bar): Fix progress bar not reporting watch times (#1611)
Co-authored-by: Gauvain <contact@uruk.dev>
2026-05-31 22:12:13 +10:00
Fredrik Burmester
eb8dd51b4e feat(ci): EAS build + auto-submit release workflow for main (#1616) 2026-05-31 13:23:02 +02:00
Fredrik Burmester
ea5a999f21 fix(deps): declare react-native-tab-view and material-top-tabs (#1617) 2026-05-31 12:40:56 +02:00
Felix Schneider
dffcdef945 feat(i18n): Add translation for "ends at" (#1474)
Co-authored-by: Gauvain <contact@uruk.dev>
2026-05-31 12:10:22 +02:00
Fredrik Burmester
fa1c3f3947 chore(eas): pin appleTeamId and ascAppId in submit profiles
Some checks failed
🏗️ Build Apps / 🤖 Build Android APK (Phone) (push) Has been cancelled
🏗️ Build Apps / 🤖 Build Android APK (TV) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build iOS IPA (Phone - Unsigned) (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (push) Has been cancelled
🏗️ Build Apps / 🍎 Build tvOS IPA (Unsigned) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
Avoid the interactive Apple team picker and app-existence lookup on
submit by pinning the Individual team (MWD5K362T8) and ASC App ID.
2026-05-31 11:22:59 +02:00
Fredrik Burmester
2761de5a74 chore(eas): use remote app version source with autoIncrement
Switch cli.appVersionSource to remote and enable autoIncrement on all
production profiles so EAS bumps the build number every release instead
of resetting to 1. Remove the dead android.versionCode from app.json and
the unused EAS Update channel (no expo-updates installed).
2026-05-31 11:22:59 +02:00
Fredrik Burmester
feca1d7e9c fix(android): resolve mpv-player Kotlin smart-cast build error (#1614) 2026-05-31 10:50:06 +02:00
Fredrik Burmester
6b6bfd1a89 fix(player): remove white blob artifacts on vertical sliders 2026-05-31 10:48:24 +02:00
Fredrik Burmester
d585b20f49 chore: version 2026-05-31 09:44:05 +02:00
Fredrik Burmester
692ccfdb2c fix(tvos): add arm64 UIRequiredDeviceCapabilities to Top Shelf extension
App Store Connect rejected TestFlight submissions because the Top Shelf
extension binary has a 64-bit slice but did not declare arm64 under
UIRequiredDeviceCapabilities in its Info.plist.
2026-05-31 09:42:09 +02:00
Fredrik Burmester
86e39c444c fix(ios): SDK 56 / iOS 26 EAS build fixes (SwiftUICore autolink + patch-package) (#1613) 2026-05-31 09:37:08 +02:00
69 changed files with 6943 additions and 4063 deletions

View File

@@ -0,0 +1,25 @@
# Custom EAS Build config for Android phone APK (downloadable artifact).
# Same bun-forcing flow as android-production.yml, but builds an APK
# (assembleRelease) instead of an AAB — for sideloading / GitHub artifact.
# Referenced from eas.json: build.production-apk.android.config
build:
name: Android phone APK (bun)
steps:
- eas/checkout
- run:
name: Install dependencies (bun, frozen)
command: bun install --frozen-lockfile
- run:
name: Prebuild (Android, bun)
command: bunx expo prebuild --platform android --no-install
- eas/configure_android_version
- eas/inject_android_credentials
- eas/run_gradle:
inputs:
command: :app:assembleRelease
- eas/find_and_upload_build_artifacts

View File

@@ -0,0 +1,27 @@
# Custom EAS Build config for Android TV APK (downloadable artifact).
# Same bun-forcing flow, with EXPO_TV=1 (set via the profile env in
# eas.json) so prebuild generates the TV variant. Builds an APK for
# sideloading onto Android TV devices.
# Referenced from eas.json: build.production-apk-tv.android.config
build:
name: Android TV APK (bun)
steps:
- eas/checkout
- run:
name: Install dependencies (bun, frozen)
command: bun install --frozen-lockfile
# EXPO_TV=1 comes from the profile env, so prebuild targets Android TV.
- run:
name: Prebuild (Android TV, bun)
command: bunx expo prebuild --platform android --no-install
- eas/configure_android_version
- eas/inject_android_credentials
- eas/run_gradle:
inputs:
command: :app:assembleRelease
- eas/find_and_upload_build_artifacts

View File

@@ -0,0 +1,38 @@
# Custom EAS Build config for Android (production AAB).
#
# Why this exists: EAS's managed build can't detect Bun's text lockfile
# (bun.lock) and falls back to yarn, which breaks our install. The managed
# steps `eas/install_node_modules` and `eas/prebuild` both use "the package
# manager detected based on your project", so we replace them with explicit
# `bun` commands. Everything else uses EAS's built-in functions so we still
# get remote versioning, credentials, and artifact upload.
#
# Referenced from eas.json: build.production.android.config = android-production.yml
build:
name: Android production (bun)
steps:
- eas/checkout
- run:
name: Install dependencies (bun, frozen)
command: bun install --frozen-lockfile
# android/ is gitignored, so generate native code fresh. --no-install
# because deps are already installed above; bunx keeps it on bun.
- run:
name: Prebuild (Android, bun)
command: bunx expo prebuild --platform android --no-install
# Applies the EAS-resolved remote versionCode/versionName (autoIncrement
# in eas.json) into the freshly prebuilt android/ project.
- eas/configure_android_version
# Injects the remote Android keystore / signing config.
- eas/inject_android_credentials
# Build the Play Store app bundle (.aab).
- eas/run_gradle:
inputs:
command: :app:bundleRelease
- eas/find_and_upload_build_artifacts

View File

@@ -0,0 +1,44 @@
# Custom EAS Build config for iOS + tvOS (App Store), forcing bun.
#
# Shared by both the iPhone profile (production) and the tvOS profile
# (production_tv). The profile decides the rest:
# - production_tv sets EXPO_TV=1 (env) so prebuild targets tvOS, and
# credentialsSource: local (EAS can't manage tvOS creds remotely).
# - production uses remote-managed iOS credentials.
#
# Like the Android configs, this replaces eas/install_node_modules and
# eas/prebuild (both auto-detect the wrong package manager) with explicit
# bun commands, and keeps EAS built-ins for credentials/version/fastlane.
build:
name: iOS/tvOS App Store (bun)
steps:
- eas/checkout
- run:
name: Install dependencies (bun, frozen)
command: bun install --frozen-lockfile
- eas/resolve_apple_team_id_from_credentials:
id: resolve_team
# android/ + ios/ are gitignored, so generate native code fresh.
# EXPO_TV (from the profile env) selects iPhone vs tvOS. --no-install
# skips JS + pod install; we install pods explicitly below with bun deps.
- run:
name: Prebuild (iOS/tvOS, bun)
command: bunx expo prebuild --platform ios --no-install
- run:
name: Install CocoaPods
working_directory: ./ios
command: pod install
- eas/configure_ios_credentials
- eas/configure_ios_version
- eas/generate_gymfile_from_template:
inputs:
credentials: ${ eas.job.secrets.buildCredentials }
- eas/run_fastlane
- eas/find_and_upload_build_artifacts

View File

@@ -97,6 +97,7 @@ jobs:
- "check" - "check"
- "format" - "format"
- "typecheck" - "typecheck"
- "i18n:check"
steps: steps:
- name: "📥 Checkout PR code" - name: "📥 Checkout PR code"

216
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,216 @@
name: 🚀 Release (EAS build + submit)
# On merge to main (gated by the `production` GitHub Environment approval),
# build all targets on EAS in parallel via custom bun build configs:
# 1. iOS phone → App Store (auto-submit)
# 2. tvOS → App Store (auto-submit)
# 3. Android AAB → Google Play (auto-submit)
# 4. Android phone APK→ downloadable artifact
# 5. Android TV APK → downloadable artifact
# Note: EAS queues builds based on your plan's concurrency; parallel jobs
# here just submit them — EAS may still run them serially.
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
on:
push:
branches: [main]
workflow_dispatch:
jobs:
approve:
name: 🔐 Approve release
runs-on: ubuntu-24.04
environment: production
steps:
- name: ✅ Release approved
run: echo "Release approved for ${{ github.sha }}"
build:
name: 🚀 ${{ matrix.name }}
needs: approve
runs-on: ubuntu-24.04
permissions:
contents: read
strategy:
fail-fast: false
matrix:
include:
- name: 🍎 iOS
platform: ios
profile: production
submit: true
- name: 📺 tvOS
platform: ios
profile: production_tv
submit: true
- name: 🤖 Android AAB
platform: android
profile: production
submit: true
- name: 🤖 Android APK
platform: android
profile: production-apk
submit: false
artifact_name: streamyfin-android-phone-apk
- name: 📺 Android TV APK
platform: android
profile: production-apk-tv
submit: false
artifact_name: streamyfin-android-tv-apk
steps:
- name: 📥 Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
submodules: recursive
show-progress: false
- name: 🍞 Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
- name: 💾 Cache Bun dependencies
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-cache-${{ hashFiles('bun.lock') }}
restore-keys: |
${{ runner.os }}-bun-cache
- name: 📦 Install dependencies and reload submodules
run: |
bun install --frozen-lockfile
bun run submodule-reload
- name: 🏗️ Setup EAS
uses: expo/expo-github-action@b184ff86a3c926240f1b6db41764c83a01c02eef # main
with:
eas-version: latest
token: ${{ secrets.EXPO_TOKEN }}
eas-cache: true
# tvOS uses credentialsSource: local — restore the gitignored
# credentials.json + cert + provisioning profiles from secrets.
- name: 🔐 Restore tvOS signing credentials
if: matrix.profile == 'production_tv'
env:
EAS_CREDENTIALS_JSON: ${{ secrets.EAS_CREDENTIALS_JSON }}
TVOS_DIST_CERT_P12_BASE64: ${{ secrets.TVOS_DIST_CERT_P12_BASE64 }}
TVOS_APP_PROFILE_BASE64: ${{ secrets.TVOS_APP_PROFILE_BASE64 }}
TVOS_TOPSHELF_PROFILE_BASE64: ${{ secrets.TVOS_TOPSHELF_PROFILE_BASE64 }}
run: |
mkdir -p certs profiles
printf '%s' "$EAS_CREDENTIALS_JSON" > credentials.json
echo "$TVOS_DIST_CERT_P12_BASE64" | base64 -d > certs/distribution.p12
echo "$TVOS_APP_PROFILE_BASE64" | base64 -d > profiles/Streamyfin_tvOS_App_Store.mobileprovision
echo "$TVOS_TOPSHELF_PROFILE_BASE64" | base64 -d > profiles/Streamyfin_TopShelf_tvOS_App_Store.mobileprovision
# Android Play submit needs the Google Play service account JSON.
- name: 🔐 Restore Google Play service account
if: matrix.platform == 'android' && matrix.submit
env:
GOOGLE_SERVICE_ACCOUNT_KEY: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}
run: printf '%s' "$GOOGLE_SERVICE_ACCOUNT_KEY" > google-service-account.json
# App Store Connect API key for iOS/tvOS submit (raw-PEM or base64).
- name: 🔐 Restore App Store Connect API key
if: matrix.platform == 'ios'
env:
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
run: |
if printf '%s' "$APPLE_KEY_CONTENT" | grep -q "BEGIN PRIVATE KEY"; then
printf '%s' "$APPLE_KEY_CONTENT" > "$RUNNER_TEMP/asc_api_key.p8"
else
printf '%s' "$APPLE_KEY_CONTENT" | base64 -d > "$RUNNER_TEMP/asc_api_key.p8"
fi
# ── Submit builds: cloud build + auto-submit to the store ──
- name: 🚀 Build & submit (${{ matrix.name }})
if: matrix.submit
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
EXPO_ASC_API_KEY_PATH: ${{ runner.temp }}/asc_api_key.p8
EXPO_ASC_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
EXPO_ASC_ISSUER_ID: ${{ secrets.APPLE_KEY_ISSUER_ID }}
run: |
eas build \
--platform ${{ matrix.platform }} \
--profile ${{ matrix.profile }} \
--auto-submit \
--non-interactive \
--wait
# ── Artifact builds: cloud build, then download + upload the APK ──
- name: 🏗️ Build artifact (${{ matrix.name }})
if: ${{ !matrix.submit }}
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
run: |
eas build \
--platform ${{ matrix.platform }} \
--profile ${{ matrix.profile }} \
--non-interactive \
--wait \
--json > build-result.json
URL=$(node -e "const b=require('./build-result.json'); const x=Array.isArray(b)?b[0]:b; console.log(x.artifacts.applicationArchiveUrl)")
echo "Downloading artifact: $URL"
curl -fL "$URL" -o "${{ matrix.artifact_name }}.apk"
- name: 📤 Upload APK artifact (${{ matrix.name }})
if: ${{ !matrix.submit }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ matrix.artifact_name }}
path: ${{ matrix.artifact_name }}.apk
retention-days: 14
# Draft a GitHub Release with the two APKs attached. The tag comes from the
# merged-in app version (app.json → expo.version), NOT the auto-incremented
# build number — so cutting a release is a deliberate version bump via PR.
github-release:
name: 📦 Draft GitHub Release
needs: build
if: ${{ !cancelled() }}
runs-on: ubuntu-24.04
permissions:
contents: write
actions: read # required for `gh run download` to list/fetch this run's artifacts
steps:
- name: 📥 Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
show-progress: false
- name: 📦 Download APK artifacts from this run
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir -p apks
gh run download ${{ github.run_id }} --name streamyfin-android-phone-apk --dir apks
gh run download ${{ github.run_id }} --name streamyfin-android-tv-apk --dir apks
ls -la apks
- name: 📝 Draft release (tag = app.json version, not auto-bumped)
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=$(node -e "console.log(require('./app.json').expo.version)")
TAG="v$VERSION"
echo "Release tag from merged app version: $TAG"
if gh release view "$TAG" >/dev/null 2>&1; then
echo "Release $TAG exists — updating APK assets"
gh release upload "$TAG" apks/*.apk --clobber
else
echo "Creating draft release $TAG"
gh release create "$TAG" \
--draft \
--generate-notes \
--title "$TAG" \
apks/*.apk
fi

9
.gitignore vendored
View File

@@ -18,6 +18,9 @@ web-build/
/androidmobile /androidmobile
/androidtv /androidtv
# Gradle caches (top-level + per-module native projects)
**/.gradle/
# Module-specific Builds # Module-specific Builds
modules/mpv-player/android/build modules/mpv-player/android/build
modules/player/android modules/player/android
@@ -73,6 +76,12 @@ modules/background-downloader/android/build/*
# ios:unsigned-build Artifacts # ios:unsigned-build Artifacts
build/ build/
# but keep EAS custom build configs (the generic build/ rule above matches .eas/build/)
!.eas/build/
!.eas/build/**
.claude/ .claude/
.agents/skills/** .agents/skills/**
skills-lock.json skills-lock.json
# CI-injected Google Play service account key (written at build time)
google-service-account.json

View File

@@ -2,7 +2,7 @@
"expo": { "expo": {
"name": "Streamyfin", "name": "Streamyfin",
"slug": "streamyfin", "slug": "streamyfin",
"version": "0.54.0", "version": "0.54.1",
"orientation": "default", "orientation": "default",
"icon": "./assets/images/icon.png", "icon": "./assets/images/icon.png",
"scheme": "streamyfin", "scheme": "streamyfin",
@@ -36,7 +36,6 @@
"appleTeamId": "MWD5K362T8" "appleTeamId": "MWD5K362T8"
}, },
"android": { "android": {
"versionCode": 93,
"adaptiveIcon": { "adaptiveIcon": {
"foregroundImage": "./assets/images/icon-android-plain.png", "foregroundImage": "./assets/images/icon-android-plain.png",
"monochromeImage": "./assets/images/icon-android-themed.png", "monochromeImage": "./assets/images/icon-android-themed.png",

View File

@@ -1,4 +1,9 @@
import { BottomSheetModal } from "@gorhom/bottom-sheet"; import {
BottomSheetBackdrop,
type BottomSheetBackdropProps,
BottomSheetModal,
BottomSheetView,
} from "@gorhom/bottom-sheet";
import { useNavigation } from "expo-router"; import { useNavigation } from "expo-router";
import { useAtom } from "jotai"; import { useAtom } from "jotai";
import { useEffect, useMemo, useRef, useState } from "react"; import { useEffect, useMemo, useRef, useState } from "react";
@@ -7,6 +12,7 @@ import { Alert, Platform, ScrollView, View } from "react-native";
import { Pressable } from "react-native-gesture-handler"; import { Pressable } from "react-native-gesture-handler";
import { useSafeAreaInsets } from "react-native-safe-area-context"; import { useSafeAreaInsets } from "react-native-safe-area-context";
import { toast } from "sonner-native"; import { toast } from "sonner-native";
import { Button } from "@/components/Button";
import { Text } from "@/components/common/Text"; import { Text } from "@/components/common/Text";
import { TouchableItemRouter } from "@/components/common/TouchableItemRouter"; import { TouchableItemRouter } from "@/components/common/TouchableItemRouter";
import ActiveDownloads from "@/components/downloads/ActiveDownloads"; import ActiveDownloads from "@/components/downloads/ActiveDownloads";
@@ -101,7 +107,7 @@ export default function DownloadsPage() {
navigation.setOptions({ navigation.setOptions({
headerRight: () => ( headerRight: () => (
<Pressable <Pressable
onPress={bottomSheetModalRef.current?.present} onPress={() => bottomSheetModalRef.current?.present()}
className='px-2' className='px-2'
> >
<DownloadSize items={downloadedFiles?.map((f) => f.item) || []} /> <DownloadSize items={downloadedFiles?.map((f) => f.item) || []} />
@@ -116,7 +122,7 @@ export default function DownloadsPage() {
} }
}, [showMigration]); }, [showMigration]);
const _deleteMovies = () => const deleteMovies = () =>
deleteFileByType("Movie") deleteFileByType("Movie")
.then(() => .then(() =>
toast.success( toast.success(
@@ -127,7 +133,7 @@ export default function DownloadsPage() {
writeToLog("ERROR", reason); writeToLog("ERROR", reason);
toast.error(t("home.downloads.toasts.failed_to_delete_all_movies")); toast.error(t("home.downloads.toasts.failed_to_delete_all_movies"));
}); });
const _deleteShows = () => const deleteShows = () =>
deleteFileByType("Episode") deleteFileByType("Episode")
.then(() => .then(() =>
toast.success( toast.success(
@@ -138,7 +144,7 @@ export default function DownloadsPage() {
writeToLog("ERROR", reason); writeToLog("ERROR", reason);
toast.error(t("home.downloads.toasts.failed_to_delete_all_tvseries")); toast.error(t("home.downloads.toasts.failed_to_delete_all_tvseries"));
}); });
const _deleteOtherMedia = () => const deleteOtherMedia = () =>
Promise.all( Promise.all(
otherMedia otherMedia
.filter((item) => item.item.Type) .filter((item) => item.item.Type)
@@ -162,6 +168,9 @@ export default function DownloadsPage() {
), ),
); );
const deleteAllMedia = async () =>
await Promise.all([deleteMovies(), deleteShows(), deleteOtherMedia()]);
return ( return (
<OfflineModeProvider isOffline={true}> <OfflineModeProvider isOffline={true}>
<ScrollView <ScrollView
@@ -256,6 +265,42 @@ export default function DownloadsPage() {
)} )}
</View> </View>
</ScrollView> </ScrollView>
<BottomSheetModal
ref={bottomSheetModalRef}
enableDynamicSizing
handleIndicatorStyle={{
backgroundColor: "white",
}}
backgroundStyle={{
backgroundColor: "#171717",
}}
backdropComponent={(props: BottomSheetBackdropProps) => (
<BottomSheetBackdrop
{...props}
disappearsOnIndex={-1}
appearsOnIndex={0}
/>
)}
>
<BottomSheetView>
<View className='p-4 space-y-4 mb-4'>
<Button color='purple' onPress={deleteMovies}>
{t("home.downloads.delete_all_movies_button")}
</Button>
<Button color='purple' onPress={deleteShows}>
{t("home.downloads.delete_all_tvseries_button")}
</Button>
{otherMedia.length > 0 && (
<Button color='purple' onPress={deleteOtherMedia}>
{t("home.downloads.delete_all_other_media_button")}
</Button>
)}
<Button color='red' onPress={deleteAllMedia}>
{t("home.downloads.delete_all_button")}
</Button>
</View>
</BottomSheetView>
</BottomSheetModal>
</OfflineModeProvider> </OfflineModeProvider>
); );
} }

View File

@@ -6,6 +6,7 @@ import {
BottomSheetTextInput, BottomSheetTextInput,
BottomSheetView, BottomSheetView,
} from "@gorhom/bottom-sheet"; } from "@gorhom/bottom-sheet";
import type { BottomSheetModalMethods } from "@gorhom/bottom-sheet/lib/typescript/types";
import { useQuery } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query";
import { Image } from "expo-image"; import { Image } from "expo-image";
import { useLocalSearchParams, useNavigation } from "expo-router"; import { useLocalSearchParams, useNavigation } from "expo-router";
@@ -76,7 +77,7 @@ const MobilePage: React.FC = () => {
const [issueMessage, setIssueMessage] = useState<string>(); const [issueMessage, setIssueMessage] = useState<string>();
const [requestBody, _setRequestBody] = useState<MediaRequestBody>(); const [requestBody, _setRequestBody] = useState<MediaRequestBody>();
const [issueTypeDropdownOpen, setIssueTypeDropdownOpen] = useState(false); const [issueTypeDropdownOpen, setIssueTypeDropdownOpen] = useState(false);
const advancedReqModalRef = useRef<BottomSheetModal>(null); const advancedReqModalRef = useRef<BottomSheetModalMethods>(null);
const bottomSheetModalRef = useRef<BottomSheetModal>(null); const bottomSheetModalRef = useRef<BottomSheetModal>(null);
const { const {

View File

@@ -11,9 +11,10 @@
"@expo/react-native-action-sheet": "^4.1.1", "@expo/react-native-action-sheet": "^4.1.1",
"@expo/ui": "~56.0.14", "@expo/ui": "~56.0.14",
"@expo/vector-icons": "^15.0.3", "@expo/vector-icons": "^15.0.3",
"@gorhom/bottom-sheet": "5.2.8", "@gorhom/bottom-sheet": "5.2.14",
"@jellyfin/sdk": "^0.13.0", "@jellyfin/sdk": "^0.13.0",
"@react-native-community/netinfo": "^12.0.0", "@react-native-community/netinfo": "^12.0.0",
"@react-navigation/material-top-tabs": "7.4.28",
"@react-navigation/native": "^7.2.5", "@react-navigation/native": "^7.2.5",
"@shopify/flash-list": "2.0.2", "@shopify/flash-list": "2.0.2",
"@tanstack/query-sync-storage-persister": "^5.100.14", "@tanstack/query-sync-storage-persister": "^5.100.14",
@@ -83,6 +84,7 @@
"react-native-safe-area-context": "~5.7.0", "react-native-safe-area-context": "~5.7.0",
"react-native-screens": "4.25.2", "react-native-screens": "4.25.2",
"react-native-svg": "15.15.4", "react-native-svg": "15.15.4",
"react-native-tab-view": "4.3.0",
"react-native-text-ticker": "^1.15.0", "react-native-text-ticker": "^1.15.0",
"react-native-track-player": "github:lovegaoshi/react-native-track-player#APM", "react-native-track-player": "github:lovegaoshi/react-native-track-player#APM",
"react-native-udp": "^4.1.7", "react-native-udp": "^4.1.7",
@@ -114,11 +116,6 @@
}, },
}, },
}, },
"patchedDependencies": {
"react-native-ios-utilities@5.2.0": "bun-patches/react-native-ios-utilities@5.2.0.patch",
"react-native-udp@4.1.7": "bun-patches/react-native-udp@4.1.7.patch",
"react-native-bottom-tabs@1.2.0": "bun-patches/react-native-bottom-tabs@1.2.0.patch",
},
"packages": { "packages": {
"@adobe/css-tools": ["@adobe/css-tools@4.5.0", "", {}, "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q=="], "@adobe/css-tools": ["@adobe/css-tools@4.5.0", "", {}, "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q=="],
@@ -368,7 +365,7 @@
"@expo/xcpretty": ["@expo/xcpretty@4.4.4", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "chalk": "^4.1.0", "js-yaml": "^4.1.0" }, "bin": { "excpretty": "build/cli.js" } }, "sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw=="], "@expo/xcpretty": ["@expo/xcpretty@4.4.4", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "chalk": "^4.1.0", "js-yaml": "^4.1.0" }, "bin": { "excpretty": "build/cli.js" } }, "sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw=="],
"@gorhom/bottom-sheet": ["@gorhom/bottom-sheet@5.2.8", "", { "dependencies": { "@gorhom/portal": "1.0.14", "invariant": "^2.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-native": "*", "react": "*", "react-native": "*", "react-native-gesture-handler": ">=2.16.1", "react-native-reanimated": ">=3.16.0 || >=4.0.0-" }, "optionalPeers": ["@types/react", "@types/react-native"] }, "sha512-+N27SMpbBxXZQ/IA2nlEV6RGxL/qSFHKfdFKcygvW+HqPG5jVNb1OqehLQsGfBP+Up42i0gW5ppI+DhpB7UCzA=="], "@gorhom/bottom-sheet": ["@gorhom/bottom-sheet@5.2.14", "", { "dependencies": { "@gorhom/portal": "1.0.14", "invariant": "^2.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-native": "*", "react": "*", "react-native": "*", "react-native-gesture-handler": ">=2.16.1", "react-native-reanimated": ">=3.16.0 || >=4.0.0-" }, "optionalPeers": ["@types/react", "@types/react-native"] }, "sha512-uLQFlDjp9z+jrOFcMSEldPqL5JdaXL3vXOh+juhwoNvXgTsEorJLjHTugXu+YccAG/0KJnShzKCrb71MHBsvJg=="],
"@gorhom/portal": ["@gorhom/portal@1.0.14", "", { "dependencies": { "nanoid": "^3.3.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A=="], "@gorhom/portal": ["@gorhom/portal@1.0.14", "", { "dependencies": { "nanoid": "^3.3.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A=="],
@@ -542,6 +539,10 @@
"@react-navigation/core": ["@react-navigation/core@7.17.5", "", { "dependencies": { "@react-navigation/routers": "^7.5.5", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "query-string": "^7.1.3", "react-is": "^19.1.0", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": ">= 18.2.0" } }, "sha512-6fDCwDTWC7DJn0SDb9DJGRlipaygHIc+2elpZBJI6Crl/2Pu+Z1d6W4jMJ2gZO6iHKf+Pe5sUiQ/uwepGprZtg=="], "@react-navigation/core": ["@react-navigation/core@7.17.5", "", { "dependencies": { "@react-navigation/routers": "^7.5.5", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "query-string": "^7.1.3", "react-is": "^19.1.0", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": ">= 18.2.0" } }, "sha512-6fDCwDTWC7DJn0SDb9DJGRlipaygHIc+2elpZBJI6Crl/2Pu+Z1d6W4jMJ2gZO6iHKf+Pe5sUiQ/uwepGprZtg=="],
"@react-navigation/elements": ["@react-navigation/elements@2.9.19", "", { "dependencies": { "color": "^4.2.3", "use-latest-callback": "^0.2.4", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "@react-native-masked-view/masked-view": ">= 0.2.0", "@react-navigation/native": "^7.2.5", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0" }, "optionalPeers": ["@react-native-masked-view/masked-view"] }, "sha512-gBUvCZuUkOGw1KpLQEZIkByUz8RYPwXeoA6mZFJy9K1mxd8GdqHDMFCIoB0lfPz9rgrHj99RvtdlGZ/ZzkZv2A=="],
"@react-navigation/material-top-tabs": ["@react-navigation/material-top-tabs@7.4.28", "", { "dependencies": { "@react-navigation/elements": "^2.9.19", "color": "^4.2.3", "react-native-tab-view": "^4.3.0" }, "peerDependencies": { "@react-navigation/native": "^7.2.5", "react": ">= 18.2.0", "react-native": "*", "react-native-pager-view": ">= 6.0.0", "react-native-safe-area-context": ">= 4.0.0" } }, "sha512-WZHJSGV2PQOD2Vr9LF8apGvcsbDKukzF3Fhh8xVNIesqaSi9TPProv4dRw6YkenUkjvFVZYkOjvwAJOToePVpA=="],
"@react-navigation/native": ["@react-navigation/native@7.2.5", "", { "dependencies": { "@react-navigation/core": "^7.17.5", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*" } }, "sha512-01AAUQiiHQAfTabq+ZyU1/ZWq+AbB/J3v0CB0UTJSON6M6cuadWNsbChzrZUdqQvHrXvg96U5i2PQLJzK3+zpg=="], "@react-navigation/native": ["@react-navigation/native@7.2.5", "", { "dependencies": { "@react-navigation/core": "^7.17.5", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.3.11", "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*" } }, "sha512-01AAUQiiHQAfTabq+ZyU1/ZWq+AbB/J3v0CB0UTJSON6M6cuadWNsbChzrZUdqQvHrXvg96U5i2PQLJzK3+zpg=="],
"@react-navigation/routers": ["@react-navigation/routers@7.5.5", "", { "dependencies": { "nanoid": "^3.3.11" } }, "sha512-9/hhMte12Kgu+pMnLfA4EWJ0OQmIEAMVMX06FPH2yGkEQSQ3JhhCN/GkcRikzQhtEi97VYYQA15umptBUShcOQ=="], "@react-navigation/routers": ["@react-navigation/routers@7.5.5", "", { "dependencies": { "nanoid": "^3.3.11" } }, "sha512-9/hhMte12Kgu+pMnLfA4EWJ0OQmIEAMVMX06FPH2yGkEQSQ3JhhCN/GkcRikzQhtEi97VYYQA15umptBUShcOQ=="],
@@ -1594,6 +1595,8 @@
"react-native-svg": ["react-native-svg@15.15.4", "", { "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3", "warn-once": "0.1.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-boT/vIRgj6zZKBpfTPJJiYWMbZE9duBMOwPK6kCSTgxsS947IFMOq9OgIFkpWZTB7t229H24pDRkh3W9ZK/J1A=="], "react-native-svg": ["react-native-svg@15.15.4", "", { "dependencies": { "css-select": "^5.1.0", "css-tree": "^1.1.3", "warn-once": "0.1.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-boT/vIRgj6zZKBpfTPJJiYWMbZE9duBMOwPK6kCSTgxsS947IFMOq9OgIFkpWZTB7t229H24pDRkh3W9ZK/J1A=="],
"react-native-tab-view": ["react-native-tab-view@4.3.0", "", { "dependencies": { "use-latest-callback": "^0.2.4" }, "peerDependencies": { "react": ">= 18.2.0", "react-native": "*", "react-native-pager-view": ">= 6.0.0" } }, "sha512-qPMF75uz/7+MuVG2g+YETdGMzlWZnhC6iI4h/7EBbwIBwNBIBi2z4OA6KhY3IOOBwGHXEIz5IyA6doDqifYBHg=="],
"react-native-text-ticker": ["react-native-text-ticker@1.15.0", "", {}, "sha512-d/uK+PIOhsYMy1r8h825iq/nADiHsabz3WMbRJSnkpQYn+K9aykUAXRRhu8ZbTAzk4CgnUWajJEFxS5ZDygsdg=="], "react-native-text-ticker": ["react-native-text-ticker@1.15.0", "", {}, "sha512-d/uK+PIOhsYMy1r8h825iq/nADiHsabz3WMbRJSnkpQYn+K9aykUAXRRhu8ZbTAzk4CgnUWajJEFxS5ZDygsdg=="],
"react-native-track-player": ["react-native-track-player@github:lovegaoshi/react-native-track-player#33a3ecd", { "peerDependencies": { "react": "*", "react-native": "*", "react-native-windows": "*", "shaka-player": "^4.7.9" }, "optionalPeers": ["react-native-windows", "shaka-player"] }, "lovegaoshi-react-native-track-player-33a3ecd"], "react-native-track-player": ["react-native-track-player@github:lovegaoshi/react-native-track-player#33a3ecd", { "peerDependencies": { "react": "*", "react-native": "*", "react-native-windows": "*", "shaka-player": "^4.7.9" }, "optionalPeers": ["react-native-windows", "shaka-player"] }, "lovegaoshi-react-native-track-player-33a3ecd"],
@@ -2006,6 +2009,10 @@
"@react-native/metro-babel-transformer/@babel/core": ["@babel/core@7.28.6", "", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/template": "^7.28.6", "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw=="], "@react-native/metro-babel-transformer/@babel/core": ["@babel/core@7.28.6", "", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/template": "^7.28.6", "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw=="],
"@react-navigation/elements/color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="],
"@react-navigation/material-top-tabs/color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="],
"@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="], "@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
"@testing-library/dom/dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="], "@testing-library/dom/dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="],
@@ -2224,6 +2231,14 @@
"@react-native-community/cli-server-api/open/is-wsl": ["is-wsl@1.1.0", "", {}, "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw=="], "@react-native-community/cli-server-api/open/is-wsl": ["is-wsl@1.1.0", "", {}, "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw=="],
"@react-navigation/elements/color/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
"@react-navigation/elements/color/color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="],
"@react-navigation/material-top-tabs/color/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
"@react-navigation/material-top-tabs/color/color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="],
"@testing-library/dom/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], "@testing-library/dom/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="],
"ansi-fragments/slice-ansi/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], "ansi-fragments/slice-ansi/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="],
@@ -2336,6 +2351,14 @@
"@expo/package-manager/ora/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], "@expo/package-manager/ora/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="],
"@react-navigation/elements/color/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
"@react-navigation/elements/color/color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
"@react-navigation/material-top-tabs/color/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
"@react-navigation/material-top-tabs/color/color-string/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
"ansi-fragments/slice-ansi/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], "ansi-fragments/slice-ansi/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="],
"chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], "chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],

View File

@@ -74,6 +74,9 @@ function ChapterListComponent({
transparent transparent
animationType='slide' animationType='slide'
onRequestClose={onClose} onRequestClose={onClose}
// iOS defaults <Modal> to portrait-only; without this it rotates the app
// back to portrait when opened from the landscape player. Android ignores it.
supportedOrientations={["portrait", "landscape"]}
> >
<Pressable onPress={onClose} style={styles.backdrop}> <Pressable onPress={onClose} style={styles.backdrop}>
<Pressable onPress={(e) => e.stopPropagation()} style={styles.sheet}> <Pressable onPress={(e) => e.stopPropagation()} style={styles.sheet}>

View File

@@ -37,11 +37,12 @@ export const ProgressBar: React.FC<ProgressBarProps> = ({ item }) => {
} }
/> />
<View <View
style={{ style={
width: `${progress}%`, Platform.isTV
backgroundColor: Platform.isTV ? "#ffffff" : undefined, ? { width: `${progress}%`, backgroundColor: "#ffffff" }
}} : { width: `${progress}%` }
className={`absolute bottom-0 left-0 h-1 w-full ${Platform.isTV ? "" : "bg-purple-600"}`} }
className={`absolute bottom-0 left-0 h-1 ${Platform.isTV ? "" : "bg-purple-600"}`}
/> />
</> </>
); );

View File

@@ -2,6 +2,7 @@ import { useActionSheet } from "@expo/react-native-action-sheet";
import type { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; import type { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models";
import { useSegments } from "expo-router"; import { useSegments } from "expo-router";
import { type PropsWithChildren, useCallback } from "react"; import { type PropsWithChildren, useCallback } from "react";
import { useTranslation } from "react-i18next";
import { import {
Platform, Platform,
TouchableOpacity, TouchableOpacity,
@@ -149,6 +150,7 @@ export const TouchableItemRouter: React.FC<PropsWithChildren<Props>> = ({
children, children,
...props ...props
}) => { }) => {
const { t } = useTranslation();
const segments = useSegments(); const segments = useSegments();
const { showActionSheetWithOptions } = useActionSheet(); const { showActionSheetWithOptions } = useActionSheet();
const markAsPlayedStatus = useMarkAsPlayed([item]); const markAsPlayedStatus = useMarkAsPlayed([item]);
@@ -182,11 +184,13 @@ export const TouchableItemRouter: React.FC<PropsWithChildren<Props>> = ({
return; return;
const options: string[] = [ const options: string[] = [
"Mark as Played", t("common.mark_as_played"),
"Mark as Not Played", t("common.mark_as_not_played"),
isFavorite ? "Unmark as Favorite" : "Mark as Favorite", isFavorite
...(isOffline ? ["Delete Download"] : []), ? t("music.track_options.remove_from_favorites")
"Cancel", : t("music.track_options.add_to_favorites"),
...(isOffline ? [t("home.downloads.delete_download")] : []),
t("common.cancel"),
]; ];
const cancelButtonIndex = options.length - 1; const cancelButtonIndex = options.length - 1;
const destructiveButtonIndex = isOffline const destructiveButtonIndex = isOffline
@@ -219,6 +223,7 @@ export const TouchableItemRouter: React.FC<PropsWithChildren<Props>> = ({
isOffline, isOffline,
deleteFile, deleteFile,
item.Id, item.Id,
t,
]); ]);
if ( if (

View File

@@ -37,7 +37,20 @@ export const ItemPeopleSections: React.FC<Props> = ({ item, ...props }) => {
return { ...item, People: people } as BaseItemDto; return { ...item, People: people } as BaseItemDto;
}, [item, people]); }, [item, people]);
const topPeople = useMemo(() => people.slice(0, 3), [people]); // Jellyfin can list the same person several times (e.g. an actor also
// credited as writer). Dedupe by Id so the same actor section isn't rendered
// twice and we still surface 3 distinct people.
const topPeople = useMemo(() => {
const seen = new Set<string>();
const unique: BaseItemPerson[] = [];
for (const person of people) {
if (!person.Id || seen.has(person.Id)) continue;
seen.add(person.Id);
unique.push(person);
if (unique.length >= 3) break;
}
return unique;
}, [people]);
const renderActorSection = useCallback( const renderActorSection = useCallback(
(person: BaseItemPerson, idx: number, total: number) => { (person: BaseItemPerson, idx: number, total: number) => {

View File

@@ -280,7 +280,7 @@ export const TVPasswordEntryModal: React.FC<TVPasswordEntryModalProps> = ({
<View style={styles.buttonContainer}> <View style={styles.buttonContainer}>
<TVSubmitButton <TVSubmitButton
onPress={handleSubmit} onPress={handleSubmit}
label={t("login.login")} label={t("login.login_button")}
loading={isLoading} loading={isLoading}
disabled={!password} disabled={!password}
/> />

View File

@@ -229,7 +229,7 @@ export const LibraryOptionsSheet: React.FC<Props> = ({
/> />
</OptionGroup> </OptionGroup>
<OptionGroup title='Options'> <OptionGroup title={t("library.options.options_title")}>
<ToggleItem <ToggleItem
label={t("library.options.show_titles")} label={t("library.options.show_titles")}
value={settings.showTitles} value={settings.showTitles}

View File

@@ -105,14 +105,14 @@ const AudioSlider: React.FC<AudioSliderProps> = ({ setVisibility }) => {
maximumValue={max} maximumValue={max}
thumbWidth={0} thumbWidth={0}
onValueChange={handleValueChange} onValueChange={handleValueChange}
renderBubble={() => null}
renderThumb={() => null}
containerStyle={{ containerStyle={{
borderRadius: 50, borderRadius: 50,
}} }}
theme={{ theme={{
minimumTrackTintColor: "#FDFDFD", minimumTrackTintColor: "#FDFDFD",
maximumTrackTintColor: "#5A5A5A", maximumTrackTintColor: "#5A5A5A",
bubbleBackgroundColor: "transparent", // Hide the value bubble
bubbleTextColor: "transparent", // Hide the value text
}} }}
/> />
<Ionicons <Ionicons

View File

@@ -88,14 +88,14 @@ const BrightnessSlider = () => {
maximumValue={max} maximumValue={max}
thumbWidth={0} thumbWidth={0}
onValueChange={handleValueChange} onValueChange={handleValueChange}
renderBubble={() => null}
renderThumb={() => null}
containerStyle={{ containerStyle={{
borderRadius: 50, borderRadius: 50,
}} }}
theme={{ theme={{
minimumTrackTintColor: "#FDFDFD", minimumTrackTintColor: "#FDFDFD",
maximumTrackTintColor: "#5A5A5A", maximumTrackTintColor: "#5A5A5A",
bubbleBackgroundColor: "transparent", // Hide the value bubble
bubbleTextColor: "transparent", // Hide the value text
}} }}
/> />
<Ionicons <Ionicons

View File

@@ -1,4 +1,5 @@
import type { FC } from "react"; import type { FC } from "react";
import { useTranslation } from "react-i18next";
import { View } from "react-native"; import { View } from "react-native";
import { Text } from "@/components/common/Text"; import { Text } from "@/components/common/Text";
import { formatTimeString } from "@/utils/time"; import { formatTimeString } from "@/utils/time";
@@ -16,6 +17,8 @@ export const TimeDisplay: FC<TimeDisplayProps> = ({
currentTime, currentTime,
remainingTime, remainingTime,
}) => { }) => {
const { t } = useTranslation();
const getFinishTime = () => { const getFinishTime = () => {
const now = new Date(); const now = new Date();
// remainingTime is in ms // remainingTime is in ms
@@ -37,7 +40,7 @@ export const TimeDisplay: FC<TimeDisplayProps> = ({
-{formatTimeString(remainingTime, "ms")} -{formatTimeString(remainingTime, "ms")}
</Text> </Text>
<Text className='text-[10px] text-neutral-500 opacity-70'> <Text className='text-[10px] text-neutral-500 opacity-70'>
ends at {getFinishTime()} {t("player.ends_at", { time: getFinishTime() })}
</Text> </Text>
</View> </View>
</View> </View>

View File

@@ -1,6 +1,7 @@
{ {
"cli": { "cli": {
"version": ">= 9.1.0" "version": ">= 16.0.0",
"appVersionSource": "remote"
}, },
"build": { "build": {
"development": { "development": {
@@ -51,44 +52,70 @@
} }
}, },
"production": { "production": {
"bun": "1.3.5",
"environment": "production", "environment": "production",
"channel": "0.54.0", "autoIncrement": true,
"android": { "android": {
"image": "latest" "image": "latest",
"config": "android-production.yml"
},
"ios": {
"config": "ios-production.yml"
} }
}, },
"production-apk": { "production-apk": {
"bun": "1.3.5",
"environment": "production", "environment": "production",
"channel": "0.54.0", "autoIncrement": true,
"android": { "android": {
"buildType": "apk", "buildType": "apk",
"image": "latest" "image": "latest",
"config": "android-production-apk.yml"
} }
}, },
"production-apk-tv": { "production-apk-tv": {
"bun": "1.3.5",
"environment": "production", "environment": "production",
"channel": "0.54.0", "autoIncrement": true,
"android": { "android": {
"buildType": "apk", "buildType": "apk",
"image": "latest" "image": "latest",
"config": "android-production-tv.yml"
}, },
"env": { "env": {
"EXPO_TV": "1" "EXPO_TV": "1"
} }
}, },
"production_tv": { "production_tv": {
"bun": "1.3.5",
"environment": "production", "environment": "production",
"channel": "0.54.0", "autoIncrement": true,
"env": { "env": {
"EXPO_TV": "1" "EXPO_TV": "1"
}, },
"ios": { "ios": {
"credentialsSource": "local" "credentialsSource": "local",
"config": "ios-production.yml"
} }
} }
}, },
"submit": { "submit": {
"production": {}, "production": {
"production_tv": {} "ios": {
"appleTeamId": "MWD5K362T8",
"ascAppId": "6593660679"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal",
"releaseStatus": "completed"
}
},
"production_tv": {
"ios": {
"appleTeamId": "MWD5K362T8",
"ascAppId": "6593660679"
}
}
} }
} }

View File

@@ -1,46 +1,20 @@
plugins { apply plugin: 'expo-module-gradle-plugin'
id 'com.android.library'
id 'kotlin-android'
}
group = 'expo.modules.backgrounddownloader' group = 'expo.modules.backgrounddownloader'
version = '1.0.0' version = '1.0.0'
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle") expoModule {
def kotlinVersion = findProperty('android.kotlinVersion') ?: '1.9.25' canBePublished false
}
apply from: expoModulesCorePlugin
applyKotlinExpoModulesCorePlugin()
useDefaultAndroidSdkVersions()
useCoreDependencies()
useExpoPublishing()
android { android {
namespace "expo.modules.backgrounddownloader" namespace "expo.modules.backgrounddownloader"
defaultConfig {
compileOptions { versionCode 1
sourceCompatibility JavaVersion.VERSION_17 versionName "1.0.0"
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
lintOptions {
abortOnError false
} }
} }
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
implementation "com.squareup.okhttp3:okhttp:4.12.0" implementation "com.squareup.okhttp3:okhttp:4.12.0"
} }
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "17"
}
}

View File

@@ -715,9 +715,7 @@ class MPVLayerRenderer(private val context: Context) : MPVLib.EventObserver {
// dropped), so we (re)apply here for embedded and external alike. // dropped), so we (re)apply here for embedded and external alike.
// This is what makes a carried-over subtitle show up on the next // This is what makes a carried-over subtitle show up on the next
// episode without a manual re-selection. // episode without a manual re-selection.
if (initialAudioId != null && initialAudioId > 0) { initialAudioId?.let { if (it > 0) setAudioTrack(it) }
setAudioTrack(initialAudioId)
}
initialSubtitleId?.let { setSubtitleTrack(it) } ?: disableSubtitles() initialSubtitleId?.let { setSubtitleTrack(it) } ?: disableSubtitles()
if (!isReadyToSeek) { if (!isReadyToSeek) {

View File

@@ -1,11 +1,13 @@
import { useTranslation } from "react-i18next";
import { MpvPlayerViewProps } from "./MpvPlayer.types"; import { MpvPlayerViewProps } from "./MpvPlayer.types";
export default function MpvPlayerView(props: MpvPlayerViewProps) { export default function MpvPlayerView(props: MpvPlayerViewProps) {
const url = props.source?.url ?? ""; const url = props.source?.url ?? "";
const { t } = useTranslation();
return ( return (
<div> <div>
<iframe <iframe
title='MPV Player' title={t("player.mpv_player_title")}
style={{ flex: 1 }} style={{ flex: 1 }}
src={url} src={url}
onLoad={() => props.onLoad?.({ nativeEvent: { url } })} onLoad={() => props.onLoad?.({ nativeEvent: { url } })}

View File

@@ -22,7 +22,9 @@
"lint": "biome check --write --unsafe --max-diagnostics 1000", "lint": "biome check --write --unsafe --max-diagnostics 1000",
"format": "biome format --write .", "format": "biome format --write .",
"doctor": "expo-doctor", "doctor": "expo-doctor",
"test": "bun run typecheck && bun run lint && bun run format && bun run doctor", "i18n:check": "bun scripts/check-i18n-keys.mjs",
"i18n:fix-unused": "bun scripts/check-i18n-keys.mjs --fix-unused",
"test": "bun run typecheck && bun run lint && bun run format && bun run i18n:check && bun run doctor",
"postinstall": "patch-package" "postinstall": "patch-package"
}, },
"dependencies": { "dependencies": {
@@ -32,9 +34,10 @@
"@expo/react-native-action-sheet": "^4.1.1", "@expo/react-native-action-sheet": "^4.1.1",
"@expo/ui": "~56.0.14", "@expo/ui": "~56.0.14",
"@expo/vector-icons": "^15.0.3", "@expo/vector-icons": "^15.0.3",
"@gorhom/bottom-sheet": "5.2.8", "@gorhom/bottom-sheet": "5.2.14",
"@jellyfin/sdk": "^0.13.0", "@jellyfin/sdk": "^0.13.0",
"@react-native-community/netinfo": "^12.0.0", "@react-native-community/netinfo": "^12.0.0",
"@react-navigation/material-top-tabs": "7.4.28",
"@react-navigation/native": "^7.2.5", "@react-navigation/native": "^7.2.5",
"@shopify/flash-list": "2.0.2", "@shopify/flash-list": "2.0.2",
"@tanstack/query-sync-storage-persister": "^5.100.14", "@tanstack/query-sync-storage-persister": "^5.100.14",
@@ -104,6 +107,7 @@
"react-native-safe-area-context": "~5.7.0", "react-native-safe-area-context": "~5.7.0",
"react-native-screens": "4.25.2", "react-native-screens": "4.25.2",
"react-native-svg": "15.15.4", "react-native-svg": "15.15.4",
"react-native-tab-view": "4.3.0",
"react-native-text-ticker": "^1.15.0", "react-native-text-ticker": "^1.15.0",
"react-native-track-player": "github:lovegaoshi/react-native-track-player#APM", "react-native-track-player": "github:lovegaoshi/react-native-track-player#APM",
"react-native-udp": "^4.1.7", "react-native-udp": "^4.1.7",
@@ -162,10 +166,5 @@
}, },
"trustedDependencies": [ "trustedDependencies": [
"unrs-resolver" "unrs-resolver"
], ]
"patchedDependencies": {
"react-native-udp@4.1.7": "bun-patches/react-native-udp@4.1.7.patch",
"react-native-bottom-tabs@1.2.0": "bun-patches/react-native-bottom-tabs@1.2.0.patch",
"react-native-ios-utilities@5.2.0": "bun-patches/react-native-ios-utilities@5.2.0.patch"
}
} }

View File

@@ -1,10 +1,7 @@
diff --git a/node_modules/react-native-bottom-tabs/.bun-tag-b32ab1c60a5dfcf7 b/.bun-tag-b32ab1c60a5dfcf7 diff --git a/node_modules/react-native-bottom-tabs/ios/BottomAccessoryProvider.swift b/node_modules/react-native-bottom-tabs/ios/BottomAccessoryProvider.swift
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/ios/BottomAccessoryProvider.swift b/ios/BottomAccessoryProvider.swift
index 539efee7156599e1fc795e11bf411b7dfaf12ec7..b2af39a2e6b014e9b1ae0a51b21115c19280df69 100644 index 539efee7156599e1fc795e11bf411b7dfaf12ec7..b2af39a2e6b014e9b1ae0a51b21115c19280df69 100644
--- a/ios/BottomAccessoryProvider.swift --- a/node_modules/react-native-bottom-tabs/ios/BottomAccessoryProvider.swift
+++ b/ios/BottomAccessoryProvider.swift +++ b/node_modules/react-native-bottom-tabs/ios/BottomAccessoryProvider.swift
@@ -8,7 +8,7 @@ import SwiftUI @@ -8,7 +8,7 @@ import SwiftUI
self.delegate = delegate self.delegate = delegate
} }
@@ -14,10 +11,10 @@ index 539efee7156599e1fc795e11bf411b7dfaf12ec7..b2af39a2e6b014e9b1ae0a51b21115c1
@available(iOS 26.0, *) @available(iOS 26.0, *)
public func emitPlacementChanged(_ placement: TabViewBottomAccessoryPlacement?) { public func emitPlacementChanged(_ placement: TabViewBottomAccessoryPlacement?) {
var placementValue = "none" var placementValue = "none"
diff --git a/ios/TabView/NewTabView.swift b/ios/TabView/NewTabView.swift diff --git a/node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift b/node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift
index 22c52cdf25ad0f7398d89197cb431ca8dc8e0f99..81411376e68803de8bd83515d42565cfa95daf2b 100644 index 22c52cdf25ad0f7398d89197cb431ca8dc8e0f99..81411376e68803de8bd83515d42565cfa95daf2b 100644
--- a/ios/TabView/NewTabView.swift --- a/node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift
+++ b/ios/TabView/NewTabView.swift +++ b/node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift
@@ -78,11 +78,11 @@ struct ConditionalBottomAccessoryModifier: ViewModifier { @@ -78,11 +78,11 @@ struct ConditionalBottomAccessoryModifier: ViewModifier {
} }
@@ -56,10 +53,10 @@ index 22c52cdf25ad0f7398d89197cb431ca8dc8e0f99..81411376e68803de8bd83515d42565cf
} }
#endif #endif
+ +
diff --git a/ios/TabViewImpl.swift b/ios/TabViewImpl.swift diff --git a/node_modules/react-native-bottom-tabs/ios/TabViewImpl.swift b/node_modules/react-native-bottom-tabs/ios/TabViewImpl.swift
index 72938be90540ea3a483d7db9a80fb74c04d31272..277278ffdd9268a96cb09869eb1d0c0d5e6ad300 100644 index 72938be90540ea3a483d7db9a80fb74c04d31272..277278ffdd9268a96cb09869eb1d0c0d5e6ad300 100644
--- a/ios/TabViewImpl.swift --- a/node_modules/react-native-bottom-tabs/ios/TabViewImpl.swift
+++ b/ios/TabViewImpl.swift +++ b/node_modules/react-native-bottom-tabs/ios/TabViewImpl.swift
@@ -281,7 +281,7 @@ extension View { @@ -281,7 +281,7 @@ extension View {
@ViewBuilder @ViewBuilder
@@ -69,10 +66,10 @@ index 72938be90540ea3a483d7db9a80fb74c04d31272..277278ffdd9268a96cb09869eb1d0c0d
if #available(iOS 26.0, macOS 26.0, *) { if #available(iOS 26.0, macOS 26.0, *) {
if let behavior { if let behavior {
self.tabBarMinimizeBehavior(behavior.convert()) self.tabBarMinimizeBehavior(behavior.convert())
diff --git a/ios/TabViewProps.swift b/ios/TabViewProps.swift diff --git a/node_modules/react-native-bottom-tabs/ios/TabViewProps.swift b/node_modules/react-native-bottom-tabs/ios/TabViewProps.swift
index 9cfb29a983b34d3f84fc7a678d19ef4ff30e0325..6a5854483e66200b71722bbac12e100742222bd3 100644 index 9cfb29a983b34d3f84fc7a678d19ef4ff30e0325..6a5854483e66200b71722bbac12e100742222bd3 100644
--- a/ios/TabViewProps.swift --- a/node_modules/react-native-bottom-tabs/ios/TabViewProps.swift
+++ b/ios/TabViewProps.swift +++ b/node_modules/react-native-bottom-tabs/ios/TabViewProps.swift
@@ -6,7 +6,7 @@ internal enum MinimizeBehavior: String { @@ -6,7 +6,7 @@ internal enum MinimizeBehavior: String {
case onScrollUp case onScrollUp
case onScrollDown case onScrollDown

View File

@@ -1,7 +1,7 @@
diff --git a/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift b/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift diff --git a/node_modules/react-native-ios-utilities/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift b/node_modules/react-native-ios-utilities/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift
index 09be306d5aa39337c5114c2ad6ba7513218e0751..24ff8ee2c36fef8632a7e012514fd04db9bf89fd 100644 index 09be306d5aa39337c5114c2ad6ba7513218e0751..24ff8ee2c36fef8632a7e012514fd04db9bf89fd 100644
--- a/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift --- a/node_modules/react-native-ios-utilities/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift
+++ b/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift +++ b/node_modules/react-native-ios-utilities/ios/Sources/Extensions+Helpers/RCTView+Helpers.swift
@@ -25,15 +25,14 @@ public extension RCTView { @@ -25,15 +25,14 @@ public extension RCTView {
return rootView.recursivelyFindSubview(whereType: targetType); return rootView.recursivelyFindSubview(whereType: targetType);
}; };

View File

@@ -1,10 +1,7 @@
diff --git a/node_modules/react-native-udp/.bun-tag-ea7df8754aa4db91 b/.bun-tag-ea7df8754aa4db91 diff --git a/node_modules/react-native-udp/react-native-udp.podspec b/node_modules/react-native-udp/react-native-udp.podspec
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/react-native-udp.podspec b/react-native-udp.podspec
index 7450cc7d0862aadfb47d796929c801a3dc423a57..fa3e42c0152ef2d87536b8c2e484f64d525e35ec 100644 index 7450cc7d0862aadfb47d796929c801a3dc423a57..fa3e42c0152ef2d87536b8c2e484f64d525e35ec 100644
--- a/react-native-udp.podspec --- a/node_modules/react-native-udp/react-native-udp.podspec
+++ b/react-native-udp.podspec +++ b/node_modules/react-native-udp/react-native-udp.podspec
@@ -9,7 +9,8 @@ Pod::Spec.new do |s| @@ -9,7 +9,8 @@ Pod::Spec.new do |s|
s.homepage = package_json["homepage"] s.homepage = package_json["homepage"]
s.license = package_json["license"] s.license = package_json["license"]

View File

@@ -39,6 +39,28 @@ function buildPatch() {
" end", " end",
" end", " end",
"", "",
" # iOS 26 / Xcode 26: the APP target itself compiles ExpoModulesProvider.swift,",
" # which imports SwiftUI-based modules (ExpoUI, ExpoGlassEffect, GlassPoster, ExpoBlur, …).",
" # That emits a `-framework SwiftUICore` autolink into the app executable's OWN object",
" # files, so the pods-only flag above is not enough — the app's link still fails with",
" # `cannot link directly with 'SwiftUICore'`. Drop the autolink on the user app target",
" # too. Phone-only — tvOS has no SwiftUICore split and must stay untouched.",
" if ENV['EXPO_TV'] != '1'",
" installer.aggregate_targets.each do |agg|",
" next unless agg.user_project",
" agg.user_project.native_targets.each do |target|",
" target.build_configurations.each do |cfg|",
" existing = cfg.build_settings['OTHER_SWIFT_FLAGS'] || '$(inherited)'",
" existing = existing.join(' ') if existing.is_a?(Array)",
" unless existing.include?('-disable-autolink-framework -Xfrontend SwiftUICore')",
" cfg.build_settings['OTHER_SWIFT_FLAGS'] = existing + ' -Xfrontend -disable-autolink-framework -Xfrontend SwiftUICore'",
" end",
" end",
" end",
" agg.user_project.save",
" end",
" end",
"",
" # Safely patch RCTThirdPartyComponentsProvider.mm to avoid startup crash on unlinked Fabric components", " # Safely patch RCTThirdPartyComponentsProvider.mm to avoid startup crash on unlinked Fabric components",
' filepath = "#{installer.sandbox.root}/../build/generated/ios/ReactCodegen/RCTThirdPartyComponentsProvider.mm"', ' filepath = "#{installer.sandbox.root}/../build/generated/ios/ReactCodegen/RCTThirdPartyComponentsProvider.mm"',
" if File.exist?(filepath)", " if File.exist?(filepath)",

View File

@@ -4,9 +4,16 @@ const { withEntitlementsPlist } = require("expo/config-plugins");
* Expo config plugin to add User Management entitlement for tvOS profile linking * Expo config plugin to add User Management entitlement for tvOS profile linking
*/ */
const withTVUserManagement = (config) => { const withTVUserManagement = (config) => {
// Only add for tvOS builds. The entitlement is restricted by Apple and must
// be present in the provisioning profile, so injecting it into mobile builds
// breaks signing ("Entitlement ... not found and could not be included in
// profile"). The entitlement is only needed for tvOS
// TVUserManager.currentUserIdentifier.
if (process.env.EXPO_TV !== "1") {
return config;
}
return withEntitlementsPlist(config, (config) => { return withEntitlementsPlist(config, (config) => {
// Only add for tvOS builds (check if building for TV)
// The entitlement is needed for TVUserManager.currentUserIdentifier to work
config.modResults["com.apple.developer.user-management"] = [ config.modResults["com.apple.developer.user-management"] = [
"runs-as-current-user", "runs-as-current-user",
]; ];

View File

@@ -53,7 +53,7 @@ const initialApi = (() => {
const id = getOrSetDeviceId(); const id = getOrSetDeviceId();
const deviceName = getDeviceNameSync(); const deviceName = getDeviceNameSync();
const jellyfinInstance = new Jellyfin({ const jellyfinInstance = new Jellyfin({
clientInfo: { name: "Streamyfin", version: "0.54.0" }, clientInfo: { name: "Streamyfin", version: "0.54.1" },
deviceInfo: { deviceInfo: {
name: deviceName, name: deviceName,
id, id,
@@ -69,6 +69,13 @@ const initialApi = (() => {
const initialUser = (() => { const initialUser = (() => {
try { try {
// Only return a stored user if we also have a token. Otherwise the
// user atom would be populated while the api atom is null (e.g. after
// a logout that left stale user JSON in storage), which causes
// useProtectedRoute to keep us inside the (auth) group instead of
// redirecting to /login.
const token = storage.getString("token");
if (!token) return null;
const userStr = storage.getString("user"); const userStr = storage.getString("user");
if (userStr) { if (userStr) {
return JSON.parse(userStr) as UserDto; return JSON.parse(userStr) as UserDto;
@@ -128,7 +135,7 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
const id = getOrSetDeviceId(); const id = getOrSetDeviceId();
const deviceName = getDeviceNameSync(); const deviceName = getDeviceNameSync();
return new Jellyfin({ return new Jellyfin({
clientInfo: { name: "Streamyfin", version: "0.54.0" }, clientInfo: { name: "Streamyfin", version: "0.54.1" },
deviceInfo: { deviceInfo: {
name: deviceName, name: deviceName,
id, id,
@@ -162,7 +169,7 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
return { return {
authorization: `MediaBrowser Client="Streamyfin", Device=${ authorization: `MediaBrowser Client="Streamyfin", Device=${
Platform.OS === "android" ? "Android" : "iOS" Platform.OS === "android" ? "Android" : "iOS"
}, DeviceId="${deviceId}", Version="0.54.0"`, }, DeviceId="${deviceId}", Version="0.54.1"`,
}; };
}, [deviceId]); }, [deviceId]);
@@ -402,6 +409,7 @@ export const JellyfinProvider: React.FC<{ children: ReactNode }> = ({
); );
storage.remove("token"); storage.remove("token");
storage.remove("user");
clearTVDiscoverySafely(); clearTVDiscoverySafely();
setUser(null); setUser(null);
setApi(null); setApi(null);

268
scripts/check-i18n-keys.mjs Normal file
View File

@@ -0,0 +1,268 @@
#!/usr/bin/env bun
/**
* i18n key checker for Streamyfin.
*
* Detects:
* - MISSING keys: a static `t("a.b.c")` / `i18nKey="a.b.c"` referenced in the code
* that does not exist in the source locale (translations/en.json). These are bugs —
* the app renders the raw key. Always fails CI.
* - UNUSED (dead) keys: a key in the source locale that is referenced nowhere in the
* code, neither statically nor via a detected dynamic prefix (`t(`a.b.${x}`)`).
* These are dead weight that also clutter every locale on Crowdin.
*
* Dynamic usage is handled conservatively:
* - `t(`prefix.${x}`)` -> every key starting with `prefix.` is considered used.
* - `t(`${x}`)` -> fully dynamic, reported for manual review, never used to
* whitelist keys (in Streamyfin these are user-defined section
* titles, not translation keys).
* - Edge cases the static scan cannot see can be allow-listed in the config file.
*
* Usage:
* bun scripts/check-i18n-keys.mjs # report + exit 1 on missing OR unused
* bun scripts/check-i18n-keys.mjs --unused=warn # exit 1 only on missing; unused = warning
* bun scripts/check-i18n-keys.mjs --unused=off # ignore unused entirely
* bun scripts/check-i18n-keys.mjs --json # machine-readable output
* bun scripts/check-i18n-keys.mjs --fix-unused # remove dead keys from en.json (Crowdin syncs the rest)
*/
import {
existsSync,
readdirSync,
readFileSync,
statSync,
writeFileSync,
} from "node:fs";
import { extname, join, relative } from "node:path";
const ROOT = process.cwd();
const args = process.argv.slice(2);
const flag = (name, def) => {
const a = args.find((x) => x === `--${name}` || x.startsWith(`--${name}=`));
if (!a) return def;
const [, v] = a.split("=");
return v === undefined ? true : v;
};
const UNUSED_MODE = String(flag("unused", "error")); // error | warn | off
const JSON_OUT = !!flag("json", false);
const FIX_UNUSED = !!flag("fix-unused", false);
// ---- config ----
const CONFIG_PATH = join(ROOT, "scripts", "i18n-keys.config.json");
const DEFAULT_CONFIG = {
localesDir: "translations",
sourceLocale: "en",
// Scan the whole repo by default so keys referenced outside the obvious dirs
// (e.g. packages/, key constants in utils/atoms) are not wrongly flagged as dead.
srcDirs: ["."],
srcExtensions: [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],
excludeDirs: [
"node_modules",
"ios",
"android",
".expo",
".git",
"dist",
"build",
"translations",
"scripts",
],
// Keys (or glob-ish prefixes ending with .* or *) known to be used dynamically / externally.
ignoreUnused: [],
};
const config = existsSync(CONFIG_PATH)
? { ...DEFAULT_CONFIG, ...JSON.parse(readFileSync(CONFIG_PATH, "utf8")) }
: DEFAULT_CONFIG;
// ---- helpers ----
const flatten = (obj, prefix = "", out = {}) => {
for (const [k, v] of Object.entries(obj)) {
const key = prefix ? `${prefix}.${k}` : k;
if (v && typeof v === "object" && !Array.isArray(v)) flatten(v, key, out);
else out[key] = v;
}
return out;
};
const globMatch = (key, pattern) => {
if (pattern.endsWith(".*"))
return key === pattern.slice(0, -2) || key.startsWith(pattern.slice(0, -1));
if (pattern.endsWith("*")) return key.startsWith(pattern.slice(0, -1));
return key === pattern;
};
const walk = (dir, files = []) => {
let entries;
try {
entries = readdirSync(dir);
} catch {
return files;
}
for (const name of entries) {
const full = join(dir, name);
let st;
try {
st = statSync(full);
} catch {
continue;
}
if (st.isDirectory()) {
if (config.excludeDirs.includes(name)) continue;
walk(full, files);
} else if (config.srcExtensions.includes(extname(name))) {
files.push(full);
}
}
return files;
};
// ---- load source keys ----
const sourcePath = join(ROOT, config.localesDir, `${config.sourceLocale}.json`);
const sourceKeys = Object.keys(
flatten(JSON.parse(readFileSync(sourcePath, "utf8"))),
);
const sourceKeySet = new Set(sourceKeys);
// ---- scan code ----
const STATIC_RE = /\bt\(\s*(['"])((?:\\.|(?!\1).)+?)\1/g; // t("a.b") / t('a.b')
const TPL_STATIC_RE = /\bt\(\s*`([^`$]+)`/g; // t(`a.b`) no interpolation
const TPL_DYN_RE = /\bt\(\s*`([^`$]*)\$\{/g; // t(`a.b.${x}`) -> prefix "a.b."
const I18NKEY_RE = /\bi18nKey\s*=\s*(?:\{\s*)?(['"])((?:\\.|(?!\1).)+?)\1/g; // <Trans i18nKey="a.b">
const KEY_SHAPE = /^[A-Za-z0-9_]+(\.[A-Za-z0-9_]+)+$/; // dotted key, e.g. home.x.y
const usedStatic = new Set(); // keys passed to t(...) / i18nKey — used for MISSING detection
const dynamicPrefixes = new Set();
const fullyDynamic = []; // { file, line }
let codeBlob = ""; // all (comment-stripped) source text — searched for delimited key literals
// Strip comments so keys mentioned in comments (e.g. `// t("old.key")`) are not counted as
// usage. Block comments and JSX {/* */} are blanked (preserving newlines for line numbers);
// line comments are only stripped when `//` follows start/whitespace/punctuation, which keeps
// `://` inside string URLs intact.
const stripComments = (src) =>
src
.replace(/\/\*[\s\S]*?\*\//g, (m) => m.replace(/[^\n]/g, " "))
.replace(/(^|[\s;{}()[\],=>])\/\/[^\n]*/g, (_m, p) => p);
const files = config.srcDirs.flatMap((d) =>
walk(join(ROOT, d === "." ? "" : d) || ROOT),
);
for (const file of files) {
const text = readFileSync(file, "utf8");
const clean = stripComments(text);
codeBlob += `\n${clean}`;
for (const m of clean.matchAll(STATIC_RE)) usedStatic.add(m[2]);
for (const m of clean.matchAll(TPL_STATIC_RE)) usedStatic.add(m[1]);
for (const m of clean.matchAll(I18NKEY_RE)) usedStatic.add(m[2]);
for (const m of clean.matchAll(TPL_DYN_RE)) {
const prefix = m[1];
if (prefix?.includes(".")) dynamicPrefixes.add(prefix);
else {
const idx = clean.slice(0, m.index).split("\n").length;
fullyDynamic.push({ file: relative(ROOT, file), line: idx });
}
}
}
const prefixList = [...dynamicPrefixes];
// A key counts as used if its EXACT delimited literal ("k" / 'k' / `k`) appears anywhere in
// the code (covers t("k"), <Trans i18nKey>, and keys stored as bare string constants in
// arrays/config then resolved via t(variable)), or it is reached via a dynamic prefix, or
// explicitly allow-listed. Delimited search avoids substring false-matches (e.g. a.b vs a.b_c).
const literalUsed = (key) =>
codeBlob.includes(`"${key}"`) ||
codeBlob.includes(`'${key}'`) ||
codeBlob.includes(`\`${key}\``);
const isUsed = (key) =>
literalUsed(key) ||
prefixList.some((p) => key.startsWith(p)) ||
config.ignoreUnused.some((g) => globMatch(key, g));
// ---- compute ----
const unused = sourceKeys.filter((k) => !isUsed(k)).sort();
// Static references are always validated, even under a dynamic prefix: a dynamic prefix only
// affects the UNUSED calculation, never MISSING.
const missing = [...usedStatic]
.filter((k) => KEY_SHAPE.test(k) && !sourceKeySet.has(k))
.sort();
// ---- optional fix: strip dead keys from the source locale (en.json) ----
const removeKey = (obj, parts) => {
const [head, ...rest] = parts;
if (!(head in obj)) return;
if (rest.length === 0) {
delete obj[head];
return;
}
removeKey(obj[head], rest);
if (
obj[head] &&
typeof obj[head] === "object" &&
Object.keys(obj[head]).length === 0
)
delete obj[head];
};
if (FIX_UNUSED && unused.length) {
// Only edit the SOURCE locale (en.json). Crowdin owns the target locales and removes
// the keys from them automatically on the next sync once they disappear from the source.
const data = JSON.parse(readFileSync(sourcePath, "utf8"));
for (const key of unused) removeKey(data, key.split("."));
writeFileSync(sourcePath, `${JSON.stringify(data, null, 2)}\n`);
console.log(
`🧹 Removed ${unused.length} dead key(s) from ${config.sourceLocale}.json (Crowdin will sync the other locales).`,
);
}
// ---- report ----
if (JSON_OUT) {
console.log(
JSON.stringify(
{
sourceKeys: sourceKeys.length,
missing,
unused,
dynamicPrefixes: prefixList,
fullyDynamic,
},
null,
2,
),
);
} else {
console.log(
`🔑 i18n key check — source: ${relative(ROOT, sourcePath)} (${sourceKeys.length} keys), scanned ${files.length} files`,
);
if (prefixList.length)
console.log(
` dynamic prefixes treated as used: ${prefixList.map((p) => `${p}*`).join(", ")}`,
);
if (fullyDynamic.length)
console.log(
` ⚠️ ${fullyDynamic.length} fully-dynamic t(\`\${…}\`) call(s) (not key-based, manual review): ${fullyDynamic.map((d) => `${d.file}:${d.line}`).join(", ")}`,
);
if (missing.length) {
console.log(
`\n❌ MISSING keys (used in code, absent from ${config.sourceLocale}.json) — ${missing.length}:`,
);
for (const k of missing) console.log(` - ${k}`);
} else console.log("\n✅ No missing keys.");
if (UNUSED_MODE !== "off") {
if (unused.length) {
console.log(
`\n${UNUSED_MODE === "error" ? "❌" : "⚠️ "} UNUSED keys (in ${config.sourceLocale}.json, referenced nowhere) — ${unused.length}:`,
);
for (const k of unused) console.log(` - ${k}`);
console.log(
`\n → remove with: bun scripts/check-i18n-keys.mjs --fix-unused`,
);
console.log(
` → or allow-list a dynamic key in scripts/i18n-keys.config.json ("ignoreUnused").`,
);
} else console.log("\n✅ No unused keys.");
}
}
const fail =
missing.length > 0 || (UNUSED_MODE === "error" && unused.length > 0);
process.exit(fail ? 1 : 0);

View File

@@ -0,0 +1,43 @@
{
"localesDir": "translations",
"sourceLocale": "en",
"srcDirs": [
"app",
"components",
"hooks",
"providers",
"utils",
"modules",
"packages",
"constants"
],
"srcExtensions": [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"],
"excludeDirs": [
"node_modules",
"ios",
"android",
".expo",
".git",
"dist",
"build",
"translations"
],
"_ignoreUnusedNote": "Keys for planned features that are intentionally kept in en.json but not yet wired in code. They are exempt from the unused-key check until implemented. Remove an entry once its feature ships and uses the key.",
"ignoreUnused": [
"watchlists.add_to_watchlist",
"watchlists.remove_from_watchlist",
"watchlists.create_one_first",
"watchlists.no_compatible_watchlists",
"pin.confirm_pin",
"pin.pins_dont_match",
"player.search_subtitles",
"player.subtitle_search",
"player.subtitle_download_hint",
"player.subtitle_tracks",
"player.using_jellyfin_server",
"player.swipe_down_settings",
"player.stopPlayback",
"player.stopPlayingTitle",
"player.stopPlayingConfirm"
]
}

View File

@@ -29,6 +29,10 @@
<string>$(MARKETING_VERSION)</string> <string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string> <string>$(CURRENT_PROJECT_VERSION)</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>NSExtension</key> <key>NSExtension</key>
<dict> <dict>
<key>NSExtensionPointIdentifier</key> <key>NSExtensionPointIdentifier</key>

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,9 @@
"error_title": "Error", "error_title": "Error",
"login_title": "Inicia sessió", "login_title": "Inicia sessió",
"login_to_title": "Inicia sessió a", "login_to_title": "Inicia sessió a",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Nom d'usuari", "username_placeholder": "Nom d'usuari",
"password_placeholder": "Contrasenya", "password_placeholder": "Contrasenya",
"login_button": "Inicia sessió", "login_button": "Inicia sessió",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Oops!", "oops": "Oops!",
"error_message": "Alguna cosa ha anat malament.\nTanqueu la sessió i torneu-la a iniciar.", "error_message": "Alguna cosa ha anat malament.\nTanqueu la sessió i torneu-la a iniciar.",
"continue_watching": "Continua veient", "continue_watching": "Continua veient",
"continue": "Continue",
"next_up": "A continuació", "next_up": "A continuació",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Afegit recentment a {{libraryName}}", "recently_added_in": "Afegit recentment a {{libraryName}}",
"suggested_movies": "Pel·lícules suggerides", "suggested_movies": "Pel·lícules suggerides",
"suggested_episodes": "Episodis suggerits",
"intro": { "intro": {
"welcome_to_streamyfin": "Benvingut a Streamyfin", "welcome_to_streamyfin": "Benvingut a Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Un client gratuït i de codi obert per a Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Un client gratuït i de codi obert per a Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Configuració", "settings_title": "Configuració",
"log_out_button": "Tanca sessió", "log_out_button": "Tanca sessió",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Durada del rebobinat", "rewind_length": "Durada del rebobinat",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "Gesture Controls",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "Horizontal Swipe to Skip",
@@ -220,62 +260,22 @@
"None": "Cap", "None": "Cap",
"OnlyForced": "Només els forçats" "OnlyForced": "Només els forçats"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "Cap",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Altres", "other_title": "Altres",
@@ -294,13 +294,7 @@
"UNKNOWN": "Desconeguda" "UNKNOWN": "Desconeguda"
}, },
"safe_area_in_controls": "Àrea segura als controls", "safe_area_in_controls": "Àrea segura als controls",
"video_player": "Reproductor de vídeo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Mostrar enllaços del menú personalitzats", "show_custom_menu_links": "Mostrar enllaços del menú personalitzats",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Oculta biblioteques", "hide_libraries": "Oculta biblioteques",
"select_liraries_you_want_to_hide": "Seleccioneu les biblioteques que voleu ocultar de la pestanya Biblioteca i de les seccions de la pàgina d'inici.", "select_liraries_you_want_to_hide": "Seleccioneu les biblioteques que voleu ocultar de la pestanya Biblioteca i de les seccions de la pàgina d'inici.",
"disable_haptic_feedback": "Desactiva la resposta hàptica", "disable_haptic_feedback": "Desactiva la resposta hàptica",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Nombre màxim d'episodis de reproducció automàtica", "max_auto_play_episode_count": "Nombre màxim d'episodis de reproducció automàtica",
"disabled": "Desactivat" "disabled": "Desactivat"
}, },
"downloads": {
"downloads_title": "Descàrregues"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Mostra més sobre Marlin.", "read_more_about_marlin": "Mostra més sobre Marlin.",
"save_button": "Desa", "save_button": "Desa",
"toasts": { "toasts": {
"saved": "Desat", "saved": "Desat"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Suprimeix tots els fitxers descarregats", "delete_all_downloaded_files": "Suprimeix tots els fitxers descarregats",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Exporta registres", "export_logs": "Exporta registres",
"click_for_more_info": "Feu clic per obtenir més informació", "click_for_more_info": "Feu clic per obtenir més informació",
"level": "Nivell", "level": "Nivell",
"no_logs_available": "No hi ha registres disponibles", "no_logs_available": "No hi ha registres disponibles"
"delete_all_logs": "Suprimeix tots els registres"
}, },
"languages": { "languages": {
"title": "Idiomes", "title": "Idiomes",
@@ -427,9 +414,21 @@
"system": "Sistema" "system": "Sistema"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error en suprimir fitxers", "error_deleting_files": "Error en suprimir fitxers"
"background_downloads_enabled": "Descàrregues en segon pla activades", },
"background_downloads_disabled": "Descàrregues en segon pla desactivades" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Descàrregues", "downloads_title": "Descàrregues",
"tvseries": "Sèries", "tvseries": "Sèries",
"movies": "Pel·lícules", "movies": "Pel·lícules",
"queue": "Cua",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "La cua i les descàrregues es perdran en reiniciar l'aplicació",
"no_items_in_queue": "No hi ha elements a la cua",
"no_downloaded_items": "No hi ha elements descarregats", "no_downloaded_items": "No hi ha elements descarregats",
"delete_all_movies_button": "Suprimeix totes les pel·lícules", "delete_all_movies_button": "Suprimeix totes les pel·lícules",
"delete_all_tvseries_button": "Suprimeix totes les sèries", "delete_all_tvseries_button": "Suprimeix totes les sèries",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "L'actualització nova requereix que el contingut es torni a descarregar. Suprimiu tot el contingut descarregat i torneu-ho a provar.", "new_app_version_requires_re_download_description": "L'actualització nova requereix que el contingut es torni a descarregar. Suprimiu tot el contingut descarregat i torneu-ho a provar.",
"back": "Enrere", "back": "Enrere",
"delete": "Suprimeix", "delete": "Suprimeix",
"delete_download": "Delete Download",
"something_went_wrong": "Alguna cosa ha anat malament", "something_went_wrong": "Alguna cosa ha anat malament",
"could_not_get_stream_url_from_jellyfin": "No s'ha pogut obtenir l'URL del flux de Jellyfin", "could_not_get_stream_url_from_jellyfin": "No s'ha pogut obtenir l'URL del flux de Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "No s'han pogut suprimir totes les sèries", "failed_to_delete_all_tvseries": "No s'han pogut suprimir totes les sèries",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Descàrrega cancel·lada", "download_cancelled": "Descàrrega cancel·lada",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Descàrrega completada", "download_completed": "Descàrrega completada",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Ha fallat la descàrrega per a {{item}} - {{error}}", "download_failed_for_item": "Ha fallat la descàrrega per a {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Tots els fitxers, carpetes i treballs s'han suprimit correctament",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Ves a les descàrregues",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Vídeo", "video": "Vídeo",
"audio": "Àudio", "audio": "Àudio",
"subtitle": "Subtítols", "subtitle": "Subtítols",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Cerca...", "search": "Cerca...",
@@ -556,6 +548,7 @@
"movies": "pel·lícules", "movies": "pel·lícules",
"series": "sèries", "series": "sèries",
"boxsets": "col·leccions", "boxsets": "col·leccions",
"playlists": "Playlists",
"items": "elements" "items": "elements"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Cartell", "poster": "Cartell",
"cover": "Coberta", "cover": "Coberta",
"show_titles": "Mostrar títols", "show_titles": "Mostrar títols",
"show_stats": "Mostrar estadístiques" "show_stats": "Mostrar estadístiques",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Gèneres", "genres": "Gèneres",
@@ -574,7 +568,11 @@
"sort_by": "Ordenar per", "sort_by": "Ordenar per",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Ordre", "sort_order": "Ordre",
"tags": "Etiquetes" "tags": "Etiquetes",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "No hi ha enllaços" "no_links": "No hi ha enllaços"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "No s'ha pogut obtenir l'URL del flux", "failed_to_get_stream_url": "No s'ha pogut obtenir l'URL del flux",
"an_error_occured_while_playing_the_video": "S'ha produït un error en reproduir el vídeo. Consulteu els registres a la configuració.", "an_error_occured_while_playing_the_video": "S'ha produït un error en reproduir el vídeo. Consulteu els registres a la configuració.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "No s'ha pogut crear un flux per a Chromecast", "could_not_create_stream_for_chromecast": "No s'ha pogut crear un flux per a Chromecast",
"message_from_server": "Missatge del servidor: {{message}}", "message_from_server": "Missatge del servidor: {{message}}",
"next_episode": "Episodi següent", "next_episode": "Episodi següent",
"refresh_tracks": "Actualitzar pistes",
"audio_tracks": "Pistes d'àudio:",
"playback_state": "Estat de reproducció:",
"index": "Índex:",
"continue_watching": "Continuar veient", "continue_watching": "Continuar veient",
"go_back": "Enrere", "go_back": "Enrere",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "A continuació", "next_up": "A continuació",
@@ -617,6 +641,11 @@
"series": "Sèries", "series": "Sèries",
"seasons": "Temporades", "seasons": "Temporades",
"season": "Temporada", "season": "Temporada",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "No hi ha episodis per a aquesta temporada", "no_episodes_for_this_season": "No hi ha episodis per a aquesta temporada",
"overview": "Descripció general", "overview": "Descripció general",
"more_with": "Més amb {{name}}", "more_with": "Més amb {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Qualitat", "quality": "Qualitat",
"audio": "Àudio", "audio": "Àudio",
"subtitles": "Subtítols", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Mostra més", "show_more": "Mostra més",
"show_less": "Mostra menys", "show_less": "Mostra menys",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Va aparèixer a", "appeared_in": "Va aparèixer a",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "No s'ha pogut carregar l'element", "could_not_load_item": "No s'ha pogut carregar l'element",
"none": "Cap", "none": "Cap",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Descarrega {{item_count}} elements", "download_x_item": "Descarrega {{item_count}} elements",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Descarrega" "download_button": "Descarrega"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Següent", "next": "Següent",
@@ -652,7 +697,18 @@
"movies": "Pel·lícules", "movies": "Pel·lícules",
"sports": "Esports", "sports": "Esports",
"for_kids": "Infantil", "for_kids": "Infantil",
"news": "Notícies" "news": "Notícies",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirma", "confirm": "Confirma",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "El servidor Jellyseerr no compleix els requisits mínims de versió! Actualitzeu-lo almenys a la versió 2.0.0", "jellyseer_does_not_meet_requirements": "El servidor Jellyseerr no compleix els requisits mínims de versió! Actualitzeu-lo almenys a la versió 2.0.0",
"jellyseerr_test_failed": "Ha fallat la prova de Jellyseerr. Torneu-ho a provar.", "jellyseerr_test_failed": "Ha fallat la prova de Jellyseerr. Torneu-ho a provar.",
@@ -716,7 +778,8 @@
"search": "Cercar", "search": "Cercar",
"library": "Biblioteca", "library": "Biblioteca",
"custom_links": "Enllaços personalitzats", "custom_links": "Enllaços personalitzats",
"favorites": "Preferits" "favorites": "Preferits",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Chyba", "error_title": "Chyba",
"login_title": "Přihlásit se", "login_title": "Přihlásit se",
"login_to_title": "Přihlásit se do", "login_to_title": "Přihlásit se do",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Uživatelské jméno", "username_placeholder": "Uživatelské jméno",
"password_placeholder": "Heslo", "password_placeholder": "Heslo",
"login_button": "Přihlásit se", "login_button": "Přihlásit se",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Jejda!", "oops": "Jejda!",
"error_message": "Něco se pokazilo.\nOdhlaste se a znovu se prosím.", "error_message": "Něco se pokazilo.\nOdhlaste se a znovu se prosím.",
"continue_watching": "Pokračovat ve sledování", "continue_watching": "Pokračovat ve sledování",
"continue": "Continue",
"next_up": "Další nahoru", "next_up": "Další nahoru",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Nedávno přidané v {{libraryName}}", "recently_added_in": "Nedávno přidané v {{libraryName}}",
"suggested_movies": "Navrhované filmy", "suggested_movies": "Navrhované filmy",
"suggested_episodes": "Navrhované epizody",
"intro": { "intro": {
"welcome_to_streamyfin": "Vítejte v Streamyfin", "welcome_to_streamyfin": "Vítejte v Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Volný a Open-Source klient pro Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Volný a Open-Source klient pro Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Nastavení", "settings_title": "Nastavení",
"log_out_button": "Odhlásit se", "log_out_button": "Odhlásit se",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Délka zpětného větru", "rewind_length": "Délka zpětného větru",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Ovládání gest", "gesture_controls_title": "Ovládání gest",
"horizontal_swipe_skip": "Horizontální přejetím přeskočit", "horizontal_swipe_skip": "Horizontální přejetím přeskočit",
@@ -220,62 +260,22 @@
"None": "Nic", "None": "Nic",
"OnlyForced": "Pouze vynucené" "OnlyForced": "Pouze vynucené"
}, },
"text_color": "Barva textu", "opensubtitles_title": "OpenSubtitles",
"background_color": "Barva pozadí", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Barva obrysu", "opensubtitles_api_key": "API Key",
"outline_thickness": "Obrys tloušťky", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Průhlednost pozadí", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Průhlednost obrysu", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Černý", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Šedá", "align": {
"Silver": "Stříbro", "left": "Left",
"White": "Bílý", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Červená", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Žlutá", }
"Olive": "Olivy",
"Green": "Zelená",
"Teal": "Modrozelený",
"Lime": "Světle zelená",
"Purple": "Fialová",
"Navy": "Námořní loď",
"Blue": "Modrá",
"Aqua": "Aqua"
},
"thickness": {
"None": "Nic",
"Thin": "Tenké",
"Normal": "Normální",
"Thick": "Tlustá"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Ostatní", "other_title": "Ostatní",
@@ -294,13 +294,7 @@
"UNKNOWN": "Neznámý" "UNKNOWN": "Neznámý"
}, },
"safe_area_in_controls": "Bezpečná oblast v ovládání", "safe_area_in_controls": "Bezpečná oblast v ovládání",
"video_player": "Video přehrávač",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (experimentální + PiP)"
},
"show_custom_menu_links": "Zobrazit vlastní Menu odkazy", "show_custom_menu_links": "Zobrazit vlastní Menu odkazy",
"show_large_home_carousel": "Zobrazit velký přehled (beta)",
"hide_libraries": "Skrýt knihovny", "hide_libraries": "Skrýt knihovny",
"select_liraries_you_want_to_hide": "Vyberte knihovny, které chcete skrýt v záložce Knihovna a v sekcích domovské stránky.", "select_liraries_you_want_to_hide": "Vyberte knihovny, které chcete skrýt v záložce Knihovna a v sekcích domovské stránky.",
"disable_haptic_feedback": "Zakázat Haptickou zpětnou vazbu", "disable_haptic_feedback": "Zakázat Haptickou zpětnou vazbu",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maximální počet automatických přehrávání epizod", "max_auto_play_episode_count": "Maximální počet automatických přehrávání epizod",
"disabled": "Zakázáno" "disabled": "Zakázáno"
}, },
"downloads": {
"downloads_title": "Stahování"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Přečtěte si více o Marlinu.", "read_more_about_marlin": "Přečtěte si více o Marlinu.",
"save_button": "Uložit", "save_button": "Uložit",
"toasts": { "toasts": {
"saved": "Uloženo", "saved": "Uloženo"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Odstranit všechny stažené soubory", "delete_all_downloaded_files": "Odstranit všechny stažené soubory",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Exportovat protokoly", "export_logs": "Exportovat protokoly",
"click_for_more_info": "Klikněte pro více informací", "click_for_more_info": "Klikněte pro více informací",
"level": "Úrovně", "level": "Úrovně",
"no_logs_available": "Žádné protokoly nejsou k dispozici", "no_logs_available": "Žádné protokoly nejsou k dispozici"
"delete_all_logs": "Odstranit všechny logy"
}, },
"languages": { "languages": {
"title": "Jazyky", "title": "Jazyky",
@@ -427,9 +414,21 @@
"system": "Systém" "system": "Systém"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Chyba při mazání souborů", "error_deleting_files": "Chyba při mazání souborů"
"background_downloads_enabled": "Stahování na pozadí povoleno", },
"background_downloads_disabled": "Stahování na pozadí zakázáno" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Stahování", "downloads_title": "Stahování",
"tvseries": "Televizní série", "tvseries": "Televizní série",
"movies": "Filmy", "movies": "Filmy",
"queue": "Fronta",
"other_media": "Ostatní média", "other_media": "Ostatní média",
"queue_hint": "Fronta a stahování budou ztraceny při restartu aplikace",
"no_items_in_queue": "Žádné položky ve frontě",
"no_downloaded_items": "Žádné stažené položky", "no_downloaded_items": "Žádné stažené položky",
"delete_all_movies_button": "Odstranit všechny filmy", "delete_all_movies_button": "Odstranit všechny filmy",
"delete_all_tvseries_button": "Odstranit všechny TV-série", "delete_all_tvseries_button": "Odstranit všechny TV-série",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Nová aktualizace vyžaduje opětovné stažení obsahu. Odstraňte prosím veškerý stažený obsah a zkuste to znovu.", "new_app_version_requires_re_download_description": "Nová aktualizace vyžaduje opětovné stažení obsahu. Odstraňte prosím veškerý stažený obsah a zkuste to znovu.",
"back": "Zpět", "back": "Zpět",
"delete": "Vymazat", "delete": "Vymazat",
"delete_download": "Delete Download",
"something_went_wrong": "Něco se pokazilo", "something_went_wrong": "Něco se pokazilo",
"could_not_get_stream_url_from_jellyfin": "Nelze získat URL streamu z Jellyfin", "could_not_get_stream_url_from_jellyfin": "Nelze získat URL streamu z Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Nepodařilo se odstranit všechny TV-série", "failed_to_delete_all_tvseries": "Nepodařilo se odstranit všechny TV-série",
"deleted_media_successfully": "Ostatní média úspěšně smazána!", "deleted_media_successfully": "Ostatní média úspěšně smazána!",
"failed_to_delete_media": "Nepodařilo se odstranit ostatní média", "failed_to_delete_media": "Nepodařilo se odstranit ostatní média",
"download_deleted": "Stahování smazáno",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Stahování nelze odstranit", "could_not_delete_download": "Stahování nelze odstranit",
"download_paused": "Stahování pozastaveno",
"could_not_pause_download": "Nelze pozastavit stahování",
"download_resumed": "Stahování obnoveno",
"could_not_resume_download": "Nelze pokračovat v stahování",
"download_completed": "Stahování dokončeno", "download_completed": "Stahování dokončeno",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Stahování se nezdařilo pro {{item}} - {{error}}", "download_failed_for_item": "Stahování se nezdařilo pro {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Všechny soubory, složky a úlohy byly úspěšně odstraněny",
"failed_to_clean_cache_directory": "Nepodařilo se vyčistit adresář mezipaměti",
"could_not_get_download_url_for_item": "Nelze získat URL pro stažení {{itemName}}", "could_not_get_download_url_for_item": "Nelze získat URL pro stažení {{itemName}}",
"go_to_downloads": "Přejít na stahování",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Vybrat", "select": "Vybrat",
"no_trailer_available": "Přípojné vozidlo není k dispozici", "no_trailer_available": "Přípojné vozidlo není k dispozici",
"video": "Video", "video": "Video",
"audio": "Zvuk", "audio": "Zvuk",
"subtitle": "Podtitulek", "subtitle": "Podtitulek",
"play": "Hrát", "play": "Hrát",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Hledat...", "search": "Hledat...",
@@ -556,6 +548,7 @@
"movies": "Filmy", "movies": "Filmy",
"series": "Série", "series": "Série",
"boxsets": "Sada boxů", "boxsets": "Sada boxů",
"playlists": "Playlists",
"items": "Položky" "items": "Položky"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Plakát", "poster": "Plakát",
"cover": "Kryt", "cover": "Kryt",
"show_titles": "Zobrazit názvy", "show_titles": "Zobrazit názvy",
"show_stats": "Zobrazit statistiky" "show_stats": "Zobrazit statistiky",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Seřadit podle", "sort_by": "Seřadit podle",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Řazení", "sort_order": "Řazení",
"tags": "Štítky" "tags": "Štítky",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Žádné odkazy" "no_links": "Žádné odkazy"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Chyba", "error": "Chyba",
"failed_to_get_stream_url": "Nepodařilo se získat URL streamu", "failed_to_get_stream_url": "Nepodařilo se získat URL streamu",
"an_error_occured_while_playing_the_video": "Při přehrávání videa došlo k chybě. Zkontrolujte logy v nastavení.", "an_error_occured_while_playing_the_video": "Při přehrávání videa došlo k chybě. Zkontrolujte logy v nastavení.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Nelze vytvořit stream pro Chromecast", "could_not_create_stream_for_chromecast": "Nelze vytvořit stream pro Chromecast",
"message_from_server": "Zpráva od serveru: {{message}}", "message_from_server": "Zpráva od serveru: {{message}}",
"next_episode": "Další epizoda", "next_episode": "Další epizoda",
"refresh_tracks": "Obnovit skladby",
"audio_tracks": "Zvukové stopy:",
"playback_state": "Stav přehrávání:",
"index": "Index:",
"continue_watching": "Pokračovat ve sledování", "continue_watching": "Pokračovat ve sledování",
"go_back": "Zpět", "go_back": "Zpět",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Další nahoru", "next_up": "Další nahoru",
@@ -617,6 +641,11 @@
"series": "Série", "series": "Série",
"seasons": "Série", "seasons": "Série",
"season": "Sezóna", "season": "Sezóna",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Žádné epizody pro tuto sezónu", "no_episodes_for_this_season": "Žádné epizody pro tuto sezónu",
"overview": "Přehled", "overview": "Přehled",
"more_with": "Více s {{name}}", "more_with": "Více s {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Kvalita", "quality": "Kvalita",
"audio": "Zvuk", "audio": "Zvuk",
"subtitles": "Podtitulek", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Zobrazit více", "show_more": "Zobrazit více",
"show_less": "Zobrazit méně", "show_less": "Zobrazit méně",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Zobrazeno v", "appeared_in": "Zobrazeno v",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Nelze načíst položku", "could_not_load_item": "Nelze načíst položku",
"none": "Nic", "none": "Nic",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Stáhnout položky {{item_count}}", "download_x_item": "Stáhnout položky {{item_count}}",
"download_unwatched_only": "Pouze nezhlédnuté", "download_unwatched_only": "Pouze nezhlédnuté",
"download_button": "Stáhnout" "download_button": "Stáhnout"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Další", "next": "Další",
@@ -652,7 +697,18 @@
"movies": "Filmy", "movies": "Filmy",
"sports": "Sporty", "sports": "Sporty",
"for_kids": "Pro děti", "for_kids": "Pro děti",
"news": "Novinky" "news": "Novinky",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Potvrdit", "confirm": "Potvrdit",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr server nesplňuje minimální požadavky na verzi! Aktualizujte prosím alespoň na 2.0.0", "jellyseer_does_not_meet_requirements": "Seerr server nesplňuje minimální požadavky na verzi! Aktualizujte prosím alespoň na 2.0.0",
"jellyseerr_test_failed": "Seerr test se nezdařil. Zkuste to prosím znovu.", "jellyseerr_test_failed": "Seerr test se nezdařil. Zkuste to prosím znovu.",
@@ -716,7 +778,8 @@
"search": "Hledat", "search": "Hledat",
"library": "Knihovna", "library": "Knihovna",
"custom_links": "Vlastní odkazy", "custom_links": "Vlastní odkazy",
"favorites": "Oblíbené" "favorites": "Oblíbené",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Fejl", "error_title": "Fejl",
"login_title": "Log ind", "login_title": "Log ind",
"login_to_title": "Log ind på", "login_to_title": "Log ind på",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Brugernavn", "username_placeholder": "Brugernavn",
"password_placeholder": "Adgangskode", "password_placeholder": "Adgangskode",
"login_button": "Log ind", "login_button": "Log ind",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ups!", "oops": "Ups!",
"error_message": "Noget gik galt.\nLog venligst ud og ind igen.", "error_message": "Noget gik galt.\nLog venligst ud og ind igen.",
"continue_watching": "Fortsæt med at se", "continue_watching": "Fortsæt med at se",
"continue": "Continue",
"next_up": "Næste", "next_up": "Næste",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Senest tilføjet i {{libraryName}}", "recently_added_in": "Senest tilføjet i {{libraryName}}",
"suggested_movies": "Foreslåede film", "suggested_movies": "Foreslåede film",
"suggested_episodes": "Foreslåede episoder",
"intro": { "intro": {
"welcome_to_streamyfin": "Velkommen til Streamyfin", "welcome_to_streamyfin": "Velkommen til Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "En gratis og open-source klient til Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "En gratis og open-source klient til Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Indstillinger", "settings_title": "Indstillinger",
"log_out_button": "Log ud", "log_out_button": "Log ud",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Spol tilbage længde", "rewind_length": "Spol tilbage længde",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Bevægelsesstyring", "gesture_controls_title": "Bevægelsesstyring",
"horizontal_swipe_skip": "Vandret Stryg for at springe over", "horizontal_swipe_skip": "Vandret Stryg for at springe over",
@@ -220,62 +260,22 @@
"None": "Ingen", "None": "Ingen",
"OnlyForced": "Kun tvungne undertekster" "OnlyForced": "Kun tvungne undertekster"
}, },
"text_color": "Tekst Farve", "opensubtitles_title": "OpenSubtitles",
"background_color": "Baggrunds Farve", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Omrids Farve", "opensubtitles_api_key": "API Key",
"outline_thickness": "Omrids Tykkelse", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Baggrunds Gennemsigtighed", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Omrids Gennemsigtighed", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Sort", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Grå", "align": {
"Silver": "Sølv", "left": "Left",
"White": "Hvid", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Rød", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Gul", }
"Olive": "Oliven",
"Green": "Grøn",
"Teal": "Grønblåt",
"Lime": "Limegrøn",
"Purple": "Lilla",
"Navy": "Flåden",
"Blue": "Blå",
"Aqua": "Aqua"
},
"thickness": {
"None": "Ingen",
"Thin": "Tynd",
"Normal": "Normal",
"Thick": "Tyk"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Andet", "other_title": "Andet",
@@ -294,13 +294,7 @@
"UNKNOWN": "Ukendt" "UNKNOWN": "Ukendt"
}, },
"safe_area_in_controls": "Sikkert område i kontroller", "safe_area_in_controls": "Sikkert område i kontroller",
"video_player": "Videospiller",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperimentel + PiP)"
},
"show_custom_menu_links": "Vis tilpassede menulinks", "show_custom_menu_links": "Vis tilpassede menulinks",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Skjul biblioteker", "hide_libraries": "Skjul biblioteker",
"select_liraries_you_want_to_hide": "Vælg de biblioteker, du ønsker at skjule fra fanen Bibliotek og startside sektionerne.", "select_liraries_you_want_to_hide": "Vælg de biblioteker, du ønsker at skjule fra fanen Bibliotek og startside sektionerne.",
"disable_haptic_feedback": "Deaktiver haptisk feedback", "disable_haptic_feedback": "Deaktiver haptisk feedback",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maks. Auto Afspil Episode Antal", "max_auto_play_episode_count": "Maks. Auto Afspil Episode Antal",
"disabled": "Deaktiveret" "disabled": "Deaktiveret"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Læs mere om Marlin.", "read_more_about_marlin": "Læs mere om Marlin.",
"save_button": "Gem", "save_button": "Gem",
"toasts": { "toasts": {
"saved": "Gemt", "saved": "Gemt"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Slet alle downloadede filer", "delete_all_downloaded_files": "Slet alle downloadede filer",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Eksporter logfiler", "export_logs": "Eksporter logfiler",
"click_for_more_info": "Klik for mere info", "click_for_more_info": "Klik for mere info",
"level": "Niveau", "level": "Niveau",
"no_logs_available": "Ingen logfiler tilgængelige", "no_logs_available": "Ingen logfiler tilgængelige"
"delete_all_logs": "Slet alle logfiler"
}, },
"languages": { "languages": {
"title": "Sprog", "title": "Sprog",
@@ -427,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Fejl ved sletning af filer", "error_deleting_files": "Fejl ved sletning af filer"
"background_downloads_enabled": "Baggrundsdownloads aktiveret", },
"background_downloads_disabled": "Baggrundsdownloads deaktiveret" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-serier", "tvseries": "TV-serier",
"movies": "Film", "movies": "Film",
"queue": "Kø",
"other_media": "Andre medier", "other_media": "Andre medier",
"queue_hint": "Kø og downloads vil gå tabt ved genstart af appen",
"no_items_in_queue": "Ingen elementer i køen",
"no_downloaded_items": "Ingen downloadede elementer", "no_downloaded_items": "Ingen downloadede elementer",
"delete_all_movies_button": "Slet alle film", "delete_all_movies_button": "Slet alle film",
"delete_all_tvseries_button": "Slet alle TV-serier", "delete_all_tvseries_button": "Slet alle TV-serier",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Den nye opdatering kræver, at indhold downloades igen. Fjern venligst alt downloadet indhold og prøv igen.", "new_app_version_requires_re_download_description": "Den nye opdatering kræver, at indhold downloades igen. Fjern venligst alt downloadet indhold og prøv igen.",
"back": "Tilbage", "back": "Tilbage",
"delete": "Slet", "delete": "Slet",
"delete_download": "Delete Download",
"something_went_wrong": "Noget gik galt", "something_went_wrong": "Noget gik galt",
"could_not_get_stream_url_from_jellyfin": "Kunne ikke hente stream URL'en fra Jellyfin", "could_not_get_stream_url_from_jellyfin": "Kunne ikke hente stream URL'en fra Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Kunne ikke slette alle TV-serier", "failed_to_delete_all_tvseries": "Kunne ikke slette alle TV-serier",
"deleted_media_successfully": "Slettede andre medier med succes!", "deleted_media_successfully": "Slettede andre medier med succes!",
"failed_to_delete_media": "Kunne ikke slette andre medier", "failed_to_delete_media": "Kunne ikke slette andre medier",
"download_deleted": "Download Slettet",
"download_cancelled": "Download afbrudt", "download_cancelled": "Download afbrudt",
"could_not_delete_download": "Kunne Ikke Slette Download", "could_not_delete_download": "Kunne Ikke Slette Download",
"download_paused": "Download Pauset",
"could_not_pause_download": "Kunne Ikke Pause Download",
"download_resumed": "Download Genoprettet",
"could_not_resume_download": "Kunne Ikke Genoptage Download",
"download_completed": "Download fuldført", "download_completed": "Download fuldført",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Download mislykkedes for {{item}} - {{error}}", "download_failed_for_item": "Download mislykkedes for {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Alle filer, mapper og jobs blev slettet med succes",
"failed_to_clean_cache_directory": "Kunne ikke rense cache-mappe",
"could_not_get_download_url_for_item": "Kunne ikke hente download URL til {{itemName}}", "could_not_get_download_url_for_item": "Kunne ikke hente download URL til {{itemName}}",
"go_to_downloads": "Gå til downloads",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Vælg", "select": "Vælg",
"no_trailer_available": "Intet påhængskøretøj tilgængeligt", "no_trailer_available": "Intet påhængskøretøj tilgængeligt",
"video": "Video", "video": "Video",
"audio": "Lyd", "audio": "Lyd",
"subtitle": "Undertekster", "subtitle": "Undertekster",
"play": "Afspil", "play": "Afspil",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Søg...", "search": "Søg...",
@@ -556,6 +548,7 @@
"movies": "film", "movies": "film",
"series": "serier", "series": "serier",
"boxsets": "box sæt", "boxsets": "box sæt",
"playlists": "Playlists",
"items": "elementer" "items": "elementer"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Plakat", "poster": "Plakat",
"cover": "Omslag", "cover": "Omslag",
"show_titles": "Vis titler", "show_titles": "Vis titler",
"show_stats": "Vis statistik" "show_stats": "Vis statistik",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genrer", "genres": "Genrer",
@@ -574,7 +568,11 @@
"sort_by": "Sortér efter", "sort_by": "Sortér efter",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Sorteringsrækkefølge", "sort_order": "Sorteringsrækkefølge",
"tags": "Mærker" "tags": "Mærker",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Ingen links" "no_links": "Ingen links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Fejl", "error": "Fejl",
"failed_to_get_stream_url": "Kunne ikke hente stream URL'en", "failed_to_get_stream_url": "Kunne ikke hente stream URL'en",
"an_error_occured_while_playing_the_video": "Der opstod en fejl under afspilning af videoen. Tjek logfilerne i indstillinger.", "an_error_occured_while_playing_the_video": "Der opstod en fejl under afspilning af videoen. Tjek logfilerne i indstillinger.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Kunne ikke oprette en stream til Chromecast", "could_not_create_stream_for_chromecast": "Kunne ikke oprette en stream til Chromecast",
"message_from_server": "Besked fra server: {{message}}", "message_from_server": "Besked fra server: {{message}}",
"next_episode": "Næste episode", "next_episode": "Næste episode",
"refresh_tracks": "Opdater spor",
"audio_tracks": "Lydspor:",
"playback_state": "Afspilningstilstand:",
"index": "Indeks:",
"continue_watching": "Fortsæt med at se", "continue_watching": "Fortsæt med at se",
"go_back": "Gå Tilbage", "go_back": "Gå Tilbage",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Næste", "next_up": "Næste",
@@ -617,6 +641,11 @@
"series": "Serier", "series": "Serier",
"seasons": "Sæsoner", "seasons": "Sæsoner",
"season": "Sæson", "season": "Sæson",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Ingen episoder for denne sæson", "no_episodes_for_this_season": "Ingen episoder for denne sæson",
"overview": "Oversigt", "overview": "Oversigt",
"more_with": "Mere med {{name}}", "more_with": "Mere med {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Kvalitet", "quality": "Kvalitet",
"audio": "Lyd", "audio": "Lyd",
"subtitles": "Undertekster", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Vis mere", "show_more": "Vis mere",
"show_less": "Vis mindre", "show_less": "Vis mindre",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Medvirket i", "appeared_in": "Medvirket i",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Kunne ikke indlæse elementet", "could_not_load_item": "Kunne ikke indlæse elementet",
"none": "Ingen", "none": "Ingen",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Download {{item_count}} elementer", "download_x_item": "Download {{item_count}} elementer",
"download_unwatched_only": "Kun Usete", "download_unwatched_only": "Kun Usete",
"download_button": "Hent" "download_button": "Hent"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Næste", "next": "Næste",
@@ -652,7 +697,18 @@
"movies": "Film", "movies": "Film",
"sports": "Sport", "sports": "Sport",
"for_kids": "For børn", "for_kids": "For børn",
"news": "Nyheder" "news": "Nyheder",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Bekræft", "confirm": "Bekræft",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr serveren opfylder ikke minimumskravene! Opdater venligst til mindst 2.0.0", "jellyseer_does_not_meet_requirements": "Jellyseerr serveren opfylder ikke minimumskravene! Opdater venligst til mindst 2.0.0",
"jellyseerr_test_failed": "Jellyseerr test mislykkedes. Prøv venligst igen.", "jellyseerr_test_failed": "Jellyseerr test mislykkedes. Prøv venligst igen.",
@@ -716,7 +778,8 @@
"search": "Søg", "search": "Søg",
"library": "Bibliotek", "library": "Bibliotek",
"custom_links": "Tilpassede links", "custom_links": "Tilpassede links",
"favorites": "Favoritter" "favorites": "Favoritter",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Fehler", "error_title": "Fehler",
"login_title": "Anmelden", "login_title": "Anmelden",
"login_to_title": "Anmelden bei", "login_to_title": "Anmelden bei",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Benutzername", "username_placeholder": "Benutzername",
"password_placeholder": "Passwort", "password_placeholder": "Passwort",
"login_button": "Anmelden", "login_button": "Anmelden",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} Konten", "accounts_count": "{{count}} Konten",
"select_account": "Konto auswählen", "select_account": "Konto auswählen",
"add_account": "Konto hinzufügen", "add_account": "Konto hinzufügen",
"remove_account_description": "Hiermit werden die gespeicherten Zugangsdaten für {{username}} entfernt." "remove_account_description": "Hiermit werden die gespeicherten Zugangsdaten für {{username}} entfernt.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Konto speichern", "title": "Konto speichern",
@@ -86,11 +95,11 @@
"oops": "Ups!", "oops": "Ups!",
"error_message": "Etwas ist schiefgelaufen.\nBitte melde dich ab und wieder an.", "error_message": "Etwas ist schiefgelaufen.\nBitte melde dich ab und wieder an.",
"continue_watching": "Weiterschauen", "continue_watching": "Weiterschauen",
"continue": "Continue",
"next_up": "Als nächstes", "next_up": "Als nächstes",
"continue_and_next_up": "\"Weiterschauen\" und \"Als Nächstes\"", "continue_and_next_up": "\"Weiterschauen\" und \"Als Nächstes\"",
"recently_added_in": "Kürzlich hinzugefügt in {{libraryName}}", "recently_added_in": "Kürzlich hinzugefügt in {{libraryName}}",
"suggested_movies": "Empfohlene Filme", "suggested_movies": "Empfohlene Filme",
"suggested_episodes": "Empfohlene Episoden",
"intro": { "intro": {
"welcome_to_streamyfin": "Willkommen bei Streamyfin", "welcome_to_streamyfin": "Willkommen bei Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Ein kostenloser und Open-Source-Client für Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Ein kostenloser und Open-Source-Client für Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Einstellungen", "settings_title": "Einstellungen",
"log_out_button": "Abmelden", "log_out_button": "Abmelden",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Kategorien" "title": "Kategorien"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Aussehen", "title": "Aussehen",
"merge_next_up_continue_watching": "\"Weiterschauen\" und \"Als Nächstes\" kombinieren", "merge_next_up_continue_watching": "\"Weiterschauen\" und \"Als Nächstes\" kombinieren",
"hide_remote_session_button": "Button für Remote-Sitzung ausblenden" "hide_remote_session_button": "Button für Remote-Sitzung ausblenden",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Netzwerk", "title": "Netzwerk",
@@ -174,6 +198,22 @@
"rewind_length": "Rückspullänge", "rewind_length": "Rückspullänge",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gestensteuerung", "gesture_controls_title": "Gestensteuerung",
"horizontal_swipe_skip": "Horizontal Wischen zum Überspringen", "horizontal_swipe_skip": "Horizontal Wischen zum Überspringen",
@@ -220,62 +260,22 @@
"None": "Keine", "None": "Keine",
"OnlyForced": "Nur erzwungene" "OnlyForced": "Nur erzwungene"
}, },
"text_color": "Textfarbe", "opensubtitles_title": "OpenSubtitles",
"background_color": "Hintergrundfarbe", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Konturfarbe", "opensubtitles_api_key": "API Key",
"outline_thickness": "Konturdicke", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Hintergrundtransparenz", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Konturtransparenz", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Fettgedruckter Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Schwarz", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Grau", "align": {
"Silver": "Silber", "left": "Left",
"White": "Weiß", "center": "Center",
"Maroon": "Rotbraun", "right": "Right",
"Red": "Rot", "top": "Top",
"Fuchsia": "Magenta", "bottom": "Bottom"
"Yellow": "Gelb", }
"Olive": "Olivgrün",
"Green": "Grün",
"Teal": "Türkis",
"Lime": "Hellgrün",
"Purple": "Lila",
"Navy": "Marineblau",
"Blue": "Blau",
"Aqua": "Himmelblau"
},
"thickness": {
"None": "Keine",
"Thin": "Dünn",
"Normal": "Normal",
"Thick": "Dick"
},
"subtitle_color": "Untertitelfarbe",
"subtitle_background_color": "Hintergrundfarbe",
"subtitle_font": "Untertitel-Schriftart",
"ksplayer_title": "KSPlayer Einstellungen",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Hardwarebeschleunigung für Video Decoding verwenden. Deaktivieren wenn Wiedergabeprobleme auftreten."
},
"vlc_subtitles": {
"title": "VLC Untertitel-Einstellungen",
"hint": "Anpassen des Untertitel-Erscheinungsbildes für VLC. Änderungen werden bei der nächsten Wiedergabe übernommen.",
"text_color": "Schriftfarbe",
"background_color": "Hintergrundfarbe",
"background_opacity": "Hintergrundtransparenz",
"outline_color": "Konturfarbe",
"outline_opacity": "Konturtransparenz",
"outline_thickness": "Konturdicke",
"bold": "Fettgedruckter Text",
"margin": "Unterer Abstand"
},
"video_player": {
"title": "Videoplayer",
"video_player": "Videoplayer",
"video_player_description": "Videoplayer auf iOS auswählen.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Sonstiges", "other_title": "Sonstiges",
@@ -294,13 +294,7 @@
"UNKNOWN": "Unbekannt" "UNKNOWN": "Unbekannt"
}, },
"safe_area_in_controls": "Sicherer Bereich in den Steuerungen", "safe_area_in_controls": "Sicherer Bereich in den Steuerungen",
"video_player": "Videoplayer",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimentell + PiP)"
},
"show_custom_menu_links": "Benutzerdefinierte Menülinks anzeigen", "show_custom_menu_links": "Benutzerdefinierte Menülinks anzeigen",
"show_large_home_carousel": "Zeige große Startseiten-Übersicht (Beta)",
"hide_libraries": "Bibliotheken ausblenden", "hide_libraries": "Bibliotheken ausblenden",
"select_liraries_you_want_to_hide": "Bibliotheken auswählen die aus dem Bibliothekstab und der Startseite ausgeblendet werden sollen.", "select_liraries_you_want_to_hide": "Bibliotheken auswählen die aus dem Bibliothekstab und der Startseite ausgeblendet werden sollen.",
"disable_haptic_feedback": "Haptisches Feedback deaktivieren", "disable_haptic_feedback": "Haptisches Feedback deaktivieren",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maximale automatisch abzuspielende Episodenanzahl", "max_auto_play_episode_count": "Maximale automatisch abzuspielende Episodenanzahl",
"disabled": "Deaktiviert" "disabled": "Deaktiviert"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Musik", "title": "Musik",
"playback_title": "Wiedergabe", "playback_title": "Wiedergabe",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Erfahre mehr über Marlin.", "read_more_about_marlin": "Erfahre mehr über Marlin.",
"save_button": "Speichern", "save_button": "Speichern",
"toasts": { "toasts": {
"saved": "Gespeichert", "saved": "Gespeichert"
"refreshed": "Einstellungen vom Server aktualisiert" }
},
"refresh_from_server": "Einstellungen vom Server aktualisieren"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Streamystats aktivieren",
"disable_streamystats": "Streamystats deaktivieren", "disable_streamystats": "Streamystats deaktivieren",
"enable_search": "Zum Suchen verwenden", "enable_search": "Zum Suchen verwenden",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "URL für den Streamystats-Server eingeben.", "streamystats_search_hint": "URL für den Streamystats-Server eingeben.",
"read_more_about_streamystats": "Mehr über Streamystats erfahren.", "read_more_about_streamystats": "Mehr über Streamystats erfahren.",
"save_button": "Speichern",
"save": "Gespeichert", "save": "Gespeichert",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Startseitenbereiche",
"enable_movie_recommendations": "Filmempfehlungen", "enable_movie_recommendations": "Filmempfehlungen",
"enable_series_recommendations": "Serienempfehlungen", "enable_series_recommendations": "Serienempfehlungen",
"enable_promoted_watchlists": "Empfohlene Merklisten", "enable_promoted_watchlists": "Empfohlene Merklisten",
@@ -388,8 +374,7 @@
"refresh_from_server": "Einstellungen vom Server aktualisieren" "refresh_from_server": "Einstellungen vom Server aktualisieren"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Merklisten-Integration aktivieren", "watchlist_enabler": "Merklisten-Integration aktivieren"
"watchlist_button": "Merklisten-Integration umschalten"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Alle heruntergeladenen Dateien löschen", "delete_all_downloaded_files": "Alle heruntergeladenen Dateien löschen",
"music_cache_title": "Musik-Cache", "music_cache_title": "Musik-Cache",
"music_cache_description": "Beim Anhören Titel automatisch in den Cache laden um bessere Wiedergabe und Offline-Wiedergabe zu ermöglichen", "music_cache_description": "Beim Anhören Titel automatisch in den Cache laden um bessere Wiedergabe und Offline-Wiedergabe zu ermöglichen",
"enable_music_cache": "Musik-Cache aktivieren",
"clear_music_cache": "Musik-Cache leeren", "clear_music_cache": "Musik-Cache leeren",
"music_cache_size": "{{size}} gechached", "music_cache_size": "{{size}} gechached",
"music_cache_cleared": "Musik-Cache geleert", "music_cache_cleared": "Musik-Cache geleert",
"delete_all_downloaded_songs": "Alle heruntergeladenen Titel löschen", "delete_all_downloaded_songs": "Alle heruntergeladenen Titel löschen",
"downloaded_songs_size": "{{size}} heruntergeladen", "downloaded_songs_size": "{{size}} heruntergeladen",
"downloaded_songs_deleted": "Heruntergeladene Titel gelöscht" "downloaded_songs_deleted": "Heruntergeladene Titel gelöscht",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Einführung", "title": "Einführung",
@@ -418,8 +406,7 @@
"export_logs": "Logs exportieren", "export_logs": "Logs exportieren",
"click_for_more_info": "Für mehr Informationen klicken", "click_for_more_info": "Für mehr Informationen klicken",
"level": "Level", "level": "Level",
"no_logs_available": "Keine Logs verfügbar", "no_logs_available": "Keine Logs verfügbar"
"delete_all_logs": "Alle Logs löschen"
}, },
"languages": { "languages": {
"title": "Sprachen", "title": "Sprachen",
@@ -427,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Fehler beim Löschen von Dateien", "error_deleting_files": "Fehler beim Löschen von Dateien"
"background_downloads_enabled": "Hintergrunddownloads aktiviert", },
"background_downloads_disabled": "Hintergrunddownloads deaktiviert" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "Serien", "tvseries": "Serien",
"movies": "Filme", "movies": "Filme",
"queue": "Warteschlange",
"other_media": "Andere Medien", "other_media": "Andere Medien",
"queue_hint": "Warteschlange und aktive Downloads gehen verloren wenn die App neu gestartet wird",
"no_items_in_queue": "Keine Elemente in der Warteschlange",
"no_downloaded_items": "Keine heruntergeladenen Elemente", "no_downloaded_items": "Keine heruntergeladenen Elemente",
"delete_all_movies_button": "Alle Filme löschen", "delete_all_movies_button": "Alle Filme löschen",
"delete_all_tvseries_button": "Alle Serien löschen", "delete_all_tvseries_button": "Alle Serien löschen",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Die neue App-Version erfordert das erneute Herunterladen von Filmen und Serien. Bitte lösche alle heruntergeladenen Elemente und starte den Download erneut.", "new_app_version_requires_re_download_description": "Die neue App-Version erfordert das erneute Herunterladen von Filmen und Serien. Bitte lösche alle heruntergeladenen Elemente und starte den Download erneut.",
"back": "Zurück", "back": "Zurück",
"delete": "Löschen", "delete": "Löschen",
"delete_download": "Download löschen",
"something_went_wrong": "Etwas ist schiefgelaufen", "something_went_wrong": "Etwas ist schiefgelaufen",
"could_not_get_stream_url_from_jellyfin": "Konnte keine Stream-URL von Jellyfin erhalten", "could_not_get_stream_url_from_jellyfin": "Konnte keine Stream-URL von Jellyfin erhalten",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Fehler beim Löschen aller Serien", "failed_to_delete_all_tvseries": "Fehler beim Löschen aller Serien",
"deleted_media_successfully": "Andere Medien erfolgreich gelöscht!", "deleted_media_successfully": "Andere Medien erfolgreich gelöscht!",
"failed_to_delete_media": "Fehler beim Löschen anderer Medien", "failed_to_delete_media": "Fehler beim Löschen anderer Medien",
"download_deleted": "Download gelöscht",
"download_cancelled": "Download abgebrochen", "download_cancelled": "Download abgebrochen",
"could_not_delete_download": "Download konnte nicht gelöscht werden", "could_not_delete_download": "Download konnte nicht gelöscht werden",
"download_paused": "Download pausiert",
"could_not_pause_download": "Download konnte nicht angehalten werden",
"download_resumed": "Download fortgesetzt",
"could_not_resume_download": "Download konnte nicht fortgesetzt werden",
"download_completed": "Download abgeschlossen", "download_completed": "Download abgeschlossen",
"download_failed": "Download fehlgeschlagen", "download_failed": "Download fehlgeschlagen",
"download_failed_for_item": "Download für {{item}} fehlgeschlagen - {{error}}", "download_failed_for_item": "Download für {{item}} fehlgeschlagen - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} Lädt", "item_already_downloading": "{{item}} Lädt",
"all_files_deleted": "Alle Downloads gelöscht", "all_files_deleted": "Alle Downloads gelöscht",
"files_deleted_by_type": "{{count}} {{type}} gelöscht", "files_deleted_by_type": "{{count}} {{type}} gelöscht",
"all_files_folders_and_jobs_deleted_successfully": "Alle Dateien, Ordner und Jobs erfolgreich gelöscht",
"failed_to_clean_cache_directory": "Fehler beim Bereinigen des Cache-Verzeichnisses",
"could_not_get_download_url_for_item": "Download-URL für {{itemName}} konnte nicht geladen werden", "could_not_get_download_url_for_item": "Download-URL für {{itemName}} konnte nicht geladen werden",
"go_to_downloads": "Zu Downloads gehen",
"file_deleted": "{{item}} gelöscht" "file_deleted": "{{item}} gelöscht"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Auswählen", "select": "Auswählen",
"no_trailer_available": "Kein Trailer verfügbar", "no_trailer_available": "Kein Trailer verfügbar",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Untertitel", "subtitle": "Untertitel",
"play": "Abspielen", "play": "Abspielen",
"mark_as_played": "Als gesehen markieren",
"mark_as_not_played": "Als ungesehen markieren",
"none": "Keine", "none": "Keine",
"track": "Spur", "track": "Spur",
"cancel": "Abbrechen", "cancel": "Abbrechen",
"delete": "Löschen", "delete": "Löschen",
"ok": "OK", "ok": "OK",
"remove": "Entfernen", "remove": "Entfernen",
"next": "Weiter",
"back": "Zurück", "back": "Zurück",
"continue": "Fortsetzen", "continue": "Fortsetzen",
"verifying": "Verifiziere..." "verifying": "Verifiziere...",
"login": "Login"
}, },
"search": { "search": {
"search": "Suchen...", "search": "Suchen...",
@@ -556,6 +548,7 @@
"movies": "Filme", "movies": "Filme",
"series": "Serien", "series": "Serien",
"boxsets": "Boxsets", "boxsets": "Boxsets",
"playlists": "Playlists",
"items": "Elemente" "items": "Elemente"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Cover", "cover": "Cover",
"show_titles": "Titel anzeigen", "show_titles": "Titel anzeigen",
"show_stats": "Statistiken anzeigen" "show_stats": "Statistiken anzeigen",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sortieren nach", "sort_by": "Sortieren nach",
"filter_by": "Filtern nach", "filter_by": "Filtern nach",
"sort_order": "Sortierreihenfolge", "sort_order": "Sortierreihenfolge",
"tags": "Tags" "tags": "Tags",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Keine Links" "no_links": "Keine Links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Fehler", "error": "Fehler",
"failed_to_get_stream_url": "Fehler beim Abrufen der Stream-URL", "failed_to_get_stream_url": "Fehler beim Abrufen der Stream-URL",
"an_error_occured_while_playing_the_video": "Ein Fehler ist beim Abspielen des Videos aufgetreten. Logs in den Einstellungen überprüfen.", "an_error_occured_while_playing_the_video": "Ein Fehler ist beim Abspielen des Videos aufgetreten. Logs in den Einstellungen überprüfen.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Konnte keinen Stream für Chromecast erstellen", "could_not_create_stream_for_chromecast": "Konnte keinen Stream für Chromecast erstellen",
"message_from_server": "Nachricht vom Server: {{message}}", "message_from_server": "Nachricht vom Server: {{message}}",
"next_episode": "Nächste Episode", "next_episode": "Nächste Episode",
"refresh_tracks": "Spuren aktualisieren",
"audio_tracks": "Audiospuren:",
"playback_state": "Wiedergabestatus:",
"index": "Index:",
"continue_watching": "Fortsetzen", "continue_watching": "Fortsetzen",
"go_back": "Zurück", "go_back": "Zurück",
"downloaded_file_title": "Diese Datei wurde bereits heruntergeladen", "downloaded_file_title": "Diese Datei wurde bereits heruntergeladen",
"downloaded_file_message": "Heruntergeladene Datei abspielen?", "downloaded_file_message": "Heruntergeladene Datei abspielen?",
"downloaded_file_yes": "Ja", "downloaded_file_yes": "Ja",
"downloaded_file_no": "Nein", "downloaded_file_no": "Nein",
"downloaded_file_cancel": "Abbrechen" "downloaded_file_cancel": "Abbrechen",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Endet um {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Als Nächstes", "next_up": "Als Nächstes",
@@ -617,6 +641,11 @@
"series": "Serien", "series": "Serien",
"seasons": "Staffeln", "seasons": "Staffeln",
"season": "Staffel", "season": "Staffel",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Keine Episoden für diese Staffel", "no_episodes_for_this_season": "Keine Episoden für diese Staffel",
"overview": "Überblick", "overview": "Überblick",
"more_with": "Mehr mit {{name}}", "more_with": "Mehr mit {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Medienoptionen", "media_options": "Medienoptionen",
"quality": "Qualität", "quality": "Qualität",
"audio": "Audio", "audio": "Audio",
"subtitles": "Untertitel", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Mehr anzeigen", "show_more": "Mehr anzeigen",
"show_less": "Weniger anzeigen", "show_less": "Weniger anzeigen",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Erschien in", "appeared_in": "Erschien in",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Konnte Element nicht laden", "could_not_load_item": "Konnte Element nicht laden",
"none": "Keine", "none": "Keine",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "{{item_count}} Elemente herunterladen", "download_x_item": "{{item_count}} Elemente herunterladen",
"download_unwatched_only": "Nur Ungesehene", "download_unwatched_only": "Nur Ungesehene",
"download_button": "Herunterladen" "download_button": "Herunterladen"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Nächste", "next": "Nächste",
@@ -652,7 +697,18 @@
"movies": "Filme", "movies": "Filme",
"sports": "Sport", "sports": "Sport",
"for_kids": "Für Kinder", "for_kids": "Für Kinder",
"news": "Nachrichten" "news": "Nachrichten",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Bestätigen", "confirm": "Bestätigen",
@@ -697,6 +753,12 @@
"decline": "Ablehnen", "decline": "Ablehnen",
"requested_by": "Angefragt von {{user}}", "requested_by": "Angefragt von {{user}}",
"unknown_user": "Unbekannter Nutzer", "unknown_user": "Unbekannter Nutzer",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr-Server erfüllt nicht die minimalen Versionsanforderungen. Bitte den Seerr-Server auf mindestens 2.0.0 aktualisieren.", "jellyseer_does_not_meet_requirements": "Seerr-Server erfüllt nicht die minimalen Versionsanforderungen. Bitte den Seerr-Server auf mindestens 2.0.0 aktualisieren.",
"jellyseerr_test_failed": "Seerr-Test fehlgeschlagen. Bitte erneut versuchen.", "jellyseerr_test_failed": "Seerr-Test fehlgeschlagen. Bitte erneut versuchen.",
@@ -716,7 +778,8 @@
"search": "Suche", "search": "Suche",
"library": "Bibliothek", "library": "Bibliothek",
"custom_links": "Links", "custom_links": "Links",
"favorites": "Favoriten" "favorites": "Favoriten",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Musik", "title": "Musik",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "Titel" "tracks": "Titel"
}, },
"filters": {
"all": "Alle"
},
"recently_added": "Kürzlich hinzugefügt", "recently_added": "Kürzlich hinzugefügt",
"recently_played": "Vor kurzem gehört", "recently_played": "Vor kurzem gehört",
"frequently_played": "Oft gehört", "frequently_played": "Oft gehört",
"explore": "Entdecken",
"top_tracks": "Top-Titel", "top_tracks": "Top-Titel",
"play": "Abspielen", "play": "Abspielen",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "Nur diese Serie", "show": "Nur diese Serie",
"all": "Alle (Standard)" "all": "Alle (Standard)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Σφάλμα", "error_title": "Σφάλμα",
"login_title": "Σύνδεση", "login_title": "Σύνδεση",
"login_to_title": "Συνδεθείτε στο", "login_to_title": "Συνδεθείτε στο",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Όνομα Χρήστη", "username_placeholder": "Όνομα Χρήστη",
"password_placeholder": "Κωδικός", "password_placeholder": "Κωδικός",
"login_button": "Σύνδεση", "login_button": "Σύνδεση",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ωχ!", "oops": "Ωχ!",
"error_message": "Something went wrong.\nPlease log out and in again.", "error_message": "Something went wrong.\nPlease log out and in again.",
"continue_watching": "Συνέχεια Παρακολούθησης", "continue_watching": "Συνέχεια Παρακολούθησης",
"continue": "Continue",
"next_up": "Επόμενο Επάνω", "next_up": "Επόμενο Επάνω",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Προστέθηκε πρόσφατα στο {{libraryName}}", "recently_added_in": "Προστέθηκε πρόσφατα στο {{libraryName}}",
"suggested_movies": "Προτεινόμενες Ταινίες", "suggested_movies": "Προτεινόμενες Ταινίες",
"suggested_episodes": "Προτεινόμενα Επεισόδια",
"intro": { "intro": {
"welcome_to_streamyfin": "Καλώς ήρθατε στο Streamyfin", "welcome_to_streamyfin": "Καλώς ήρθατε στο Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Ένας ελεύθερος και ανοιχτού κώδικα πελάτης για τη ζελυφίνη.", "a_free_and_open_source_client_for_jellyfin": "Ένας ελεύθερος και ανοιχτού κώδικα πελάτης για τη ζελυφίνη.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Ρυθμίσεις", "settings_title": "Ρυθμίσεις",
"log_out_button": "Αποσύνδεση", "log_out_button": "Αποσύνδεση",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Επαναφορά Μήκους", "rewind_length": "Επαναφορά Μήκους",
"seconds_unit": "ίνα" "seconds_unit": "ίνα"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Έλεγχοι Χειρονομιών", "gesture_controls_title": "Έλεγχοι Χειρονομιών",
"horizontal_swipe_skip": "Οριζόντια σάρωση για παράλειψη", "horizontal_swipe_skip": "Οριζόντια σάρωση για παράλειψη",
@@ -220,62 +260,22 @@
"None": "Κανένα", "None": "Κανένα",
"OnlyForced": "Μόνο" "OnlyForced": "Μόνο"
}, },
"text_color": "Χρώμα Κειμένου", "opensubtitles_title": "OpenSubtitles",
"background_color": "Χρώμα Φόντου", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Χρώμα Περιγράμματος", "opensubtitles_api_key": "API Key",
"outline_thickness": "Πάχος Περιγράμματος", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Αδιαφάνεια Φόντου", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Αδιαφάνεια Περιγράμματος", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Μαύρο", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Γκρι", "align": {
"Silver": "Ασημένιο", "left": "Left",
"White": "Λευκό", "center": "Center",
"Maroon": "Μαρώ", "right": "Right",
"Red": "Κόκκινο", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Κίτρινο", }
"Olive": "Ελιές",
"Green": "Πράσινο",
"Teal": "Τιρκουάζ",
"Lime": "Άσβεστος",
"Purple": "Μωβ",
"Navy": "Ναυτικό",
"Blue": "Μπλε",
"Aqua": "Νερό"
},
"thickness": {
"None": "Κανένα",
"Thin": "Λεπτό",
"Normal": "Κανονικό",
"Thick": "Παχύ"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Άλλο", "other_title": "Άλλο",
@@ -294,13 +294,7 @@
"UNKNOWN": "Άγνωστο" "UNKNOWN": "Άγνωστο"
}, },
"safe_area_in_controls": "Ασφαλής περιοχή σε χειριστήρια", "safe_area_in_controls": "Ασφαλής περιοχή σε χειριστήρια",
"video_player": "Αναπαραγωγέας Βίντεο",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Πειραματική + PiP)"
},
"show_custom_menu_links": "Εμφάνιση Προσαρμοσμένων Συνδέσμων Μενού", "show_custom_menu_links": "Εμφάνιση Προσαρμοσμένων Συνδέσμων Μενού",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Απόκρυψη Βιβλιοθηκών", "hide_libraries": "Απόκρυψη Βιβλιοθηκών",
"select_liraries_you_want_to_hide": "Επιλέξτε τις βιβλιοθήκες που θέλετε να αποκρύψετε από την καρτέλα της Βιβλιοθήκης και τις ενότητες της αρχικής σελίδας.", "select_liraries_you_want_to_hide": "Επιλέξτε τις βιβλιοθήκες που θέλετε να αποκρύψετε από την καρτέλα της Βιβλιοθήκης και τις ενότητες της αρχικής σελίδας.",
"disable_haptic_feedback": "Απενεργοποίηση Απτικής Ανατροφοδότησης", "disable_haptic_feedback": "Απενεργοποίηση Απτικής Ανατροφοδότησης",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Μέγιστο Πλήθος Επεισόδιο Αυτόματου Παιχνιδιού", "max_auto_play_episode_count": "Μέγιστο Πλήθος Επεισόδιο Αυτόματου Παιχνιδιού",
"disabled": "Απενεργοποιημένο" "disabled": "Απενεργοποιημένο"
}, },
"downloads": {
"downloads_title": "Λήψεις"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Διαβάστε Περισσότερα Σχετικά Με Marlin.", "read_more_about_marlin": "Διαβάστε Περισσότερα Σχετικά Με Marlin.",
"save_button": "Αποθήκευση", "save_button": "Αποθήκευση",
"toasts": { "toasts": {
"saved": "Αποθηκεύτηκε", "saved": "Αποθηκεύτηκε"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Διαγραφή Όλων Των Ληφθέντων Αρχείων", "delete_all_downloaded_files": "Διαγραφή Όλων Των Ληφθέντων Αρχείων",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Εξαγωγή Αρχείων Καταγραφής", "export_logs": "Εξαγωγή Αρχείων Καταγραφής",
"click_for_more_info": "Κάντε κλικ για περισσότερες πληροφορίες", "click_for_more_info": "Κάντε κλικ για περισσότερες πληροφορίες",
"level": "Επίπεδο", "level": "Επίπεδο",
"no_logs_available": "Δεν Υπάρχουν Διαθέσιμα Αρχεία Καταγραφής", "no_logs_available": "Δεν Υπάρχουν Διαθέσιμα Αρχεία Καταγραφής"
"delete_all_logs": "Διαγραφή Όλων Των Καταγραφών"
}, },
"languages": { "languages": {
"title": "Γλώσσες", "title": "Γλώσσες",
@@ -427,9 +414,21 @@
"system": "Σύστημα" "system": "Σύστημα"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Σφάλμα Διαγραφής Αρχείων", "error_deleting_files": "Σφάλμα Διαγραφής Αρχείων"
"background_downloads_enabled": "Οι λήψεις στο παρασκήνιο ενεργοποιήθηκαν", },
"background_downloads_disabled": "Οι λήψεις παρασκηνίου απενεργοποιήθηκαν" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Λήψεις", "downloads_title": "Λήψεις",
"tvseries": "Τηλεόραση-Σειρά", "tvseries": "Τηλεόραση-Σειρά",
"movies": "Ταινίες", "movies": "Ταινίες",
"queue": "Ουρά",
"other_media": "Άλλα μέσα", "other_media": "Άλλα μέσα",
"queue_hint": "Ουρά και λήψεις θα χαθούν κατά την επανεκκίνηση της εφαρμογής",
"no_items_in_queue": "Δεν υπάρχουν αντικείμενα στην ουρά",
"no_downloaded_items": "Δεν Έχουν Ληφθεί Αντικείμενα", "no_downloaded_items": "Δεν Έχουν Ληφθεί Αντικείμενα",
"delete_all_movies_button": "Διαγραφή Όλων Των Ταινιών", "delete_all_movies_button": "Διαγραφή Όλων Των Ταινιών",
"delete_all_tvseries_button": "Διαγραφή Όλων Των Τηλεοπτικών Σειρών", "delete_all_tvseries_button": "Διαγραφή Όλων Των Τηλεοπτικών Σειρών",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Η νέα ενημέρωση απαιτεί λήψη περιεχομένου ξανά. Καταργήστε όλο το κατεβασμένο περιεχόμενο και προσπαθήστε ξανά.", "new_app_version_requires_re_download_description": "Η νέα ενημέρωση απαιτεί λήψη περιεχομένου ξανά. Καταργήστε όλο το κατεβασμένο περιεχόμενο και προσπαθήστε ξανά.",
"back": "Πίσω", "back": "Πίσω",
"delete": "Διαγραφή", "delete": "Διαγραφή",
"delete_download": "Delete Download",
"something_went_wrong": "Κάτι Πήγε Λάθος", "something_went_wrong": "Κάτι Πήγε Λάθος",
"could_not_get_stream_url_from_jellyfin": "Αδυναμία λήψης του URL ροής από το Jellyfin", "could_not_get_stream_url_from_jellyfin": "Αδυναμία λήψης του URL ροής από το Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Αποτυχία διαγραφής Όλων των TV-Series", "failed_to_delete_all_tvseries": "Αποτυχία διαγραφής Όλων των TV-Series",
"deleted_media_successfully": "Διαγράφηκε άλλο μέσο επιτυχώς!", "deleted_media_successfully": "Διαγράφηκε άλλο μέσο επιτυχώς!",
"failed_to_delete_media": "Αποτυχία διαγραφής άλλων πολυμέσων", "failed_to_delete_media": "Αποτυχία διαγραφής άλλων πολυμέσων",
"download_deleted": "Η Λήψη Διαγράφηκε",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Αδυναμία Διαγραφής Λήψης", "could_not_delete_download": "Αδυναμία Διαγραφής Λήψης",
"download_paused": "Λήψη Σε Παύση",
"could_not_pause_download": "Αδυναμία Παύσης Λήψης",
"download_resumed": "Συνέχιση Λήψης",
"could_not_resume_download": "Αδυναμία Συνέχισης Λήψης",
"download_completed": "Η Λήψη Ολοκληρώθηκε", "download_completed": "Η Λήψη Ολοκληρώθηκε",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Η λήψη απέτυχε για το {{item}} - {{error}}", "download_failed_for_item": "Η λήψη απέτυχε για το {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Όλα τα αρχεία, οι φάκελοι και οι εργασίες διαγράφηκαν με επιτυχία",
"failed_to_clean_cache_directory": "Αποτυχία καθαρισμού φακέλου προσωρινής μνήμης",
"could_not_get_download_url_for_item": "Αδυναμία λήψης του URL λήψης για το {{itemName}}", "could_not_get_download_url_for_item": "Αδυναμία λήψης του URL λήψης για το {{itemName}}",
"go_to_downloads": "Μετάβαση στις λήψεις",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Επιλογή", "select": "Επιλογή",
"no_trailer_available": "Δεν υπάρχει διαθέσιμο ρυμουλκούμενο", "no_trailer_available": "Δεν υπάρχει διαθέσιμο ρυμουλκούμενο",
"video": "Βίντεο", "video": "Βίντεο",
"audio": "Ήχος", "audio": "Ήχος",
"subtitle": "Υπότιτλος", "subtitle": "Υπότιτλος",
"play": "Αναπαραγωγή", "play": "Αναπαραγωγή",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Αναζήτηση...", "search": "Αναζήτηση...",
@@ -556,6 +548,7 @@
"movies": "Ταινίες", "movies": "Ταινίες",
"series": "Σειρά", "series": "Σειρά",
"boxsets": "Σύνολα Πλαισίων", "boxsets": "Σύνολα Πλαισίων",
"playlists": "Playlists",
"items": "Στοιχεία" "items": "Στοιχεία"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Αφίσα", "poster": "Αφίσα",
"cover": "Εξώφυλλο", "cover": "Εξώφυλλο",
"show_titles": "Εμφάνιση Τίτλων", "show_titles": "Εμφάνιση Τίτλων",
"show_stats": "Εμφάνιση Στατιστικών" "show_stats": "Εμφάνιση Στατιστικών",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Ταξινόμηση Κατά", "sort_by": "Ταξινόμηση Κατά",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Σειρά Ταξινόμησης", "sort_order": "Σειρά Ταξινόμησης",
"tags": "Ετικέτες" "tags": "Ετικέτες",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Δεν Υπάρχουν Σύνδεσμοι" "no_links": "Δεν Υπάρχουν Σύνδεσμοι"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Σφάλμα", "error": "Σφάλμα",
"failed_to_get_stream_url": "Αποτυχία λήψης του URL ροής", "failed_to_get_stream_url": "Αποτυχία λήψης του URL ροής",
"an_error_occured_while_playing_the_video": "Παρουσιάστηκε σφάλμα κατά την αναπαραγωγή του βίντεο. Ελέγξτε τα αρχεία καταγραφής στις ρυθμίσεις.", "an_error_occured_while_playing_the_video": "Παρουσιάστηκε σφάλμα κατά την αναπαραγωγή του βίντεο. Ελέγξτε τα αρχεία καταγραφής στις ρυθμίσεις.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Αδυναμία δημιουργίας ροής για το Chromecast", "could_not_create_stream_for_chromecast": "Αδυναμία δημιουργίας ροής για το Chromecast",
"message_from_server": "Μήνυμα από το διακομιστή: {{message}}", "message_from_server": "Μήνυμα από το διακομιστή: {{message}}",
"next_episode": "Επόμενο Επεισόδιο", "next_episode": "Επόμενο Επεισόδιο",
"refresh_tracks": "Ανανέωση Κομματιών",
"audio_tracks": "Κομμάτια Ήχου:",
"playback_state": "Κατάσταση Αναπαραγωγής:",
"index": "Δείκτης:",
"continue_watching": "Συνέχεια Παρακολούθησης", "continue_watching": "Συνέχεια Παρακολούθησης",
"go_back": "Μετάβαση Πίσω", "go_back": "Μετάβαση Πίσω",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Επόμενο Επάνω", "next_up": "Επόμενο Επάνω",
@@ -617,6 +641,11 @@
"series": "Σειρά", "series": "Σειρά",
"seasons": "Περίοδοι", "seasons": "Περίοδοι",
"season": "Σεζόν", "season": "Σεζόν",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Δεν υπάρχουν επεισόδια για αυτή τη σεζόν", "no_episodes_for_this_season": "Δεν υπάρχουν επεισόδια για αυτή τη σεζόν",
"overview": "Επισκόπηση", "overview": "Επισκόπηση",
"more_with": "More with {{name}}", "more_with": "More with {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Ποιότητα", "quality": "Ποιότητα",
"audio": "Ήχος", "audio": "Ήχος",
"subtitles": "Υπότιτλος", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Εμφάνιση Περισσότερων", "show_more": "Εμφάνιση Περισσότερων",
"show_less": "Εμφάνιση Λιγότερων", "show_less": "Εμφάνιση Λιγότερων",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Εμφανίστηκε Σε", "appeared_in": "Εμφανίστηκε Σε",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Αδύνατη Η Φόρτωση Του Στοιχείου", "could_not_load_item": "Αδύνατη Η Φόρτωση Του Στοιχείου",
"none": "Κανένα", "none": "Κανένα",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Λήψη Αντικειμένων {{item_count}}", "download_x_item": "Λήψη Αντικειμένων {{item_count}}",
"download_unwatched_only": "Μόνο Χωρίς Παρακολούθηση", "download_unwatched_only": "Μόνο Χωρίς Παρακολούθηση",
"download_button": "Λήψη" "download_button": "Λήψη"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Επόμενο", "next": "Επόμενο",
@@ -652,7 +697,18 @@
"movies": "Ταινίες", "movies": "Ταινίες",
"sports": "Αθλητισμός", "sports": "Αθλητισμός",
"for_kids": "Για Παιδιά", "for_kids": "Για Παιδιά",
"news": "Νέα" "news": "Νέα",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Επιβεβαίωση", "confirm": "Επιβεβαίωση",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Ο διακομιστής Seerr δεν πληροί τις ελάχιστες απαιτήσεις έκδοσης! Παρακαλούμε ενημερώστε τουλάχιστον σε 2.0.0", "jellyseer_does_not_meet_requirements": "Ο διακομιστής Seerr δεν πληροί τις ελάχιστες απαιτήσεις έκδοσης! Παρακαλούμε ενημερώστε τουλάχιστον σε 2.0.0",
"jellyseerr_test_failed": "Ο έλεγχος Seerr απέτυχε. Παρακαλώ προσπαθήστε ξανά.", "jellyseerr_test_failed": "Ο έλεγχος Seerr απέτυχε. Παρακαλώ προσπαθήστε ξανά.",
@@ -716,7 +778,8 @@
"search": "Αναζήτηση", "search": "Αναζήτηση",
"library": "Βιβλιοθήκη", "library": "Βιβλιοθήκη",
"custom_links": "Προσαρμοσμένοι Σύνδεσμοι", "custom_links": "Προσαρμοσμένοι Σύνδεσμοι",
"favorites": "Αγαπημένα" "favorites": "Αγαπημένα",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -100,7 +100,6 @@
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Recently Added in {{libraryName}}", "recently_added_in": "Recently Added in {{libraryName}}",
"suggested_movies": "Suggested Movies", "suggested_movies": "Suggested Movies",
"suggested_episodes": "Suggested Episodes",
"intro": { "intro": {
"welcome_to_streamyfin": "Welcome to Streamyfin", "welcome_to_streamyfin": "Welcome to Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.",
@@ -261,43 +260,6 @@
"None": "None", "None": "None",
"OnlyForced": "OnlyForced" "OnlyForced": "OnlyForced"
}, },
"text_color": "Text Color",
"background_color": "Background Color",
"outline_color": "Outline Color",
"outline_thickness": "Outline Thickness",
"background_opacity": "Background Opacity",
"outline_opacity": "Outline Opacity",
"bold_text": "Bold Text",
"colors": {
"Black": "Black",
"Gray": "Gray",
"Silver": "Silver",
"White": "White",
"Maroon": "Maroon",
"Red": "Red",
"Fuchsia": "Fuchsia",
"Yellow": "Yellow",
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "None",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues.",
"opensubtitles_title": "OpenSubtitles", "opensubtitles_title": "OpenSubtitles",
"opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"opensubtitles_api_key": "API Key", "opensubtitles_api_key": "API Key",
@@ -315,25 +277,6 @@
"bottom": "Bottom" "bottom": "Bottom"
} }
}, },
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
},
"other": { "other": {
"other_title": "Other", "other_title": "Other",
"video_orientation": "Video Orientation", "video_orientation": "Video Orientation",
@@ -351,13 +294,7 @@
"UNKNOWN": "Unknown" "UNKNOWN": "Unknown"
}, },
"safe_area_in_controls": "Safe Area in Controls", "safe_area_in_controls": "Safe Area in Controls",
"video_player": "Video Player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Show Custom Menu Links", "show_custom_menu_links": "Show Custom Menu Links",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Hide Libraries", "hide_libraries": "Hide Libraries",
"select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.",
"disable_haptic_feedback": "Disable Haptic Feedback", "disable_haptic_feedback": "Disable Haptic Feedback",
@@ -367,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Disabled" "disabled": "Disabled"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -413,23 +347,18 @@
"read_more_about_marlin": "Read More About Marlin.", "read_more_about_marlin": "Read More About Marlin.",
"save_button": "Save", "save_button": "Save",
"toasts": { "toasts": {
"saved": "Saved", "saved": "Saved"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -445,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -457,7 +385,6 @@
"delete_all_downloaded_files": "Delete All Downloaded Files", "delete_all_downloaded_files": "Delete All Downloaded Files",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
@@ -467,8 +394,6 @@
"clear_all_cache": "Clear All Cache", "clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?", "clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.", "clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_success": "Cache Cleared",
"clear_all_cache_success_desc": "All cache has been cleared successfully.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache." "clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
@@ -481,8 +406,7 @@
"export_logs": "Export Logs", "export_logs": "Export Logs",
"click_for_more_info": "Click for More Info", "click_for_more_info": "Click for More Info",
"level": "Level", "level": "Level",
"no_logs_available": "No Logs Available", "no_logs_available": "No Logs Available"
"delete_all_logs": "Delete All Logs"
}, },
"languages": { "languages": {
"title": "Languages", "title": "Languages",
@@ -490,15 +414,12 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error Deleting Files", "error_deleting_files": "Error Deleting Files"
"background_downloads_enabled": "Background downloads enabled",
"background_downloads_disabled": "Background downloads disabled"
}, },
"security": { "security": {
"title": "Security", "title": "Security",
"inactivity_timeout": { "inactivity_timeout": {
"title": "Inactivity Timeout", "title": "Inactivity Timeout",
"description": "Auto logout after inactivity",
"disabled": "Disabled", "disabled": "Disabled",
"1_minute": "1 minute", "1_minute": "1 minute",
"5_minutes": "5 minutes", "5_minutes": "5 minutes",
@@ -508,6 +429,10 @@
"4_hours": "4 hours", "4_hours": "4 hours",
"24_hours": "24 hours" "24_hours": "24 hours"
} }
},
"dashboard": {
"title": "Dashboard",
"sessions_title": "Sessions"
} }
}, },
"sessions": { "sessions": {
@@ -518,10 +443,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-Series", "tvseries": "TV-Series",
"movies": "Movies", "movies": "Movies",
"queue": "Queue",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Queue and downloads will be lost on app restart",
"no_items_in_queue": "No Items in Queue",
"no_downloaded_items": "No Downloaded Items", "no_downloaded_items": "No Downloaded Items",
"delete_all_movies_button": "Delete All Movies", "delete_all_movies_button": "Delete All Movies",
"delete_all_tvseries_button": "Delete All TV-Series", "delete_all_tvseries_button": "Delete All TV-Series",
@@ -534,6 +456,7 @@
"new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.", "new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.",
"back": "Back", "back": "Back",
"delete": "Delete", "delete": "Delete",
"delete_download": "Delete Download",
"something_went_wrong": "Something Went Wrong", "something_went_wrong": "Something Went Wrong",
"could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin", "could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -545,13 +468,8 @@
"failed_to_delete_all_tvseries": "Failed to Delete All TV-Series", "failed_to_delete_all_tvseries": "Failed to Delete All TV-Series",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Download Completed", "download_completed": "Download Completed",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Download failed for {{item}} - {{error}}", "download_failed_for_item": "Download failed for {{item}} - {{error}}",
@@ -561,10 +479,7 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "All files, folders, and jobs deleted successfully",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Go to Downloads",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
@@ -577,19 +492,22 @@
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitle", "subtitle": "Subtitle",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"stop": "Stop",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying...", "verifying": "Verifying...",
"login": "Login", "login": "Login",
"refresh": "Refresh" "episodes": "Episodes",
"movies": "Movies",
"loading": "Loading…",
"seeAll": "See all"
}, },
"search": { "search": {
"search": "Search...", "search": "Search...",
@@ -649,7 +567,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Cover", "cover": "Cover",
"show_titles": "Show Titles", "show_titles": "Show Titles",
"show_stats": "Show Stats" "show_stats": "Show Stats",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -679,6 +598,7 @@
}, },
"player": { "player": {
"live": "LIVE", "live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "Failed to get the stream URL", "failed_to_get_stream_url": "Failed to get the stream URL",
"an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.",
@@ -686,10 +606,6 @@
"could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast",
"message_from_server": "Message from Server: {{message}}", "message_from_server": "Message from Server: {{message}}",
"next_episode": "Next Episode", "next_episode": "Next Episode",
"refresh_tracks": "Refresh Tracks",
"audio_tracks": "Audio Tracks:",
"playback_state": "Playback State:",
"index": "Index:",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"go_back": "Go Back", "go_back": "Go Back",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
@@ -698,7 +614,7 @@
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel", "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings", "swipe_down_settings": "Swipe down for settings",
"ends_at": "ends at", "ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles", "search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks", "subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download", "subtitle_search": "Search & Download",
@@ -718,7 +634,8 @@
"stopPlayback": "Stop Playback", "stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?", "stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?", "stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded" "downloaded": "Downloaded",
"missing_parameters": "Missing playback parameters"
}, },
"chapters": { "chapters": {
"title": "Chapters", "title": "Chapters",
@@ -756,7 +673,6 @@
"show_more": "Show More", "show_more": "Show More",
"show_less": "Show Less", "show_less": "Show Less",
"left": "left", "left": "left",
"more_info": "More Info",
"director": "Director", "director": "Director",
"cast": "Cast", "cast": "Cast",
"technical_details": "Technical Details", "technical_details": "Technical Details",
@@ -779,7 +695,8 @@
"resume_playback": "Resume Playback", "resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?", "resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start", "play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}" "continue_from": "Continue from {{time}}",
"no_data_available": "No data available"
}, },
"live_tv": { "live_tv": {
"next": "Next", "next": "Next",
@@ -883,13 +800,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -1023,7 +936,6 @@
"pairing": { "pairing": {
"pair_with_phone": "Pair with Phone", "pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV", "pair_with_phone_title": "Login TV",
"pair_with_phone_description": "Scan the QR code displayed on your TV to log in",
"waiting_for_phone": "Waiting for phone...", "waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone", "scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...", "logging_in": "Logging in...",

View File

@@ -43,7 +43,6 @@
"next_up": "Sekva", "next_up": "Sekva",
"recently_added_in": "Ĵus Aldonita en {{libraryName}}", "recently_added_in": "Ĵus Aldonita en {{libraryName}}",
"suggested_movies": "Sugestitaj Filmoj", "suggested_movies": "Sugestitaj Filmoj",
"suggested_episodes": "Sugestitaj Epizodoj",
"intro": { "intro": {
"welcome_to_streamyfin": "Bonvenon al Streamyfin", "welcome_to_streamyfin": "Bonvenon al Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Senpaga kaj malfermfonta kliento por Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Senpaga kaj malfermfonta kliento por Jellyfin.",
@@ -128,11 +127,6 @@
"UNKNOWN": "Nekonata" "UNKNOWN": "Nekonata"
}, },
"safe_area_in_controls": "Sekura areo en kontroloj", "safe_area_in_controls": "Sekura areo en kontroloj",
"video_player": "Video-ludilo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperimenta + PiP)"
},
"show_custom_menu_links": "Montri Proprajn Menuajn Ligilojn", "show_custom_menu_links": "Montri Proprajn Menuajn Ligilojn",
"hide_libraries": "Kaŝi Bibliotekojn", "hide_libraries": "Kaŝi Bibliotekojn",
"select_liraries_you_want_to_hide": "Elektu la bibliotekojn, kiujn vi volas kaŝi de la Biblioteka langeto kaj hejmpaĝaj sekcioj.", "select_liraries_you_want_to_hide": "Elektu la bibliotekojn, kiujn vi volas kaŝi de la Biblioteka langeto kaj hejmpaĝaj sekcioj.",
@@ -140,7 +134,6 @@
"default_quality": "Defaŭlta kvalito" "default_quality": "Defaŭlta kvalito"
}, },
"downloads": { "downloads": {
"downloads_title": "Elŝutoj",
"optimized_versions_server": "Optimumigitaj versioj servilo", "optimized_versions_server": "Optimumigitaj versioj servilo",
"save_button": "Konservi", "save_button": "Konservi",
"optimized_server": "Optimumigita Servilo", "optimized_server": "Optimumigita Servilo",
@@ -205,8 +198,7 @@
"export_logs": "Eksporti protokolojn", "export_logs": "Eksporti protokolojn",
"click_for_more_info": "Klaku por pli da informoj", "click_for_more_info": "Klaku por pli da informoj",
"level": "Nivelo", "level": "Nivelo",
"no_logs_available": "Neniuj protokoloj disponeblaj", "no_logs_available": "Neniuj protokoloj disponeblaj"
"delete_all_logs": "Forigi ĉiujn protokolojn"
}, },
"languages": { "languages": {
"title": "Lingvoj", "title": "Lingvoj",
@@ -216,8 +208,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "Eraro forigante dosierojn", "error_deleting_files": "Eraro forigante dosierojn",
"background_downloads_enabled": "Fonaj elŝutoj ebligitaj",
"background_downloads_disabled": "Fonaj elŝutoj malŝaltitaj",
"connected": "Konektita", "connected": "Konektita",
"could_not_connect": "Ne povis konekti", "could_not_connect": "Ne povis konekti",
"invalid_url": "Nevalida URL" "invalid_url": "Nevalida URL"
@@ -231,9 +221,6 @@
"downloads_title": "Elŝutoj", "downloads_title": "Elŝutoj",
"tvseries": "Televidaj serioj", "tvseries": "Televidaj serioj",
"movies": "Filmoj", "movies": "Filmoj",
"queue": "Vico",
"queue_hint": "Vico kaj elŝutoj perdiĝos ĉe aplikaĵa rekomenco",
"no_items_in_queue": "Neniuj eroj en vico",
"no_downloaded_items": "Neniuj elŝutitaj eroj", "no_downloaded_items": "Neniuj elŝutitaj eroj",
"delete_all_movies_button": "Forigi ĉiujn Filmojn", "delete_all_movies_button": "Forigi ĉiujn Filmojn",
"delete_all_tvseries_button": "Forigi ĉiujn Televidajn Seriojn", "delete_all_tvseries_button": "Forigi ĉiujn Televidajn Seriojn",
@@ -269,9 +256,7 @@
"no_response_received_from_server": "Neniu respondo ricevita de la servilo", "no_response_received_from_server": "Neniu respondo ricevita de la servilo",
"error_setting_up_the_request": "Eraro starigante la peton", "error_setting_up_the_request": "Eraro starigante la peton",
"failed_to_start_download_for_item_unexpected_error": "Malsukcesis komenci elŝutadon por {{item}}: Neatendita eraro", "failed_to_start_download_for_item_unexpected_error": "Malsukcesis komenci elŝutadon por {{item}}: Neatendita eraro",
"all_files_folders_and_jobs_deleted_successfully": "Ĉiuj dosieroj, dosierujoj kaj taskoj sukcese forigitaj", "an_error_occured_while_deleting_files_and_jobs": "Eraro okazis dum forigo de dosieroj kaj taskoj"
"an_error_occured_while_deleting_files_and_jobs": "Eraro okazis dum forigo de dosieroj kaj taskoj",
"go_to_downloads": "Iri al elŝutoj"
} }
} }
}, },
@@ -365,12 +350,8 @@
"video_has_finished_playing": "Video finis ludi!", "video_has_finished_playing": "Video finis ludi!",
"no_video_source": "Neniu video-fonto...", "no_video_source": "Neniu video-fonto...",
"next_episode": "Sekva Epizodo", "next_episode": "Sekva Epizodo",
"refresh_tracks": "Refreŝigi Trakojn",
"subtitle_tracks": "Subtekstaj Trakoj:", "subtitle_tracks": "Subtekstaj Trakoj:",
"audio_tracks": "Aŭdiaj Trakoj:", "no_data_available": "Neniuj datumoj disponeblaj"
"playback_state": "Ludada Stato:",
"no_data_available": "Neniuj datumoj disponeblaj",
"index": "Indekso:"
}, },
"item_card": { "item_card": {
"next_up": "Sekva", "next_up": "Sekva",

View File

@@ -4,6 +4,9 @@
"error_title": "Error", "error_title": "Error",
"login_title": "Iniciar sesión", "login_title": "Iniciar sesión",
"login_to_title": "Iniciar sesión en", "login_to_title": "Iniciar sesión en",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Nombre de usuario", "username_placeholder": "Nombre de usuario",
"password_placeholder": "Contraseña", "password_placeholder": "Contraseña",
"login_button": "Iniciar sesión", "login_button": "Iniciar sesión",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} cuentas", "accounts_count": "{{count}} cuentas",
"select_account": "Seleccione una cuenta", "select_account": "Seleccione una cuenta",
"add_account": "Añadir cuenta", "add_account": "Añadir cuenta",
"remove_account_description": "Esto eliminará las credenciales guardadas para {{username}}." "remove_account_description": "Esto eliminará las credenciales guardadas para {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Guardar Cuenta", "title": "Guardar Cuenta",
@@ -86,11 +95,11 @@
"oops": "¡Vaya!", "oops": "¡Vaya!",
"error_message": "Algo ha salido mal.\nPor favor, cierra la sesión y vuelve a iniciar.", "error_message": "Algo ha salido mal.\nPor favor, cierra la sesión y vuelve a iniciar.",
"continue_watching": "Seguir viendo", "continue_watching": "Seguir viendo",
"continue": "Continue",
"next_up": "A continuación", "next_up": "A continuación",
"continue_and_next_up": "Continuar y siguiente", "continue_and_next_up": "Continuar y siguiente",
"recently_added_in": "Recientemente añadido en {{libraryName}}", "recently_added_in": "Recientemente añadido en {{libraryName}}",
"suggested_movies": "Películas sugeridas", "suggested_movies": "Películas sugeridas",
"suggested_episodes": "Episodios sugeridos",
"intro": { "intro": {
"welcome_to_streamyfin": "Bienvenido a Streamyfin", "welcome_to_streamyfin": "Bienvenido a Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Un cliente gratuito y de código abierto para Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Un cliente gratuito y de código abierto para Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Configuración", "settings_title": "Configuración",
"log_out_button": "Cerrar sesión", "log_out_button": "Cerrar sesión",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categorías" "title": "Categorías"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Apariencia", "title": "Apariencia",
"merge_next_up_continue_watching": "Fusionar continuar viendo y siguiente", "merge_next_up_continue_watching": "Fusionar continuar viendo y siguiente",
"hide_remote_session_button": "Ocultar botón de sesión remota" "hide_remote_session_button": "Ocultar botón de sesión remota",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Cadena", "title": "Cadena",
@@ -174,6 +198,22 @@
"rewind_length": "Longitud de retroceso", "rewind_length": "Longitud de retroceso",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Controles de gestos", "gesture_controls_title": "Controles de gestos",
"horizontal_swipe_skip": "Deslizar horizontal para omitir", "horizontal_swipe_skip": "Deslizar horizontal para omitir",
@@ -220,62 +260,22 @@
"None": "Nada", "None": "Nada",
"OnlyForced": "Solo forzados" "OnlyForced": "Solo forzados"
}, },
"text_color": "Color del texto", "opensubtitles_title": "OpenSubtitles",
"background_color": "Color de fondo", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Color de salida", "opensubtitles_api_key": "API Key",
"outline_thickness": "Grosor exterior", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Opacidad de fondo", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Opacidad exterior", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Texto en negrita", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Negro", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gris", "align": {
"Silver": "Plata", "left": "Left",
"White": "Blanco", "center": "Center",
"Maroon": "Granate", "right": "Right",
"Red": "Rojo", "top": "Top",
"Fuchsia": "Fucsia", "bottom": "Bottom"
"Yellow": "Amarillo", }
"Olive": "Oliva",
"Green": "Verde",
"Teal": "Cereal",
"Lime": "Lima",
"Purple": "Morado",
"Navy": "Naval",
"Blue": "Azul",
"Aqua": "Agua"
},
"thickness": {
"None": "Ninguno",
"Thin": "Ligero",
"Normal": "Normal",
"Thick": "Grosor"
},
"subtitle_color": "Color de los Subtítulos",
"subtitle_background_color": "Color del fondo",
"subtitle_font": "Fuente de los subtítulos",
"ksplayer_title": "Ajustes de KSPlayer",
"hardware_decode": "Decodificación de hardware",
"hardware_decode_description": "Utilizar la aceleración de hardware para la decodificación de vídeo. Deshabilite si experimenta problemas de reproducción."
},
"vlc_subtitles": {
"title": "Configuración de subtítulos VLC",
"hint": "Personalizar la apariencia de los subtítulos para el reproductor VLC. Los cambios tendrán efecto en la próxima reproducción.",
"text_color": "Color del texto",
"background_color": "Color del fondo",
"background_opacity": "Opacidad del fondo",
"outline_color": "Color del contorno",
"outline_opacity": "Opacidad del contorno",
"outline_thickness": "Grosor del contorno",
"bold": "Texto en negrita",
"margin": "Margen inferior"
},
"video_player": {
"title": "Reproductor de vídeo",
"video_player": "Reproductor de vídeo",
"video_player_description": "Elige qué reproductor de vídeo en iOS",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Otros", "other_title": "Otros",
@@ -294,13 +294,7 @@
"UNKNOWN": "Desconocida" "UNKNOWN": "Desconocida"
}, },
"safe_area_in_controls": "Área segura en controles", "safe_area_in_controls": "Área segura en controles",
"video_player": "Reproductor de vídeo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Mostrar enlaces de menú personalizados", "show_custom_menu_links": "Mostrar enlaces de menú personalizados",
"show_large_home_carousel": "Mostrar carrusel del menú principal grande (beta)",
"hide_libraries": "Ocultar bibliotecas", "hide_libraries": "Ocultar bibliotecas",
"select_liraries_you_want_to_hide": "Selecciona las bibliotecas que quieres ocultar de la pestaña Bibliotecas y de Inicio.", "select_liraries_you_want_to_hide": "Selecciona las bibliotecas que quieres ocultar de la pestaña Bibliotecas y de Inicio.",
"disable_haptic_feedback": "Desactivar feedback háptico", "disable_haptic_feedback": "Desactivar feedback háptico",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Máximo número de episodios de Auto Play", "max_auto_play_episode_count": "Máximo número de episodios de Auto Play",
"disabled": "Deshabilitado" "disabled": "Deshabilitado"
}, },
"downloads": {
"downloads_title": "Descargas"
},
"music": { "music": {
"title": "Música", "title": "Música",
"playback_title": "Reproducir", "playback_title": "Reproducir",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Leer más sobre Marlin.", "read_more_about_marlin": "Leer más sobre Marlin.",
"save_button": "Guardar", "save_button": "Guardar",
"toasts": { "toasts": {
"saved": "Guardado", "saved": "Guardado"
"refreshed": "Ajustes del servidor actualizados" }
},
"refresh_from_server": "Actualizar ajustes del servidor"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Habilitar Streamystats",
"disable_streamystats": "Deshabilitar Streamystats", "disable_streamystats": "Deshabilitar Streamystats",
"enable_search": "Usar para la búsqueda", "enable_search": "Usar para la búsqueda",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.ejemplo.com", "server_url_placeholder": "http(s)://streamystats.ejemplo.com",
"streamystats_search_hint": "Introduzca la URL para su servidor Streamystats. La URL debe incluir http o https y opcionalmente el puerto.", "streamystats_search_hint": "Introduzca la URL para su servidor Streamystats. La URL debe incluir http o https y opcionalmente el puerto.",
"read_more_about_streamystats": "Leer más sobre Streamystats.", "read_more_about_streamystats": "Leer más sobre Streamystats.",
"save_button": "Guardar",
"save": "Guardar", "save": "Guardar",
"features_title": "Características", "features_title": "Características",
"home_sections_title": "Secciones de inicio",
"enable_movie_recommendations": "Recomendaciones de películas", "enable_movie_recommendations": "Recomendaciones de películas",
"enable_series_recommendations": "Recomendaciones de series", "enable_series_recommendations": "Recomendaciones de series",
"enable_promoted_watchlists": "Listas promocionadas", "enable_promoted_watchlists": "Listas promocionadas",
@@ -388,8 +374,7 @@
"refresh_from_server": "Actualizar ajustes desde el servidor" "refresh_from_server": "Actualizar ajustes desde el servidor"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Habilitar la integración de la lista de seguimiento", "watchlist_enabler": "Habilitar la integración de la lista de seguimiento"
"watchlist_button": "Activar o desactivar la integración de la lista de seguimiento"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Eliminar todos los archivos descargados", "delete_all_downloaded_files": "Eliminar todos los archivos descargados",
"music_cache_title": "Caché de música", "music_cache_title": "Caché de música",
"music_cache_description": "Cachear automáticamente las canciones mientras escuchas una reproducción más suave y soporte sin conexión", "music_cache_description": "Cachear automáticamente las canciones mientras escuchas una reproducción más suave y soporte sin conexión",
"enable_music_cache": "Activar Caché de Música",
"clear_music_cache": "Borrar Caché de Música", "clear_music_cache": "Borrar Caché de Música",
"music_cache_size": "Caché {{Tamaño}}", "music_cache_size": "Caché {{Tamaño}}",
"music_cache_cleared": "Caché de música eliminado", "music_cache_cleared": "Caché de música eliminado",
"delete_all_downloaded_songs": "Eliminar todas las descargas", "delete_all_downloaded_songs": "Eliminar todas las descargas",
"downloaded_songs_size": "{{tamaño}} descargado", "downloaded_songs_size": "{{tamaño}} descargado",
"downloaded_songs_deleted": "Canciones descargadas eliminadas" "downloaded_songs_deleted": "Canciones descargadas eliminadas",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Nivel", "level": "Nivel",
"no_logs_available": "No hay registros disponibles", "no_logs_available": "No hay registros disponibles"
"delete_all_logs": "Eliminar todos los registros"
}, },
"languages": { "languages": {
"title": "Idiomas", "title": "Idiomas",
@@ -427,9 +414,21 @@
"system": "Sistema" "system": "Sistema"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error al eliminar archivos", "error_deleting_files": "Error al eliminar archivos"
"background_downloads_enabled": "Descargas en segundo plano habilitadas", },
"background_downloads_disabled": "Descargas en segundo plano deshabilitadas" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Descargas", "downloads_title": "Descargas",
"tvseries": "Series", "tvseries": "Series",
"movies": "Películas", "movies": "Películas",
"queue": "Cola",
"other_media": "Otros medios", "other_media": "Otros medios",
"queue_hint": "La cola de series y películas se perderá al reiniciar la app",
"no_items_in_queue": "No hay ítems en la cola",
"no_downloaded_items": "No hay ítems descargados", "no_downloaded_items": "No hay ítems descargados",
"delete_all_movies_button": "Eliminar todas las películas", "delete_all_movies_button": "Eliminar todas las películas",
"delete_all_tvseries_button": "Eliminar todas las series", "delete_all_tvseries_button": "Eliminar todas las series",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "La nueva actualización requiere volver a descargar el contenido. Por favor, elimina todo el código descargado y vuélvelo a intentar.", "new_app_version_requires_re_download_description": "La nueva actualización requiere volver a descargar el contenido. Por favor, elimina todo el código descargado y vuélvelo a intentar.",
"back": "Atrás", "back": "Atrás",
"delete": "Borrar", "delete": "Borrar",
"delete_download": "Delete Download",
"something_went_wrong": "Algo ha salido mal", "something_went_wrong": "Algo ha salido mal",
"could_not_get_stream_url_from_jellyfin": "No se pudo obtener la URL del stream de Jellyfin", "could_not_get_stream_url_from_jellyfin": "No se pudo obtener la URL del stream de Jellyfin",
"eta": "{{eta}} restante", "eta": "{{eta}} restante",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Error al eliminar todas las series", "failed_to_delete_all_tvseries": "Error al eliminar todas las series",
"deleted_media_successfully": "¡Otros medios eliminados con éxito!", "deleted_media_successfully": "¡Otros medios eliminados con éxito!",
"failed_to_delete_media": "Error al eliminar otros medios", "failed_to_delete_media": "Error al eliminar otros medios",
"download_deleted": "Descarga eliminada",
"download_cancelled": "Descarga cancelada", "download_cancelled": "Descarga cancelada",
"could_not_delete_download": "No se pudo eliminar la descarga", "could_not_delete_download": "No se pudo eliminar la descarga",
"download_paused": "Descarga pausada",
"could_not_pause_download": "No se pudo pausar la descarga",
"download_resumed": "Descarga rebatida",
"could_not_resume_download": "No se pudo reiniciar la descarga",
"download_completed": "Descarga completada", "download_completed": "Descarga completada",
"download_failed": "Descarga fallida", "download_failed": "Descarga fallida",
"download_failed_for_item": "Descarga fallida para {{item}} - {{error}}", "download_failed_for_item": "Descarga fallida para {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} ya está descargando", "item_already_downloading": "{{item}} ya está descargando",
"all_files_deleted": "Todas las descargas eliminadas correctamente", "all_files_deleted": "Todas las descargas eliminadas correctamente",
"files_deleted_by_type": "{{count}} {{type}} eliminado", "files_deleted_by_type": "{{count}} {{type}} eliminado",
"all_files_folders_and_jobs_deleted_successfully": "Todos los archivos, carpetas y trabajos eliminados con éxito",
"failed_to_clean_cache_directory": "Error al limpiar el directorio de caché",
"could_not_get_download_url_for_item": "No se pudo obtener la URL de descarga para {{itemName}}", "could_not_get_download_url_for_item": "No se pudo obtener la URL de descarga para {{itemName}}",
"go_to_downloads": "Ir a descargas",
"file_deleted": "{{item}} eliminado" "file_deleted": "{{item}} eliminado"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Seleccionar", "select": "Seleccionar",
"no_trailer_available": "No hay tráiler disponible", "no_trailer_available": "No hay tráiler disponible",
"video": "Vídeo", "video": "Vídeo",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtítulos", "subtitle": "Subtítulos",
"play": "Jugar", "play": "Jugar",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Nada", "none": "Nada",
"track": "Pista", "track": "Pista",
"cancel": "Cancelar", "cancel": "Cancelar",
"delete": "Borrar", "delete": "Borrar",
"ok": "Aceptar", "ok": "Aceptar",
"remove": "Eliminar", "remove": "Eliminar",
"next": "Siguiente",
"back": "Atrás", "back": "Atrás",
"continue": "Continuar", "continue": "Continuar",
"verifying": "Verificando..." "verifying": "Verificando...",
"login": "Login"
}, },
"search": { "search": {
"search": "Buscar...", "search": "Buscar...",
@@ -556,6 +548,7 @@
"movies": "Películas", "movies": "Películas",
"series": "Series", "series": "Series",
"boxsets": "Colecciones", "boxsets": "Colecciones",
"playlists": "Playlists",
"items": "Elementos" "items": "Elementos"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Póster", "poster": "Póster",
"cover": "Portada", "cover": "Portada",
"show_titles": "Mostrar títulos", "show_titles": "Mostrar títulos",
"show_stats": "Mostrar estadísticas" "show_stats": "Mostrar estadísticas",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Géneros", "genres": "Géneros",
@@ -574,7 +568,11 @@
"sort_by": "Ordenar por", "sort_by": "Ordenar por",
"filter_by": "Filtrar por", "filter_by": "Filtrar por",
"sort_order": "Ordenar", "sort_order": "Ordenar",
"tags": "Etiquetas" "tags": "Etiquetas",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Sin enlaces" "no_links": "Sin enlaces"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "Error al obtener la URL del Steam", "failed_to_get_stream_url": "Error al obtener la URL del Steam",
"an_error_occured_while_playing_the_video": "Ha ocurrido un error al reproducir el vídeo. Comprueba los registros en la configuración.", "an_error_occured_while_playing_the_video": "Ha ocurrido un error al reproducir el vídeo. Comprueba los registros en la configuración.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "No se pudo crear el Steam para Chromecast", "could_not_create_stream_for_chromecast": "No se pudo crear el Steam para Chromecast",
"message_from_server": "Mensaje del servidor: {{message}}", "message_from_server": "Mensaje del servidor: {{message}}",
"next_episode": "Siguiente episodio", "next_episode": "Siguiente episodio",
"refresh_tracks": "Refrescar pistas",
"audio_tracks": "Pistas de audio:",
"playback_state": "Estado de la reproducción:",
"index": "Índice:",
"continue_watching": "Continuar viendo", "continue_watching": "Continuar viendo",
"go_back": "Volver", "go_back": "Volver",
"downloaded_file_title": "Ya tienes este archivo descargado", "downloaded_file_title": "Ya tienes este archivo descargado",
"downloaded_file_message": "¿Quieres reproducir el archivo descargado?", "downloaded_file_message": "¿Quieres reproducir el archivo descargado?",
"downloaded_file_yes": "Sí", "downloaded_file_yes": "Sí",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancelar" "downloaded_file_cancel": "Cancelar",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "A continuación", "next_up": "A continuación",
@@ -617,6 +641,11 @@
"series": "Series", "series": "Series",
"seasons": "Temporadas", "seasons": "Temporadas",
"season": "Temporada", "season": "Temporada",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "No hay episodios para esta temporada", "no_episodes_for_this_season": "No hay episodios para esta temporada",
"overview": "Resumen", "overview": "Resumen",
"more_with": "Más con {{name}}", "more_with": "Más con {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Opciones de medios", "media_options": "Opciones de medios",
"quality": "Calidad", "quality": "Calidad",
"audio": "Audio", "audio": "Audio",
"subtitles": "Subtítulos", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Mostrar más", "show_more": "Mostrar más",
"show_less": "Mostrar menos", "show_less": "Mostrar menos",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Apareció en", "appeared_in": "Apareció en",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "No se pudo cargar el ítem", "could_not_load_item": "No se pudo cargar el ítem",
"none": "Ninguno", "none": "Ninguno",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Descargar {{item_count}} ítems", "download_x_item": "Descargar {{item_count}} ítems",
"download_unwatched_only": "No visto", "download_unwatched_only": "No visto",
"download_button": "Descargar" "download_button": "Descargar"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Siguiente", "next": "Siguiente",
@@ -652,7 +697,18 @@
"movies": "Películas", "movies": "Películas",
"sports": "Deportes", "sports": "Deportes",
"for_kids": "Para niños", "for_kids": "Para niños",
"news": "Noticias" "news": "Noticias",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirmar", "confirm": "Confirmar",
@@ -697,6 +753,12 @@
"decline": "Rechazar", "decline": "Rechazar",
"requested_by": "Solicitado por {{user}}", "requested_by": "Solicitado por {{user}}",
"unknown_user": "Usuario desconocido", "unknown_user": "Usuario desconocido",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "¡Jellyseer no cumple con los requisitos! Por favor, actualízalo al menos a la versión 2.0.0.", "jellyseer_does_not_meet_requirements": "¡Jellyseer no cumple con los requisitos! Por favor, actualízalo al menos a la versión 2.0.0.",
"jellyseerr_test_failed": "La prueba de Jellyseerr ha fallado. Por favor inténtalo de nuevo.", "jellyseerr_test_failed": "La prueba de Jellyseerr ha fallado. Por favor inténtalo de nuevo.",
@@ -716,7 +778,8 @@
"search": "Buscar", "search": "Buscar",
"library": "Bibliotecas", "library": "Bibliotecas",
"custom_links": "Enlaces personalizados", "custom_links": "Enlaces personalizados",
"favorites": "Favoritos" "favorites": "Favoritos",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Música", "title": "Música",
@@ -727,13 +790,9 @@
"playlists": "Listas de reproducción", "playlists": "Listas de reproducción",
"tracks": "Canciones" "tracks": "Canciones"
}, },
"filters": {
"all": "Todas"
},
"recently_added": "Recientemente añadido", "recently_added": "Recientemente añadido",
"recently_played": "Reproducidos Recientemente", "recently_played": "Reproducidos Recientemente",
"frequently_played": "Reproducido con frecuencia", "frequently_played": "Reproducido con frecuencia",
"explore": "Explorar",
"top_tracks": "Canciones Populares", "top_tracks": "Canciones Populares",
"play": "Reproducir", "play": "Reproducir",
"shuffle": "Aleatorio", "shuffle": "Aleatorio",
@@ -841,5 +900,35 @@
"show": "Este programa", "show": "Este programa",
"all": "Todos los medios (por defecto)" "all": "Todos los medios (por defecto)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Virhe", "error_title": "Virhe",
"login_title": "Kirjaudu sisään", "login_title": "Kirjaudu sisään",
"login_to_title": "Kirjaudu sisään palveluun", "login_to_title": "Kirjaudu sisään palveluun",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Käyttäjätunnus", "username_placeholder": "Käyttäjätunnus",
"password_placeholder": "Salasana", "password_placeholder": "Salasana",
"login_button": "Kirjaudu sisään", "login_button": "Kirjaudu sisään",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ups!", "oops": "Ups!",
"error_message": "Jotain meni pieleen.\nKirjaudu ulos ja takaisin sisään.", "error_message": "Jotain meni pieleen.\nKirjaudu ulos ja takaisin sisään.",
"continue_watching": "Jatka katsomista", "continue_watching": "Jatka katsomista",
"continue": "Continue",
"next_up": "Seuraavaksi", "next_up": "Seuraavaksi",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Äskettäin lisätty {{libraryName}}-kirjastoon", "recently_added_in": "Äskettäin lisätty {{libraryName}}-kirjastoon",
"suggested_movies": "Ehdotetut elokuvat", "suggested_movies": "Ehdotetut elokuvat",
"suggested_episodes": "Ehdotetut jaksot",
"intro": { "intro": {
"welcome_to_streamyfin": "Tervetuloa Streamyfiniin", "welcome_to_streamyfin": "Tervetuloa Streamyfiniin",
"a_free_and_open_source_client_for_jellyfin": "Ilmainen ja avoimen lähdekoodin asiakas Jellyfinille.", "a_free_and_open_source_client_for_jellyfin": "Ilmainen ja avoimen lähdekoodin asiakas Jellyfinille.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Asetukset", "settings_title": "Asetukset",
"log_out_button": "Kirjaudu ulos", "log_out_button": "Kirjaudu ulos",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Kategoriat" "title": "Kategoriat"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Ulkoasu", "title": "Ulkoasu",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Taaksepäin hyppäämisen pituus", "rewind_length": "Taaksepäin hyppäämisen pituus",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Ele Ohjaus", "gesture_controls_title": "Ele Ohjaus",
"horizontal_swipe_skip": "Ohita vaakatasossa pyyhkäisemällä", "horizontal_swipe_skip": "Ohita vaakatasossa pyyhkäisemällä",
@@ -220,62 +260,22 @@
"None": "Ei mitään", "None": "Ei mitään",
"OnlyForced": "Vain pakotettu" "OnlyForced": "Vain pakotettu"
}, },
"text_color": "Tekstin väri", "opensubtitles_title": "OpenSubtitles",
"background_color": "Taustaväri", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Ääriviivan väri", "opensubtitles_api_key": "API Key",
"outline_thickness": "Ääriviivan paksuus", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Taustan läpinäkyvyys", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Ääriviivan Läpinäkyvyys", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Lihavoi teksti", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Musta", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Harmaa", "align": {
"Silver": "Hopea", "left": "Left",
"White": "Valkoinen", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Punainen", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Keltainen", }
"Olive": "Oliivit",
"Green": "Vihreä",
"Teal": "Sinappi",
"Lime": "Limea",
"Purple": "Violetti",
"Navy": "Laiva",
"Blue": "Sininen",
"Aqua": "Vesi"
},
"thickness": {
"None": "Ei mitään",
"Thin": "Ohut",
"Normal": "Normaali",
"Thick": "Paksu"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Muut", "other_title": "Muut",
@@ -294,13 +294,7 @@
"UNKNOWN": "Tuntematon" "UNKNOWN": "Tuntematon"
}, },
"safe_area_in_controls": "Turvallinen alue ohjaimissa", "safe_area_in_controls": "Turvallinen alue ohjaimissa",
"video_player": "Videosoitin",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Kokeellinen + PiP)"
},
"show_custom_menu_links": "Näytä mukautetut valikkolinkit", "show_custom_menu_links": "Näytä mukautetut valikkolinkit",
"show_large_home_carousel": "Näytä suuri kotikaruselli (beta)",
"hide_libraries": "Piilota kirjastot", "hide_libraries": "Piilota kirjastot",
"select_liraries_you_want_to_hide": "Valitse kirjastot, jotka haluat piilottaa Kirjasto-välilehdeltä ja etusivun osioista.", "select_liraries_you_want_to_hide": "Valitse kirjastot, jotka haluat piilottaa Kirjasto-välilehdeltä ja etusivun osioista.",
"disable_haptic_feedback": "Poista haptinen palautteet käytöstä", "disable_haptic_feedback": "Poista haptinen palautteet käytöstä",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Automaattisten Toistojaksojen Maksimimäärä", "max_auto_play_episode_count": "Automaattisten Toistojaksojen Maksimimäärä",
"disabled": "Pois Käytöstä" "disabled": "Pois Käytöstä"
}, },
"downloads": {
"downloads_title": "Lataukset"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Lue lisää Marlinista.", "read_more_about_marlin": "Lue lisää Marlinista.",
"save_button": "Tallenna", "save_button": "Tallenna",
"toasts": { "toasts": {
"saved": "Tallennettu", "saved": "Tallennettu"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Poista kaikki ladatut tiedostot", "delete_all_downloaded_files": "Poista kaikki ladatut tiedostot",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Esittely", "title": "Esittely",
@@ -418,8 +406,7 @@
"export_logs": "Vie lokit", "export_logs": "Vie lokit",
"click_for_more_info": "Napsauta lisätietoja varten", "click_for_more_info": "Napsauta lisätietoja varten",
"level": "Taso", "level": "Taso",
"no_logs_available": "Ei lokitietoja saatavilla", "no_logs_available": "Ei lokitietoja saatavilla"
"delete_all_logs": "Poista kaikki lokit"
}, },
"languages": { "languages": {
"title": "Kielet", "title": "Kielet",
@@ -427,9 +414,21 @@
"system": "Järjestelmä" "system": "Järjestelmä"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Virhe tiedostojen poistamisessa", "error_deleting_files": "Virhe tiedostojen poistamisessa"
"background_downloads_enabled": "Taustalataukset käytössä", },
"background_downloads_disabled": "Taustalataukset pois käytöstä" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Lataukset", "downloads_title": "Lataukset",
"tvseries": "TV-sarjat", "tvseries": "TV-sarjat",
"movies": "Elokuvat", "movies": "Elokuvat",
"queue": "Jonot",
"other_media": "Muu media", "other_media": "Muu media",
"queue_hint": "Jonot ja lataukset menetetään sovelluksen uudelleenkäynnistyksen yhteydessä",
"no_items_in_queue": "Ei kohteita jonossa",
"no_downloaded_items": "Ei ladattuja kohteita", "no_downloaded_items": "Ei ladattuja kohteita",
"delete_all_movies_button": "Poista kaikki elokuvat", "delete_all_movies_button": "Poista kaikki elokuvat",
"delete_all_tvseries_button": "Poista kaikki TV-sarjat", "delete_all_tvseries_button": "Poista kaikki TV-sarjat",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Uusi päivitys vaatii sisällön lataamista uudelleen. Poista kaikki ladattu sisältö ja yritä uudelleen.", "new_app_version_requires_re_download_description": "Uusi päivitys vaatii sisällön lataamista uudelleen. Poista kaikki ladattu sisältö ja yritä uudelleen.",
"back": "Takaisin", "back": "Takaisin",
"delete": "Poista", "delete": "Poista",
"delete_download": "Delete Download",
"something_went_wrong": "Jotain meni pieleen", "something_went_wrong": "Jotain meni pieleen",
"could_not_get_stream_url_from_jellyfin": "Ei voitu saada suoratoiston URL:ia Jellyfinilta", "could_not_get_stream_url_from_jellyfin": "Ei voitu saada suoratoiston URL:ia Jellyfinilta",
"eta": "Arvio {{eta}}", "eta": "Arvio {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Kaikkien TV-sarjojen poistaminen epäonnistui", "failed_to_delete_all_tvseries": "Kaikkien TV-sarjojen poistaminen epäonnistui",
"deleted_media_successfully": "Muu media poistettu onnistuneesti!", "deleted_media_successfully": "Muu media poistettu onnistuneesti!",
"failed_to_delete_media": "Muiden medioiden poistaminen epäonnistui", "failed_to_delete_media": "Muiden medioiden poistaminen epäonnistui",
"download_deleted": "Lataus Poistettu",
"download_cancelled": "Lataus peruutettu", "download_cancelled": "Lataus peruutettu",
"could_not_delete_download": "Latausta Ei Voitu Poistaa", "could_not_delete_download": "Latausta Ei Voitu Poistaa",
"download_paused": "Lataus Keskeytetty",
"could_not_pause_download": "Latausta Ei Voitu Keskeyttää",
"download_resumed": "Lataus Jatketaan",
"could_not_resume_download": "Latausta Ei Voitu Jatkaa.",
"download_completed": "Lataus valmis", "download_completed": "Lataus valmis",
"download_failed": "Lataus epäonnistui", "download_failed": "Lataus epäonnistui",
"download_failed_for_item": "Lataus epäonnistui kohteelle {{item}} - {{error}}", "download_failed_for_item": "Lataus epäonnistui kohteelle {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "Kaikki lataukset poistettu onnistuneesti", "all_files_deleted": "Kaikki lataukset poistettu onnistuneesti",
"files_deleted_by_type": "{{count}} {{type}} poistettu", "files_deleted_by_type": "{{count}} {{type}} poistettu",
"all_files_folders_and_jobs_deleted_successfully": "Kaikki tiedostot, kansiot ja tehtävät poistettu onnistuneesti",
"failed_to_clean_cache_directory": "Välimuistin hakemiston puhdistus epäonnistui",
"could_not_get_download_url_for_item": "Latauksen URL-osoitetta ei voitu ladata {{itemName}}", "could_not_get_download_url_for_item": "Latauksen URL-osoitetta ei voitu ladata {{itemName}}",
"go_to_downloads": "Siirry latauksiin",
"file_deleted": "{{item}} poistettu" "file_deleted": "{{item}} poistettu"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Valitse", "select": "Valitse",
"no_trailer_available": "Perävaunua ei saatavilla", "no_trailer_available": "Perävaunua ei saatavilla",
"video": "Video", "video": "Video",
"audio": "Ääni", "audio": "Ääni",
"subtitle": "Tekstitys", "subtitle": "Tekstitys",
"play": "Toista", "play": "Toista",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Ei mitään", "none": "Ei mitään",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Haku...", "search": "Haku...",
@@ -556,6 +548,7 @@
"movies": "elokuvat", "movies": "elokuvat",
"series": "sarjat", "series": "sarjat",
"boxsets": "bokset", "boxsets": "bokset",
"playlists": "Playlists",
"items": "kohteet" "items": "kohteet"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Juliste", "poster": "Juliste",
"cover": "Kansi", "cover": "Kansi",
"show_titles": "Näytä otsikot", "show_titles": "Näytä otsikot",
"show_stats": "Näytä tilastot" "show_stats": "Näytä tilastot",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genret", "genres": "Genret",
@@ -574,7 +568,11 @@
"sort_by": "Lajittele", "sort_by": "Lajittele",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Lajittelujärjestys", "sort_order": "Lajittelujärjestys",
"tags": "Tunnisteet" "tags": "Tunnisteet",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Ei Linkkejä" "no_links": "Ei Linkkejä"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Virhe", "error": "Virhe",
"failed_to_get_stream_url": "Lähetyksen URL-osoitteen haku epäonnistui", "failed_to_get_stream_url": "Lähetyksen URL-osoitteen haku epäonnistui",
"an_error_occured_while_playing_the_video": "Videon toiston yhteydessä tapahtui virhe. Tarkista lokit asetuksista.", "an_error_occured_while_playing_the_video": "Videon toiston yhteydessä tapahtui virhe. Tarkista lokit asetuksista.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Suoratoistoa ei voitu luoda Chromecastia varten", "could_not_create_stream_for_chromecast": "Suoratoistoa ei voitu luoda Chromecastia varten",
"message_from_server": "Viesti palvelimelta: {{message}}", "message_from_server": "Viesti palvelimelta: {{message}}",
"next_episode": "Seuraava Jakso", "next_episode": "Seuraava Jakso",
"refresh_tracks": "Päivitä Kappaleet",
"audio_tracks": "Ääni Kappaleet:",
"playback_state": "Toiston Tila:",
"index": "Indeksi:",
"continue_watching": "Jatka katsomista", "continue_watching": "Jatka katsomista",
"go_back": "Siirry Takaisin", "go_back": "Siirry Takaisin",
"downloaded_file_title": "Tämä tiedosto on ladattuna", "downloaded_file_title": "Tämä tiedosto on ladattuna",
"downloaded_file_message": "Haluatko toistaa ladatun tiedoston?", "downloaded_file_message": "Haluatko toistaa ladatun tiedoston?",
"downloaded_file_yes": "Kyllä", "downloaded_file_yes": "Kyllä",
"downloaded_file_no": "Ei", "downloaded_file_no": "Ei",
"downloaded_file_cancel": "Peruuta" "downloaded_file_cancel": "Peruuta",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Seuraavaksi", "next_up": "Seuraavaksi",
@@ -617,6 +641,11 @@
"series": "Sarjat", "series": "Sarjat",
"seasons": "Kaudet", "seasons": "Kaudet",
"season": "Kausi", "season": "Kausi",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Ei jaksoja tälle kaudelle", "no_episodes_for_this_season": "Ei jaksoja tälle kaudelle",
"overview": "Yleiskatsaus", "overview": "Yleiskatsaus",
"more_with": "Enemmän {{name}} kanssa", "more_with": "Enemmän {{name}} kanssa",
@@ -627,10 +656,20 @@
"media_options": "Media-asetukset", "media_options": "Media-asetukset",
"quality": "Laatu", "quality": "Laatu",
"audio": "Ääni", "audio": "Ääni",
"subtitles": "Tekstitys", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Näytä Lisää", "show_more": "Näytä Lisää",
"show_less": "Näytä Vähemmän", "show_less": "Näytä Vähemmän",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Esiintyy Sisään", "appeared_in": "Esiintyy Sisään",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Kohdetta Ei Voitu Ladata", "could_not_load_item": "Kohdetta Ei Voitu Ladata",
"none": "Ei mitään", "none": "Ei mitään",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Lataa {{item_count}} Kohteita", "download_x_item": "Lataa {{item_count}} Kohteita",
"download_unwatched_only": "Vain Katsomattomat", "download_unwatched_only": "Vain Katsomattomat",
"download_button": "Lataa" "download_button": "Lataa"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Seuraava", "next": "Seuraava",
@@ -652,7 +697,18 @@
"movies": "Elokuvat", "movies": "Elokuvat",
"sports": "Urheilu", "sports": "Urheilu",
"for_kids": "Lapsille", "for_kids": "Lapsille",
"news": "Uutiset" "news": "Uutiset",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Vahvista", "confirm": "Vahvista",
@@ -697,6 +753,12 @@
"decline": "Hylkää", "decline": "Hylkää",
"requested_by": "Käyttäjän {{user}} pyynnöstä", "requested_by": "Käyttäjän {{user}} pyynnöstä",
"unknown_user": "Tuntematon käyttäjä", "unknown_user": "Tuntematon käyttäjä",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr-palvelin ei täytä vähimmäisversiovaatimuksia! Päivitä vähintään versioon 2.0.0", "jellyseer_does_not_meet_requirements": "Jellyseerr-palvelin ei täytä vähimmäisversiovaatimuksia! Päivitä vähintään versioon 2.0.0",
"jellyseerr_test_failed": "Jellyseerr-testi epäonnistui. Yritä uudelleen.", "jellyseerr_test_failed": "Jellyseerr-testi epäonnistui. Yritä uudelleen.",
@@ -716,7 +778,8 @@
"search": "Haku", "search": "Haku",
"library": "Kirjasto", "library": "Kirjasto",
"custom_links": "Mukautetut linkit", "custom_links": "Mukautetut linkit",
"favorites": "Suosikit" "favorites": "Suosikit",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,9 @@
"error_title": "שגיאה", "error_title": "שגיאה",
"login_title": "התחבר", "login_title": "התחבר",
"login_to_title": "התחבר אל", "login_to_title": "התחבר אל",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "שם משתמש", "username_placeholder": "שם משתמש",
"password_placeholder": "סיסמה", "password_placeholder": "סיסמה",
"login_button": "התחבר", "login_button": "התחבר",
@@ -39,10 +42,16 @@
"please_login_again": "Your saved session has expired. Please log in again.", "please_login_again": "Your saved session has expired. Please log in again.",
"remove_saved_login": "Remove Saved Login", "remove_saved_login": "Remove Saved Login",
"remove_saved_login_description": "This will remove your saved credentials for this server. You'll need to enter your username and password again next time.", "remove_saved_login_description": "This will remove your saved credentials for this server. You'll need to enter your username and password again next time.",
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} חשבונות",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "אופס!", "oops": "אופס!",
"error_message": "קרתה תקלה. אנא התנתק והתחבר מחדש.", "error_message": "קרתה תקלה. אנא התנתק והתחבר מחדש.",
"continue_watching": "המשך לצפות", "continue_watching": "המשך לצפות",
"continue": "Continue",
"next_up": "הבא בתור", "next_up": "הבא בתור",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "התווסף לאחרונה ב-{{libraryName}}", "recently_added_in": "התווסף לאחרונה ב-{{libraryName}}",
"suggested_movies": "סרטים מוצעים", "suggested_movies": "סרטים מוצעים",
"suggested_episodes": "פרקים מוצעים",
"intro": { "intro": {
"welcome_to_streamyfin": "ברוך הבא ל-Streamyfin", "welcome_to_streamyfin": "ברוך הבא ל-Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "קליינט חינמי ובקוד פתוח לשרתי Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "קליינט חינמי ובקוד פתוח לשרתי Jellyfin.",
@@ -109,19 +118,34 @@
"settings": { "settings": {
"settings_title": "הגדרות", "settings_title": "הגדרות",
"log_out_button": "התנתק", "log_out_button": "התנתק",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "קטגוריות"
}, },
"playback_controls": { "playback_controls": {
"title": "Playback & Controls" "title": "Playback & Controls"
}, },
"audio_subtitles": { "audio_subtitles": {
"title": "Audio & Subtitles" "title": "שמע וכתוביות"
}, },
"appearance": { "appearance": {
"title": "Appearance", "title": "מראה",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "אורך הזזה אחורה", "rewind_length": "אורך הזזה אחורה",
"seconds_unit": "שנ'" "seconds_unit": "שנ'"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "פקדי מחוות", "gesture_controls_title": "פקדי מחוות",
"horizontal_swipe_skip": "החלקה אופקית לדילוג", "horizontal_swipe_skip": "החלקה אופקית לדילוג",
@@ -188,7 +228,7 @@
"hide_brightness_slider_description": "Hide the brightness slider in the video player" "hide_brightness_slider_description": "Hide the brightness slider in the video player"
}, },
"audio": { "audio": {
"audio_title": "אודיו", "audio_title": "שמע",
"set_audio_track": "בחר רצועת שמע מהפריט הקודם", "set_audio_track": "בחר רצועת שמע מהפריט הקודם",
"audio_language": "שפת שמע", "audio_language": "שפת שמע",
"audio_hint": "בחר שפת שמע אוטומטית.", "audio_hint": "בחר שפת שמע אוטומטית.",
@@ -220,62 +260,22 @@
"None": "ללא", "None": "ללא",
"OnlyForced": "רק כפוי" "OnlyForced": "רק כפוי"
}, },
"text_color": "צבע הטקסט", "opensubtitles_title": "OpenSubtitles",
"background_color": "צבע רקע", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "צבע קו מתאר", "opensubtitles_api_key": "API Key",
"outline_thickness": "עובי קו מתאר", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "שקיפות רקע", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "אטימות קו מתאר", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "טקסט בולט", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "שחור", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "אפור", "align": {
"Silver": "כסף", "left": "Left",
"White": "לבן", "center": "Center",
"Maroon": "חום ערמוני", "right": "Right",
"Red": "אדום", "top": "Top",
"Fuchsia": "פוקסיה", "bottom": "Bottom"
"Yellow": "צהוב", }
"Olive": "זית",
"Green": "ירוק",
"Teal": "תכלת",
"Lime": "ירוק ליים",
"Purple": "סגול",
"Navy": "כחול כהה",
"Blue": "כחול",
"Aqua": "כחול בהיר"
},
"thickness": {
"None": "ללא",
"Thin": "דק",
"Normal": "רגיל",
"Thick": "עבה"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "אחר", "other_title": "אחר",
@@ -294,13 +294,7 @@
"UNKNOWN": "לא ידוע" "UNKNOWN": "לא ידוע"
}, },
"safe_area_in_controls": "איזור בטוח בפקדים", "safe_area_in_controls": "איזור בטוח בפקדים",
"video_player": "נגן וידאו",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (ניסיוני + נגן בתוך נגן)"
},
"show_custom_menu_links": "הצג קישורים לתפריטים מותאמים אישית", "show_custom_menu_links": "הצג קישורים לתפריטים מותאמים אישית",
"show_large_home_carousel": "הצג קרוסלה גדולה במסך הבית (בטא)",
"hide_libraries": "הסתר ספריות", "hide_libraries": "הסתר ספריות",
"select_liraries_you_want_to_hide": "בחר את הספריות שתרצה להסתיר ממסך הספריות וגם ממסך הבית.", "select_liraries_you_want_to_hide": "בחר את הספריות שתרצה להסתיר ממסך הספריות וגם ממסך הבית.",
"disable_haptic_feedback": "בטל משוב רטט", "disable_haptic_feedback": "בטל משוב רטט",
@@ -310,11 +304,8 @@
"max_auto_play_episode_count": "כמות פרקים מקסימלית לניגון אוטומטי", "max_auto_play_episode_count": "כמות פרקים מקסימלית לניגון אוטומטי",
"disabled": "כבוי" "disabled": "כבוי"
}, },
"downloads": {
"downloads_title": "הורדות"
},
"music": { "music": {
"title": "Music", "title": "מוזיקה",
"playback_title": "Playback", "playback_title": "Playback",
"playback_description": "Configure how music is played.", "playback_description": "Configure how music is played.",
"prefer_downloaded": "Prefer Downloaded Songs", "prefer_downloaded": "Prefer Downloaded Songs",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "קרא עוד על Marlin.", "read_more_about_marlin": "קרא עוד על Marlin.",
"save_button": "שמור", "save_button": "שמור",
"toasts": { "toasts": {
"saved": "נשמר", "saved": "נשמר"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,16 +385,19 @@
"delete_all_downloaded_files": "מחק את כל הקבצים שהורדו", "delete_all_downloaded_files": "מחק את כל הקבצים שהורדו",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "הקדמה",
"show_intro": "הצג פתיח", "show_intro": "הצג פתיח",
"reset_intro": "אפס פתיח" "reset_intro": "אפס פתיח"
}, },
@@ -418,8 +406,7 @@
"export_logs": "ייצוא לוגים", "export_logs": "ייצוא לוגים",
"click_for_more_info": "לחץ למידע נוסף", "click_for_more_info": "לחץ למידע נוסף",
"level": "רמה", "level": "רמה",
"no_logs_available": "אין לוגים זמינים", "no_logs_available": "אין לוגים זמינים"
"delete_all_logs": "מחק את כל הלוגים"
}, },
"languages": { "languages": {
"title": "שפות", "title": "שפות",
@@ -427,9 +414,21 @@
"system": "מערכת" "system": "מערכת"
}, },
"toasts": { "toasts": {
"error_deleting_files": "שגיאה במחיקת קבצים", "error_deleting_files": "שגיאה במחיקת קבצים"
"background_downloads_enabled": "הורדה ברקע מופעלת", },
"background_downloads_disabled": "הורדה ברקע כבויה" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "הורדות", "downloads_title": "הורדות",
"tvseries": "סדרות", "tvseries": "סדרות",
"movies": "סרטים", "movies": "סרטים",
"queue": "תוֹר",
"other_media": "תוכן אחר", "other_media": "תוכן אחר",
"queue_hint": "התור וההורדות יאבדו בפתיחה מחדש של האפליקציה",
"no_items_in_queue": "אין פרטים בתור",
"no_downloaded_items": "אין פריטים שהורדו", "no_downloaded_items": "אין פריטים שהורדו",
"delete_all_movies_button": "מחק את כל הסרטים", "delete_all_movies_button": "מחק את כל הסרטים",
"delete_all_tvseries_button": "מחק את כל הסדרות", "delete_all_tvseries_button": "מחק את כל הסדרות",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "הגרסה החדשה דורשת לתוכן לרדת מחדש. אנא מחק את כל התוכן שכבר הורדת ונסה שוב.", "new_app_version_requires_re_download_description": "הגרסה החדשה דורשת לתוכן לרדת מחדש. אנא מחק את כל התוכן שכבר הורדת ונסה שוב.",
"back": "חזרה", "back": "חזרה",
"delete": "מחק", "delete": "מחק",
"delete_download": "Delete Download",
"something_went_wrong": "משהו השתבש", "something_went_wrong": "משהו השתבש",
"could_not_get_stream_url_from_jellyfin": "לא היה ניתן להגיע לקישור הזרם מהשרת Jellyfin", "could_not_get_stream_url_from_jellyfin": "לא היה ניתן להגיע לקישור הזרם מהשרת Jellyfin",
"eta": "זמן משוער {{eta}}", "eta": "זמן משוער {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "נכשל במחיקת כל הסדרות", "failed_to_delete_all_tvseries": "נכשל במחיקת כל הסדרות",
"deleted_media_successfully": "כל שאר התוכן נמחק בהצלחה!", "deleted_media_successfully": "כל שאר התוכן נמחק בהצלחה!",
"failed_to_delete_media": "נכשל במחיקת שאר התוכן", "failed_to_delete_media": "נכשל במחיקת שאר התוכן",
"download_deleted": "ההורדה נמחקה",
"download_cancelled": "ההורדה בוטלה", "download_cancelled": "ההורדה בוטלה",
"could_not_delete_download": "לא היה ניתן למחוק את ההורדה", "could_not_delete_download": "לא היה ניתן למחוק את ההורדה",
"download_paused": "ההורדה נעצרה",
"could_not_pause_download": "לא היה ניתן לעצור את ההורדה",
"download_resumed": "ההורדה חודשה",
"could_not_resume_download": "לא היה ניתן לחדש את ההורדה",
"download_completed": "ההורדה הושלמה", "download_completed": "ההורדה הושלמה",
"download_failed": "ההורדה נכשלה", "download_failed": "ההורדה נכשלה",
"download_failed_for_item": "ההורדה נכשלה עבור {{item}} - {{error}}", "download_failed_for_item": "ההורדה נכשלה עבור {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} כבר נמצא בהורדה", "item_already_downloading": "{{item}} כבר נמצא בהורדה",
"all_files_deleted": "כל ההורדות נמחקו בהצלחה", "all_files_deleted": "כל ההורדות נמחקו בהצלחה",
"files_deleted_by_type": "{{count}} {{type}} נמחקו", "files_deleted_by_type": "{{count}} {{type}} נמחקו",
"all_files_folders_and_jobs_deleted_successfully": "כל הקבצים, התיקיות והעבודות נמחקו בהצלחה",
"failed_to_clean_cache_directory": "נכשל בניסיון למחוק את תיקיית המטמון",
"could_not_get_download_url_for_item": "לא היה ניתן להשיג את קישור ההורדה של {{itemName}}", "could_not_get_download_url_for_item": "לא היה ניתן להשיג את קישור ההורדה של {{itemName}}",
"go_to_downloads": "עבור להורדות",
"file_deleted": "{{item}} נמחק" "file_deleted": "{{item}} נמחק"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "בחר", "select": "בחר",
"no_trailer_available": "אין טריילר זמין", "no_trailer_available": "אין טריילר זמין",
"video": "וידאו", "video": "וידאו",
"audio": "אודיו", "audio": "שמע",
"subtitle": "כתובית", "subtitle": "כתובית",
"play": "נגן", "play": "נגן",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "ללא", "none": "ללא",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "חפש...", "search": "חפש...",
@@ -521,9 +513,9 @@
"episodes": "פרקים", "episodes": "פרקים",
"collections": "אוספים", "collections": "אוספים",
"actors": "שחקנים", "actors": "שחקנים",
"artists": "Artists", "artists": "אומנים",
"albums": "Albums", "albums": "אלבומים",
"songs": "Songs", "songs": "שירים",
"playlists": "Playlists", "playlists": "Playlists",
"request_movies": "סרטים מבוקשים", "request_movies": "סרטים מבוקשים",
"request_series": "סדרות מבוקשים", "request_series": "סדרות מבוקשים",
@@ -556,6 +548,7 @@
"movies": "סרטים", "movies": "סרטים",
"series": "סדרות", "series": "סדרות",
"boxsets": "אוסף", "boxsets": "אוסף",
"playlists": "Playlists",
"items": "פריטים" "items": "פריטים"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "פוסטר", "poster": "פוסטר",
"cover": "עטיפה", "cover": "עטיפה",
"show_titles": "הצג כותרות", "show_titles": "הצג כותרות",
"show_stats": "הצג סטטיסטיקה" "show_stats": "הצג סטטיסטיקה",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "סגנונות", "genres": "סגנונות",
@@ -574,7 +568,11 @@
"sort_by": "מיין לפי", "sort_by": "מיין לפי",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "סדר מיון", "sort_order": "סדר מיון",
"tags": "תגים" "tags": "תגים",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "אין קישורים" "no_links": "אין קישורים"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "שגיאה", "error": "שגיאה",
"failed_to_get_stream_url": "נכשל בהשגת קישור הזרם", "failed_to_get_stream_url": "נכשל בהשגת קישור הזרם",
"an_error_occured_while_playing_the_video": "קרתה תקלה במהלך הניגון של הקובץ. בדוק את הלוגים בהגדרות.", "an_error_occured_while_playing_the_video": "קרתה תקלה במהלך הניגון של הקובץ. בדוק את הלוגים בהגדרות.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "נכשל ביצירת זרם עבור Chromecast", "could_not_create_stream_for_chromecast": "נכשל ביצירת זרם עבור Chromecast",
"message_from_server": "הודעה מהשרת: {{message}}", "message_from_server": "הודעה מהשרת: {{message}}",
"next_episode": "הפרק הבא", "next_episode": "הפרק הבא",
"refresh_tracks": "רענן רצועות",
"audio_tracks": "רצועות שמע:",
"playback_state": "מצב ניגון:",
"index": "מיקום:",
"continue_watching": "המשך לצפות", "continue_watching": "המשך לצפות",
"go_back": "חזור", "go_back": "חזור",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "כן",
"downloaded_file_no": "No", "downloaded_file_no": "לא",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "הבא בתור", "next_up": "הבא בתור",
@@ -617,6 +641,11 @@
"series": "סדרות", "series": "סדרות",
"seasons": "עונות", "seasons": "עונות",
"season": "עונה", "season": "עונה",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "אין פרקים בעונה זו", "no_episodes_for_this_season": "אין פרקים בעונה זו",
"overview": "סקירה", "overview": "סקירה",
"more_with": "עוד עם {{name}}", "more_with": "עוד עם {{name}}",
@@ -626,11 +655,21 @@
"more_details": "פרטים נוספים", "more_details": "פרטים נוספים",
"media_options": "Media Options", "media_options": "Media Options",
"quality": "איכות", "quality": "איכות",
"audio": "אודיו", "audio": "שמע",
"subtitles": "כתובית", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "הצג עוד", "show_more": "הצג עוד",
"show_less": "הצג פחות", "show_less": "הצג פחות",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "הופיע ב-", "appeared_in": "הופיע ב-",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "נכשל בטעינת פריט", "could_not_load_item": "נכשל בטעינת פריט",
"none": "ללא", "none": "ללא",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "הורד {{item_count}} פריטים", "download_x_item": "הורד {{item_count}} פריטים",
"download_unwatched_only": "רק שלא נצפו", "download_unwatched_only": "רק שלא נצפו",
"download_button": "הורד" "download_button": "הורד"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "הבא", "next": "הבא",
@@ -652,7 +697,18 @@
"movies": "סרטים", "movies": "סרטים",
"sports": "ספורט", "sports": "ספורט",
"for_kids": "לילדים", "for_kids": "לילדים",
"news": "חדשות" "news": "חדשות",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "אשר", "confirm": "אשר",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "שרת ה-Seerr לא תואם את הגרסה המינימלית הנרדת! אנא עדכן לפחות לגרסה 2.0.0", "jellyseer_does_not_meet_requirements": "שרת ה-Seerr לא תואם את הגרסה המינימלית הנרדת! אנא עדכן לפחות לגרסה 2.0.0",
"jellyseerr_test_failed": "בדיקת ה-Seerr נכשלה. אנא נסה שוב.", "jellyseerr_test_failed": "בדיקת ה-Seerr נכשלה. אנא נסה שוב.",
@@ -716,24 +778,21 @@
"search": "חיפוש", "search": "חיפוש",
"library": "ספריה", "library": "ספריה",
"custom_links": "קישורים מותאמים אישית", "custom_links": "קישורים מותאמים אישית",
"favorites": "מועדפים" "favorites": "מועדפים",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "מוזיקה",
"tabs": { "tabs": {
"suggestions": "Suggestions", "suggestions": "Suggestions",
"albums": "Albums", "albums": "אלבומים",
"artists": "Artists", "artists": "Artists",
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -798,9 +857,9 @@
"delete_button": "Delete", "delete_button": "Delete",
"remove_button": "Remove", "remove_button": "Remove",
"cancel_button": "Cancel", "cancel_button": "Cancel",
"name_label": "Name", "name_label": "שם",
"name_placeholder": "Enter watchlist name", "name_placeholder": "Enter watchlist name",
"description_label": "Description", "description_label": "תיאור",
"description_placeholder": "Enter description (optional)", "description_placeholder": "Enter description (optional)",
"is_public_label": "Public Watchlist", "is_public_label": "Public Watchlist",
"is_public_description": "Allow others to view this watchlist", "is_public_description": "Allow others to view this watchlist",
@@ -817,10 +876,10 @@
"remove_from_watchlist": "Remove from Watchlist", "remove_from_watchlist": "Remove from Watchlist",
"select_watchlist": "Select Watchlist", "select_watchlist": "Select Watchlist",
"create_new": "Create New Watchlist", "create_new": "Create New Watchlist",
"item": "item", "item": "פריט",
"items": "items", "items": "פריטים",
"public": "Public", "public": "ציבורי",
"private": "Private", "private": "פרטי",
"you": "You", "you": "You",
"by_owner": "By another user", "by_owner": "By another user",
"not_found": "Watchlist not found", "not_found": "Watchlist not found",
@@ -835,11 +894,41 @@
"playback_speed": { "playback_speed": {
"title": "Playback Speed", "title": "Playback Speed",
"apply_to": "Apply To", "apply_to": "Apply To",
"speed": "Speed", "speed": "מהירות",
"scope": { "scope": {
"media": "This media only", "media": "This media only",
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Hiba", "error_title": "Hiba",
"login_title": "Bejelentkezés", "login_title": "Bejelentkezés",
"login_to_title": "Bejelentkezés ide", "login_to_title": "Bejelentkezés ide",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Felhasználónév", "username_placeholder": "Felhasználónév",
"password_placeholder": "Jelszó", "password_placeholder": "Jelszó",
"login_button": "Bejelentkezés", "login_button": "Bejelentkezés",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Hoppá!", "oops": "Hoppá!",
"error_message": "Valami nem stimmel.\nKérjük, jelentkezz ki, majd újra be.", "error_message": "Valami nem stimmel.\nKérjük, jelentkezz ki, majd újra be.",
"continue_watching": "Nézd Tovább", "continue_watching": "Nézd Tovább",
"continue": "Continue",
"next_up": "Következő", "next_up": "Következő",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Új a(z) {{libraryName}} könyvtárban", "recently_added_in": "Új a(z) {{libraryName}} könyvtárban",
"suggested_movies": "Javasolt Filmek", "suggested_movies": "Javasolt Filmek",
"suggested_episodes": "Javasolt Epizódok",
"intro": { "intro": {
"welcome_to_streamyfin": "Üdvözöljük a Streamyfinben", "welcome_to_streamyfin": "Üdvözöljük a Streamyfinben",
"a_free_and_open_source_client_for_jellyfin": "Egy Ingyenes és Nyílt Forráskódú Jellyfin Kliens.", "a_free_and_open_source_client_for_jellyfin": "Egy Ingyenes és Nyílt Forráskódú Jellyfin Kliens.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Beállítások", "settings_title": "Beállítások",
"log_out_button": "Kijelentkezés", "log_out_button": "Kijelentkezés",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Visszatekerés Hossza", "rewind_length": "Visszatekerés Hossza",
"seconds_unit": "mp" "seconds_unit": "mp"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesztusvezérlés", "gesture_controls_title": "Gesztusvezérlés",
"horizontal_swipe_skip": "Vízszintes Húzás Ugráshoz", "horizontal_swipe_skip": "Vízszintes Húzás Ugráshoz",
@@ -220,62 +260,22 @@
"None": "Nincs", "None": "Nincs",
"OnlyForced": "Csak Kényszerített" "OnlyForced": "Csak Kényszerített"
}, },
"text_color": "Szövegszín", "opensubtitles_title": "OpenSubtitles",
"background_color": "Háttérszín", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Körvonal színe", "opensubtitles_api_key": "API Key",
"outline_thickness": "Körvonal Vastagsága", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Háttér Áttetszőség", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Körvonal Áttetszőség", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Félkövér Szöveg", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Fekete", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Szürke", "align": {
"Silver": "Ezüst", "left": "Left",
"White": "Fehér", "center": "Center",
"Maroon": "Sötétvörös", "right": "Right",
"Red": "Piros", "top": "Top",
"Fuchsia": "Fukszia", "bottom": "Bottom"
"Yellow": "Sárga", }
"Olive": "Oliva",
"Green": "Zöld",
"Teal": "Türkiz",
"Lime": "Lime",
"Purple": "Lila",
"Navy": "Sötétkék",
"Blue": "Kék",
"Aqua": "Türkizkék"
},
"thickness": {
"None": "Nincs",
"Thin": "Vékony",
"Normal": "Normál",
"Thick": "Vastag"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Egyéb", "other_title": "Egyéb",
@@ -294,13 +294,7 @@
"UNKNOWN": "Ismeretlen" "UNKNOWN": "Ismeretlen"
}, },
"safe_area_in_controls": "Biztonsági Sáv a Vezérlőkben", "safe_area_in_controls": "Biztonsági Sáv a Vezérlőkben",
"video_player": "Videólejátszó",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Kísérleti + PiP)"
},
"show_custom_menu_links": "Egyéni Menülinkek Megjelenítése", "show_custom_menu_links": "Egyéni Menülinkek Megjelenítése",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Könyvtárak Elrejtése", "hide_libraries": "Könyvtárak Elrejtése",
"select_liraries_you_want_to_hide": "Válaszd ki azokat a könyvtárakat, amelyeket el szeretnél rejteni a Könyvtár fülön és a kezdőlapon.", "select_liraries_you_want_to_hide": "Válaszd ki azokat a könyvtárakat, amelyeket el szeretnél rejteni a Könyvtár fülön és a kezdőlapon.",
"disable_haptic_feedback": "Haptikus Visszajelzés Letiltása", "disable_haptic_feedback": "Haptikus Visszajelzés Letiltása",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max. Auto. Epizódlejátszás", "max_auto_play_episode_count": "Max. Auto. Epizódlejátszás",
"disabled": "Letiltva" "disabled": "Letiltva"
}, },
"downloads": {
"downloads_title": "Letöltések"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Tudj Meg Többet a Marlinról", "read_more_about_marlin": "Tudj Meg Többet a Marlinról",
"save_button": "Mentés", "save_button": "Mentés",
"toasts": { "toasts": {
"saved": "Mentve", "saved": "Mentve"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Minden Letöltött Fájl Törlése", "delete_all_downloaded_files": "Minden Letöltött Fájl Törlése",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Naplók Exportálása", "export_logs": "Naplók Exportálása",
"click_for_more_info": "Kattints a Részletekért", "click_for_more_info": "Kattints a Részletekért",
"level": "Szint", "level": "Szint",
"no_logs_available": "Nincsenek Naplók", "no_logs_available": "Nincsenek Naplók"
"delete_all_logs": "Összes Napló Törlése"
}, },
"languages": { "languages": {
"title": "Nyelvek", "title": "Nyelvek",
@@ -427,9 +414,21 @@
"system": "Rendszer" "system": "Rendszer"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Hiba a Fájlok Törlésekor", "error_deleting_files": "Hiba a Fájlok Törlésekor"
"background_downloads_enabled": "Background downloads enabled", },
"background_downloads_disabled": "Background downloads disabled" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Letöltések", "downloads_title": "Letöltések",
"tvseries": "Sorozatok", "tvseries": "Sorozatok",
"movies": "Filmek", "movies": "Filmek",
"queue": "Sor",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "A sor és a letöltések az alkalmazás újraindításakor elvesznek",
"no_items_in_queue": "Nincs Elem a Sorban",
"no_downloaded_items": "Nincsenek Letöltött Elemek", "no_downloaded_items": "Nincsenek Letöltött Elemek",
"delete_all_movies_button": "Összes Film Törlése", "delete_all_movies_button": "Összes Film Törlése",
"delete_all_tvseries_button": "Összes Sorozat Törlése", "delete_all_tvseries_button": "Összes Sorozat Törlése",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Az új frissítéshez az összes tartalmat újra le kell tölteni. Kérjük, töröld az összes letöltött tartalmat, majd próbáld újra.", "new_app_version_requires_re_download_description": "Az új frissítéshez az összes tartalmat újra le kell tölteni. Kérjük, töröld az összes letöltött tartalmat, majd próbáld újra.",
"back": "Vissza", "back": "Vissza",
"delete": "Törlés", "delete": "Törlés",
"delete_download": "Delete Download",
"something_went_wrong": "Hiba Történt", "something_went_wrong": "Hiba Történt",
"could_not_get_stream_url_from_jellyfin": "Nem sikerült lekérni a stream URL-t a Jellyfinből", "could_not_get_stream_url_from_jellyfin": "Nem sikerült lekérni a stream URL-t a Jellyfinből",
"eta": "Várható Idő: {{eta}}", "eta": "Várható Idő: {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Nem Sikerült Törölni Az Összes Sorozatot", "failed_to_delete_all_tvseries": "Nem Sikerült Törölni Az Összes Sorozatot",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Letöltés Törölve",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Nem Sikerült Törölni a Letöltést", "could_not_delete_download": "Nem Sikerült Törölni a Letöltést",
"download_paused": "Letöltés Szüneteltetve",
"could_not_pause_download": "Nem Sikerült Szüneteltetni a Letöltést",
"download_resumed": "Letöltés Folytatva",
"could_not_resume_download": "Nem Sikerült Folytatni a Letöltést",
"download_completed": "Letöltés Befejezve", "download_completed": "Letöltés Befejezve",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "A(z) {{item}} letöltése sikertelen - {{error}}", "download_failed_for_item": "A(z) {{item}} letöltése sikertelen - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Minden fájl, mappa és feladat sikeresen törölve",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Ugrás a Letöltésekhez",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Videó", "video": "Videó",
"audio": "Hang", "audio": "Hang",
"subtitle": "Felirat", "subtitle": "Felirat",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Keresés...", "search": "Keresés...",
@@ -556,6 +548,7 @@
"movies": "Filmek", "movies": "Filmek",
"series": "Sorozatok", "series": "Sorozatok",
"boxsets": "Gyűjtemények", "boxsets": "Gyűjtemények",
"playlists": "Playlists",
"items": "Elemek" "items": "Elemek"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poszter", "poster": "Poszter",
"cover": "Borító", "cover": "Borító",
"show_titles": "Címek Megjelenítése", "show_titles": "Címek Megjelenítése",
"show_stats": "Statisztikák Megjelenítése" "show_stats": "Statisztikák Megjelenítése",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Műfajok", "genres": "Műfajok",
@@ -574,7 +568,11 @@
"sort_by": "Rendezés", "sort_by": "Rendezés",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Rendezés Iránya", "sort_order": "Rendezés Iránya",
"tags": "Címkék" "tags": "Címkék",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Nincsenek Linkek" "no_links": "Nincsenek Linkek"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Hiba", "error": "Hiba",
"failed_to_get_stream_url": "Nem sikerült lekérni a stream URL-t", "failed_to_get_stream_url": "Nem sikerült lekérni a stream URL-t",
"an_error_occured_while_playing_the_video": "Hiba történt a videó lejátszása közben. Ellenőrizd a naplókat a beállításokban.", "an_error_occured_while_playing_the_video": "Hiba történt a videó lejátszása közben. Ellenőrizd a naplókat a beállításokban.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "A Chromecast stream létrehozása sikertelen volt", "could_not_create_stream_for_chromecast": "A Chromecast stream létrehozása sikertelen volt",
"message_from_server": "Üzenet a szervertől: {{message}}", "message_from_server": "Üzenet a szervertől: {{message}}",
"next_episode": "Következő Epizód", "next_episode": "Következő Epizód",
"refresh_tracks": "Sávok Frissítése",
"audio_tracks": "Hangsávok:",
"playback_state": "Lejátszás Állapota:",
"index": "Index:",
"continue_watching": "Folytatás", "continue_watching": "Folytatás",
"go_back": "Vissza", "go_back": "Vissza",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Következő", "next_up": "Következő",
@@ -617,6 +641,11 @@
"series": "Sorozat", "series": "Sorozat",
"seasons": "Évadok", "seasons": "Évadok",
"season": "Évad", "season": "Évad",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Ehhez az évadhoz nincs epizód", "no_episodes_for_this_season": "Ehhez az évadhoz nincs epizód",
"overview": "Áttekintés", "overview": "Áttekintés",
"more_with": "További {{name}} Alkotások", "more_with": "További {{name}} Alkotások",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Minőség", "quality": "Minőség",
"audio": "Hang", "audio": "Hang",
"subtitles": "Felirat", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Több Megjelenítése", "show_more": "Több Megjelenítése",
"show_less": "Kevesebb Megjelenítése", "show_less": "Kevesebb Megjelenítése",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Megjelent:", "appeared_in": "Megjelent:",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Nem Sikerült Betölteni az Elemet", "could_not_load_item": "Nem Sikerült Betölteni az Elemet",
"none": "Nincs", "none": "Nincs",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "{{item_count}} Elem Letöltése", "download_x_item": "{{item_count}} Elem Letöltése",
"download_unwatched_only": "Csak Nem Megtekintett", "download_unwatched_only": "Csak Nem Megtekintett",
"download_button": "Letöltés" "download_button": "Letöltés"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Következő", "next": "Következő",
@@ -652,7 +697,18 @@
"movies": "Filmek", "movies": "Filmek",
"sports": "Sport", "sports": "Sport",
"for_kids": "Gyerekeknek", "for_kids": "Gyerekeknek",
"news": "Hírek" "news": "Hírek",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Megerősítés", "confirm": "Megerősítés",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "A Jellyseerr szerver nem felel meg a minimum verziókövetelményeknek! Kérlek frissítsd legalább 2.0.0-ra.", "jellyseer_does_not_meet_requirements": "A Jellyseerr szerver nem felel meg a minimum verziókövetelményeknek! Kérlek frissítsd legalább 2.0.0-ra.",
"jellyseerr_test_failed": "A Jellyseerr teszt sikertelen. Próbáld újra.", "jellyseerr_test_failed": "A Jellyseerr teszt sikertelen. Próbáld újra.",
@@ -716,7 +778,8 @@
"search": "Keresés", "search": "Keresés",
"library": "Könyvtár", "library": "Könyvtár",
"custom_links": "Egyéni Linkek", "custom_links": "Egyéni Linkek",
"favorites": "Kedvencek" "favorites": "Kedvencek",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Errore", "error_title": "Errore",
"login_title": "Accesso", "login_title": "Accesso",
"login_to_title": "Accedi a", "login_to_title": "Accedi a",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Nome utente", "username_placeholder": "Nome utente",
"password_placeholder": "Password", "password_placeholder": "Password",
"login_button": "Accedi", "login_button": "Accedi",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ops!", "oops": "Ops!",
"error_message": "Qualcosa è andato storto. \nEffetturare il logout e riaccedere.", "error_message": "Qualcosa è andato storto. \nEffetturare il logout e riaccedere.",
"continue_watching": "Continua a guardare", "continue_watching": "Continua a guardare",
"continue": "Continue",
"next_up": "Prossimo", "next_up": "Prossimo",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Aggiunti di recente a {{libraryName}}", "recently_added_in": "Aggiunti di recente a {{libraryName}}",
"suggested_movies": "Film consigliati", "suggested_movies": "Film consigliati",
"suggested_episodes": "Episodi consigliati",
"intro": { "intro": {
"welcome_to_streamyfin": "Benvenuto a Streamyfin", "welcome_to_streamyfin": "Benvenuto a Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Un client gratuito e open-source per Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Un client gratuito e open-source per Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Impostazioni", "settings_title": "Impostazioni",
"log_out_button": "Esci", "log_out_button": "Esci",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categorie" "title": "Categorie"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Aspetto", "title": "Aspetto",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -136,7 +160,7 @@
"not_connected_to_wifi": "Not connected to WiFi", "not_connected_to_wifi": "Not connected to WiFi",
"no_networks_configured": "No networks configured", "no_networks_configured": "No networks configured",
"add_network_hint": "Add your home WiFi network to enable auto-switching", "add_network_hint": "Add your home WiFi network to enable auto-switching",
"current_wifi": "Current WiFi", "current_wifi": "WiFi Attuale",
"using_url": "Sta utilizzando", "using_url": "Sta utilizzando",
"local": "Local URL", "local": "Local URL",
"remote": "Remote URL", "remote": "Remote URL",
@@ -174,6 +198,22 @@
"rewind_length": "Lunghezza del riavvolgimento", "rewind_length": "Lunghezza del riavvolgimento",
"seconds_unit": "secondi" "seconds_unit": "secondi"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Controlli Gesture", "gesture_controls_title": "Controlli Gesture",
"horizontal_swipe_skip": "Scorrimento orizzontale per saltare", "horizontal_swipe_skip": "Scorrimento orizzontale per saltare",
@@ -220,62 +260,22 @@
"None": "Nessuno", "None": "Nessuno",
"OnlyForced": "Solo forzati" "OnlyForced": "Solo forzati"
}, },
"text_color": "Colore Del Testo", "opensubtitles_title": "OpenSubtitles",
"background_color": "Colore Di Sfondo", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Colore Contorno", "opensubtitles_api_key": "API Key",
"outline_thickness": "Spessore Contorno", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Opacità Dello Sfondo", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Opacità Contorno", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Nero", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Grigio", "align": {
"Silver": "Argento", "left": "Left",
"White": "Bianco", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Rosso", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Giallo", }
"Olive": "Olive",
"Green": "Verde",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Viola",
"Navy": "Marina",
"Blue": "Blu",
"Aqua": "Aqua"
},
"thickness": {
"None": "Nessuno",
"Thin": "Sottile",
"Normal": "Normale",
"Thick": "Spessa"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Altro", "other_title": "Altro",
@@ -294,13 +294,7 @@
"UNKNOWN": "Sconosciuto" "UNKNOWN": "Sconosciuto"
}, },
"safe_area_in_controls": "Area sicura per i controlli", "safe_area_in_controls": "Area sicura per i controlli",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Sperimentale + PiP)"
},
"show_custom_menu_links": "Mostra i link del menu personalizzato", "show_custom_menu_links": "Mostra i link del menu personalizzato",
"show_large_home_carousel": "Mostra Carosello Grande nella Home (beta)",
"hide_libraries": "Nascondi Librerie", "hide_libraries": "Nascondi Librerie",
"select_liraries_you_want_to_hide": "Selezionate le librerie che volete nascondere dalla scheda Libreria e dalle sezioni della pagina iniziale.", "select_liraries_you_want_to_hide": "Selezionate le librerie che volete nascondere dalla scheda Libreria e dalle sezioni della pagina iniziale.",
"disable_haptic_feedback": "Disabilita il feedback aptico", "disable_haptic_feedback": "Disabilita il feedback aptico",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Numero Massimo Di Episodi Riproduzione Automatica", "max_auto_play_episode_count": "Numero Massimo Di Episodi Riproduzione Automatica",
"disabled": "Disabilitato" "disabled": "Disabilitato"
}, },
"downloads": {
"downloads_title": "Scaricamento"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Leggi di più su Marlin.", "read_more_about_marlin": "Leggi di più su Marlin.",
"save_button": "Salva", "save_button": "Salva",
"toasts": { "toasts": {
"saved": "Salvato", "saved": "Salvato"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Cancella Tutti i File Scaricati", "delete_all_downloaded_files": "Cancella Tutti i File Scaricati",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Livello", "level": "Livello",
"no_logs_available": "Nessun log disponibile", "no_logs_available": "Nessun log disponibile"
"delete_all_logs": "Cancella tutti i log"
}, },
"languages": { "languages": {
"title": "Lingue", "title": "Lingue",
@@ -427,9 +414,21 @@
"system": "Sistema" "system": "Sistema"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Errore nella cancellazione dei file", "error_deleting_files": "Errore nella cancellazione dei file"
"background_downloads_enabled": "Scaricamento in background abilitato", },
"background_downloads_disabled": "Scaricamento in background disabilitato" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Scaricati", "downloads_title": "Scaricati",
"tvseries": "Serie TV", "tvseries": "Serie TV",
"movies": "Film", "movies": "Film",
"queue": "Coda",
"other_media": "Altri supporti", "other_media": "Altri supporti",
"queue_hint": "La coda e gli elementi scaricati saranno persi con il riavvio dell'app",
"no_items_in_queue": "Nessun elemento in coda",
"no_downloaded_items": "Nessun elemento scaricato", "no_downloaded_items": "Nessun elemento scaricato",
"delete_all_movies_button": "Cancella tutti i film", "delete_all_movies_button": "Cancella tutti i film",
"delete_all_tvseries_button": "Cancella tutte le serie TV", "delete_all_tvseries_button": "Cancella tutte le serie TV",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Il nuovo aggiornamento richiede di scaricare nuovamente i contenuti. Rimuovere tutti i contenuti scaricati e riprovare.", "new_app_version_requires_re_download_description": "Il nuovo aggiornamento richiede di scaricare nuovamente i contenuti. Rimuovere tutti i contenuti scaricati e riprovare.",
"back": "Indietro", "back": "Indietro",
"delete": "Cancella", "delete": "Cancella",
"delete_download": "Delete Download",
"something_went_wrong": "Qualcosa è andato storto", "something_went_wrong": "Qualcosa è andato storto",
"could_not_get_stream_url_from_jellyfin": "Impossibile ottenere l'URL del flusso da Jellyfin", "could_not_get_stream_url_from_jellyfin": "Impossibile ottenere l'URL del flusso da Jellyfin",
"eta": "Tempo stimato di completamento {{eta}}", "eta": "Tempo stimato di completamento {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Impossibile eliminare tutte le serie TV", "failed_to_delete_all_tvseries": "Impossibile eliminare tutte le serie TV",
"deleted_media_successfully": "Eliminato altri supporti con successo!", "deleted_media_successfully": "Eliminato altri supporti con successo!",
"failed_to_delete_media": "Impossibile eliminare altri media", "failed_to_delete_media": "Impossibile eliminare altri media",
"download_deleted": "Download Eliminato",
"download_cancelled": "Scaricamento annullato", "download_cancelled": "Scaricamento annullato",
"could_not_delete_download": "Impossibile Eliminare Il Download", "could_not_delete_download": "Impossibile Eliminare Il Download",
"download_paused": "Download In Pausa",
"could_not_pause_download": "Impossibile Sbloccare Il Download",
"download_resumed": "Download Ripreso",
"could_not_resume_download": "Impossibile Riprendere Il Download",
"download_completed": "Scaricamento completato", "download_completed": "Scaricamento completato",
"download_failed": "Scaricamento non riuscito", "download_failed": "Scaricamento non riuscito",
"download_failed_for_item": "Scaricamento fallito per {{item}} - {{error}}", "download_failed_for_item": "Scaricamento fallito per {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} è già in download", "item_already_downloading": "{{item}} è già in download",
"all_files_deleted": "Tutti i Download Eliminati con Successo", "all_files_deleted": "Tutti i Download Eliminati con Successo",
"files_deleted_by_type": "{{count}} {{type}} cancellati", "files_deleted_by_type": "{{count}} {{type}} cancellati",
"all_files_folders_and_jobs_deleted_successfully": "Tutti i file, le cartelle e i processi sono stati eliminati con successo.",
"failed_to_clean_cache_directory": "Pulizia della directory della cache non riuscita",
"could_not_get_download_url_for_item": "Impossibile ottenere l'URL di download per {{itemName}}", "could_not_get_download_url_for_item": "Impossibile ottenere l'URL di download per {{itemName}}",
"go_to_downloads": "Vai agli elementi scaricati",
"file_deleted": "{{item}} cancellato" "file_deleted": "{{item}} cancellato"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Seleziona", "select": "Seleziona",
"no_trailer_available": "Nessun trailer disponibile", "no_trailer_available": "Nessun trailer disponibile",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Sottotitoli", "subtitle": "Sottotitoli",
"play": "Gioca", "play": "Gioca",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Nulla", "none": "Nulla",
"track": "Traccia", "track": "Traccia",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Cerca...", "search": "Cerca...",
@@ -556,6 +548,7 @@
"movies": "film", "movies": "film",
"series": "serie TV", "series": "serie TV",
"boxsets": "cofanetti", "boxsets": "cofanetti",
"playlists": "Playlists",
"items": "elementi" "items": "elementi"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Copertina", "cover": "Copertina",
"show_titles": "Mostra titoli", "show_titles": "Mostra titoli",
"show_stats": "Mostra statistiche" "show_stats": "Mostra statistiche",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Generi", "genres": "Generi",
@@ -574,7 +568,11 @@
"sort_by": "Ordina per", "sort_by": "Ordina per",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Criterio di ordinamento", "sort_order": "Criterio di ordinamento",
"tags": "Tag" "tags": "Tag",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Nessun link" "no_links": "Nessun link"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Errore", "error": "Errore",
"failed_to_get_stream_url": "Impossibile ottenere l'URL dello stream", "failed_to_get_stream_url": "Impossibile ottenere l'URL dello stream",
"an_error_occured_while_playing_the_video": "Si è verificato un errore durante la riproduzione del video. Controllare i log nelle impostazioni.", "an_error_occured_while_playing_the_video": "Si è verificato un errore durante la riproduzione del video. Controllare i log nelle impostazioni.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Impossibile creare uno stream per Chromecast", "could_not_create_stream_for_chromecast": "Impossibile creare uno stream per Chromecast",
"message_from_server": "Messaggio dal server", "message_from_server": "Messaggio dal server",
"next_episode": "Prossimo Episodio", "next_episode": "Prossimo Episodio",
"refresh_tracks": "Aggiorna tracce",
"audio_tracks": "Tracce audio:",
"playback_state": "Stato della riproduzione:",
"index": "Indice:",
"continue_watching": "Continua a guardare", "continue_watching": "Continua a guardare",
"go_back": "Indietro", "go_back": "Indietro",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Il prossimo", "next_up": "Il prossimo",
@@ -617,6 +641,11 @@
"series": "Serie", "series": "Serie",
"seasons": "Stagioni", "seasons": "Stagioni",
"season": "Stagione", "season": "Stagione",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Nessun episodio per questa stagione", "no_episodes_for_this_season": "Nessun episodio per questa stagione",
"overview": "Panoramica", "overview": "Panoramica",
"more_with": "Altri con {{name}}", "more_with": "Altri con {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Opzioni Media", "media_options": "Opzioni Media",
"quality": "Qualità", "quality": "Qualità",
"audio": "Audio", "audio": "Audio",
"subtitles": "Sottotitoli", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Mostra di più", "show_more": "Mostra di più",
"show_less": "Mostra di meno", "show_less": "Mostra di meno",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Apparso in", "appeared_in": "Apparso in",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Impossibile caricare l'elemento", "could_not_load_item": "Impossibile caricare l'elemento",
"none": "Nessuno", "none": "Nessuno",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Scarica {{item_count}} elementi", "download_x_item": "Scarica {{item_count}} elementi",
"download_unwatched_only": "Solo Non Visti", "download_unwatched_only": "Solo Non Visti",
"download_button": "Scarica" "download_button": "Scarica"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Prossimo", "next": "Prossimo",
@@ -652,7 +697,18 @@
"movies": "Film", "movies": "Film",
"sports": "Sport", "sports": "Sport",
"for_kids": "Per Bambini", "for_kids": "Per Bambini",
"news": "Notiziari" "news": "Notiziari",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Conferma", "confirm": "Conferma",
@@ -697,6 +753,12 @@
"decline": "Rifiuta", "decline": "Rifiuta",
"requested_by": "Richiesto da {{user}}", "requested_by": "Richiesto da {{user}}",
"unknown_user": "Utente Sconosciuto", "unknown_user": "Utente Sconosciuto",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Il server Jellyseerr non soddisfa i requisiti minimi di versione! Aggiornare almeno alla versione 2.0.0.", "jellyseer_does_not_meet_requirements": "Il server Jellyseerr non soddisfa i requisiti minimi di versione! Aggiornare almeno alla versione 2.0.0.",
"jellyseerr_test_failed": "Il test di Jellyseerr non è riuscito. Riprovare.", "jellyseerr_test_failed": "Il test di Jellyseerr non è riuscito. Riprovare.",
@@ -716,7 +778,8 @@
"search": "Cerca", "search": "Cerca",
"library": "Libreria", "library": "Libreria",
"custom_links": "Collegamenti personalizzati", "custom_links": "Collegamenti personalizzati",
"favorites": "Preferiti" "favorites": "Preferiti",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "エラー", "error_title": "エラー",
"login_title": "ログイン", "login_title": "ログイン",
"login_to_title": "ログイン先", "login_to_title": "ログイン先",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "ユーザー名", "username_placeholder": "ユーザー名",
"password_placeholder": "パスワード", "password_placeholder": "パスワード",
"login_button": "ログイン", "login_button": "ログイン",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "おっと!", "oops": "おっと!",
"error_message": "何か問題が発生しました。\nログアウトして再度ログインしてください。", "error_message": "何か問題が発生しました。\nログアウトして再度ログインしてください。",
"continue_watching": "続きを見る", "continue_watching": "続きを見る",
"continue": "Continue",
"next_up": "次の動画", "next_up": "次の動画",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "{{libraryName}}に最近追加された", "recently_added_in": "{{libraryName}}に最近追加された",
"suggested_movies": "おすすめ映画", "suggested_movies": "おすすめ映画",
"suggested_episodes": "おすすめエピソード",
"intro": { "intro": {
"welcome_to_streamyfin": "Streamyfinへようこそ", "welcome_to_streamyfin": "Streamyfinへようこそ",
"a_free_and_open_source_client_for_jellyfin": "Jellyfinのためのフリーでオープンソースのクライアント。", "a_free_and_open_source_client_for_jellyfin": "Jellyfinのためのフリーでオープンソースのクライアント。",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "設定", "settings_title": "設定",
"log_out_button": "ログアウト", "log_out_button": "ログアウト",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "カテゴリ" "title": "カテゴリ"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "巻き戻しの長さ", "rewind_length": "巻き戻しの長さ",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "ジェスチャーコントロール", "gesture_controls_title": "ジェスチャーコントロール",
"horizontal_swipe_skip": "水平方向にスワイプしてスキップ", "horizontal_swipe_skip": "水平方向にスワイプしてスキップ",
@@ -220,62 +260,22 @@
"None": "なし", "None": "なし",
"OnlyForced": "強制のみ" "OnlyForced": "強制のみ"
}, },
"text_color": "テキストの色", "opensubtitles_title": "OpenSubtitles",
"background_color": "背景色", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "アウトラインの色", "opensubtitles_api_key": "API Key",
"outline_thickness": "概要 厚さ", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "背景の透明度", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "アウトラインの透明度", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "ブラック", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "グレー", "align": {
"Silver": "シルバー", "left": "Left",
"White": "", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "黄色", }
"Olive": "オリーブ",
"Green": "緑",
"Teal": "ティール",
"Lime": "黄緑",
"Purple": "パープル",
"Navy": "海軍format@@0",
"Blue": "青",
"Aqua": "Aqua"
},
"thickness": {
"None": "なし",
"Thin": "細いです",
"Normal": "標準",
"Thick": "濃厚な"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "その他", "other_title": "その他",
@@ -294,13 +294,7 @@
"UNKNOWN": "不明" "UNKNOWN": "不明"
}, },
"safe_area_in_controls": "コントロールの安全エリア", "safe_area_in_controls": "コントロールの安全エリア",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "カスタムメニューのリンクを表示", "show_custom_menu_links": "カスタムメニューのリンクを表示",
"show_large_home_carousel": "大きなヒーローBeta",
"hide_libraries": "ライブラリを非表示", "hide_libraries": "ライブラリを非表示",
"select_liraries_you_want_to_hide": "ライブラリタブとホームページセクションから非表示にするライブラリを選択します。", "select_liraries_you_want_to_hide": "ライブラリタブとホームページセクションから非表示にするライブラリを選択します。",
"disable_haptic_feedback": "触覚フィードバックを無効にする", "disable_haptic_feedback": "触覚フィードバックを無効にする",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "自動再生エピソードの最大数", "max_auto_play_episode_count": "自動再生エピソードの最大数",
"disabled": "無効" "disabled": "無効"
}, },
"downloads": {
"downloads_title": "ダウンロード"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Marlinについて詳しく読む。", "read_more_about_marlin": "Marlinについて詳しく読む。",
"save_button": "保存", "save_button": "保存",
"toasts": { "toasts": {
"saved": "保存しました", "saved": "保存しました"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "すべてのダウンロードファイルを削除", "delete_all_downloaded_files": "すべてのダウンロードファイルを削除",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "イントロ", "title": "イントロ",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "レベル", "level": "レベル",
"no_logs_available": "ログがありません", "no_logs_available": "ログがありません"
"delete_all_logs": "すべてのログを削除"
}, },
"languages": { "languages": {
"title": "言語", "title": "言語",
@@ -427,9 +414,21 @@
"system": "システム" "system": "システム"
}, },
"toasts": { "toasts": {
"error_deleting_files": "ファイルの削除エラー", "error_deleting_files": "ファイルの削除エラー"
"background_downloads_enabled": "バックグラウンドでのダウンロードは有効です", },
"background_downloads_disabled": "バックグラウンドでのダウンロードは無効です" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "ダウンロード", "downloads_title": "ダウンロード",
"tvseries": "TVシリーズ", "tvseries": "TVシリーズ",
"movies": "映画", "movies": "映画",
"queue": "キュー",
"other_media": "その他のメディア", "other_media": "その他のメディア",
"queue_hint": "アプリを再起動するとキューとダウンロードは失われます",
"no_items_in_queue": "キューにアイテムがありません",
"no_downloaded_items": "ダウンロードしたアイテムはありません", "no_downloaded_items": "ダウンロードしたアイテムはありません",
"delete_all_movies_button": "すべての映画を削除", "delete_all_movies_button": "すべての映画を削除",
"delete_all_tvseries_button": "すべてのシリーズを削除", "delete_all_tvseries_button": "すべてのシリーズを削除",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "新しいアップデートではコンテンツを再度ダウンロードする必要があります。ダウンロードしたコンテンツをすべて削除してもう一度お試しください。", "new_app_version_requires_re_download_description": "新しいアップデートではコンテンツを再度ダウンロードする必要があります。ダウンロードしたコンテンツをすべて削除してもう一度お試しください。",
"back": "戻る", "back": "戻る",
"delete": "削除", "delete": "削除",
"delete_download": "Delete Download",
"something_went_wrong": "問題が発生しました", "something_went_wrong": "問題が発生しました",
"could_not_get_stream_url_from_jellyfin": "JellyfinからストリームURLを取得できませんでした", "could_not_get_stream_url_from_jellyfin": "JellyfinからストリームURLを取得できませんでした",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "すべてのシリーズを削除できませんでした", "failed_to_delete_all_tvseries": "すべてのシリーズを削除できませんでした",
"deleted_media_successfully": "他のメディアを削除しました!", "deleted_media_successfully": "他のメディアを削除しました!",
"failed_to_delete_media": "他のメディアの削除に失敗しました", "failed_to_delete_media": "他のメディアの削除に失敗しました",
"download_deleted": "ダウンロードが削除されました",
"download_cancelled": "ダウンロードをキャンセルしました", "download_cancelled": "ダウンロードをキャンセルしました",
"could_not_delete_download": "ダウンロードを削除できませんでした", "could_not_delete_download": "ダウンロードを削除できませんでした",
"download_paused": "ダウンロードを一時停止しました",
"could_not_pause_download": "ダウンロードを一時停止できませんでした",
"download_resumed": "ダウンロード再開",
"could_not_resume_download": "ダウンロードを再開できませんでした",
"download_completed": "ダウンロードが完了しました", "download_completed": "ダウンロードが完了しました",
"download_failed": "ダウンロードに失敗しました", "download_failed": "ダウンロードに失敗しました",
"download_failed_for_item": "{{item}}のダウンロードに失敗しました - {{error}}", "download_failed_for_item": "{{item}}のダウンロードに失敗しました - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "すべてのファイル、フォルダ、ジョブが正常に削除されました",
"failed_to_clean_cache_directory": "キャッシュディレクトリのクリーンアップに失敗しました",
"could_not_get_download_url_for_item": "{{itemName}} のダウンロードURLを取得できませんでした", "could_not_get_download_url_for_item": "{{itemName}} のダウンロードURLを取得できませんでした",
"go_to_downloads": "ダウンロードに移動",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "選択", "select": "選択",
"no_trailer_available": "トレーラーがありません", "no_trailer_available": "トレーラーがありません",
"video": "映像", "video": "映像",
"audio": "音声", "audio": "音声",
"subtitle": "字幕", "subtitle": "字幕",
"play": "再生", "play": "再生",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "検索...", "search": "検索...",
@@ -556,6 +548,7 @@
"movies": "映画", "movies": "映画",
"series": "シリーズ", "series": "シリーズ",
"boxsets": "ボックスセット", "boxsets": "ボックスセット",
"playlists": "Playlists",
"items": "アイテム" "items": "アイテム"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "ポスター", "poster": "ポスター",
"cover": "カバー", "cover": "カバー",
"show_titles": "タイトルの表示", "show_titles": "タイトルの表示",
"show_stats": "統計を表示" "show_stats": "統計を表示",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "ジャンル", "genres": "ジャンル",
@@ -574,7 +568,11 @@
"sort_by": "ソート", "sort_by": "ソート",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "ソート順", "sort_order": "ソート順",
"tags": "タグ" "tags": "タグ",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "リンクがありません" "no_links": "リンクがありません"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "エラー", "error": "エラー",
"failed_to_get_stream_url": "ストリームURLを取得できませんでした", "failed_to_get_stream_url": "ストリームURLを取得できませんでした",
"an_error_occured_while_playing_the_video": "動画の再生中にエラーが発生しました。設定でログを確認してください。", "an_error_occured_while_playing_the_video": "動画の再生中にエラーが発生しました。設定でログを確認してください。",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Chromecastのストリームを作成できませんでした", "could_not_create_stream_for_chromecast": "Chromecastのストリームを作成できませんでした",
"message_from_server": "サーバーからのメッセージ", "message_from_server": "サーバーからのメッセージ",
"next_episode": "次のエピソード", "next_episode": "次のエピソード",
"refresh_tracks": "トラックを更新",
"audio_tracks": "音声トラック:",
"playback_state": "再生状態:",
"index": "インデックス:",
"continue_watching": "視聴を続ける", "continue_watching": "視聴を続ける",
"go_back": "戻る", "go_back": "戻る",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "次", "next_up": "次",
@@ -617,6 +641,11 @@
"series": "シリーズ", "series": "シリーズ",
"seasons": "シーズン", "seasons": "シーズン",
"season": "シーズン", "season": "シーズン",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "このシーズンのエピソードはありません", "no_episodes_for_this_season": "このシーズンのエピソードはありません",
"overview": "ストーリー", "overview": "ストーリー",
"more_with": "{{name}}の詳細", "more_with": "{{name}}の詳細",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "画質", "quality": "画質",
"audio": "音声", "audio": "音声",
"subtitles": "字幕", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "もっと見る", "show_more": "もっと見る",
"show_less": "少なく表示", "show_less": "少なく表示",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "出演作品", "appeared_in": "出演作品",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "アイテムを読み込めませんでした", "could_not_load_item": "アイテムを読み込めませんでした",
"none": "なし", "none": "なし",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "{{item_count}}のアイテムをダウンロード", "download_x_item": "{{item_count}}のアイテムをダウンロード",
"download_unwatched_only": "未視聴のみ", "download_unwatched_only": "未視聴のみ",
"download_button": "ダウンロード" "download_button": "ダウンロード"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "次", "next": "次",
@@ -652,7 +697,18 @@
"movies": "映画", "movies": "映画",
"sports": "スポーツ", "sports": "スポーツ",
"for_kids": "子供向け", "for_kids": "子供向け",
"news": "ニュース" "news": "ニュース",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "確認", "confirm": "確認",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerrサーバーは最小バージョン要件を満たしていません。少なくとも 2.0.0 に更新してください。", "jellyseer_does_not_meet_requirements": "Jellyseerrサーバーは最小バージョン要件を満たしていません。少なくとも 2.0.0 に更新してください。",
"jellyseerr_test_failed": "Jellyseerrテストに失敗しました。もう一度お試しください。", "jellyseerr_test_failed": "Jellyseerrテストに失敗しました。もう一度お試しください。",
@@ -716,7 +778,8 @@
"search": "検索", "search": "検索",
"library": "ライブラリ", "library": "ライブラリ",
"custom_links": "カスタムリンク", "custom_links": "カスタムリンク",
"favorites": "お気に入り" "favorites": "お気に入り",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -1,187 +1,227 @@
{ {
"login": { "login": {
"username_required": "Username Is Required", "username_required": "사용자 이름이 필요합니다",
"error_title": "Error", "error_title": "오류",
"login_title": "Log In", "login_title": "로그인",
"login_to_title": "Log in to", "login_to_title": "다음 서비스에 연결 중",
"username_placeholder": "Username", "select_user": "Select a user to log in",
"password_placeholder": "Password", "add_user_to_login": "Add a user to log in",
"login_button": "Log In", "add_user": "Add User",
"quick_connect": "Quick Connect", "username_placeholder": "사용자 이름",
"enter_code_to_login": "Enter code {{code}} to login", "password_placeholder": "비밀번호",
"failed_to_initiate_quick_connect": "Failed to initiate Quick Connect", "login_button": "로그인",
"got_it": "Got It", "quick_connect": "퀵 커넥트",
"connection_failed": "Connection Failed", "enter_code_to_login": "로그인 하기 위해 코드{{code}}를 입력하세요",
"could_not_connect_to_server": "Could not connect to the server. Please check the URL and your network connection.", "failed_to_initiate_quick_connect": "Quick Connect 연결을 시작하는 데 실패했습니다",
"an_unexpected_error_occured": "An Unexpected Error Occurred", "got_it": "성공",
"change_server": "Change Server", "connection_failed": "연결 실패",
"invalid_username_or_password": "Invalid Username or Password", "could_not_connect_to_server": "서버에 연결되지 않았습니다. URL과 네트워크 상태를 확인하세요.",
"user_does_not_have_permission_to_log_in": "User does not have permission to log in", "an_unexpected_error_occured": "예기치 않은 오류가 발생했습니다",
"server_is_taking_too_long_to_respond_try_again_later": "Server is taking too long to respond, try again later", "change_server": "서버 변경",
"server_received_too_many_requests_try_again_later": "Server received too many requests, try again later.", "invalid_username_or_password": "잘못된 아이디 혹은 비밀번호입니다",
"there_is_a_server_error": "There is a server error", "user_does_not_have_permission_to_log_in": "로그인 하기 위한 권한이 없습니다",
"an_unexpected_error_occured_did_you_enter_the_correct_url": "An unexpected error occurred. Did you enter the server URL correctly?", "server_is_taking_too_long_to_respond_try_again_later": "서버 응답이 너무 느립니다. 나중에 다시 시도하세요",
"server_received_too_many_requests_try_again_later": "서버가 너무 많은 요청을 받았습니다. 나중에 다시 시도하세요.",
"there_is_a_server_error": "서버 에러",
"an_unexpected_error_occured_did_you_enter_the_correct_url": "예기치 않은 오류가 발생했습니다. 서버 URL을 올바르게 입력하셨습니까?",
"too_old_server_text": "Unsupported Jellyfin Server Discovered", "too_old_server_text": "Unsupported Jellyfin Server Discovered",
"too_old_server_description": "Please update Jellyfin to the latest version" "too_old_server_description": "Please update Jellyfin to the latest version"
}, },
"server": { "server": {
"enter_url_to_jellyfin_server": "Enter the URL to your Jellyfin server", "enter_url_to_jellyfin_server": "Enter the URL to your Jellyfin server",
"server_url_placeholder": "http(s)://your-server.com", "server_url_placeholder": "http(s)://your-server.com",
"connect_button": "Connect", "connect_button": "연결",
"previous_servers": "Previous Servers", "previous_servers": "이전 서버",
"clear_button": "Clear all", "clear_button": "모두 지우기",
"swipe_to_remove": "Swipe to remove", "swipe_to_remove": "스와이프해서 지우기",
"search_for_local_servers": "Search for Local Servers", "search_for_local_servers": "로컬 서버 찾기",
"searching": "Searching...", "searching": "찾는 중...",
"servers": "Servers", "servers": "서버",
"saved": "Saved", "saved": "저장됨",
"session_expired": "Session Expired", "session_expired": "세션 만료됨",
"please_login_again": "Your saved session has expired. Please log in again.", "please_login_again": "사용자 세션이 만료되었습니다. 다시 로그인하십시오.",
"remove_saved_login": "Remove Saved Login", "remove_saved_login": "저장된 로그인 정보 삭제",
"remove_saved_login_description": "This will remove your saved credentials for this server. You'll need to enter your username and password again next time.", "remove_saved_login_description": "해당 서버에 저장된 자격 증명이 삭제됩니다. 다음에 접속할 때는 사용자 이름과 비밀번호를 다시 입력해야 합니다.",
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} 계정",
"select_account": "Select Account", "select_account": "계정 선택",
"add_account": "Add Account", "add_account": "계정 추가",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "{{username}}에 저장된 자격 증명이 삭제됩니다.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "계정 저장",
"save_for_later": "Save this account", "save_for_later": "이 계정 저장",
"security_option": "Security Option", "security_option": "보안 설정",
"no_protection": "No protection", "no_protection": "보안 없음",
"no_protection_desc": "Quick login without authentication", "no_protection_desc": "인증 없이 빠른 로그인",
"pin_code": "PIN code", "pin_code": "PIN 코드",
"pin_code_desc": "4-digit PIN required when switching", "pin_code_desc": "전환하려면 4자리 PIN 필요함",
"password": "Re-enter password", "password": "암호 확인",
"password_desc": "Password required when switching", "password_desc": "전환하려면 비밀번호 필요함",
"save_button": "Save", "save_button": "저장",
"cancel_button": "Cancel" "cancel_button": "취소"
}, },
"pin": { "pin": {
"enter_pin": "Enter PIN", "enter_pin": "PIN 입력",
"enter_pin_for": "Enter PIN for {{username}}", "enter_pin_for": "{{username}} PIN 입력",
"enter_4_digits": "Enter 4 digits", "enter_4_digits": "4자리 입력",
"invalid_pin": "Invalid PIN", "invalid_pin": "잘못된 PIN",
"setup_pin": "Set Up PIN", "setup_pin": "PIN 설정",
"confirm_pin": "Confirm PIN", "confirm_pin": "PIN 확인",
"pins_dont_match": "PINs don't match", "pins_dont_match": "PIN이 일치하지 않습니다",
"forgot_pin": "Forgot PIN?", "forgot_pin": "PIN을 잊으셨나요?",
"forgot_pin_desc": "Your saved credentials will be removed" "forgot_pin_desc": "저장된 계정 정보가 삭제됩니다"
}, },
"password": { "password": {
"enter_password": "Enter Password", "enter_password": "비밀번호 입력",
"enter_password_for": "Enter password for {{username}}", "enter_password_for": "{{username}}의 비밀번호 입력",
"invalid_password": "Invalid password" "invalid_password": "잘못된 비밀번호"
}, },
"home": { "home": {
"checking_server_connection": "Checking server connection...", "checking_server_connection": "서버 연결 체크중...",
"no_internet": "No Internet", "no_internet": "인터넷에 연결되지 않음",
"no_items": "No Items", "no_items": "항목 없음",
"no_internet_message": "No worries, you can still watch\ndownloaded content.", "no_internet_message": "걱정마세요. 다운로드 된 컨텐츠는 여전히 볼 수 있습니다.",
"checking_server_connection_message": "Checking connection to server", "checking_server_connection_message": "Checking connection to server",
"go_to_downloads": "Go to Downloads", "go_to_downloads": "Go to Downloads",
"retry": "Retry", "retry": "재시도",
"server_unreachable": "Server Unreachable", "server_unreachable": "서버에 연결할 수 없음",
"server_unreachable_message": "Could not reach the server.\nPlease check your network connection.", "server_unreachable_message": "서버에 연결할 수 없습니다. 네트워크 상태를 체크하세요.",
"oops": "Oops!", "oops": "이런!",
"error_message": "Something went wrong.\nPlease log out and in again.", "error_message": "문제가 발생했습니다.\n로그아웃 후 다시 로그인해 주세요.",
"continue_watching": "Continue Watching", "continue_watching": "이어서 보기",
"next_up": "Next Up", "continue": "Continue",
"continue_and_next_up": "Continue & Next Up", "next_up": "다음 시청",
"recently_added_in": "Recently Added in {{libraryName}}", "continue_and_next_up": "이어서 보기 & 다음 시청",
"suggested_movies": "Suggested Movies", "recently_added_in": "최근에 추가된 {{libraryName}}",
"suggested_episodes": "Suggested Episodes", "suggested_movies": "추천 영화",
"intro": { "intro": {
"welcome_to_streamyfin": "Welcome to Streamyfin", "welcome_to_streamyfin": "스트리미핀에 오신 것을 환영합니다",
"a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "젤리핀을 위한 무료 오픈소스 클라이언트입니다.",
"features_title": "Features", "features_title": "기능",
"features_description": "Streamyfin has a bunch of features and integrates with a wide array of software which you can find in the settings menu, these include:", "features_description": "스트리미핀은 다양한 기능을 제공하며 설정 메뉴에서 확인할 수 있는 여러 소프트웨어와 통합됩니다. 이러한 소프트웨어에는 다음이 포함됩니다:",
"jellyseerr_feature_description": "Connect to your Seerr instance and request movies directly in the app.", "jellyseerr_feature_description": "Seerr 인스턴스에 연결하여 앱에서 직접 영화를 요청할 수 있습니다.",
"downloads_feature_title": "Downloads", "downloads_feature_title": "다운로드된 컨텐츠",
"downloads_feature_description": "Download movies and tv-shows to view offline. Use either the default method or install the optimize server to download files in the background.", "downloads_feature_description": "오프라인으로 보기위해 다운로드 하세요. 기본 다운로드 방식을 사용하거나, 백그라운드에서 파일을 다운로드하는 최적화 서버를 설치할 수 있습니다.",
"chromecast_feature_description": "Cast movies and tv-shows to your Chromecast devices.", "chromecast_feature_description": "영화와 TV 프로그램을 Chromecast 기기로 전송하기",
"centralised_settings_plugin_title": "Centralised Settings Plugin", "centralised_settings_plugin_title": "중앙 설정 플러그인",
"centralised_settings_plugin_description": "Configure settings from a centralised location on your Jellyfin server. All client settings for all users will be synced automatically.", "centralised_settings_plugin_description": "Jellyfin 서버의 중앙 집중식 위치에서 설정을 구성합니다. 모든 사용자의 모든 클라이언트 설정이 자동으로 동기화됩니다.",
"done_button": "Done", "done_button": "확인",
"go_to_settings_button": "Go to Settings", "go_to_settings_button": "설정으로 이동",
"read_more": "Read More" "read_more": "자세히 보기"
}, },
"settings": { "settings": {
"settings_title": "Settings", "settings_title": "설정",
"log_out_button": "Log Out", "log_out_button": "로그아웃",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "카테고리"
}, },
"playback_controls": { "playback_controls": {
"title": "Playback & Controls" "title": "재생 & 컨트롤"
}, },
"audio_subtitles": { "audio_subtitles": {
"title": "Audio & Subtitles" "title": "오디오 & 자막"
}, },
"appearance": { "appearance": {
"title": "Appearance", "title": "화면 스타일",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "[이어보기]와 [다음 보기] 합치기",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "원격 세션 버튼 숨기기",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "네트워크",
"local_network": "Local Network", "local_network": "로컬 네트워크",
"auto_switch_enabled": "Auto-switch when at home", "auto_switch_enabled": "홈 네트워크 자동 전환",
"auto_switch_description": "Automatically switch to local URL when connected to home WiFi", "auto_switch_description": "홈 WiFi에 연결되었을 때 로컬 URL로 자동 전환",
"local_url": "Local URL", "local_url": "로컬 URL",
"local_url_hint": "Enter your local server address (e.g., http://192.168.1.100:8096)", "local_url_hint": "로컬 서버 주소를 입력하세요 (e.g., http://192.168.1.100:8096)",
"local_url_placeholder": "http://192.168.1.100:8096", "local_url_placeholder": "http://192.168.1.100:8096",
"home_wifi_networks": "Home WiFi Networks", "home_wifi_networks": " WiFi 네트워크",
"add_current_network": "Add \"{{ssid}}\"", "add_current_network": "\"{{ssid}}\" 추가",
"not_connected_to_wifi": "Not connected to WiFi", "not_connected_to_wifi": "WiFi에 연결되지 않음",
"no_networks_configured": "No networks configured", "no_networks_configured": "구성된 네트워크가 없습니다",
"add_network_hint": "Add your home WiFi network to enable auto-switching", "add_network_hint": "자동 전환을 위한 홈 WiFi 추가",
"current_wifi": "Current WiFi", "current_wifi": "현재 WiFi",
"using_url": "Using", "using_url": "사용중",
"local": "Local URL", "local": "로컬 URL",
"remote": "Remote URL", "remote": "원격 URL",
"not_connected": "Not connected", "not_connected": "연결되지 않았습니다",
"current_server": "Current Server", "current_server": "현재 서버",
"remote_url": "Remote URL", "remote_url": "원격 URL",
"active_url": "Active URL", "active_url": "현재 사용 중인 URL",
"not_configured": "Not configured", "not_configured": "설정되지 않음",
"network_added": "Network added", "network_added": "네트워크 추가됨",
"network_already_added": "Network already added", "network_already_added": "네트워크 이미 추가됨",
"no_wifi_connected": "Not connected to WiFi", "no_wifi_connected": "WiFi에 연결되지 않음",
"permission_denied": "Location permission denied", "permission_denied": "위치 권한이 거부되었습니다",
"permission_denied_explanation": "Location permission is required to detect WiFi network for auto-switching. Please enable it in Settings." "permission_denied_explanation": "자동 전환 Wi-Fi 네트워크를 감지하려면 위치 권한이 필요합니다. 설정에서 위치 권한을 활성화해 주세요."
}, },
"user_info": { "user_info": {
"user_info_title": "User Info", "user_info_title": "사용자 정보",
"user": "User", "user": "사용자",
"server": "Server", "server": "서버",
"token": "Token", "token": "토큰",
"app_version": "App Version" "app_version": "앱 버전"
}, },
"quick_connect": { "quick_connect": {
"quick_connect_title": "Quick Connect", "quick_connect_title": "퀵 커넥트",
"authorize_button": "Authorize Quick Connect", "authorize_button": "퀵 커넥트 승인",
"enter_the_quick_connect_code": "Enter the quick connect code...", "enter_the_quick_connect_code": "퀵 커넥트 코드 입력...",
"success": "Success", "success": "성공",
"quick_connect_autorized": "Quick Connect Authorized", "quick_connect_autorized": "퀵 커넥트 승인됨",
"error": "Error", "error": "오류",
"invalid_code": "Invalid Code", "invalid_code": "유효하지 않은 코드",
"authorize": "Authorize" "authorize": "승인"
}, },
"media_controls": { "media_controls": {
"media_controls_title": "Media Controls", "media_controls_title": "미디어 컨트롤",
"forward_skip_length": "Forward Skip Length", "forward_skip_length": "앞으로 건너뛸 시간",
"rewind_length": "Rewind Length", "rewind_length": "뒤로 되감을 시간",
"seconds_unit": "s" "seconds_unit": ""
},
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
}, },
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "제스처 제어",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "좌/우로 스와이프하여 건너뛰기",
"horizontal_swipe_skip_description": "Swipe left/right when controls are hidden to skip", "horizontal_swipe_skip_description": "컨트롤 숨김상태에서 좌/우로 스와이프하여 건너뛰기",
"left_side_brightness": "Left Side Brightness Control", "left_side_brightness": "왼쪽 영역 밝기 조정 컨트롤",
"left_side_brightness_description": "Swipe up/down on left side to adjust brightness", "left_side_brightness_description": "왼쪽 영역을 위/아래 스와이프하여 밝기 조절",
"right_side_volume": "Right Side Volume Control", "right_side_volume": "오른쪽 영역 볼륨 컨트롤",
"right_side_volume_description": "Swipe up/down on right side to adjust volume", "right_side_volume_description": "오른족 영역을 위/아래로 스와이프 하여 볼륨 조절",
"hide_volume_slider": "Hide Volume Slider", "hide_volume_slider": "Hide Volume Slider",
"hide_volume_slider_description": "Hide the volume slider in the video player", "hide_volume_slider_description": "Hide the volume slider in the video player",
"hide_brightness_slider": "Hide Brightness Slider", "hide_brightness_slider": "Hide Brightness Slider",
@@ -196,7 +236,7 @@
"language": "Language", "language": "Language",
"transcode_mode": { "transcode_mode": {
"title": "Audio Transcoding", "title": "Audio Transcoding",
"description": "Controls how surround audio (7.1, TrueHD, DTS-HD) is handled", "description": "서라운드 오디오(7.1, TrueHD, DTS-HD)를 어떻게 처리할지 설정합니다",
"auto": "Auto", "auto": "Auto",
"stereo": "Force Stereo", "stereo": "Force Stereo",
"5_1": "Allow 5.1", "5_1": "Allow 5.1",
@@ -220,62 +260,22 @@
"None": "None", "None": "None",
"OnlyForced": "OnlyForced" "OnlyForced": "OnlyForced"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "None",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Other", "other_title": "Other",
@@ -288,20 +288,14 @@
"PORTRAIT_UP": "Portrait Up", "PORTRAIT_UP": "Portrait Up",
"PORTRAIT_DOWN": "Portrait Down", "PORTRAIT_DOWN": "Portrait Down",
"LANDSCAPE": "Landscape", "LANDSCAPE": "Landscape",
"LANDSCAPE_LEFT": "Landscape Left", "LANDSCAPE_LEFT": "왼쪽 가로 모드",
"LANDSCAPE_RIGHT": "Landscape Right", "LANDSCAPE_RIGHT": "오른쪽 가로 모드",
"OTHER": "Other", "OTHER": "Other",
"UNKNOWN": "Unknown" "UNKNOWN": "Unknown"
}, },
"safe_area_in_controls": "Safe Area in Controls", "safe_area_in_controls": "컨트롤 안전 영역",
"video_player": "Video Player", "show_custom_menu_links": "사용자 지정 메뉴 링크 표시",
"video_players": { "hide_libraries": "라이브러리 숨기기",
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Show Custom Menu Links",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Hide Libraries",
"select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.",
"disable_haptic_feedback": "Disable Haptic Feedback", "disable_haptic_feedback": "Disable Haptic Feedback",
"default_quality": "Default Quality", "default_quality": "Default Quality",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Disabled" "disabled": "Disabled"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -334,79 +325,76 @@
"password": "Password", "password": "Password",
"password_placeholder": "Enter password for Jellyfin user {{username}}", "password_placeholder": "Enter password for Jellyfin user {{username}}",
"login_button": "Login", "login_button": "Login",
"total_media_requests": "Total Media Requests", "total_media_requests": "전체 미디어 요청 수",
"movie_quota_limit": "Movie Quota Limit", "movie_quota_limit": "영화 요청 한도",
"movie_quota_days": "Movie Quota Days", "movie_quota_days": "영화 요청 제한 기간",
"tv_quota_limit": "TV Quota Limit", "tv_quota_limit": "TV Quota Limit",
"tv_quota_days": "TV Quota Days", "tv_quota_days": "TV 요청 제한 기간",
"reset_jellyseerr_config_button": "Reset Seerr Config", "reset_jellyseerr_config_button": "Seerr 설정 초기화",
"unlimited": "Unlimited", "unlimited": "Unlimited",
"plus_n_more": "+{{n}} More", "plus_n_more": "+{{n}}개 더",
"order_by": { "order_by": {
"DEFAULT": "Default", "DEFAULT": "Default",
"VOTE_COUNT_AND_AVERAGE": "Vote count and average", "VOTE_COUNT_AND_AVERAGE": "평균 평점 및 투표 수",
"POPULARITY": "Popularity" "POPULARITY": "Popularity"
} }
}, },
"marlin_search": { "marlin_search": {
"enable_marlin_search": "Enable Marlin Search", "enable_marlin_search": "Marlin 검색 활성화",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://domain.org:port", "server_url_placeholder": "http(s)://도메인:포트",
"marlin_search_hint": "Enter the URL for the Marlin server. The URL should include http or https and optionally the port.", "marlin_search_hint": "Enter the URL for the Marlin server. The URL should include http or https and optionally the port.",
"read_more_about_marlin": "Read More About Marlin.", "read_more_about_marlin": "Read More About Marlin.",
"save_button": "Save", "save_button": "Save",
"toasts": { "toasts": {
"saved": "Saved", "saved": "Saved"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "시리즈 추천",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "추천 관심 목록",
"hide_watchlists_tab": "Hide Watchlists Tab", "hide_watchlists_tab": "관심 목록 탭 숨기기",
"home_sections_hint": "Show personalized recommendations and promoted watchlists from Streamystats on the home page.", "home_sections_hint": "홈 페이지에서 Streamystats의 개인 맞춤 추천 및 추천 관심 목록을 표시합니다.",
"recommended_movies": "Recommended Movies", "recommended_movies": "Recommended Movies",
"recommended_series": "Recommended Series", "recommended_series": "추천 시리즈",
"toasts": { "toasts": {
"saved": "Saved", "saved": "Saved",
"refreshed": "Settings refreshed from server", "refreshed": "서버에서 설정을 새로고침했습니다",
"disabled": "Streamystats disabled" "disabled": "Streamystats 비활성화됨"
}, },
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "서버에서 설정 새로고침"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "관심 목록 통합 기능 활성화"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
"storage_title": "Storage", "storage_title": "Storage",
"app_usage": "App {{usedSpace}}%", "app_usage": " {{usedSpace}}",
"device_usage": "Device {{availableSpace}}%", "device_usage": "디바이스 {{availableSpace}}%",
"size_used": "{{used}} of {{total}} Used", "size_used": "{{used}} of {{total}} Used",
"delete_all_downloaded_files": "Delete All Downloaded Files", "delete_all_downloaded_files": "Delete All Downloaded Files",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "음악 캐시가 삭제되었습니다",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "다운로드한 노래가 삭제되었습니다",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export Logs", "export_logs": "Export Logs",
"click_for_more_info": "Click for More Info", "click_for_more_info": "Click for More Info",
"level": "Level", "level": "Level",
"no_logs_available": "No Logs Available", "no_logs_available": "No Logs Available"
"delete_all_logs": "Delete All Logs"
}, },
"languages": { "languages": {
"title": "Languages", "title": "Languages",
@@ -427,23 +414,32 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error Deleting Files", "error_deleting_files": "Error Deleting Files"
"background_downloads_enabled": "Background downloads enabled", },
"background_downloads_disabled": "Background downloads disabled" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
"title": "Sessions", "title": "Sessions",
"no_active_sessions": "No Active Sessions" "no_active_sessions": "세션 비활성화"
}, },
"downloads": { "downloads": {
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-Series", "tvseries": "TV-Series",
"movies": "Movies", "movies": "Movies",
"queue": "Queue",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Queue and downloads will be lost on app restart",
"no_items_in_queue": "No Items in Queue",
"no_downloaded_items": "No Downloaded Items", "no_downloaded_items": "No Downloaded Items",
"delete_all_movies_button": "Delete All Movies", "delete_all_movies_button": "Delete All Movies",
"delete_all_tvseries_button": "Delete All TV-Series", "delete_all_tvseries_button": "Delete All TV-Series",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.", "new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.",
"back": "Back", "back": "Back",
"delete": "Delete", "delete": "Delete",
"delete_download": "Delete Download",
"something_went_wrong": "Something Went Wrong", "something_went_wrong": "Something Went Wrong",
"could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin", "could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Failed to Delete All TV-Series", "failed_to_delete_all_tvseries": "Failed to Delete All TV-Series",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Download Completed", "download_completed": "Download Completed",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Download failed for {{item}} - {{error}}", "download_failed_for_item": "Download failed for {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "All files, folders, and jobs deleted successfully",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Go to Downloads",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitle", "subtitle": "Subtitle",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Search...", "search": "Search...",
@@ -556,6 +548,7 @@
"movies": "Movies", "movies": "Movies",
"series": "Series", "series": "Series",
"boxsets": "Box Sets", "boxsets": "Box Sets",
"playlists": "Playlists",
"items": "Items" "items": "Items"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Cover", "cover": "Cover",
"show_titles": "Show Titles", "show_titles": "Show Titles",
"show_stats": "Show Stats" "show_stats": "Show Stats",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sort By", "sort_by": "Sort By",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Sort Order", "sort_order": "Sort Order",
"tags": "Tags" "tags": "Tags",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "No Links" "no_links": "No Links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "Failed to get the stream URL", "failed_to_get_stream_url": "Failed to get the stream URL",
"an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast",
"message_from_server": "Message from Server: {{message}}", "message_from_server": "Message from Server: {{message}}",
"next_episode": "Next Episode", "next_episode": "Next Episode",
"refresh_tracks": "Refresh Tracks",
"audio_tracks": "Audio Tracks:",
"playback_state": "Playback State:",
"index": "Index:",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"go_back": "Go Back", "go_back": "Go Back",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Next Up", "next_up": "Next Up",
@@ -617,6 +641,11 @@
"series": "Series", "series": "Series",
"seasons": "Seasons", "seasons": "Seasons",
"season": "Season", "season": "Season",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "No episodes for this season", "no_episodes_for_this_season": "No episodes for this season",
"overview": "Overview", "overview": "Overview",
"more_with": "More with {{name}}", "more_with": "More with {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Quality", "quality": "Quality",
"audio": "Audio", "audio": "Audio",
"subtitles": "Subtitle", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Show More", "show_more": "Show More",
"show_less": "Show Less", "show_less": "Show Less",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Appeared In", "appeared_in": "Appeared In",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Could Not Load Item", "could_not_load_item": "Could Not Load Item",
"none": "None", "none": "None",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Download {{item_count}} Items", "download_x_item": "Download {{item_count}} Items",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Download" "download_button": "Download"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Next", "next": "Next",
@@ -652,7 +697,18 @@
"movies": "Movies", "movies": "Movies",
"sports": "Sports", "sports": "Sports",
"for_kids": "For Kids", "for_kids": "For Kids",
"news": "News" "news": "News",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirm", "confirm": "Confirm",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0", "jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0",
"jellyseerr_test_failed": "Seerr test failed. Please try again.", "jellyseerr_test_failed": "Seerr test failed. Please try again.",
@@ -716,7 +778,8 @@
"search": "Search", "search": "Search",
"library": "Library", "library": "Library",
"custom_links": "Custom Links", "custom_links": "Custom Links",
"favorites": "Favorites" "favorites": "Favorites",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -43,7 +43,6 @@
"next_up": "Neste", "next_up": "Neste",
"recently_added_in": "Nylig lagt til i {{libraryName}}", "recently_added_in": "Nylig lagt til i {{libraryName}}",
"suggested_movies": "Foreslåtte filmer", "suggested_movies": "Foreslåtte filmer",
"suggested_episodes": "Foreslåtte episoder",
"intro": { "intro": {
"welcome_to_streamyfin": "Velkommen til Streamyfin", "welcome_to_streamyfin": "Velkommen til Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "En gratis og åpen kildekode-klient for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "En gratis og åpen kildekode-klient for Jellyfin.",
@@ -128,11 +127,6 @@
"UNKNOWN": "Ukjent" "UNKNOWN": "Ukjent"
}, },
"safe_area_in_controls": "Trygt område i kontrollene", "safe_area_in_controls": "Trygt område i kontrollene",
"video_player": "Videospiller",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperimentell + PiP)"
},
"show_custom_menu_links": "Vis Tilpassede Meny Linker", "show_custom_menu_links": "Vis Tilpassede Meny Linker",
"hide_libraries": "Skjul biblioteker", "hide_libraries": "Skjul biblioteker",
"select_liraries_you_want_to_hide": "Velg bibliotekene du vil skjule fra Bibliotek-fanen og hjemmesidedelene.", "select_liraries_you_want_to_hide": "Velg bibliotekene du vil skjule fra Bibliotek-fanen og hjemmesidedelene.",
@@ -140,7 +134,6 @@
"default_quality": "Standardkvalitet" "default_quality": "Standardkvalitet"
}, },
"downloads": { "downloads": {
"downloads_title": "Nedlastinger",
"optimized_versions_server": "Optimaliserte versjoner server", "optimized_versions_server": "Optimaliserte versjoner server",
"save_button": "Lagre", "save_button": "Lagre",
"optimized_server": "Optimalisert Server", "optimized_server": "Optimalisert Server",
@@ -205,8 +198,7 @@
"export_logs": "Eksporter logger", "export_logs": "Eksporter logger",
"click_for_more_info": "Klikk for mer informasjon", "click_for_more_info": "Klikk for mer informasjon",
"level": "Nivå", "level": "Nivå",
"no_logs_available": "Ingen logger tilgjengelig", "no_logs_available": "Ingen logger tilgjengelig"
"delete_all_logs": "Slett alle logger"
}, },
"languages": { "languages": {
"title": "Språk", "title": "Språk",
@@ -216,8 +208,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "Feil ved sletting av filer", "error_deleting_files": "Feil ved sletting av filer",
"background_downloads_enabled": "Bakgrunnsnedlastinger aktivert",
"background_downloads_disabled": "Bakgrunnsnedlastinger deaktivert",
"connected": "Tilkoblet", "connected": "Tilkoblet",
"could_not_connect": "Kunne ikke koble til", "could_not_connect": "Kunne ikke koble til",
"invalid_url": "Ugyldig URL" "invalid_url": "Ugyldig URL"
@@ -231,9 +221,6 @@
"downloads_title": "Nedlastinger", "downloads_title": "Nedlastinger",
"tvseries": "TV-serier", "tvseries": "TV-serier",
"movies": "Filmer", "movies": "Filmer",
"queue": "Kø",
"queue_hint": "Kø og nedlastinger vil gå tapt ved omstart av appen",
"no_items_in_queue": "Ingen elementer i køen",
"no_downloaded_items": "Ingen nedlastede elementer", "no_downloaded_items": "Ingen nedlastede elementer",
"delete_all_movies_button": "Slett alle filmer", "delete_all_movies_button": "Slett alle filmer",
"delete_all_tvseries_button": "Slett alle TV-serier", "delete_all_tvseries_button": "Slett alle TV-serier",
@@ -269,9 +256,7 @@
"no_response_received_from_server": "Ingen respons mottatt fra serveren", "no_response_received_from_server": "Ingen respons mottatt fra serveren",
"error_setting_up_the_request": "Feil under oppsett av forespørselen", "error_setting_up_the_request": "Feil under oppsett av forespørselen",
"failed_to_start_download_for_item_unexpected_error": "Kunne ikke starte nedlasting for {{item}}: Uventet feil", "failed_to_start_download_for_item_unexpected_error": "Kunne ikke starte nedlasting for {{item}}: Uventet feil",
"all_files_folders_and_jobs_deleted_successfully": "Alle filer, mapper og jobber ble slettet", "an_error_occured_while_deleting_files_and_jobs": "En feil oppstod under sletting av filer og jobber"
"an_error_occured_while_deleting_files_and_jobs": "En feil oppstod under sletting av filer og jobber",
"go_to_downloads": "Gå til nedlastinger"
} }
} }
}, },
@@ -365,12 +350,8 @@
"video_has_finished_playing": "Videoen har avsluttet avspilling!", "video_has_finished_playing": "Videoen har avsluttet avspilling!",
"no_video_source": "Ingen videosource...", "no_video_source": "Ingen videosource...",
"next_episode": "Neste episode", "next_episode": "Neste episode",
"refresh_tracks": "Oppdater spor",
"subtitle_tracks": "Undertekstspor:", "subtitle_tracks": "Undertekstspor:",
"audio_tracks": "Lydspor:", "no_data_available": "Ingen data tilgjengelig"
"playback_state": "Avspillingsstatus:",
"no_data_available": "Ingen data tilgjengelig",
"index": "Indeks:"
}, },
"item_card": { "item_card": {
"next_up": "Neste opp", "next_up": "Neste opp",

View File

@@ -4,6 +4,9 @@
"error_title": "Fout", "error_title": "Fout",
"login_title": "Aanmelden", "login_title": "Aanmelden",
"login_to_title": "Aanmelden bij", "login_to_title": "Aanmelden bij",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Gebruikersnaam", "username_placeholder": "Gebruikersnaam",
"password_placeholder": "Wachtwoord", "password_placeholder": "Wachtwoord",
"login_button": "Aanmelden", "login_button": "Aanmelden",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Account selecteren", "select_account": "Account selecteren",
"add_account": "Account toevoegen", "add_account": "Account toevoegen",
"remove_account_description": "Hiermee worden de opgeslagen inloggegevens voor {{username}} verwijderd." "remove_account_description": "Hiermee worden de opgeslagen inloggegevens voor {{username}} verwijderd.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Account opslaan", "title": "Account opslaan",
@@ -86,11 +95,11 @@
"oops": "Oeps!", "oops": "Oeps!",
"error_message": "Er ging iets fout\nProbeer opnieuw in te loggen.", "error_message": "Er ging iets fout\nProbeer opnieuw in te loggen.",
"continue_watching": "Verder Kijken", "continue_watching": "Verder Kijken",
"continue": "Continue",
"next_up": "Volgende", "next_up": "Volgende",
"continue_and_next_up": "Doorgaan & Volgende", "continue_and_next_up": "Doorgaan & Volgende",
"recently_added_in": "Recent toegevoegd in {{libraryName}}", "recently_added_in": "Recent toegevoegd in {{libraryName}}",
"suggested_movies": "Voorgestelde films", "suggested_movies": "Voorgestelde films",
"suggested_episodes": "Voorgestelde Afleveringen",
"intro": { "intro": {
"welcome_to_streamyfin": "Welkom bij Streamyfin", "welcome_to_streamyfin": "Welkom bij Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Een gratis en open-source client voor Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Een gratis en open-source client voor Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Instellingen", "settings_title": "Instellingen",
"log_out_button": "Afmelden", "log_out_button": "Afmelden",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categorieën" "title": "Categorieën"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Weergave", "title": "Weergave",
"merge_next_up_continue_watching": "Doorgaan met kijken & Volgende samenvoegen", "merge_next_up_continue_watching": "Doorgaan met kijken & Volgende samenvoegen",
"hide_remote_session_button": "Verberg Knop voor Externe Sessie" "hide_remote_session_button": "Verberg Knop voor Externe Sessie",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Netwerk", "title": "Netwerk",
@@ -174,6 +198,22 @@
"rewind_length": "Duur terugspoelen", "rewind_length": "Duur terugspoelen",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gebaar Bediening", "gesture_controls_title": "Gebaar Bediening",
"horizontal_swipe_skip": "Horizontale Swipe om over te slaan", "horizontal_swipe_skip": "Horizontale Swipe om over te slaan",
@@ -220,62 +260,22 @@
"None": "Geen", "None": "Geen",
"OnlyForced": "Alleen Geforceerd" "OnlyForced": "Alleen Geforceerd"
}, },
"text_color": "Tekst kleur", "opensubtitles_title": "OpenSubtitles",
"background_color": "Achtergrond Kleur", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Kleur omlijning", "opensubtitles_api_key": "API Key",
"outline_thickness": "Dikte omlijning", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Transparantie achtergrond", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Doorzichtigheid omlijning", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Zwart", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Grijs", "align": {
"Silver": "Zilver", "left": "Left",
"White": "Wit", "center": "Center",
"Maroon": "Kastanjebruin", "right": "Right",
"Red": "Rood", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Geel", }
"Olive": "Olijf",
"Green": "Groen",
"Teal": "Groenblauw",
"Lime": "Lichtgroen",
"Purple": "Paars",
"Navy": "Marine",
"Blue": "Blauw",
"Aqua": "Aqua"
},
"thickness": {
"None": "Geen",
"Thin": "Dun",
"Normal": "normaal",
"Thick": "Dikke"
},
"subtitle_color": "Kleur ondertiteling",
"subtitle_background_color": "Achtergrondkleur",
"subtitle_font": "Lettertype ondertitels",
"ksplayer_title": "KSPlayer Instellingen",
"hardware_decode": "Hardware Acceleratie",
"hardware_decode_description": "Gebruik hardware acceleratie voor video-decodering. Uitschakelen als u problemen met afspelen ondervindt."
},
"vlc_subtitles": {
"title": "VLC ondertitel instellingen",
"hint": "Aanpassen van ondertiteling voor VLC-speler. Wijzigingen worden toegepast bij het afspelen.",
"text_color": "Tekstkleur",
"background_color": "Achtergrondkleur",
"background_opacity": "Doorzichtigheid achtergrond",
"outline_color": "Kleur omlijning",
"outline_opacity": "Omtrek opaciteit",
"outline_thickness": "Omtrek dikte",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Videospeler",
"video_player": "Videospeler",
"video_player_description": "Kies welke videospeler gebruikt moet worden op iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Andere", "other_title": "Andere",
@@ -294,13 +294,7 @@
"UNKNOWN": "Onbekend" "UNKNOWN": "Onbekend"
}, },
"safe_area_in_controls": "Veilig gebied in bedieningen", "safe_area_in_controls": "Veilig gebied in bedieningen",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimentele + PiP)"
},
"show_custom_menu_links": "Aangepaste menulinks tonen", "show_custom_menu_links": "Aangepaste menulinks tonen",
"show_large_home_carousel": "Toon grote carrousel op startpagina (bèta)",
"hide_libraries": "Verberg Bibliotheken", "hide_libraries": "Verberg Bibliotheken",
"select_liraries_you_want_to_hide": "Selecteer de bibliotheken die je wil verbergen van de Bibliotheektab en hoofdpagina onderdelen.", "select_liraries_you_want_to_hide": "Selecteer de bibliotheken die je wil verbergen van de Bibliotheektab en hoofdpagina onderdelen.",
"disable_haptic_feedback": "Haptische feedback uitschakelen", "disable_haptic_feedback": "Haptische feedback uitschakelen",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Automatisch Aflevering Aantal", "max_auto_play_episode_count": "Max Automatisch Aflevering Aantal",
"disabled": "Uitgeschakeld" "disabled": "Uitgeschakeld"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Muziek", "title": "Muziek",
"playback_title": "Afspelen", "playback_title": "Afspelen",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Lees meer over Marlin.", "read_more_about_marlin": "Lees meer over Marlin.",
"save_button": "Opslaan", "save_button": "Opslaan",
"toasts": { "toasts": {
"saved": "Opgeslagen", "saved": "Opgeslagen"
"refreshed": "Instellingen zijn vernieuwd vanaf server" }
},
"refresh_from_server": "Ververs Instellingen van Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Streamystats inschakelen",
"disable_streamystats": "Streamystats Uitschakelen", "disable_streamystats": "Streamystats Uitschakelen",
"enable_search": "Gebruik voor Zoeken", "enable_search": "Gebruik voor Zoeken",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Vul de URL van de Streamystats server in. De URL moet http of https bevatten en optioneel de poort.", "streamystats_search_hint": "Vul de URL van de Streamystats server in. De URL moet http of https bevatten en optioneel de poort.",
"read_more_about_streamystats": "Lees Meer over Streamystats.", "read_more_about_streamystats": "Lees Meer over Streamystats.",
"save_button": "Opslaan",
"save": "Opslaan", "save": "Opslaan",
"features_title": "Functies", "features_title": "Functies",
"home_sections_title": "Thuis Secties",
"enable_movie_recommendations": "Film Aanbevelingen", "enable_movie_recommendations": "Film Aanbevelingen",
"enable_series_recommendations": "Series Aanbevelingen", "enable_series_recommendations": "Series Aanbevelingen",
"enable_promoted_watchlists": "Gepromote Kijklijst", "enable_promoted_watchlists": "Gepromote Kijklijst",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Verwijder alle gedownloade bestanden", "delete_all_downloaded_files": "Verwijder alle gedownloade bestanden",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} gecached", "music_cache_size": "{{size}} gecached",
"music_cache_cleared": "Muziek cache gewist", "music_cache_cleared": "Muziek cache gewist",
"delete_all_downloaded_songs": "Verwijder alle gedownloade liedjes", "delete_all_downloaded_songs": "Verwijder alle gedownloade liedjes",
"downloaded_songs_size": "{{size}} gedownload", "downloaded_songs_size": "{{size}} gedownload",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Klik voor meer info", "click_for_more_info": "Klik voor meer info",
"level": "Niveau", "level": "Niveau",
"no_logs_available": "Geen logs beschikbaar", "no_logs_available": "Geen logs beschikbaar"
"delete_all_logs": "Alle logs verwijderen"
}, },
"languages": { "languages": {
"title": "Talen", "title": "Talen",
@@ -427,9 +414,21 @@
"system": "Systeem" "system": "Systeem"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Fout bij het verwijderen van bestanden", "error_deleting_files": "Fout bij het verwijderen van bestanden"
"background_downloads_enabled": "Downloads op de achtergrond ingeschakeld", },
"background_downloads_disabled": "Downloads op de achtergrond uitgeschakeld" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "Series", "tvseries": "Series",
"movies": "Films", "movies": "Films",
"queue": "Wachtrij",
"other_media": "Andere media", "other_media": "Andere media",
"queue_hint": "Wachtrij en downloads verdwijnen bij een herstart van de app",
"no_items_in_queue": "Geen items in wachtrij",
"no_downloaded_items": "Geen gedownloade items", "no_downloaded_items": "Geen gedownloade items",
"delete_all_movies_button": "Verwijder alle films", "delete_all_movies_button": "Verwijder alle films",
"delete_all_tvseries_button": "Verwijder alle Series", "delete_all_tvseries_button": "Verwijder alle Series",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Voor de nieuwe update moet de content opnieuw worden gedownload. Verwijder alle gedownloade content en probeer het opnieuw.", "new_app_version_requires_re_download_description": "Voor de nieuwe update moet de content opnieuw worden gedownload. Verwijder alle gedownloade content en probeer het opnieuw.",
"back": "Terug", "back": "Terug",
"delete": "Verwijder", "delete": "Verwijder",
"delete_download": "Delete Download",
"something_went_wrong": "Er ging iets mis", "something_went_wrong": "Er ging iets mis",
"could_not_get_stream_url_from_jellyfin": "Kon de URL van de stream niet krijgen van Jellyfin", "could_not_get_stream_url_from_jellyfin": "Kon de URL van de stream niet krijgen van Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Alle series zijn niet verwijderd", "failed_to_delete_all_tvseries": "Alle series zijn niet verwijderd",
"deleted_media_successfully": "Andere media succesvol verwijderd!", "deleted_media_successfully": "Andere media succesvol verwijderd!",
"failed_to_delete_media": "Verwijderen van andere media mislukt", "failed_to_delete_media": "Verwijderen van andere media mislukt",
"download_deleted": "Download verwijderd",
"download_cancelled": "Download geannuleerd", "download_cancelled": "Download geannuleerd",
"could_not_delete_download": "Kon download niet verwijderen", "could_not_delete_download": "Kon download niet verwijderen",
"download_paused": "Download gepauzeerd",
"could_not_pause_download": "Kan niet pauzeren download",
"download_resumed": "Download hervat",
"could_not_resume_download": "Kon de download niet hervatten",
"download_completed": "Download afgerond", "download_completed": "Download afgerond",
"download_failed": "Download Mislukt", "download_failed": "Download Mislukt",
"download_failed_for_item": "Download gefaald voor {{item}} - {{error}}", "download_failed_for_item": "Download gefaald voor {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} wordt al gedownload", "item_already_downloading": "{{item}} wordt al gedownload",
"all_files_deleted": "Alle Bestanden Succesvol Gedownload", "all_files_deleted": "Alle Bestanden Succesvol Gedownload",
"files_deleted_by_type": "{{count}} {{type}} verwijderd", "files_deleted_by_type": "{{count}} {{type}} verwijderd",
"all_files_folders_and_jobs_deleted_successfully": "Alle bestanden, mappen en taken succesvol verwijderd",
"failed_to_clean_cache_directory": "Opschonen cachemap mislukt",
"could_not_get_download_url_for_item": "Kan download-URL voor {{itemName}} niet ophalen", "could_not_get_download_url_for_item": "Kan download-URL voor {{itemName}} niet ophalen",
"go_to_downloads": "Ga naar downloads",
"file_deleted": "{{item}} verwijderd" "file_deleted": "{{item}} verwijderd"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Selecteren", "select": "Selecteren",
"no_trailer_available": "Geen trailer beschikbaar", "no_trailer_available": "Geen trailer beschikbaar",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Ondertitel", "subtitle": "Ondertitel",
"play": "Afspelen", "play": "Afspelen",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Geen", "none": "Geen",
"track": "Spoor", "track": "Spoor",
"cancel": "Annuleren", "cancel": "Annuleren",
"delete": "Verwijderen", "delete": "Verwijderen",
"ok": "Oké", "ok": "Oké",
"remove": "Verwijderen", "remove": "Verwijderen",
"next": "Volgende",
"back": "Terug", "back": "Terug",
"continue": "Doorgaan", "continue": "Doorgaan",
"verifying": "Verifiëren..." "verifying": "Verifiëren...",
"login": "Login"
}, },
"search": { "search": {
"search": "Zoek...", "search": "Zoek...",
@@ -556,6 +548,7 @@
"movies": "Films", "movies": "Films",
"series": "Series", "series": "Series",
"boxsets": "Boxsets", "boxsets": "Boxsets",
"playlists": "Playlists",
"items": "items" "items": "items"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Omslag", "cover": "Omslag",
"show_titles": "Toon titels", "show_titles": "Toon titels",
"show_stats": "Toon statistieken" "show_stats": "Toon statistieken",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sorteren op", "sort_by": "Sorteren op",
"filter_by": "Filteren op", "filter_by": "Filteren op",
"sort_order": "Sorteer volgorde", "sort_order": "Sorteer volgorde",
"tags": "Labels" "tags": "Labels",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Geen links" "no_links": "Geen links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Fout", "error": "Fout",
"failed_to_get_stream_url": "De stream-URL kon niet worden verkregen", "failed_to_get_stream_url": "De stream-URL kon niet worden verkregen",
"an_error_occured_while_playing_the_video": "Er is een fout opgetreden tijdens het afspelen van de video. Controleer de logs in de instellingen.", "an_error_occured_while_playing_the_video": "Er is een fout opgetreden tijdens het afspelen van de video. Controleer de logs in de instellingen.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Kon geen stream maken voor Chromecast", "could_not_create_stream_for_chromecast": "Kon geen stream maken voor Chromecast",
"message_from_server": "Bericht van de server", "message_from_server": "Bericht van de server",
"next_episode": "Volgende Aflevering", "next_episode": "Volgende Aflevering",
"refresh_tracks": "Tracks verversen",
"audio_tracks": "Audio Tracks:",
"playback_state": "Afspeelstatus:",
"index": "Index:",
"continue_watching": "Verder kijken", "continue_watching": "Verder kijken",
"go_back": "Terug", "go_back": "Terug",
"downloaded_file_title": "Je hebt dit bestand gedownload", "downloaded_file_title": "Je hebt dit bestand gedownload",
"downloaded_file_message": "Wil je het gedownloade bestand afspelen?", "downloaded_file_message": "Wil je het gedownloade bestand afspelen?",
"downloaded_file_yes": "Ja", "downloaded_file_yes": "Ja",
"downloaded_file_no": "Nee", "downloaded_file_no": "Nee",
"downloaded_file_cancel": "Annuleren" "downloaded_file_cancel": "Annuleren",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Volgende", "next_up": "Volgende",
@@ -617,6 +641,11 @@
"series": "Series", "series": "Series",
"seasons": "Seizoenen", "seasons": "Seizoenen",
"season": "Seizoen", "season": "Seizoen",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Geen afleveringen voor dit seizoen", "no_episodes_for_this_season": "Geen afleveringen voor dit seizoen",
"overview": "Overzicht", "overview": "Overzicht",
"more_with": "Meer met {{name}}", "more_with": "Meer met {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media opties", "media_options": "Media opties",
"quality": "Kwaliteit", "quality": "Kwaliteit",
"audio": "Audio", "audio": "Audio",
"subtitles": "Ondertitel", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Toon meer", "show_more": "Toon meer",
"show_less": "Toon minder", "show_less": "Toon minder",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Verschenen in", "appeared_in": "Verschenen in",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Kon item niet laden", "could_not_load_item": "Kon item niet laden",
"none": "Geen", "none": "Geen",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Download {{item_count}} items", "download_x_item": "Download {{item_count}} items",
"download_unwatched_only": "Alleen niet bekeken", "download_unwatched_only": "Alleen niet bekeken",
"download_button": "Downloaden" "download_button": "Downloaden"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Volgende ", "next": "Volgende ",
@@ -652,7 +697,18 @@
"movies": "Films", "movies": "Films",
"sports": "Sport", "sports": "Sport",
"for_kids": "Voor kinderen", "for_kids": "Voor kinderen",
"news": "Nieuws" "news": "Nieuws",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Bevestig", "confirm": "Bevestig",
@@ -697,6 +753,12 @@
"decline": "Weigeren", "decline": "Weigeren",
"requested_by": "Aangevraagd door {{user}}", "requested_by": "Aangevraagd door {{user}}",
"unknown_user": "Onbekende gebruiker", "unknown_user": "Onbekende gebruiker",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr server voldoet niet aan de minimale versievereisten! Update naar minimaal 2.0.0", "jellyseer_does_not_meet_requirements": "Jellyseerr server voldoet niet aan de minimale versievereisten! Update naar minimaal 2.0.0",
"jellyseerr_test_failed": "Jellyseerr test mislukt. Probeer opnieuw.", "jellyseerr_test_failed": "Jellyseerr test mislukt. Probeer opnieuw.",
@@ -716,7 +778,8 @@
"search": "Zoeken", "search": "Zoeken",
"library": "Bibliotheek", "library": "Bibliotheek",
"custom_links": "Aangepaste links", "custom_links": "Aangepaste links",
"favorites": "Favorieten" "favorites": "Favorieten",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Muziek", "title": "Muziek",
@@ -727,13 +790,9 @@
"playlists": "Afspeellijsten", "playlists": "Afspeellijsten",
"tracks": "Nummers" "tracks": "Nummers"
}, },
"filters": {
"all": "Alle"
},
"recently_added": "Recent toegevoegd", "recently_added": "Recent toegevoegd",
"recently_played": "Onlangs afgespeeld", "recently_played": "Onlangs afgespeeld",
"frequently_played": "Vaak afgespeeld", "frequently_played": "Vaak afgespeeld",
"explore": "Ontdek",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Afspelen", "play": "Afspelen",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "Deze serie", "show": "Deze serie",
"all": "Alle media (standaard)" "all": "Alle media (standaard)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -43,7 +43,6 @@
"next_up": "Neste", "next_up": "Neste",
"recently_added_in": "Nyleg lagt til i {{libraryName}}", "recently_added_in": "Nyleg lagt til i {{libraryName}}",
"suggested_movies": "Foreslåtte filmar", "suggested_movies": "Foreslåtte filmar",
"suggested_episodes": "Foreslåtte episodar",
"intro": { "intro": {
"welcome_to_streamyfin": "Velkommen til Streamyfin", "welcome_to_streamyfin": "Velkommen til Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Ein gratis og open kjeldekode-klient for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Ein gratis og open kjeldekode-klient for Jellyfin.",
@@ -128,11 +127,6 @@
"UNKNOWN": "Ukjent" "UNKNOWN": "Ukjent"
}, },
"safe_area_in_controls": "Trygt område i kontrollane", "safe_area_in_controls": "Trygt område i kontrollane",
"video_player": "Videospelar",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperimentell + PiP)"
},
"show_custom_menu_links": "Vis Tilpassede Meny Linker", "show_custom_menu_links": "Vis Tilpassede Meny Linker",
"hide_libraries": "Skjul bibliotek", "hide_libraries": "Skjul bibliotek",
"select_liraries_you_want_to_hide": "Vel biblioteka du vil skjula frå Bibliotek-fanen og nettsidedelane.", "select_liraries_you_want_to_hide": "Vel biblioteka du vil skjula frå Bibliotek-fanen og nettsidedelane.",
@@ -140,7 +134,6 @@
"default_quality": "Standardkvalitet" "default_quality": "Standardkvalitet"
}, },
"downloads": { "downloads": {
"downloads_title": "Nedlastingar",
"optimized_versions_server": "Optimaliserte versjonar servar", "optimized_versions_server": "Optimaliserte versjonar servar",
"save_button": "Lagre", "save_button": "Lagre",
"optimized_server": "Optimalisert Servar", "optimized_server": "Optimalisert Servar",
@@ -205,8 +198,7 @@
"export_logs": "Eksporter loggar", "export_logs": "Eksporter loggar",
"click_for_more_info": "Klikk for meir informasjon", "click_for_more_info": "Klikk for meir informasjon",
"level": "Nivå", "level": "Nivå",
"no_logs_available": "Ingen loggar tilgjengelege", "no_logs_available": "Ingen loggar tilgjengelege"
"delete_all_logs": "Slett alle loggar"
}, },
"languages": { "languages": {
"title": "Språk", "title": "Språk",
@@ -216,8 +208,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "Feil ved sletting av filer", "error_deleting_files": "Feil ved sletting av filer",
"background_downloads_enabled": "Bakgrunnsnedlastingar aktiverte",
"background_downloads_disabled": "Bakgrunnsnedlastingar deaktiverte",
"connected": "Tilkopla", "connected": "Tilkopla",
"could_not_connect": "Kunne ikkje kopla til", "could_not_connect": "Kunne ikkje kopla til",
"invalid_url": "Ugyldig URL" "invalid_url": "Ugyldig URL"
@@ -231,9 +221,6 @@
"downloads_title": "Nedlastingar", "downloads_title": "Nedlastingar",
"tvseries": "TV-seriar", "tvseries": "TV-seriar",
"movies": "Filmar", "movies": "Filmar",
"queue": "Kø",
"queue_hint": "Kø og nedlastingar vil gå tapt ved omstart av appen",
"no_items_in_queue": "Ingen element i køen",
"no_downloaded_items": "Ingen nedlasta element", "no_downloaded_items": "Ingen nedlasta element",
"delete_all_movies_button": "Slett alle filmar", "delete_all_movies_button": "Slett alle filmar",
"delete_all_tvseries_button": "Slett alle TV-seriar", "delete_all_tvseries_button": "Slett alle TV-seriar",
@@ -269,9 +256,7 @@
"no_response_received_from_server": "Ingen respons motteken frå serveren", "no_response_received_from_server": "Ingen respons motteken frå serveren",
"error_setting_up_the_request": "Feil under oppsett av førespurnaden", "error_setting_up_the_request": "Feil under oppsett av førespurnaden",
"failed_to_start_download_for_item_unexpected_error": "Kunne ikkje starta nedlasting for {{item}}: Uventa feil", "failed_to_start_download_for_item_unexpected_error": "Kunne ikkje starta nedlasting for {{item}}: Uventa feil",
"all_files_folders_and_jobs_deleted_successfully": "Alle filer, mapper og jobbar vart sletta", "an_error_occured_while_deleting_files_and_jobs": "Ein feil oppstod under sletting av filer og jobbar"
"an_error_occured_while_deleting_files_and_jobs": "Ein feil oppstod under sletting av filer og jobbar",
"go_to_downloads": "Gå til nedlastingar"
} }
} }
}, },
@@ -365,12 +350,8 @@
"video_has_finished_playing": "Videoen er ferdig avspelt!", "video_has_finished_playing": "Videoen er ferdig avspelt!",
"no_video_source": "Ingen videokjelde...", "no_video_source": "Ingen videokjelde...",
"next_episode": "Neste episode", "next_episode": "Neste episode",
"refresh_tracks": "Oppdater spor",
"subtitle_tracks": "Undertekstspor:", "subtitle_tracks": "Undertekstspor:",
"audio_tracks": "Lydspor:", "no_data_available": "Ingen data tilgjengelege"
"playback_state": "Avspelingstatus:",
"no_data_available": "Ingen data tilgjengelege",
"index": "Indeks:"
}, },
"item_card": { "item_card": {
"next_up": "Neste opp", "next_up": "Neste opp",

View File

@@ -4,6 +4,9 @@
"error_title": "Feil", "error_title": "Feil",
"login_title": "Logg inn", "login_title": "Logg inn",
"login_to_title": "Logg inn i", "login_to_title": "Logg inn i",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Brukernavn", "username_placeholder": "Brukernavn",
"password_placeholder": "Passord", "password_placeholder": "Passord",
"login_button": "Logg inn", "login_button": "Logg inn",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Oisann!", "oops": "Oisann!",
"error_message": "Noe gikk galt.\nVennligst logg ut og inn igjen.", "error_message": "Noe gikk galt.\nVennligst logg ut og inn igjen.",
"continue_watching": "Fortsett å se", "continue_watching": "Fortsett å se",
"continue": "Continue",
"next_up": "Neste opp", "next_up": "Neste opp",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Nylig lagt til i {{libraryName}}", "recently_added_in": "Nylig lagt til i {{libraryName}}",
"suggested_movies": "Foreslåtte filmer", "suggested_movies": "Foreslåtte filmer",
"suggested_episodes": "Foreslåtte episoder",
"intro": { "intro": {
"welcome_to_streamyfin": "Velkommen til Streamyfin", "welcome_to_streamyfin": "Velkommen til Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "En gratis og Open-Source klient for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "En gratis og Open-Source klient for Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Innstillinger", "settings_title": "Innstillinger",
"log_out_button": "Logg ut", "log_out_button": "Logg ut",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Omspar lengde", "rewind_length": "Omspar lengde",
"seconds_unit": "S" "seconds_unit": "S"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gest kontroller", "gesture_controls_title": "Gest kontroller",
"horizontal_swipe_skip": "Vannrett sveip for å hoppe over", "horizontal_swipe_skip": "Vannrett sveip for å hoppe over",
@@ -220,62 +260,22 @@
"None": "Ingen", "None": "Ingen",
"OnlyForced": "Enkelt" "OnlyForced": "Enkelt"
}, },
"text_color": "Tekst farge", "opensubtitles_title": "OpenSubtitles",
"background_color": "Bakgrunnsfarge", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Omrissets farge", "opensubtitles_api_key": "API Key",
"outline_thickness": "Omriss Tykkelse", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Bakgrunns gjennomsiktighet", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Omrissets gjennomsiktighet", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Svart", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Grå", "align": {
"Silver": "Sølv", "left": "Left",
"White": "Hvit", "center": "Center",
"Maroon": "Rødbrun", "right": "Right",
"Red": "Rød", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Gul", }
"Olive": "Olivengrønn",
"Green": "Grønn",
"Teal": "Blågrønn",
"Lime": "Limegrønn",
"Purple": "Lilla",
"Navy": "Marineblå",
"Blue": "Blå",
"Aqua": "Vann"
},
"thickness": {
"None": "Ingen",
"Thin": "Tynn",
"Normal": "Vanlig",
"Thick": "Tykk"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Annet", "other_title": "Annet",
@@ -294,13 +294,7 @@
"UNKNOWN": "Ukjent" "UNKNOWN": "Ukjent"
}, },
"safe_area_in_controls": "Sikker sone i kontroller", "safe_area_in_controls": "Sikker sone i kontroller",
"video_player": "Video Spiller",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (eksperimentell + PiP)"
},
"show_custom_menu_links": "Vis tilpassede menylenker", "show_custom_menu_links": "Vis tilpassede menylenker",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Skjul biblioteker", "hide_libraries": "Skjul biblioteker",
"select_liraries_you_want_to_hide": "Velg bibliotekene du vil skjule deg for Biblioteket og avsnittene for hjemmesider.", "select_liraries_you_want_to_hide": "Velg bibliotekene du vil skjule deg for Biblioteket og avsnittene for hjemmesider.",
"disable_haptic_feedback": "Deaktiver Haptisk tilbakemelding", "disable_haptic_feedback": "Deaktiver Haptisk tilbakemelding",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maks automatisk avspilling Episode Telling", "max_auto_play_episode_count": "Maks automatisk avspilling Episode Telling",
"disabled": "Deaktivert" "disabled": "Deaktivert"
}, },
"downloads": {
"downloads_title": "Nedlastinger"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Les mer om Marlin.", "read_more_about_marlin": "Les mer om Marlin.",
"save_button": "Lagre", "save_button": "Lagre",
"toasts": { "toasts": {
"saved": "Lagret", "saved": "Lagret"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Slett alle nedlastede filer", "delete_all_downloaded_files": "Slett alle nedlastede filer",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Eksportlogger", "export_logs": "Eksportlogger",
"click_for_more_info": "Klikk for mer info", "click_for_more_info": "Klikk for mer info",
"level": "Nivå", "level": "Nivå",
"no_logs_available": "Ingen logger tilgjengelig", "no_logs_available": "Ingen logger tilgjengelig"
"delete_all_logs": "Slett alle loggene"
}, },
"languages": { "languages": {
"title": "Språk", "title": "Språk",
@@ -427,9 +414,21 @@
"system": "Systemadministrasjon" "system": "Systemadministrasjon"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Feil ved sletting av filer", "error_deleting_files": "Feil ved sletting av filer"
"background_downloads_enabled": "Nedlastinger av bakgrunn aktivert", },
"background_downloads_disabled": "Bakgrunnsnedlastinger deaktivert" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Nedlastinger", "downloads_title": "Nedlastinger",
"tvseries": "TV-Serier", "tvseries": "TV-Serier",
"movies": "Filmer", "movies": "Filmer",
"queue": "Kø",
"other_media": "Andre medier", "other_media": "Andre medier",
"queue_hint": "Kø og nedlastinger vil gå tapt når appen startes på nytt",
"no_items_in_queue": "Ingen elementer i køen",
"no_downloaded_items": "Ingen nedlastede elementer", "no_downloaded_items": "Ingen nedlastede elementer",
"delete_all_movies_button": "Slett alle filmer", "delete_all_movies_button": "Slett alle filmer",
"delete_all_tvseries_button": "Slett alle TV-Serier", "delete_all_tvseries_button": "Slett alle TV-Serier",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Den nye oppdateringen krever at innholdet lastes ned på nytt. Fjern alt nedlastet innhold og prøv på nytt.", "new_app_version_requires_re_download_description": "Den nye oppdateringen krever at innholdet lastes ned på nytt. Fjern alt nedlastet innhold og prøv på nytt.",
"back": "Tilbake", "back": "Tilbake",
"delete": "Slett", "delete": "Slett",
"delete_download": "Delete Download",
"something_went_wrong": "Noe gikk galt", "something_went_wrong": "Noe gikk galt",
"could_not_get_stream_url_from_jellyfin": "Kunne ikke hente stream-URL fra Jellyfin", "could_not_get_stream_url_from_jellyfin": "Kunne ikke hente stream-URL fra Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Kunne ikke slette alle TV-Serier", "failed_to_delete_all_tvseries": "Kunne ikke slette alle TV-Serier",
"deleted_media_successfully": "Slettet andre media vellykket!", "deleted_media_successfully": "Slettet andre media vellykket!",
"failed_to_delete_media": "Kunne ikke slette andre medier", "failed_to_delete_media": "Kunne ikke slette andre medier",
"download_deleted": "Nedlasting slettet",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Kunne ikke slette nedlasting", "could_not_delete_download": "Kunne ikke slette nedlasting",
"download_paused": "Last ned Pauset",
"could_not_pause_download": "Kunne ikke pause nedlasting",
"download_resumed": "Nedlastingen er gjenopptatt",
"could_not_resume_download": "Kunne ikke fortsette nedlasting",
"download_completed": "Nedlasting fullført", "download_completed": "Nedlasting fullført",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Nedlasting feilet for {{item}} {{error}}", "download_failed_for_item": "Nedlasting feilet for {{item}} {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Alle filer, mapper og jobber slettet",
"failed_to_clean_cache_directory": "Klarte ikke å tømme mellomlagermappen",
"could_not_get_download_url_for_item": "Kunne ikke hente nedlastings-URL for {{itemName}}", "could_not_get_download_url_for_item": "Kunne ikke hente nedlastings-URL for {{itemName}}",
"go_to_downloads": "Gå til nedlastinger",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Velg", "select": "Velg",
"no_trailer_available": "Ingen trailer tilgjengelig", "no_trailer_available": "Ingen trailer tilgjengelig",
"video": "Video", "video": "Video",
"audio": "Lyd", "audio": "Lyd",
"subtitle": "Undertittel", "subtitle": "Undertittel",
"play": "Spill", "play": "Spill",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Søk...", "search": "Søk...",
@@ -556,6 +548,7 @@
"movies": "Filmer", "movies": "Filmer",
"series": "Serier", "series": "Serier",
"boxsets": "Boks sett", "boxsets": "Boks sett",
"playlists": "Playlists",
"items": "Elementer" "items": "Elementer"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Plakat", "poster": "Plakat",
"cover": "Omslag", "cover": "Omslag",
"show_titles": "Vis titler", "show_titles": "Vis titler",
"show_stats": "Vis statistikk" "show_stats": "Vis statistikk",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sorter etter", "sort_by": "Sorter etter",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Sorter etter", "sort_order": "Sorter etter",
"tags": "Tagger" "tags": "Tagger",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Ingen lenke" "no_links": "Ingen lenke"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Feil", "error": "Feil",
"failed_to_get_stream_url": "Kan ikke hente nettadressen for stream", "failed_to_get_stream_url": "Kan ikke hente nettadressen for stream",
"an_error_occured_while_playing_the_video": "En feil oppstod under video. Sjekk loggene i innstillingene.", "an_error_occured_while_playing_the_video": "En feil oppstod under video. Sjekk loggene i innstillingene.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Kan ikke opprette en strøm for Chromecast", "could_not_create_stream_for_chromecast": "Kan ikke opprette en strøm for Chromecast",
"message_from_server": "Melding fra tjener: {{message}}", "message_from_server": "Melding fra tjener: {{message}}",
"next_episode": "Neste Episode", "next_episode": "Neste Episode",
"refresh_tracks": "Oppdater sporing",
"audio_tracks": "Lyd Tracks:",
"playback_state": "Avspillingsstatus:",
"index": "Indeks:",
"continue_watching": "Fortsett å se", "continue_watching": "Fortsett å se",
"go_back": "Gå tilbake", "go_back": "Gå tilbake",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Neste opp", "next_up": "Neste opp",
@@ -617,6 +641,11 @@
"series": "Serier", "series": "Serier",
"seasons": "Sesonger", "seasons": "Sesonger",
"season": "Sesong", "season": "Sesong",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Ingen episoder for denne sesongen", "no_episodes_for_this_season": "Ingen episoder for denne sesongen",
"overview": "Oversikt", "overview": "Oversikt",
"more_with": "Mer med {{name}}", "more_with": "Mer med {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Kvalitet", "quality": "Kvalitet",
"audio": "Lyd", "audio": "Lyd",
"subtitles": "Undertittel", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Vis mer", "show_more": "Vis mer",
"show_less": "Vis mindre", "show_less": "Vis mindre",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Ble brukt i", "appeared_in": "Ble brukt i",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Kan ikke laste inn produkt", "could_not_load_item": "Kan ikke laste inn produkt",
"none": "Ingen", "none": "Ingen",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Last ned {{item_count}} Objekter", "download_x_item": "Last ned {{item_count}} Objekter",
"download_unwatched_only": "Bare usette", "download_unwatched_only": "Bare usette",
"download_button": "Nedlasting" "download_button": "Nedlasting"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Neste", "next": "Neste",
@@ -652,7 +697,18 @@
"movies": "Filmer", "movies": "Filmer",
"sports": "Sport", "sports": "Sport",
"for_kids": "For barn", "for_kids": "For barn",
"news": "Nyheter" "news": "Nyheter",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Bekreft", "confirm": "Bekreft",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr server oppfyller ikke minimumskravene til versjoner! Vennligst oppdater til minst 2.0.0", "jellyseer_does_not_meet_requirements": "Seerr server oppfyller ikke minimumskravene til versjoner! Vennligst oppdater til minst 2.0.0",
"jellyseerr_test_failed": "Seerr-test mislyktes. Vennligst prøv på nytt.", "jellyseerr_test_failed": "Seerr-test mislyktes. Vennligst prøv på nytt.",
@@ -716,7 +778,8 @@
"search": "Søk", "search": "Søk",
"library": "Bibliotek", "library": "Bibliotek",
"custom_links": "Egendefinerte lenker", "custom_links": "Egendefinerte lenker",
"favorites": "Favoritter" "favorites": "Favoritter",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Błąd", "error_title": "Błąd",
"login_title": "Zaloguj się", "login_title": "Zaloguj się",
"login_to_title": "Zaloguj się do", "login_to_title": "Zaloguj się do",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Nazwa użytkownika", "username_placeholder": "Nazwa użytkownika",
"password_placeholder": "Hasło", "password_placeholder": "Hasło",
"login_button": "Zaloguj się", "login_button": "Zaloguj się",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} kont", "accounts_count": "{{count}} kont",
"select_account": "Wybierz konto", "select_account": "Wybierz konto",
"add_account": "Dodaj konto", "add_account": "Dodaj konto",
"remove_account_description": "Spowoduje to usunięcie zapisanych danych logowania dla {{username}}." "remove_account_description": "Spowoduje to usunięcie zapisanych danych logowania dla {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Zapisz konto", "title": "Zapisz konto",
@@ -86,11 +95,11 @@
"oops": "Ups!", "oops": "Ups!",
"error_message": "Coś poszło nie tak.\nWyloguj się i zaloguj ponownie.", "error_message": "Coś poszło nie tak.\nWyloguj się i zaloguj ponownie.",
"continue_watching": "Kontynuuj oglądanie", "continue_watching": "Kontynuuj oglądanie",
"continue": "Continue",
"next_up": "Następne w kolejce", "next_up": "Następne w kolejce",
"continue_and_next_up": "Oglądaj dalej i Następne", "continue_and_next_up": "Oglądaj dalej i Następne",
"recently_added_in": "Ostatnio dodano w {{libraryName}}", "recently_added_in": "Ostatnio dodano w {{libraryName}}",
"suggested_movies": "Sugerowane filmy", "suggested_movies": "Sugerowane filmy",
"suggested_episodes": "Sugerowane odcinki",
"intro": { "intro": {
"welcome_to_streamyfin": "Witamy w Streamyfin", "welcome_to_streamyfin": "Witamy w Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Darmowy i otwartoźródłowy klient dla Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Darmowy i otwartoźródłowy klient dla Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Ustawienia", "settings_title": "Ustawienia",
"log_out_button": "Wyloguj się", "log_out_button": "Wyloguj się",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Kategorie" "title": "Kategorie"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Wygląd", "title": "Wygląd",
"merge_next_up_continue_watching": "Połącz Oglądaj dalej i Następne", "merge_next_up_continue_watching": "Połącz Oglądaj dalej i Następne",
"hide_remote_session_button": "Ukryj przycisk Zdalnej Sesji" "hide_remote_session_button": "Ukryj przycisk Zdalnej Sesji",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Długość przewijania do tyłu", "rewind_length": "Długość przewijania do tyłu",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Sterowanie gestami", "gesture_controls_title": "Sterowanie gestami",
"horizontal_swipe_skip": "Przesuń w poziomie, aby pominąć", "horizontal_swipe_skip": "Przesuń w poziomie, aby pominąć",
@@ -220,62 +260,22 @@
"None": "Brak", "None": "Brak",
"OnlyForced": "Tylko wymuszone" "OnlyForced": "Tylko wymuszone"
}, },
"text_color": "Kolor tekstu", "opensubtitles_title": "OpenSubtitles",
"background_color": "Kolor tła", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Kolor konturu", "opensubtitles_api_key": "API Key",
"outline_thickness": "Grubość konturu", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Przezroczystość tła", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Przezroczystość konturu", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Tekst pogrubiony", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Czarny", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Szary", "align": {
"Silver": "Srebro", "left": "Left",
"White": "Biały", "center": "Center",
"Maroon": "Bordowy", "right": "Right",
"Red": "Czerwony", "top": "Top",
"Fuchsia": "Fuksja", "bottom": "Bottom"
"Yellow": "Żółty", }
"Olive": "Oliwki",
"Green": "Zielony",
"Teal": "Turkusowy",
"Lime": "Limonkowy",
"Purple": "Fioletowy",
"Navy": "Granatowy",
"Blue": "Niebieski",
"Aqua": "Aqua"
},
"thickness": {
"None": "Brak",
"Thin": "Cienka",
"Normal": "Normalny",
"Thick": "Gruba"
},
"subtitle_color": "Kolor napisów",
"subtitle_background_color": "Kolor tła",
"subtitle_font": "Czcionka napisów",
"ksplayer_title": "Ustawienia KSPlayer",
"hardware_decode": "Dekodowanie sprzętowe",
"hardware_decode_description": "Używaj akceleracji sprzętowej dla dekodowania wideo. Wyłącz, jeśli doświadczasz problemów z odtwarzaniem."
},
"vlc_subtitles": {
"title": "Ustawienia napisów VLC",
"hint": "Personalizuj wygląd napisów dla odtwarzacza VLC. Zmiany zajdą przy następnym odtwarzaniu.",
"text_color": "Kolor tekstu",
"background_color": "Kolor tła",
"background_opacity": "Przezroczystość tła",
"outline_color": "Kolor obrysu",
"outline_opacity": "Przezroczystość obrysu",
"outline_thickness": "Grubość obrysu",
"bold": "Pogrubiony tekst",
"margin": "Dolny margines"
},
"video_player": {
"title": "Odtwarzacz wideo",
"video_player": "Odtwarzacz wideo",
"video_player_description": "Wybierz którego odtwarzacza wideo używać w iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Inne", "other_title": "Inne",
@@ -294,13 +294,7 @@
"UNKNOWN": "Nieznana" "UNKNOWN": "Nieznana"
}, },
"safe_area_in_controls": "Bezpieczny obszar w kontrolkach", "safe_area_in_controls": "Bezpieczny obszar w kontrolkach",
"video_player": "Odtwarzacz wideo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperymentalny + PiP)"
},
"show_custom_menu_links": "Pokaż niestandardowe odnośniki w menu", "show_custom_menu_links": "Pokaż niestandardowe odnośniki w menu",
"show_large_home_carousel": "Wyświetl Dużą Karuzelę na ekranie głównym (beta)",
"hide_libraries": "Ukryj biblioteki", "hide_libraries": "Ukryj biblioteki",
"select_liraries_you_want_to_hide": "Wybierz biblioteki, które chcesz ukryć na karcie Biblioteka i w sekcjach strony głównej.", "select_liraries_you_want_to_hide": "Wybierz biblioteki, które chcesz ukryć na karcie Biblioteka i w sekcjach strony głównej.",
"disable_haptic_feedback": "Wyłącz wibracje", "disable_haptic_feedback": "Wyłącz wibracje",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maksymalna liczba odcinków automatycznego odtwarzania", "max_auto_play_episode_count": "Maksymalna liczba odcinków automatycznego odtwarzania",
"disabled": "Wyłączone" "disabled": "Wyłączone"
}, },
"downloads": {
"downloads_title": "Pobieranie"
},
"music": { "music": {
"title": "Muzyka", "title": "Muzyka",
"playback_title": "Odtwarzanie", "playback_title": "Odtwarzanie",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Dowiedz się więcej o Marlin.", "read_more_about_marlin": "Dowiedz się więcej o Marlin.",
"save_button": "Zapisz", "save_button": "Zapisz",
"toasts": { "toasts": {
"saved": "Zapisano", "saved": "Zapisano"
"refreshed": "Ustawienia odświeżone z serwera" }
},
"refresh_from_server": "Odśwież ustawienia z serwera"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Włącz Streamystats",
"disable_streamystats": "Wyłącz Streamystats", "disable_streamystats": "Wyłącz Streamystats",
"enable_search": "Używaj do wyszukiwania", "enable_search": "Używaj do wyszukiwania",
"url": "Adres URL", "url": "Adres URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Wprowadź adres URL dla twojego serwera Streamystats. URL powinien zawierać http lub https i opcjonalnie port.", "streamystats_search_hint": "Wprowadź adres URL dla twojego serwera Streamystats. URL powinien zawierać http lub https i opcjonalnie port.",
"read_more_about_streamystats": "Dowiedz się więcej o Streamystats.", "read_more_about_streamystats": "Dowiedz się więcej o Streamystats.",
"save_button": "Zapisz",
"save": "Zapisz", "save": "Zapisz",
"features_title": "Funkcje", "features_title": "Funkcje",
"home_sections_title": "Sekcja główna",
"enable_movie_recommendations": "Rekomendacje filmów", "enable_movie_recommendations": "Rekomendacje filmów",
"enable_series_recommendations": "Rekomendację seriali", "enable_series_recommendations": "Rekomendację seriali",
"enable_promoted_watchlists": "Promowane listy oglądania", "enable_promoted_watchlists": "Promowane listy oglądania",
@@ -388,8 +374,7 @@
"refresh_from_server": "Odśwież ustawienia z serwera" "refresh_from_server": "Odśwież ustawienia z serwera"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Aktywuj naszą integrację Listy Oglądania", "watchlist_enabler": "Aktywuj naszą integrację Listy Oglądania"
"watchlist_button": "Przelącz integrację Listy Oglądania"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Usuń wszystkie pobrane pliki", "delete_all_downloaded_files": "Usuń wszystkie pobrane pliki",
"music_cache_title": "Bufor muzyki", "music_cache_title": "Bufor muzyki",
"music_cache_description": "Automatycznie buforuj piosenki w trakcie słuchania dla płynniejszego odtwarzania i wsparcia offline", "music_cache_description": "Automatycznie buforuj piosenki w trakcie słuchania dla płynniejszego odtwarzania i wsparcia offline",
"enable_music_cache": "Włącz bufor muzyki",
"clear_music_cache": "Wyczyść bufor muzyki", "clear_music_cache": "Wyczyść bufor muzyki",
"music_cache_size": "Zbuforowano {{size}}", "music_cache_size": "Zbuforowano {{size}}",
"music_cache_cleared": "Wyczyszczono bufor muzyki", "music_cache_cleared": "Wyczyszczono bufor muzyki",
"delete_all_downloaded_songs": "Usuń wszystkie pobrane piosenki", "delete_all_downloaded_songs": "Usuń wszystkie pobrane piosenki",
"downloaded_songs_size": "Pobrano {{size}}", "downloaded_songs_size": "Pobrano {{size}}",
"downloaded_songs_deleted": "Usunięto pobrane piosenki" "downloaded_songs_deleted": "Usunięto pobrane piosenki",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Wstęp", "title": "Wstęp",
@@ -418,8 +406,7 @@
"export_logs": "Eksportuj logi", "export_logs": "Eksportuj logi",
"click_for_more_info": "Kliknij po więcej informacji", "click_for_more_info": "Kliknij po więcej informacji",
"level": "Poziom", "level": "Poziom",
"no_logs_available": "Brak dostępnych logów", "no_logs_available": "Brak dostępnych logów"
"delete_all_logs": "Usuń wszystkie logi"
}, },
"languages": { "languages": {
"title": "Języki", "title": "Języki",
@@ -427,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Błąd podczas usuwania plików", "error_deleting_files": "Błąd podczas usuwania plików"
"background_downloads_enabled": "Pobieranie w tle włączone", },
"background_downloads_disabled": "Pobieranie w tle wyłączone" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Pobrane", "downloads_title": "Pobrane",
"tvseries": "Seriale", "tvseries": "Seriale",
"movies": "Filmy", "movies": "Filmy",
"queue": "Kolejka",
"other_media": "Inne media", "other_media": "Inne media",
"queue_hint": "Kolejka i pobierania zostaną utracone po ponownym uruchomieniu aplikacji",
"no_items_in_queue": "Brak elementów w kolejce",
"no_downloaded_items": "Brak pobranych elementów", "no_downloaded_items": "Brak pobranych elementów",
"delete_all_movies_button": "Usuń wszystkie filmy", "delete_all_movies_button": "Usuń wszystkie filmy",
"delete_all_tvseries_button": "Usuń wszystkie seriale", "delete_all_tvseries_button": "Usuń wszystkie seriale",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Nowa aktualizacja wymaga ponownego pobrania treści. Usuń wszystkie pobrane materiały i spróbuj ponownie.", "new_app_version_requires_re_download_description": "Nowa aktualizacja wymaga ponownego pobrania treści. Usuń wszystkie pobrane materiały i spróbuj ponownie.",
"back": "Wstecz", "back": "Wstecz",
"delete": "Usuń", "delete": "Usuń",
"delete_download": "Delete Download",
"something_went_wrong": "Coś poszło nie tak", "something_went_wrong": "Coś poszło nie tak",
"could_not_get_stream_url_from_jellyfin": "Nie udało się pobrać adresu URL transmisji z Jellyfin", "could_not_get_stream_url_from_jellyfin": "Nie udało się pobrać adresu URL transmisji z Jellyfin",
"eta": "Szacowany czas: {{eta}}", "eta": "Szacowany czas: {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Nie udało się usunąć wszystkich seriali", "failed_to_delete_all_tvseries": "Nie udało się usunąć wszystkich seriali",
"deleted_media_successfully": "Pomyślnie usunięto inne media!", "deleted_media_successfully": "Pomyślnie usunięto inne media!",
"failed_to_delete_media": "Nie udało się usunąć innych mediów", "failed_to_delete_media": "Nie udało się usunąć innych mediów",
"download_deleted": "Pobieranie usunięte",
"download_cancelled": "Pobieranie anulowane", "download_cancelled": "Pobieranie anulowane",
"could_not_delete_download": "Nie można usunąć pobrania", "could_not_delete_download": "Nie można usunąć pobrania",
"download_paused": "Pobieranie wstrzymane",
"could_not_pause_download": "Nie można wstrzymać pobierania",
"download_resumed": "Pobieranie wznowione",
"could_not_resume_download": "Nie można wznowić pobierania",
"download_completed": "Pobieranie zakończone", "download_completed": "Pobieranie zakończone",
"download_failed": "Pobieranie nie powiodło się", "download_failed": "Pobieranie nie powiodło się",
"download_failed_for_item": "Pobieranie nie powiodło się dla {{item}} {{error}}", "download_failed_for_item": "Pobieranie nie powiodło się dla {{item}} {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} jest w trakcie pobierania", "item_already_downloading": "{{item}} jest w trakcie pobierania",
"all_files_deleted": "Pomyślnie usunięto wszystkie pobrane", "all_files_deleted": "Pomyślnie usunięto wszystkie pobrane",
"files_deleted_by_type": "{{count}} {{type}} usunięto", "files_deleted_by_type": "{{count}} {{type}} usunięto",
"all_files_folders_and_jobs_deleted_successfully": "Wszystkie pliki, foldery i zadania zostały pomyślnie usunięte",
"failed_to_clean_cache_directory": "Nie udało się wyczyścić katalogu pamięci podręcznej",
"could_not_get_download_url_for_item": "Nie można pobrać adresu URL dla {{itemName}}", "could_not_get_download_url_for_item": "Nie można pobrać adresu URL dla {{itemName}}",
"go_to_downloads": "Przejdź do pobranych",
"file_deleted": "Usunięto {{item}}" "file_deleted": "Usunięto {{item}}"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Wybierz", "select": "Wybierz",
"no_trailer_available": "Brak dostępnego zwiastunu", "no_trailer_available": "Brak dostępnego zwiastunu",
"video": "Wideo", "video": "Wideo",
"audio": "Dźwięk", "audio": "Dźwięk",
"subtitle": "Napisy", "subtitle": "Napisy",
"play": "Odtwórz", "play": "Odtwórz",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Nic", "none": "Nic",
"track": "Utwór", "track": "Utwór",
"cancel": "Anuluj", "cancel": "Anuluj",
"delete": "Usuń", "delete": "Usuń",
"ok": "OK", "ok": "OK",
"remove": "Usuń", "remove": "Usuń",
"next": "Następne",
"back": "Poprzednie", "back": "Poprzednie",
"continue": "Kontynuuj", "continue": "Kontynuuj",
"verifying": "Weryfikacja..." "verifying": "Weryfikacja...",
"login": "Login"
}, },
"search": { "search": {
"search": "Szukaj...", "search": "Szukaj...",
@@ -556,6 +548,7 @@
"movies": "filmy", "movies": "filmy",
"series": "seriale", "series": "seriale",
"boxsets": "zestawy", "boxsets": "zestawy",
"playlists": "Playlists",
"items": "elementy" "items": "elementy"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Plakat", "poster": "Plakat",
"cover": "Okładka", "cover": "Okładka",
"show_titles": "Pokaż tytuły", "show_titles": "Pokaż tytuły",
"show_stats": "Pokaż statystyki" "show_stats": "Pokaż statystyki",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Gatunki", "genres": "Gatunki",
@@ -574,7 +568,11 @@
"sort_by": "Sortuj według", "sort_by": "Sortuj według",
"filter_by": "Filtruj po", "filter_by": "Filtruj po",
"sort_order": "Kolejność sortowania", "sort_order": "Kolejność sortowania",
"tags": "Tagi" "tags": "Tagi",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Brak odnośników" "no_links": "Brak odnośników"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Błąd", "error": "Błąd",
"failed_to_get_stream_url": "Nie udało się pobrać adresu strumienia", "failed_to_get_stream_url": "Nie udało się pobrać adresu strumienia",
"an_error_occured_while_playing_the_video": "Wystąpił błąd podczas odtwarzania wideo. Sprawdź logi w ustawieniach.", "an_error_occured_while_playing_the_video": "Wystąpił błąd podczas odtwarzania wideo. Sprawdź logi w ustawieniach.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Nie udało się utworzyć strumienia dla Chromecasta", "could_not_create_stream_for_chromecast": "Nie udało się utworzyć strumienia dla Chromecasta",
"message_from_server": "Wiadomość z serwera: {{message}}", "message_from_server": "Wiadomość z serwera: {{message}}",
"next_episode": "Następny odcinek", "next_episode": "Następny odcinek",
"refresh_tracks": "Odśwież ścieżki",
"audio_tracks": "Ścieżki audio:",
"playback_state": "Stan odtwarzania:",
"index": "Indeks:",
"continue_watching": "Kontynuuj oglądanie", "continue_watching": "Kontynuuj oglądanie",
"go_back": "Wstecz", "go_back": "Wstecz",
"downloaded_file_title": "Ten plik masz już pobrany", "downloaded_file_title": "Ten plik masz już pobrany",
"downloaded_file_message": "Chcesz odtworzyć pobrany plik?", "downloaded_file_message": "Chcesz odtworzyć pobrany plik?",
"downloaded_file_yes": "Tak", "downloaded_file_yes": "Tak",
"downloaded_file_no": "Nie", "downloaded_file_no": "Nie",
"downloaded_file_cancel": "Anuluj" "downloaded_file_cancel": "Anuluj",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Następne", "next_up": "Następne",
@@ -617,6 +641,11 @@
"series": "Serial", "series": "Serial",
"seasons": "Sezony", "seasons": "Sezony",
"season": "Sezon", "season": "Sezon",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Brak odcinków w tym sezonie", "no_episodes_for_this_season": "Brak odcinków w tym sezonie",
"overview": "Opis", "overview": "Opis",
"more_with": "Więcej z {{name}}", "more_with": "Więcej z {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Ustawienia mediów", "media_options": "Ustawienia mediów",
"quality": "Jakość", "quality": "Jakość",
"audio": "Dźwięk", "audio": "Dźwięk",
"subtitles": "Napisy", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Pokaż więcej", "show_more": "Pokaż więcej",
"show_less": "Pokaż mniej", "show_less": "Pokaż mniej",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Wystąpił w", "appeared_in": "Wystąpił w",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Nie udało się wczytać elementu", "could_not_load_item": "Nie udało się wczytać elementu",
"none": "Brak", "none": "Brak",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Pobierz {{item_count}} elementów", "download_x_item": "Pobierz {{item_count}} elementów",
"download_unwatched_only": "Tylko nieobejrzane", "download_unwatched_only": "Tylko nieobejrzane",
"download_button": "Pobierz" "download_button": "Pobierz"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Następny", "next": "Następny",
@@ -652,7 +697,18 @@
"movies": "Filmy", "movies": "Filmy",
"sports": "Sport", "sports": "Sport",
"for_kids": "Dla dzieci", "for_kids": "Dla dzieci",
"news": "Wiadomości" "news": "Wiadomości",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Potwierdź", "confirm": "Potwierdź",
@@ -697,6 +753,12 @@
"decline": "Odrzuć", "decline": "Odrzuć",
"requested_by": "Poproszone przez {{user}}", "requested_by": "Poproszone przez {{user}}",
"unknown_user": "Nieznany użytkownik", "unknown_user": "Nieznany użytkownik",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Serwer Jellyseerr nie spełnia minimalnych wymagań wersji! Zaktualizuj go co najmniej do wersji 2.0.0", "jellyseer_does_not_meet_requirements": "Serwer Jellyseerr nie spełnia minimalnych wymagań wersji! Zaktualizuj go co najmniej do wersji 2.0.0",
"jellyseerr_test_failed": "Test Jellyseerr nie powiódł się. Spróbuj ponownie.", "jellyseerr_test_failed": "Test Jellyseerr nie powiódł się. Spróbuj ponownie.",
@@ -716,7 +778,8 @@
"search": "Szukaj", "search": "Szukaj",
"library": "Biblioteka", "library": "Biblioteka",
"custom_links": "Niestandardowe odnośniki", "custom_links": "Niestandardowe odnośniki",
"favorites": "Ulubione" "favorites": "Ulubione",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Muzyka", "title": "Muzyka",
@@ -727,13 +790,9 @@
"playlists": "Playlisty", "playlists": "Playlisty",
"tracks": "utwory" "tracks": "utwory"
}, },
"filters": {
"all": "Wszystkie"
},
"recently_added": "Ostatnio dodano", "recently_added": "Ostatnio dodano",
"recently_played": "Ostatnio odtwarzano", "recently_played": "Ostatnio odtwarzano",
"frequently_played": "Często odtwarzane", "frequently_played": "Często odtwarzane",
"explore": "Odkrywaj",
"top_tracks": "Popularne utwory", "top_tracks": "Popularne utwory",
"play": "Odtwórz", "play": "Odtwórz",
"shuffle": "Losuj", "shuffle": "Losuj",
@@ -841,5 +900,35 @@
"show": "Ten odcinek", "show": "Ten odcinek",
"all": "Wszystkie media (domyślne)" "all": "Wszystkie media (domyślne)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -43,7 +43,6 @@
"next_up": "Próximo em", "next_up": "Próximo em",
"recently_added_in": "Adicionados recentemente em {{libraryName}}", "recently_added_in": "Adicionados recentemente em {{libraryName}}",
"suggested_movies": "Filmes sugeridos", "suggested_movies": "Filmes sugeridos",
"suggested_episodes": "Episódios sugeridos",
"intro": { "intro": {
"welcome_to_streamyfin": "Bem-vindo ao Streamyfin", "welcome_to_streamyfin": "Bem-vindo ao Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Um cliente gratuito e de código livre para o Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Um cliente gratuito e de código livre para o Jellyfin.",
@@ -128,11 +127,6 @@
"UNKNOWN": "Desconhecido" "UNKNOWN": "Desconhecido"
}, },
"safe_area_in_controls": "Área segura nos controles", "safe_area_in_controls": "Área segura nos controles",
"video_player": "Tocador de vídeo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Mostrar Custom Links no Menu", "show_custom_menu_links": "Mostrar Custom Links no Menu",
"hide_libraries": "Ocultar bibliotecas", "hide_libraries": "Ocultar bibliotecas",
"select_liraries_you_want_to_hide": "Selecione as bibliotecas que você deseja ocultar das abas Biblioteca e Início.", "select_liraries_you_want_to_hide": "Selecione as bibliotecas que você deseja ocultar das abas Biblioteca e Início.",
@@ -141,7 +135,6 @@
"disabled": "Desativado" "disabled": "Desativado"
}, },
"downloads": { "downloads": {
"downloads_title": "Downloads",
"optimized_versions_server": "Servidor do optimized versions", "optimized_versions_server": "Servidor do optimized versions",
"save_button": "Salvar", "save_button": "Salvar",
"optimized_server": "Optimized Server", "optimized_server": "Optimized Server",
@@ -203,8 +196,7 @@
}, },
"logs": { "logs": {
"logs_title": "Logs", "logs_title": "Logs",
"no_logs_available": "Sem logs disponíveis", "no_logs_available": "Sem logs disponíveis"
"delete_all_logs": "Remover todos os logs"
}, },
"languages": { "languages": {
"title": "Idiomas", "title": "Idiomas",
@@ -214,8 +206,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "Erro ao remover arquivos", "error_deleting_files": "Erro ao remover arquivos",
"background_downloads_enabled": "Downloads em segundo plano ativado",
"background_downloads_disabled": "Downloads em segundo plano desativado",
"connected": "Conectado", "connected": "Conectado",
"could_not_connect": "Não foi possível conectar", "could_not_connect": "Não foi possível conectar",
"invalid_url": "URL inválida" "invalid_url": "URL inválida"
@@ -229,9 +219,6 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV/Séries", "tvseries": "TV/Séries",
"movies": "Filmes", "movies": "Filmes",
"queue": "Fila",
"queue_hint": "A fila e os downloads serão perdidos ao reiniciar o aplicativo",
"no_items_in_queue": "Nenhum item na fila",
"no_downloaded_items": "Nenhum item baixado", "no_downloaded_items": "Nenhum item baixado",
"delete_all_movies_button": "Remover todos os filmes", "delete_all_movies_button": "Remover todos os filmes",
"delete_all_tvseries_button": "Remover todos as TV/Séries", "delete_all_tvseries_button": "Remover todos as TV/Séries",
@@ -267,9 +254,7 @@
"no_response_received_from_server": "Sem resposta recebida do servidor", "no_response_received_from_server": "Sem resposta recebida do servidor",
"error_setting_up_the_request": "Erro ao configurar a solicitação", "error_setting_up_the_request": "Erro ao configurar a solicitação",
"failed_to_start_download_for_item_unexpected_error": "Falha ao iniciar o download de {{item}}: Erro inesperado", "failed_to_start_download_for_item_unexpected_error": "Falha ao iniciar o download de {{item}}: Erro inesperado",
"all_files_folders_and_jobs_deleted_successfully": "Todos arquivos, pastas e jobs removidos com sucesso", "an_error_occured_while_deleting_files_and_jobs": "Ocorreu um erro ao remover os arquivos e jobs"
"an_error_occured_while_deleting_files_and_jobs": "Ocorreu um erro ao remover os arquivos e jobs",
"go_to_downloads": "Vá para downloads"
} }
} }
}, },
@@ -363,12 +348,8 @@
"video_has_finished_playing": "O vídeo terminou!", "video_has_finished_playing": "O vídeo terminou!",
"no_video_source": "Nenhuma fonte de vídeo...", "no_video_source": "Nenhuma fonte de vídeo...",
"next_episode": "Próximo episódio", "next_episode": "Próximo episódio",
"refresh_tracks": "Atualizar faixas",
"subtitle_tracks": "Faixas da legenda:", "subtitle_tracks": "Faixas da legenda:",
"audio_tracks": "Faixas do áudio:",
"playback_state": "Playback State:",
"no_data_available": "Nenhum dado disponível", "no_data_available": "Nenhum dado disponível",
"index": "Índice:",
"continue_watching": "Continuar assistindo", "continue_watching": "Continuar assistindo",
"go_back": "Voltar" "go_back": "Voltar"
}, },

View File

@@ -4,6 +4,9 @@
"error_title": "Erro", "error_title": "Erro",
"login_title": "Iniciar sessão", "login_title": "Iniciar sessão",
"login_to_title": "Iniciar sessão em", "login_to_title": "Iniciar sessão em",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Usuário", "username_placeholder": "Usuário",
"password_placeholder": "Palavra-passe", "password_placeholder": "Palavra-passe",
"login_button": "Iniciar sessão", "login_button": "Iniciar sessão",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Opa!", "oops": "Opa!",
"error_message": "Algo deu errado.\nPor favor, saia e entre novamente.", "error_message": "Algo deu errado.\nPor favor, saia e entre novamente.",
"continue_watching": "Continuar assistindo", "continue_watching": "Continuar assistindo",
"continue": "Continue",
"next_up": "A Seguir", "next_up": "A Seguir",
"continue_and_next_up": "Continuar e Próximo", "continue_and_next_up": "Continuar e Próximo",
"recently_added_in": "Adicionado recentemente em {{libraryName}}", "recently_added_in": "Adicionado recentemente em {{libraryName}}",
"suggested_movies": "Filmes Sugeridos", "suggested_movies": "Filmes Sugeridos",
"suggested_episodes": "Episódios sugeridos",
"intro": { "intro": {
"welcome_to_streamyfin": "Bem-vindo ao Streamyfin", "welcome_to_streamyfin": "Bem-vindo ao Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Um Cliente de código aberto e gratuito para o Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Um Cliente de código aberto e gratuito para o Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Confirgurações", "settings_title": "Confirgurações",
"log_out_button": "Encerrar Sessão", "log_out_button": "Encerrar Sessão",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categorias" "title": "Categorias"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Aparência", "title": "Aparência",
"merge_next_up_continue_watching": "Mesclar Continuar Assistindo e Próximo", "merge_next_up_continue_watching": "Mesclar Continuar Assistindo e Próximo",
"hide_remote_session_button": "Esconder botão de sessão remota" "hide_remote_session_button": "Esconder botão de sessão remota",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Comprimento de Retroceder", "rewind_length": "Comprimento de Retroceder",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Controles de Gestos", "gesture_controls_title": "Controles de Gestos",
"horizontal_swipe_skip": "Deslizar horizontalmente para pular", "horizontal_swipe_skip": "Deslizar horizontalmente para pular",
@@ -220,62 +260,22 @@
"None": "Nenhuma", "None": "Nenhuma",
"OnlyForced": "Somente Forçado" "OnlyForced": "Somente Forçado"
}, },
"text_color": "Cor do texto", "opensubtitles_title": "OpenSubtitles",
"background_color": "Cor de fundo", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Cor do contorno", "opensubtitles_api_key": "API Key",
"outline_thickness": "Espessura do Contorno", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Opacidade de fundo", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Opacidade do Contorno", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Texto em negrito", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Preto", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Cinzento", "align": {
"Silver": "Prata", "left": "Left",
"White": "Branco", "center": "Center",
"Maroon": "Castanho", "right": "Right",
"Red": "Vermelho", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Amarelo", }
"Olive": "Verde-oliva",
"Green": "Verde",
"Teal": "Verde-azulado",
"Lime": "Verde-limão",
"Purple": "Roxo",
"Navy": "Azul-marinho",
"Blue": "Azul",
"Aqua": "Água"
},
"thickness": {
"None": "Nenhuma",
"Thin": "Magro",
"Normal": "Normal",
"Thick": "Grosso"
},
"subtitle_color": "Cor da legenda",
"subtitle_background_color": "Cor de fundo",
"subtitle_font": "Fonte da legenda",
"ksplayer_title": "Configurações do KSPlayer",
"hardware_decode": "Decodificação por hardware",
"hardware_decode_description": "Use aceleração de hardware para decodificação de vídeo. Desative se você tiver problemas de reprodução."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Reprodutor de Vídeo",
"video_player": "Reprodutor de Vídeo",
"video_player_description": "Escolha qual player de vídeo usar no iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Outros", "other_title": "Outros",
@@ -294,13 +294,7 @@
"UNKNOWN": "Desconhecido" "UNKNOWN": "Desconhecido"
}, },
"safe_area_in_controls": "Área segura nos controles", "safe_area_in_controls": "Área segura nos controles",
"video_player": "Reprodutor de Vídeo",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Mostrar Links de Menu Personalizado", "show_custom_menu_links": "Mostrar Links de Menu Personalizado",
"show_large_home_carousel": "Mostrar Carrossel Grande (beta)",
"hide_libraries": "Ocultar bibliotecas", "hide_libraries": "Ocultar bibliotecas",
"select_liraries_you_want_to_hide": "Selecione as bibliotecas que você deseja ocultar da aba Biblioteca e seções da página inicial.", "select_liraries_you_want_to_hide": "Selecione as bibliotecas que você deseja ocultar da aba Biblioteca e seções da página inicial.",
"disable_haptic_feedback": "Desativar o retorno tátil", "disable_haptic_feedback": "Desativar o retorno tátil",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Contagem máxima de episódios de reprodução automática", "max_auto_play_episode_count": "Contagem máxima de episódios de reprodução automática",
"disabled": "Desabilitado" "disabled": "Desabilitado"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Música", "title": "Música",
"playback_title": "Reproduzir", "playback_title": "Reproduzir",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Leia mais sobre Marlin.", "read_more_about_marlin": "Leia mais sobre Marlin.",
"save_button": "Salvar", "save_button": "Salvar",
"toasts": { "toasts": {
"saved": "Salvo", "saved": "Salvo"
"refreshed": "Configurações atualizadas do servidor" }
},
"refresh_from_server": "Atualizar as configurações do servidor"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Ativar Streamystats",
"disable_streamystats": "Desativar streamystats", "disable_streamystats": "Desativar streamystats",
"enable_search": "Usar para Pesquisa", "enable_search": "Usar para Pesquisa",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Digite a URL para seu servidor de StreamyStats. A URL deve incluir http ou https e, opcionalmente, a porta.", "streamystats_search_hint": "Digite a URL para seu servidor de StreamyStats. A URL deve incluir http ou https e, opcionalmente, a porta.",
"read_more_about_streamystats": "Leia mais sobre Streamystats.", "read_more_about_streamystats": "Leia mais sobre Streamystats.",
"save_button": "Salvar",
"save": "Salvar", "save": "Salvar",
"features_title": "Funcionalidades", "features_title": "Funcionalidades",
"home_sections_title": "Seções da Página Inicial",
"enable_movie_recommendations": "Recomendações de filmes", "enable_movie_recommendations": "Recomendações de filmes",
"enable_series_recommendations": "Recomendações de Séries", "enable_series_recommendations": "Recomendações de Séries",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Atualizar Configurações do Servidor" "refresh_from_server": "Atualizar Configurações do Servidor"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Ative nossa integração de Lista de Interesses", "watchlist_enabler": "Ative nossa integração de Lista de Interesses"
"watchlist_button": "Ativar/desativar Lista de Interesses"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Excluir todos os arquivos baixados", "delete_all_downloaded_files": "Excluir todos os arquivos baixados",
"music_cache_title": "Cache de Música", "music_cache_title": "Cache de Música",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Habilitar Cache de Música",
"clear_music_cache": "Limpar Cache de Música", "clear_music_cache": "Limpar Cache de Música",
"music_cache_size": "{{size}} em cache", "music_cache_size": "{{size}} em cache",
"music_cache_cleared": "Cache de música limpo", "music_cache_cleared": "Cache de música limpo",
"delete_all_downloaded_songs": "Excluir todas as músicas baixadas", "delete_all_downloaded_songs": "Excluir todas as músicas baixadas",
"downloaded_songs_size": "{{size}} baixado", "downloaded_songs_size": "{{size}} baixado",
"downloaded_songs_deleted": "Músicas baixadas excluídas" "downloaded_songs_deleted": "Músicas baixadas excluídas",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Exportar logs", "export_logs": "Exportar logs",
"click_for_more_info": "Clique para mais informações", "click_for_more_info": "Clique para mais informações",
"level": "Nível", "level": "Nível",
"no_logs_available": "Não há registros disponíveis", "no_logs_available": "Não há registros disponíveis"
"delete_all_logs": "Excluir todos os registros"
}, },
"languages": { "languages": {
"title": "Idiomas", "title": "Idiomas",
@@ -427,9 +414,21 @@
"system": "Sistema" "system": "Sistema"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Erro ao excluir arquivos", "error_deleting_files": "Erro ao excluir arquivos"
"background_downloads_enabled": "Downloads em segundo plano ativados", },
"background_downloads_disabled": "Downloads em segundo plano desativados" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-Séries", "tvseries": "TV-Séries",
"movies": "Filmes", "movies": "Filmes",
"queue": "Fila",
"other_media": "Outras mídias", "other_media": "Outras mídias",
"queue_hint": "A fila e os downloads serão perdidos ao reiniciar o aplicativo",
"no_items_in_queue": "Nenhum item na fila",
"no_downloaded_items": "Nenhum item baixado", "no_downloaded_items": "Nenhum item baixado",
"delete_all_movies_button": "Excluir todos os filmes", "delete_all_movies_button": "Excluir todos os filmes",
"delete_all_tvseries_button": "Excluir todas as séries", "delete_all_tvseries_button": "Excluir todas as séries",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "A nova atualização requer que o conteúdo seja baixado novamente. Por favor, remova todo o conteúdo baixado e tente novamente.", "new_app_version_requires_re_download_description": "A nova atualização requer que o conteúdo seja baixado novamente. Por favor, remova todo o conteúdo baixado e tente novamente.",
"back": "Anterior", "back": "Anterior",
"delete": "excluir", "delete": "excluir",
"delete_download": "Delete Download",
"something_went_wrong": "Ocorreu Um Erro", "something_went_wrong": "Ocorreu Um Erro",
"could_not_get_stream_url_from_jellyfin": "Não foi possível obter o URL de transmissão do Jellyfin", "could_not_get_stream_url_from_jellyfin": "Não foi possível obter o URL de transmissão do Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Falha ao excluir todas as séries", "failed_to_delete_all_tvseries": "Falha ao excluir todas as séries",
"deleted_media_successfully": "Outras mídias excluídas com sucesso!", "deleted_media_successfully": "Outras mídias excluídas com sucesso!",
"failed_to_delete_media": "Falha ao excluir outras mídias", "failed_to_delete_media": "Falha ao excluir outras mídias",
"download_deleted": "Download Excluído",
"download_cancelled": "Download Cancelado", "download_cancelled": "Download Cancelado",
"could_not_delete_download": "Não foi possível excluir o download", "could_not_delete_download": "Não foi possível excluir o download",
"download_paused": "Download Pausado",
"could_not_pause_download": "Não foi possível Pausar o Download",
"download_resumed": "Download Retomado",
"could_not_resume_download": "Não foi possível retomar o download",
"download_completed": "Download concluído", "download_completed": "Download concluído",
"download_failed": "Download Falhou", "download_failed": "Download Falhou",
"download_failed_for_item": "Download Falhou para {{item}} - {{error}}", "download_failed_for_item": "Download Falhou para {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} já está sendo baixado", "item_already_downloading": "{{item}} já está sendo baixado",
"all_files_deleted": "Todos os Downloads Excluídos com Sucesso", "all_files_deleted": "Todos os Downloads Excluídos com Sucesso",
"files_deleted_by_type": "{{count}} {{type}} excluído", "files_deleted_by_type": "{{count}} {{type}} excluído",
"all_files_folders_and_jobs_deleted_successfully": "Todos os arquivos, pastas e trabalhos excluídos com sucesso",
"failed_to_clean_cache_directory": "Falha ao limpar o diretório de cache",
"could_not_get_download_url_for_item": "Não foi possível obter o URL de download para {{itemName}}", "could_not_get_download_url_for_item": "Não foi possível obter o URL de download para {{itemName}}",
"go_to_downloads": "Ir para Downloads",
"file_deleted": "{{item}} deletado" "file_deleted": "{{item}} deletado"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Selecionar", "select": "Selecionar",
"no_trailer_available": "Nenhum trailer disponível", "no_trailer_available": "Nenhum trailer disponível",
"video": "Vídeo", "video": "Vídeo",
"audio": "Áudio", "audio": "Áudio",
"subtitle": "Legenda", "subtitle": "Legenda",
"play": "Reproduzir", "play": "Reproduzir",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Nenhum", "none": "Nenhum",
"track": "Faixa", "track": "Faixa",
"cancel": "Cancelar", "cancel": "Cancelar",
"delete": "Apagar", "delete": "Apagar",
"ok": "OK", "ok": "OK",
"remove": "Remover", "remove": "Remover",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Buscar...", "search": "Buscar...",
@@ -556,6 +548,7 @@
"movies": "Filmes", "movies": "Filmes",
"series": "Série", "series": "Série",
"boxsets": "Conjuntos de caixas", "boxsets": "Conjuntos de caixas",
"playlists": "Playlists",
"items": "itens" "items": "itens"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Cartaz", "poster": "Cartaz",
"cover": "Capa", "cover": "Capa",
"show_titles": "Mostrar Títulos", "show_titles": "Mostrar Títulos",
"show_stats": "Mostrar estatísticas" "show_stats": "Mostrar estatísticas",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Classificar por", "sort_by": "Classificar por",
"filter_by": "Filtrar Por", "filter_by": "Filtrar Por",
"sort_order": "Ordem de classificação", "sort_order": "Ordem de classificação",
"tags": "Etiquetas" "tags": "Etiquetas",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Sem links" "no_links": "Sem links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "ERRO", "error": "ERRO",
"failed_to_get_stream_url": "Falha ao obter a URL de transmissão", "failed_to_get_stream_url": "Falha ao obter a URL de transmissão",
"an_error_occured_while_playing_the_video": "Ocorreu um erro ao reproduzir o vídeo. Verifique os logs nas configurações.", "an_error_occured_while_playing_the_video": "Ocorreu um erro ao reproduzir o vídeo. Verifique os logs nas configurações.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Não foi possível criar um fluxo para o Chromecast", "could_not_create_stream_for_chromecast": "Não foi possível criar um fluxo para o Chromecast",
"message_from_server": "Mensagem do Servidor: {{message}}", "message_from_server": "Mensagem do Servidor: {{message}}",
"next_episode": "Próximo Episódio", "next_episode": "Próximo Episódio",
"refresh_tracks": "Atualizar Faixas",
"audio_tracks": "Faixas de Áudio:",
"playback_state": "Estado de Reprodução:",
"index": "Índice",
"continue_watching": "Continuar assistindo", "continue_watching": "Continuar assistindo",
"go_back": "Voltar atrás", "go_back": "Voltar atrás",
"downloaded_file_title": "Você já fez o download deste arquivo", "downloaded_file_title": "Você já fez o download deste arquivo",
"downloaded_file_message": "Você quer reproduzir o arquivo baixado?", "downloaded_file_message": "Você quer reproduzir o arquivo baixado?",
"downloaded_file_yes": "SIm", "downloaded_file_yes": "SIm",
"downloaded_file_no": "Não", "downloaded_file_no": "Não",
"downloaded_file_cancel": "Cancelar" "downloaded_file_cancel": "Cancelar",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "A Seguir", "next_up": "A Seguir",
@@ -617,6 +641,11 @@
"series": "Série", "series": "Série",
"seasons": "Estações", "seasons": "Estações",
"season": "Temporada", "season": "Temporada",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Não há episódios para esta temporada", "no_episodes_for_this_season": "Não há episódios para esta temporada",
"overview": "Geral", "overview": "Geral",
"more_with": "Mais com {{name}}", "more_with": "Mais com {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Opções de Mídia", "media_options": "Opções de Mídia",
"quality": "Qualidade", "quality": "Qualidade",
"audio": "Áudio", "audio": "Áudio",
"subtitles": "Legenda", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Mostrar mais", "show_more": "Mostrar mais",
"show_less": "Mostrar menos", "show_less": "Mostrar menos",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Aparece em", "appeared_in": "Aparece em",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Não foi possível carregar o item", "could_not_load_item": "Não foi possível carregar o item",
"none": "Nenhuma", "none": "Nenhuma",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Baixar itens de {{item_count}}", "download_x_item": "Baixar itens de {{item_count}}",
"download_unwatched_only": "Apenas não assistidos", "download_unwatched_only": "Apenas não assistidos",
"download_button": "BAIXAR" "download_button": "BAIXAR"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Próximo", "next": "Próximo",
@@ -652,7 +697,18 @@
"movies": "Filmes", "movies": "Filmes",
"sports": "Esportes", "sports": "Esportes",
"for_kids": "Para crianças", "for_kids": "Para crianças",
"news": "Notícias" "news": "Notícias",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirmar", "confirm": "Confirmar",
@@ -697,6 +753,12 @@
"decline": "Declinar", "decline": "Declinar",
"requested_by": "Solicitado por {{user}}", "requested_by": "Solicitado por {{user}}",
"unknown_user": "Usuário desconhecido", "unknown_user": "Usuário desconhecido",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "O servidor do Seerr não atende ao mínimo aos requisitos de versão! Por favor, atualize para pelo menos 2.0.0", "jellyseer_does_not_meet_requirements": "O servidor do Seerr não atende ao mínimo aos requisitos de versão! Por favor, atualize para pelo menos 2.0.0",
"jellyseerr_test_failed": "Falha no teste do senhor. Por favor, tente novamente.", "jellyseerr_test_failed": "Falha no teste do senhor. Por favor, tente novamente.",
@@ -716,7 +778,8 @@
"search": "Pesquisa", "search": "Pesquisa",
"library": "Biblioteca", "library": "Biblioteca",
"custom_links": "Links personalizados", "custom_links": "Links personalizados",
"favorites": "Atalhos" "favorites": "Atalhos",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Música", "title": "Música",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "faixas" "tracks": "faixas"
}, },
"filters": {
"all": "Tudo"
},
"recently_added": "Adicionado recentemente", "recently_added": "Adicionado recentemente",
"recently_played": "Reproduzido Recentemente", "recently_played": "Reproduzido Recentemente",
"frequently_played": "Reproduzidos com frequência", "frequently_played": "Reproduzidos com frequência",
"explore": "Explorar",
"top_tracks": "Músicas populares", "top_tracks": "Músicas populares",
"play": "Reproduzir", "play": "Reproduzir",
"shuffle": "Alteatório", "shuffle": "Alteatório",
@@ -841,5 +900,35 @@
"show": "Esta série", "show": "Esta série",
"all": "Todas as mídias (Padrão)" "all": "Todas as mídias (Padrão)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Eroare", "error_title": "Eroare",
"login_title": "Conectare", "login_title": "Conectare",
"login_to_title": "Conectare la", "login_to_title": "Conectare la",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Utilizator", "username_placeholder": "Utilizator",
"password_placeholder": "Parola", "password_placeholder": "Parola",
"login_button": "Conectare", "login_button": "Conectare",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ups!", "oops": "Ups!",
"error_message": "Ceva nu e bine.\nAutentificați-vă din nou.", "error_message": "Ceva nu e bine.\nAutentificați-vă din nou.",
"continue_watching": "Continuă vizionarea", "continue_watching": "Continuă vizionarea",
"continue": "Continue",
"next_up": "Urmează", "next_up": "Urmează",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Adăugat recent în {{libraryName}}", "recently_added_in": "Adăugat recent în {{libraryName}}",
"suggested_movies": "Filme sugerate", "suggested_movies": "Filme sugerate",
"suggested_episodes": "Episoade sugerate",
"intro": { "intro": {
"welcome_to_streamyfin": "Bun venit la Streamyfin", "welcome_to_streamyfin": "Bun venit la Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Un client gratuit și open-source pentru Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Un client gratuit și open-source pentru Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Setări", "settings_title": "Setări",
"log_out_button": "Deconectare", "log_out_button": "Deconectare",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categorii" "title": "Categorii"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Aspect", "title": "Aspect",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Durata saltului înapoi", "rewind_length": "Durata saltului înapoi",
"seconds_unit": "S" "seconds_unit": "S"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Controale gesturi", "gesture_controls_title": "Controale gesturi",
"horizontal_swipe_skip": "Glisați orizontal pentru a sări", "horizontal_swipe_skip": "Glisați orizontal pentru a sări",
@@ -220,62 +260,22 @@
"None": "Niciuna", "None": "Niciuna",
"OnlyForced": "OnlyForced" "OnlyForced": "OnlyForced"
}, },
"text_color": "Culoare text", "opensubtitles_title": "OpenSubtitles",
"background_color": "Culoare fundal", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Culoare contur", "opensubtitles_api_key": "API Key",
"outline_thickness": "Grosime contur", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Opacitatea fundalului", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Opacitatea conturului", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Negru", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gri", "align": {
"Silver": "Argint", "left": "Left",
"White": "Alb", "center": "Center",
"Maroon": "Maro", "right": "Right",
"Red": "Roșu", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Galben", }
"Olive": "Oliv",
"Green": "Verde",
"Teal": "Turcoaz",
"Lime": "Verde-Deschis",
"Purple": "Violet",
"Navy": "Marină",
"Blue": "Albastru",
"Aqua": "Aqua"
},
"thickness": {
"None": "Nimic",
"Thin": "Subțire",
"Normal": "Normală",
"Thick": "Grozav"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Altele", "other_title": "Altele",
@@ -294,13 +294,7 @@
"UNKNOWN": "Necunoscut" "UNKNOWN": "Necunoscut"
}, },
"safe_area_in_controls": "Zona sigură pentru controale", "safe_area_in_controls": "Zona sigură pentru controale",
"video_player": "Player video",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Afișează link-uri personalizate în meniu", "show_custom_menu_links": "Afișează link-uri personalizate în meniu",
"show_large_home_carousel": "Arată Caruselul Media Mare (beta)",
"hide_libraries": "Ascunde bibliotecile", "hide_libraries": "Ascunde bibliotecile",
"select_liraries_you_want_to_hide": "Selectează bibliotecile pe care dorești să le ascunzi din fila Bibliotecă și din secțiunile paginii principale.", "select_liraries_you_want_to_hide": "Selectează bibliotecile pe care dorești să le ascunzi din fila Bibliotecă și din secțiunile paginii principale.",
"disable_haptic_feedback": "Dezactivează vibrațiile tactile", "disable_haptic_feedback": "Dezactivează vibrațiile tactile",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Maxim episoade redare automată", "max_auto_play_episode_count": "Maxim episoade redare automată",
"disabled": "Dezactivat" "disabled": "Dezactivat"
}, },
"downloads": {
"downloads_title": "Descărcări"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Citește mai multe despre Marlin.", "read_more_about_marlin": "Citește mai multe despre Marlin.",
"save_button": "Salvează", "save_button": "Salvează",
"toasts": { "toasts": {
"saved": "Salvat", "saved": "Salvat"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Ștergeți toate fișierele descărcate", "delete_all_downloaded_files": "Ștergeți toate fișierele descărcate",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Introducere", "title": "Introducere",
@@ -418,8 +406,7 @@
"export_logs": "Export loguri", "export_logs": "Export loguri",
"click_for_more_info": "Apasă pt mai multe informații", "click_for_more_info": "Apasă pt mai multe informații",
"level": "Nivel", "level": "Nivel",
"no_logs_available": "Niciun log disponibil", "no_logs_available": "Niciun log disponibil"
"delete_all_logs": "Șterge toate logurile"
}, },
"languages": { "languages": {
"title": "Limbi", "title": "Limbi",
@@ -427,9 +414,21 @@
"system": "Sistem" "system": "Sistem"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Eroare la ștergerea fișierelor", "error_deleting_files": "Eroare la ștergerea fișierelor"
"background_downloads_enabled": "Descărcări în fundal activate", },
"background_downloads_disabled": "Descărcări în fundal dezactivate" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Descărcări", "downloads_title": "Descărcări",
"tvseries": "Seriale", "tvseries": "Seriale",
"movies": "Filme", "movies": "Filme",
"queue": "Coadă",
"other_media": "Alte suporturi", "other_media": "Alte suporturi",
"queue_hint": "Descărcările se vor pierde la repornirea aplicației",
"no_items_in_queue": "Niciun articol în coadă",
"no_downloaded_items": "Niciun element descărcat", "no_downloaded_items": "Niciun element descărcat",
"delete_all_movies_button": "Șterge toate filmele", "delete_all_movies_button": "Șterge toate filmele",
"delete_all_tvseries_button": "Șterge toate serialele", "delete_all_tvseries_button": "Șterge toate serialele",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Noua actualizare necesită descărcarea din nou a conținutului. Vă rugăm să eliminați tot conținutul descărcat și să încercați din nou.", "new_app_version_requires_re_download_description": "Noua actualizare necesită descărcarea din nou a conținutului. Vă rugăm să eliminați tot conținutul descărcat și să încercați din nou.",
"back": "Înapoi", "back": "Înapoi",
"delete": "Șterge", "delete": "Șterge",
"delete_download": "Delete Download",
"something_went_wrong": "Ceva nu a mers bine.", "something_went_wrong": "Ceva nu a mers bine.",
"could_not_get_stream_url_from_jellyfin": "Nu s-a putut obține adresa URL a fluxului de la Jellyfin", "could_not_get_stream_url_from_jellyfin": "Nu s-a putut obține adresa URL a fluxului de la Jellyfin",
"eta": "Estimat {{eta}}", "eta": "Estimat {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Nu s-au putut șterge toate serialele", "failed_to_delete_all_tvseries": "Nu s-au putut șterge toate serialele",
"deleted_media_successfully": "Alte fișiere șterse cu succes!", "deleted_media_successfully": "Alte fișiere șterse cu succes!",
"failed_to_delete_media": "Ștergerea altor fișiere media a eșuat", "failed_to_delete_media": "Ștergerea altor fișiere media a eșuat",
"download_deleted": "Descărcare ştearsă",
"download_cancelled": "Descărcare anulată", "download_cancelled": "Descărcare anulată",
"could_not_delete_download": "Nu s-a putut șterge descărcarea", "could_not_delete_download": "Nu s-a putut șterge descărcarea",
"download_paused": "Descărcare întreruptă",
"could_not_pause_download": "Nu s-a putut întrerupe descărcarea",
"download_resumed": "Descărcare din nou",
"could_not_resume_download": "Nu s-a putut relua descărcarea",
"download_completed": "Descărcare completă", "download_completed": "Descărcare completă",
"download_failed": "Descărcare eșuată", "download_failed": "Descărcare eșuată",
"download_failed_for_item": "Descărcarea a eșuat {{item}} - {{error}}", "download_failed_for_item": "Descărcarea a eșuat {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} se descarcă deja", "item_already_downloading": "{{item}} se descarcă deja",
"all_files_deleted": "Toate descărcările au fost șterse cu succes", "all_files_deleted": "Toate descărcările au fost șterse cu succes",
"files_deleted_by_type": "{{count}} {{type}} au fost șterse", "files_deleted_by_type": "{{count}} {{type}} au fost șterse",
"all_files_folders_and_jobs_deleted_successfully": "Toate fișierele, folderele și lucrările au fost șterse cu succes",
"failed_to_clean_cache_directory": "Curățarea directorului cache a eșuat",
"could_not_get_download_url_for_item": "Nu s-a putut obține URL-ul de descărcare pentru {{itemName}}", "could_not_get_download_url_for_item": "Nu s-a putut obține URL-ul de descărcare pentru {{itemName}}",
"go_to_downloads": "Accesați descărcările",
"file_deleted": "{{item}} șters" "file_deleted": "{{item}} șters"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Selectare", "select": "Selectare",
"no_trailer_available": "Nicio remorcă disponibilă", "no_trailer_available": "Nicio remorcă disponibilă",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitrare", "subtitle": "Subtitrare",
"play": "Redare", "play": "Redare",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Nimic", "none": "Nimic",
"track": "Limbă audio", "track": "Limbă audio",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Caută...", "search": "Caută...",
@@ -556,6 +548,7 @@
"movies": "filme", "movies": "filme",
"series": "seriale", "series": "seriale",
"boxsets": "box sets", "boxsets": "box sets",
"playlists": "Playlists",
"items": "articole" "items": "articole"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Copertă", "cover": "Copertă",
"show_titles": "Afișează titlurile", "show_titles": "Afișează titlurile",
"show_stats": "Afișează statisticile" "show_stats": "Afișează statisticile",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genuri", "genres": "Genuri",
@@ -574,7 +568,11 @@
"sort_by": "Sortează după", "sort_by": "Sortează după",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Ordine de sortare", "sort_order": "Ordine de sortare",
"tags": "Taguri" "tags": "Taguri",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Niciun link" "no_links": "Niciun link"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Eroare", "error": "Eroare",
"failed_to_get_stream_url": "Nu s-a putut obține adresa URL a fluxului", "failed_to_get_stream_url": "Nu s-a putut obține adresa URL a fluxului",
"an_error_occured_while_playing_the_video": "A apărut o eroare la redarea videoclipului. Verificați jurnalele în setări.", "an_error_occured_while_playing_the_video": "A apărut o eroare la redarea videoclipului. Verificați jurnalele în setări.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Nu s-a putut crea un flux pentru Chromecast", "could_not_create_stream_for_chromecast": "Nu s-a putut crea un flux pentru Chromecast",
"message_from_server": "Mesaj de la server: {{message}}", "message_from_server": "Mesaj de la server: {{message}}",
"next_episode": "Episodul următor", "next_episode": "Episodul următor",
"refresh_tracks": "Reîmprospătare piese",
"audio_tracks": "Audio:",
"playback_state": "Stare de redare:",
"index": "Indice:",
"continue_watching": "Continuă să vizionezi", "continue_watching": "Continuă să vizionezi",
"go_back": "Înapoi", "go_back": "Înapoi",
"downloaded_file_title": "Aveţi acest fişier descărcat", "downloaded_file_title": "Aveţi acest fişier descărcat",
"downloaded_file_message": "Doriți să redați fișierul descărcat?", "downloaded_file_message": "Doriți să redați fișierul descărcat?",
"downloaded_file_yes": "Da", "downloaded_file_yes": "Da",
"downloaded_file_no": "Nu", "downloaded_file_no": "Nu",
"downloaded_file_cancel": "Anulează" "downloaded_file_cancel": "Anulează",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Urmează", "next_up": "Urmează",
@@ -617,6 +641,11 @@
"series": "Seriale", "series": "Seriale",
"seasons": "Sezoane", "seasons": "Sezoane",
"season": "Sezon", "season": "Sezon",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Niciun episod pt acest sezon", "no_episodes_for_this_season": "Niciun episod pt acest sezon",
"overview": "Prezentare generală", "overview": "Prezentare generală",
"more_with": "Mai multe cu {{name}}", "more_with": "Mai multe cu {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Opțiuni Media", "media_options": "Opțiuni Media",
"quality": "Calitate", "quality": "Calitate",
"audio": "Audio", "audio": "Audio",
"subtitles": "Subtitrare", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Arată mai mult", "show_more": "Arată mai mult",
"show_less": "Arată mai puțin", "show_less": "Arată mai puțin",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Apare în", "appeared_in": "Apare în",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Nu s-a putut încărca elementul", "could_not_load_item": "Nu s-a putut încărca elementul",
"none": "Nimic", "none": "Nimic",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Descărcați {{item_count}} articole", "download_x_item": "Descărcați {{item_count}} articole",
"download_unwatched_only": "Numai nevizionate", "download_unwatched_only": "Numai nevizionate",
"download_button": "Descarcă" "download_button": "Descarcă"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Următorul", "next": "Următorul",
@@ -652,7 +697,18 @@
"movies": "Filme", "movies": "Filme",
"sports": "Sport", "sports": "Sport",
"for_kids": "Pt copii", "for_kids": "Pt copii",
"news": "Știri" "news": "Știri",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirmă", "confirm": "Confirmă",
@@ -697,6 +753,12 @@
"decline": "Respinge", "decline": "Respinge",
"requested_by": "Solicitat de {{user}}", "requested_by": "Solicitat de {{user}}",
"unknown_user": "Utilizator necunoscut", "unknown_user": "Utilizator necunoscut",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Serverul Jellyseerr nu îndeplinește cerințele minime de versiune! Vă rugăm să actualizați cel puțin la versiunea 2.0.0", "jellyseer_does_not_meet_requirements": "Serverul Jellyseerr nu îndeplinește cerințele minime de versiune! Vă rugăm să actualizați cel puțin la versiunea 2.0.0",
"jellyseerr_test_failed": "Testul Jellyseerr a eșuat. Vă rugăm să încercați din nou.", "jellyseerr_test_failed": "Testul Jellyseerr a eșuat. Vă rugăm să încercați din nou.",
@@ -716,7 +778,8 @@
"search": "Caută", "search": "Caută",
"library": "Bibiliotecă", "library": "Bibiliotecă",
"custom_links": "Linkuri personalizate", "custom_links": "Linkuri personalizate",
"favorites": "Favorite" "favorites": "Favorite",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Ошибка", "error_title": "Ошибка",
"login_title": "Вход", "login_title": "Вход",
"login_to_title": "Вход в", "login_to_title": "Вход в",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Имя пользователя", "username_placeholder": "Имя пользователя",
"password_placeholder": "Пароль", "password_placeholder": "Пароль",
"login_button": "Войти", "login_button": "Войти",
@@ -12,25 +15,25 @@
"failed_to_initiate_quick_connect": "Не удалось инициировать быстрое подключение", "failed_to_initiate_quick_connect": "Не удалось инициировать быстрое подключение",
"got_it": "Принято", "got_it": "Принято",
"connection_failed": "Соединение не удалось", "connection_failed": "Соединение не удалось",
"could_not_connect_to_server": "Не удалось подключиться к серверу. Пожалуйста проверьте URL и ваше интернет соединение.", "could_not_connect_to_server": "Не удалось подключиться к серверу. Пожалуйста, проверьте URL и ваше интернет-соединение.",
"an_unexpected_error_occured": "Возникла непредвиденная ошибка", "an_unexpected_error_occured": "Возникла непредвиденная ошибка",
"change_server": "Поменять сервер", "change_server": "Поменять сервер",
"invalid_username_or_password": "Неправильное имя пользователя или пароль", "invalid_username_or_password": "Неправильное имя пользователя или пароль",
"user_does_not_have_permission_to_log_in": "Пользователь не имеет прав на вход", "user_does_not_have_permission_to_log_in": "Пользователь не имеет прав на вход",
"server_is_taking_too_long_to_respond_try_again_later": "Сервер долго не отвечает, попробуйте позже.", "server_is_taking_too_long_to_respond_try_again_later": "Сервер долго не отвечает, попробуйте позже",
"server_received_too_many_requests_try_again_later": "Сервер получил слишком много запросов, попробуйте позже.", "server_received_too_many_requests_try_again_later": "Сервер получил слишком много запросов, попробуйте позже.",
"there_is_a_server_error": "Возникла ошибка сервера", "there_is_a_server_error": "Возникла ошибка сервера",
"an_unexpected_error_occured_did_you_enter_the_correct_url": "Возникла непредвиденная ошибка. Вы правильно ввели URL?", "an_unexpected_error_occured_did_you_enter_the_correct_url": "Возникла непредвиденная ошибка. Вы правильно ввели URL?",
"too_old_server_text": "Неподдерживаемый сервер Jellyfin обнаружен", "too_old_server_text": "Обнаружен неподдерживаемый сервер Jellyfin",
"too_old_server_description": "Пожалуйста, обновите Jellyfin до последней версии" "too_old_server_description": "Пожалуйста, обновите Jellyfin до последней версии"
}, },
"server": { "server": {
"enter_url_to_jellyfin_server": "Укажите URL на ваш Jellyfin сервер", "enter_url_to_jellyfin_server": "Укажите URL на ваш Jellyfin сервер",
"server_url_placeholder": "http(s)://your-server.com", "server_url_placeholder": "http(s)://your-server.com",
"connect_button": "Подключиться", "connect_button": "Подключиться",
"previous_servers": "предыдущие серверы", "previous_servers": "Предыдущие серверы",
"clear_button": "Очистить", "clear_button": "Очистить",
"swipe_to_remove": "Swipe to remove", "swipe_to_remove": "Смахните для удаления",
"search_for_local_servers": "Поиск локальных серверов", "search_for_local_servers": "Поиск локальных серверов",
"searching": "Поиск...", "searching": "Поиск...",
"servers": "Сервера", "servers": "Сервера",
@@ -39,10 +42,16 @@
"please_login_again": "Ваша сессия истекла. Пожалуйста, войдите снова.", "please_login_again": "Ваша сессия истекла. Пожалуйста, войдите снова.",
"remove_saved_login": "Удалить сохраненный аккаунт", "remove_saved_login": "Удалить сохраненный аккаунт",
"remove_saved_login_description": "Ваши сохранённые данные для входа от этого сервера будут удалены. Вам придётся ввести ваши логин и пароль ещё раз.", "remove_saved_login_description": "Ваши сохранённые данные для входа от этого сервера будут удалены. Вам придётся ввести ваши логин и пароль ещё раз.",
"accounts_count": "{{count}} аккаунтов", "accounts_count": "Аккаунтов: {{count}}",
"select_account": "Выбрать аккаунт", "select_account": "Выбрать аккаунт",
"add_account": "Добавить аккаунт", "add_account": "Добавить аккаунт",
"remove_account_description": "Данные для входа {{username}} будут удалены." "remove_account_description": "Данные для входа {{username}} будут удалены.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Сохранить аккаунт", "title": "Сохранить аккаунт",
@@ -58,14 +67,14 @@
"cancel_button": "Отмена" "cancel_button": "Отмена"
}, },
"pin": { "pin": {
"enter_pin": "Введите PIN", "enter_pin": "Введите PIN-код",
"enter_pin_for": "Введите PIN для {{username}}", "enter_pin_for": "Введите PIN-код для {{username}}",
"enter_4_digits": "Введите 4 цифры", "enter_4_digits": "Введите 4 цифры",
"invalid_pin": "Некорректный PIN", "invalid_pin": "Некорректный PIN-код",
"setup_pin": "Установить PIN", "setup_pin": "Установить PIN-код",
"confirm_pin": "Подтвердите PIN", "confirm_pin": "Подтвердите PIN-код",
"pins_dont_match": "PIN-коды не совпадают", "pins_dont_match": "PIN-коды не совпадают",
"forgot_pin": "Забыли PIN?", "forgot_pin": "Забыли PIN-код?",
"forgot_pin_desc": "Ваши данные для входа будут удалены" "forgot_pin_desc": "Ваши данные для входа будут удалены"
}, },
"password": { "password": {
@@ -84,22 +93,22 @@
"server_unreachable": "Сервер недоступен", "server_unreachable": "Сервер недоступен",
"server_unreachable_message": "Не удалось соединиться с сервером.\nПожалуйста, проверьте настройки сети.", "server_unreachable_message": "Не удалось соединиться с сервером.\nПожалуйста, проверьте настройки сети.",
"oops": "Упс!", "oops": "Упс!",
"error_message": "Что-то пошло не так.\nПожалуйста выйдите и зайдите снова.", "error_message": "Что-то пошло не так.\nПожалуйста, выйдите и зайдите снова.",
"continue_watching": "Продолжить", "continue_watching": "Продолжить",
"continue": "Continue",
"next_up": "Далее", "next_up": "Далее",
"continue_and_next_up": "Продолжить и Далее", "continue_and_next_up": "Продолжить и Далее",
"recently_added_in": "Недавно добавлено в {{libraryName}}", "recently_added_in": "Недавно добавлено в {{libraryName}}",
"suggested_movies": "Предложенные фильмы", "suggested_movies": "Предложенные фильмы",
"suggested_episodes": "Предложенные серии",
"intro": { "intro": {
"welcome_to_streamyfin": "Добро пожаловать в Streamyfin", "welcome_to_streamyfin": "Добро пожаловать в Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Бесплатный клиент для Jellyfin с открытым кодом", "a_free_and_open_source_client_for_jellyfin": "Бесплатный клиент для Jellyfin с открытым кодом.",
"features_title": "Функции", "features_title": "Функции",
"features_description": "Streamyfin имеет множество функций и интегрируется с широким спектром программ, которое вы можете найти в меню настроек:", "features_description": "Streamyfin имеет множество функций и интегрируется с широким спектром программ, которое вы можете найти в меню настроек:",
"jellyseerr_feature_description": "Подключитесь к Jellyseerr и запрашивайте фильмы прямо в приложении.", "jellyseerr_feature_description": "Подключитесь к Jellyseerr и запрашивайте фильмы прямо в приложении.",
"downloads_feature_title": "Загрузки", "downloads_feature_title": "Загрузки",
"downloads_feature_description": "Скачивайте фильмы и сериалы для просмотра без интернета. Используйте стандартный способ или установите сервер оптимизации для загрузки файлов в фоновом режиме.", "downloads_feature_description": "Скачивайте фильмы и сериалы для просмотра без интернета. Используйте стандартный способ или установите сервер оптимизации для загрузки файлов в фоновом режиме.",
"chromecast_feature_description": "Транслируйте фильмы и сериалы на ваши устройста с поддержкой Chromecast.", "chromecast_feature_description": "Транслируйте фильмы и сериалы на ваши устройства с поддержкой Chromecast.",
"centralised_settings_plugin_title": "Плагин для централизованной настройки", "centralised_settings_plugin_title": "Плагин для централизованной настройки",
"centralised_settings_plugin_description": "Настраивайте параметры из централизованного места на сервере Jellyfin. Все настройки клиента для всех пользователей будут синхронизированы автоматически.", "centralised_settings_plugin_description": "Настраивайте параметры из централизованного места на сервере Jellyfin. Все настройки клиента для всех пользователей будут синхронизированы автоматически.",
"done_button": "Готово", "done_button": "Готово",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Настройки", "settings_title": "Настройки",
"log_out_button": "Выйти", "log_out_button": "Выйти",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Категории" "title": "Категории"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Внешний вид", "title": "Внешний вид",
"merge_next_up_continue_watching": "Объединить «Продолжить» и «Далее»", "merge_next_up_continue_watching": "Объединить «Продолжить» и «Далее»",
"hide_remote_session_button": "Скрыть кнопку «Удалённый сеанс»" "hide_remote_session_button": "Скрыть кнопку «Удалённый сеанс»",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Сеть", "title": "Сеть",
@@ -129,7 +153,7 @@
"auto_switch_enabled": "Переключаться дома автоматически", "auto_switch_enabled": "Переключаться дома автоматически",
"auto_switch_description": "Автоматически переключаться на локальный URL при присоединении к домашней WiFi сети", "auto_switch_description": "Автоматически переключаться на локальный URL при присоединении к домашней WiFi сети",
"local_url": "Локальный URL", "local_url": "Локальный URL",
"local_url_hint": "Введите локальный URL вашего сервера (e.g., http://192.168.1.100:8096)", "local_url_hint": "Введите локальный URL вашего сервера (например, http://192.168.1.100:8096)",
"local_url_placeholder": "http://192.168.1.100:8096", "local_url_placeholder": "http://192.168.1.100:8096",
"home_wifi_networks": "Домашние WiFi сети", "home_wifi_networks": "Домашние WiFi сети",
"add_current_network": "Добавить \"{{ssid}}\"", "add_current_network": "Добавить \"{{ssid}}\"",
@@ -160,28 +184,44 @@
}, },
"quick_connect": { "quick_connect": {
"quick_connect_title": "Быстрое подключение", "quick_connect_title": "Быстрое подключение",
"authorize_button": "Авторизировать через быстрое подключение", "authorize_button": "Авторизовать через быстрое подключение",
"enter_the_quick_connect_code": "Введите код для быстрого подключения...", "enter_the_quick_connect_code": "Введите код для быстрого подключения...",
"success": "Успех", "success": "Успех",
"quick_connect_autorized": "Быстрое подключение авторизовано", "quick_connect_autorized": "Быстрое подключение авторизовано",
"error": "Ошибка", "error": "Ошибка",
"invalid_code": "Неверный код", "invalid_code": "Неверный код",
"authorize": "Авторизировать" "authorize": "Авторизовать"
}, },
"media_controls": { "media_controls": {
"media_controls_title": "Медиа-контроль", "media_controls_title": "Управление воспроизведением",
"forward_skip_length": "Шаг перемотки вперёд", "forward_skip_length": "Шаг перемотки вперёд",
"rewind_length": "Шаг перемотки назад", "rewind_length": "Шаг перемотки назад",
"seconds_unit": "c" "seconds_unit": "c"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Управление жестами", "gesture_controls_title": "Управление жестами",
"horizontal_swipe_skip": "Горизонтальный свайп для перемотки", "horizontal_swipe_skip": "Проведите влево/вправо для перемотки",
"horizontal_swipe_skip_description": "Проведите влево/вправо, когда элементы управления скрыты, чтобы пропустить", "horizontal_swipe_skip_description": "Проведите влево/вправо, когда элементы управления скрыты, чтобы перемотать",
"left_side_brightness": "Управление яркостью левой стороны", "left_side_brightness": "Управление яркостью слева",
"left_side_brightness_description": "Смахните вверх/вниз на левой стороне для настройки яркости", "left_side_brightness_description": "Проведите вверх/вниз на левой стороне для настройки яркости",
"right_side_volume": "Управление громкостью справа", "right_side_volume": "Управление громкостью справа",
"right_side_volume_description": "Свайп вверх/вниз с правой стороны для настройки громкости", "right_side_volume_description": "Проведите вверх/вниз с правой стороны для настройки громкости",
"hide_volume_slider": "Скрыть индикатор громкости", "hide_volume_slider": "Скрыть индикатор громкости",
"hide_volume_slider_description": "Скрывает индикатор громкости в плеере", "hide_volume_slider_description": "Скрывает индикатор громкости в плеере",
"hide_brightness_slider": "Скрыть индикатор яркости", "hide_brightness_slider": "Скрыть индикатор яркости",
@@ -205,7 +245,7 @@
}, },
"subtitles": { "subtitles": {
"subtitle_title": "Субтитры", "subtitle_title": "Субтитры",
"subtitle_hint": "Настройки отображения субтитров", "subtitle_hint": "Настройки отображения субтитров.",
"subtitle_language": "Язык субтитров", "subtitle_language": "Язык субтитров",
"subtitle_mode": "Режим субтитров", "subtitle_mode": "Режим субтитров",
"set_subtitle_track": "Устанавливать субтитры из предыдущего элемента", "set_subtitle_track": "Устанавливать субтитры из предыдущего элемента",
@@ -220,62 +260,22 @@
"None": "Отсутствует", "None": "Отсутствует",
"OnlyForced": "Только принудительные" "OnlyForced": "Только принудительные"
}, },
"text_color": "Цвет текста", "opensubtitles_title": "OpenSubtitles",
"background_color": "Цвет фона", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Цвет контура", "opensubtitles_api_key": "API Key",
"outline_thickness": "Толщина контура", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Прозрачность фона", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Прозрачность контура", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Жирный", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Черный", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Серый", "align": {
"Silver": "Серебристый", "left": "Left",
"White": "Белый", "center": "Center",
"Maroon": "Бордовый", "right": "Right",
"Red": "Красный", "top": "Top",
"Fuchsia": "Пурпурный", "bottom": "Bottom"
"Yellow": "Жёлтый", }
"Olive": "Оливковый",
"Green": "Зелёный",
"Teal": "Бирюзовый",
"Lime": "Лаймовый",
"Purple": "Фиолетовый",
"Navy": "Тёмно-синий",
"Blue": "Синий",
"Aqua": "Голубой"
},
"thickness": {
"None": "Отсутствует",
"Thin": "Тонкий",
"Normal": "Обычный",
"Thick": "Толстый"
},
"subtitle_color": "Цвет субтитров",
"subtitle_background_color": "Цвет фона",
"subtitle_font": "Шрифт субтитров",
"ksplayer_title": "Настройки KSPlayer",
"hardware_decode": "Аппаратное декодирование",
"hardware_decode_description": "Использовать аппаратное ускорение для декодирования видео. Выключите, если наблюдаете проблемы с воспроизведением."
},
"vlc_subtitles": {
"title": "Настройки субтитров в VLC",
"hint": "Настройте внешний вид субтитров в VLC плеере. Изменения применятся при следующем воспроизведении.",
"text_color": "Цвет текста",
"background_color": "Цвет фона",
"background_opacity": "Прозрачность фона",
"outline_color": "Цвет контура",
"outline_opacity": "Прозрачность контура",
"outline_thickness": "Толщина контура",
"bold": "Жирный",
"margin": "Отступ снизу"
},
"video_player": {
"title": "Видеоплеер",
"video_player": "Видеоплеер",
"video_player_description": "Выберите видеоплеер в iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Другое", "other_title": "Другое",
@@ -294,34 +294,25 @@
"UNKNOWN": "Неизвестное" "UNKNOWN": "Неизвестное"
}, },
"safe_area_in_controls": "Безопасная зона в элементах управления", "safe_area_in_controls": "Безопасная зона в элементах управления",
"video_player": "Видеоплеер", "show_custom_menu_links": "Показать ссылки пользовательского меню",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Экспериментальный + PiP)"
},
"show_custom_menu_links": "Показать ссылки кастомного меню",
"show_large_home_carousel": "Показывать большую карусель (beta)",
"hide_libraries": "Скрыть библиотеки", "hide_libraries": "Скрыть библиотеки",
"select_liraries_you_want_to_hide": "Выберите Библиотеки, которое хотите спрятать из вкладки Библиотеки и домашней страницы.", "select_liraries_you_want_to_hide": "Выберите Библиотеки, которое хотите спрятать из вкладки Библиотеки и домашней страницы.",
"disable_haptic_feedback": "Отключить тактильную обратную связь", "disable_haptic_feedback": "Отключить тактильную обратную связь",
"default_quality": "Качество по умолчанию", "default_quality": "Качество по умолчанию",
"default_playback_speed": "Скорость воспроизведения по умолчанию", "default_playback_speed": "Скорость воспроизведения по умолчанию",
"auto_play_next_episode": "Автоматически воспроизводить следующий эпизод", "auto_play_next_episode": "Автоматически воспроизводить следующий эпизод",
"max_auto_play_episode_count": "Максимальное количество автовоспроизведения эпизодов", "max_auto_play_episode_count": "Максимальное количество авто воспроизводимых эпизодов",
"disabled": "Отключено" "disabled": "Отключено"
}, },
"downloads": {
"downloads_title": "Загрузки"
},
"music": { "music": {
"title": "Музыка", "title": "Музыка",
"playback_title": "Воспроизведение", "playback_title": "Воспроизведение",
"playback_description": "Настройте воспроизведение музыки.", "playback_description": "Настройте воспроизведение музыки.",
"prefer_downloaded": "Предпочитать скачанные песни", "prefer_downloaded": "Предпочитать скачанные песни",
"caching_title": "Кеширование", "caching_title": "Кеширование",
"caching_description": "Автоматически предкешировать следующие треки для стабильного воспроизведения.", "caching_description": "Автоматически кешировать следующие треки для стабильного воспроизведения.",
"lookahead_enabled": "Включить предкеширование", "lookahead_enabled": "Включить предкеширование",
"lookahead_count": "Сколько предкешировать", "lookahead_count": "Сколько треков предкешировать",
"max_cache_size": "Максимальное число предкешированных треков" "max_cache_size": "Максимальное число предкешированных треков"
}, },
"plugins": { "plugins": {
@@ -329,8 +320,8 @@
"jellyseerr": { "jellyseerr": {
"jellyseerr_warning": "Эта интеграция находится на ранней стадии. Ожидайте изменений.", "jellyseerr_warning": "Эта интеграция находится на ранней стадии. Ожидайте изменений.",
"server_url": "URL сервера", "server_url": "URL сервера",
"server_url_hint": "Пример: http(s)://your-host.url\n(Добавьте порт если необходимо)", "server_url_hint": "Пример: http(s)://your-host.url\n(добавьте порт если необходимо)",
"server_url_placeholder": "Jellyseerr URL...", "server_url_placeholder": "Seerr URL...",
"password": "Пароль", "password": "Пароль",
"password_placeholder": "Введите пароль для пользователя Jellyfin {{username}}", "password_placeholder": "Введите пароль для пользователя Jellyfin {{username}}",
"login_button": "Войти", "login_button": "Войти",
@@ -349,30 +340,25 @@
} }
}, },
"marlin_search": { "marlin_search": {
"enable_marlin_search": "Включить Marlin Search ", "enable_marlin_search": "Включить Marlin Search",
"url": "URL-адрес", "url": "URL-адрес",
"server_url_placeholder": "http(s)://domain.org:port", "server_url_placeholder": "http(s)://domain.org:port",
"marlin_search_hint": "Введите URL для Marlin сервера. URL должен включать http or https и опционально порт.", "marlin_search_hint": "Введите URL для Marlin сервера. URL должен включать http or https и опционально порт.",
"read_more_about_marlin": "Узнать больше о Marlin.", "read_more_about_marlin": "Узнать больше о Marlin.",
"save_button": "Сохранить", "save_button": "Сохранить",
"toasts": { "toasts": {
"saved": "Сохранено", "saved": "Сохранено"
"refreshed": "Настройки обновлены с сервера" }
},
"refresh_from_server": "Обновить настройки с сервера"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Включить Streamystats",
"disable_streamystats": "Выключить Streamystats", "disable_streamystats": "Выключить Streamystats",
"enable_search": "Использовать в поиске", "enable_search": "Использовать в поиске",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Введите URL вашего сервера Streamystats. URL должен включать http/https и порт при необходимости.", "streamystats_search_hint": "Введите URL вашего сервера Streamystats. URL должен включать http/https и порт при необходимости.",
"read_more_about_streamystats": "Узнать больше про Streamystats.", "read_more_about_streamystats": "Узнать больше про Streamystats.",
"save_button": "Сохранить",
"save": "Сохранить", "save": "Сохранить",
"features_title": "Функции", "features_title": "Функции",
"home_sections_title": "Показывать на главной",
"enable_movie_recommendations": "Рекомендации фильмов", "enable_movie_recommendations": "Рекомендации фильмов",
"enable_series_recommendations": "Рекомендации сериалов", "enable_series_recommendations": "Рекомендации сериалов",
"enable_promoted_watchlists": "Продвигаемые списки просмотра", "enable_promoted_watchlists": "Продвигаемые списки просмотра",
@@ -388,8 +374,7 @@
"refresh_from_server": "Обновить настройки с сервера" "refresh_from_server": "Обновить настройки с сервера"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Включить интеграцию со списками просмотра", "watchlist_enabler": "Включить интеграцию со списками просмотра"
"watchlist_button": "Изменить интеграцию со списками просмотра"
} }
}, },
"storage": { "storage": {
@@ -399,14 +384,17 @@
"size_used": "{{used}} из {{total}} использовано", "size_used": "{{used}} из {{total}} использовано",
"delete_all_downloaded_files": "Удалить все загруженные файлы", "delete_all_downloaded_files": "Удалить все загруженные файлы",
"music_cache_title": "Кеш музыки", "music_cache_title": "Кеш музыки",
"music_cache_description": "Автоматически прекешировать песни по мере прослушивания для плавного воспроизведения и поддержки отсутствия интернета", "music_cache_description": "Автоматически кешировать песни по мере прослушивания для плавного воспроизведения и поддержки отсутствия интернета",
"enable_music_cache": "Кешировать музыку",
"clear_music_cache": "Очистить кеш музыки", "clear_music_cache": "Очистить кеш музыки",
"music_cache_size": "{{size}} кешировано", "music_cache_size": "Кешировано: {{size}}",
"music_cache_cleared": "Кеш музыки очищен", "music_cache_cleared": "Кеш музыки очищен",
"delete_all_downloaded_songs": "Удалить все скачанные песни", "delete_all_downloaded_songs": "Удалить все скачанные песни",
"downloaded_songs_size": "{{size}} скачано", "downloaded_songs_size": "Скачано: {{size}}",
"downloaded_songs_deleted": "Скачанные песни удалены" "downloaded_songs_deleted": "Скачанные песни удалены",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Вступление", "title": "Вступление",
@@ -415,11 +403,10 @@
}, },
"logs": { "logs": {
"logs_title": "Логи", "logs_title": "Логи",
"export_logs": "Экспорт журналов", "export_logs": "Сохранить логи",
"click_for_more_info": "Нажмите для получения дополнительной информации", "click_for_more_info": "Нажмите для получения дополнительной информации",
"level": "Уровень", "level": "Уровень",
"no_logs_available": "Логи не доступны", "no_logs_available": "Логи не доступны"
"delete_all_logs": "Удалить все логи"
}, },
"languages": { "languages": {
"title": "Языки", "title": "Языки",
@@ -427,9 +414,21 @@
"system": "Системный" "system": "Системный"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Ошибка при удалении файлов", "error_deleting_files": "Ошибка при удалении файлов"
"background_downloads_enabled": "Фоновая загрузка включена", },
"background_downloads_disabled": "Фоновая загрузка отключена" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Загрузки", "downloads_title": "Загрузки",
"tvseries": "Сериалы", "tvseries": "Сериалы",
"movies": "Фильмы", "movies": "Фильмы",
"queue": "Очередь",
"other_media": "Прочие файлы", "other_media": "Прочие файлы",
"queue_hint": "Очередь очистится после перезапуска",
"no_items_in_queue": "Нет элементов в очереди",
"no_downloaded_items": "Нет загруженных файлов", "no_downloaded_items": "Нет загруженных файлов",
"delete_all_movies_button": "Удалить все фильмы", "delete_all_movies_button": "Удалить все фильмы",
"delete_all_tvseries_button": "Удалить все сериалы", "delete_all_tvseries_button": "Удалить все сериалы",
@@ -453,9 +449,10 @@
"no_active_downloads": "Нет активных загрузок", "no_active_downloads": "Нет активных загрузок",
"active_downloads": "Активные", "active_downloads": "Активные",
"new_app_version_requires_re_download": "Новая версия приложения требует повторной загрузки", "new_app_version_requires_re_download": "Новая версия приложения требует повторной загрузки",
"new_app_version_requires_re_download_description": "Новая версия приложения требует повторной загрузки. Пожалуйста удалите всё и попробуйте заново.", "new_app_version_requires_re_download_description": "Новая версия приложения требует повторной загрузки контента. Пожалуйста, удалите весь скачанный контент и попробуйте заново.",
"back": "Назад", "back": "Назад",
"delete": "Удалить", "delete": "Удалить",
"delete_download": "Delete Download",
"something_went_wrong": "Что-то пошло не так", "something_went_wrong": "Что-то пошло не так",
"could_not_get_stream_url_from_jellyfin": "Не удалось получить ссылку трансляции из Jellyfin", "could_not_get_stream_url_from_jellyfin": "Не удалось получить ссылку трансляции из Jellyfin",
"eta": "Осталось {{eta}}", "eta": "Осталось {{eta}}",
@@ -465,53 +462,48 @@
"failed_to_delete_all_movies": "Возникла ошибка при удалении всех фильмов", "failed_to_delete_all_movies": "Возникла ошибка при удалении всех фильмов",
"deleted_all_tvseries_successfully": "Все сериалы были успешно удалены!", "deleted_all_tvseries_successfully": "Все сериалы были успешно удалены!",
"failed_to_delete_all_tvseries": "Возникла ошибка при удалении всех сериалов", "failed_to_delete_all_tvseries": "Возникла ошибка при удалении всех сериалов",
"deleted_media_successfully": "Другие носители успешно удалены!", "deleted_media_successfully": "Остальные медиафайлы успешно удалены!",
"failed_to_delete_media": "Не удалось удалить другой файл", "failed_to_delete_media": "Не удалось удалить остальные медиафайлы",
"download_deleted": "Удалено",
"download_cancelled": "Загрузка отменена", "download_cancelled": "Загрузка отменена",
"could_not_delete_download": "Не удалось удалить загрузку", "could_not_delete_download": "Не удалось удалить загрузку",
"download_paused": "На паузе",
"could_not_pause_download": "Не удалось приостановить загрузку",
"download_resumed": "Продолжено",
"could_not_resume_download": "Не удалось продолжить загрузку",
"download_completed": "Завершено", "download_completed": "Завершено",
"download_failed": "Не удалось загрузить", "download_failed": "Не удалось загрузить",
"download_failed_for_item": "Загрузка {{item}} провалилась с ошибкой: {{error}}", "download_failed_for_item": "Загрузка {{item}} провалилась с ошибкой: {{error}}",
"download_completed_for_item": "{{item}} успешно загружен", "download_completed_for_item": "{{item}} успешно загружен",
"download_started_for_item": "Загрузка началась для {{item}}", "download_started_for_item": "Загрузка {{item}} началась",
"failed_to_start_download": "Не удалось начать загрузку", "failed_to_start_download": "Не удалось начать загрузку",
"item_already_downloading": "{{item}} уже загружается", "item_already_downloading": "{{item}} уже загружается",
"all_files_deleted": "Все загрузки удалены", "all_files_deleted": "Все загрузки удалены",
"files_deleted_by_type": "{{count}} {{type}} удалён(о)", "files_deleted_by_type": "Удалено: {{count}} {{type}}",
"all_files_folders_and_jobs_deleted_successfully": "Все файлы, папки, и задачи были успешно удалены", "could_not_get_download_url_for_item": "Не удалось получить URL для загрузки {{itemName}}",
"failed_to_clean_cache_directory": "Не удалось очистить директорию кэша", "file_deleted": "Удалено: {{item}}"
"could_not_get_download_url_for_item": "Не удалось получить URL загрузки для {{itemName}}",
"go_to_downloads": "В загрузки",
"file_deleted": "{{item}} удалён"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Выбрать", "select": "Выбрать",
"no_trailer_available": "Трейлер недоступен", "no_trailer_available": "Трейлер недоступен",
"video": "Видео", "video": "Видео",
"audio": "Звук", "audio": "Звук",
"subtitle": "Субтитры", "subtitle": "Субтитры",
"play": "Воспроизвести", "play": "Воспроизвести",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Отсутствует", "none": "Отсутствует",
"track": "Трек", "track": "Трек",
"cancel": "Отмена", "cancel": "Отмена",
"delete": "Удалить", "delete": "Удалить",
"ok": "ОК", "ok": "ОК",
"remove": "Удалить", "remove": "Удалить",
"next": "Вперед",
"back": "Назад", "back": "Назад",
"continue": "Продолжить", "continue": "Продолжить",
"verifying": "Проверка..." "verifying": "Проверка...",
"login": "Login"
}, },
"search": { "search": {
"search": "Поиск...", "search": "Поиск...",
"x_items": "{{count}} элементов", "x_items": "Элементов: {{count}}",
"library": "Библиотека", "library": "Библиотека",
"discover": "Найти новое", "discover": "Найти новое",
"no_results": "Ничего не найдено", "no_results": "Ничего не найдено",
@@ -529,14 +521,14 @@
"request_series": "Запросить сериалы", "request_series": "Запросить сериалы",
"recently_added": "Недавно добавлено", "recently_added": "Недавно добавлено",
"recent_requests": "Недавно запрошено", "recent_requests": "Недавно запрошено",
"plex_watchlist": "Список просмотра с Plex", "plex_watchlist": "Список просмотра Plex",
"trending": "В тренде", "trending": "В тренде",
"popular_movies": "Популярные фильмы", "popular_movies": "Популярные фильмы",
"movie_genres": "Популярные жанры", "movie_genres": "Популярные жанры",
"upcoming_movies": "Предстоящие фильмы", "upcoming_movies": "Предстоящие фильмы",
"studios": "Студии", "studios": "Студии",
"popular_tv": "Популярные сериалы", "popular_tv": "Популярные сериалы",
"tv_genres": "жанры сериалов", "tv_genres": "Жанры сериалов",
"upcoming_tv": "Предстоящие сериалы", "upcoming_tv": "Предстоящие сериалы",
"networks": "Сети", "networks": "Сети",
"tmdb_movie_keyword": "TMDB Ключевые слова фильмов", "tmdb_movie_keyword": "TMDB Ключевые слова фильмов",
@@ -556,7 +548,8 @@
"movies": "Фильмы", "movies": "Фильмы",
"series": "Сериалы", "series": "Сериалы",
"boxsets": "Коллекции", "boxsets": "Коллекции",
"items": "элементы" "playlists": "Playlists",
"items": "Элементы"
}, },
"options": { "options": {
"display": "Отображать", "display": "Отображать",
@@ -565,8 +558,9 @@
"image_style": "Стиль изображения", "image_style": "Стиль изображения",
"poster": "Постер", "poster": "Постер",
"cover": "Обложка", "cover": "Обложка",
"show_titles": "Показывать загаловки", "show_titles": "Показывать заголовки",
"show_stats": "Показывать статистику" "show_stats": "Показывать статистику",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Жанры", "genres": "Жанры",
@@ -574,7 +568,11 @@
"sort_by": "Сортировка", "sort_by": "Сортировка",
"filter_by": "Фильтр", "filter_by": "Фильтр",
"sort_order": "Порядок", "sort_order": "Порядок",
"tags": "Тэги" "tags": "Теги",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Нет ссылок" "no_links": "Нет ссылок"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Ошибка", "error": "Ошибка",
"failed_to_get_stream_url": "Не удалось получить URL потока", "failed_to_get_stream_url": "Не удалось получить URL потока",
"an_error_occured_while_playing_the_video": "Возникла Неожиданная ошибка во время воспроизведения. Проверьте логи в настройках.", "an_error_occured_while_playing_the_video": "Возникла Неожиданная ошибка во время воспроизведения. Проверьте логи в настройках.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Не удалось создать поток для Chromecast", "could_not_create_stream_for_chromecast": "Не удалось создать поток для Chromecast",
"message_from_server": "Сообщение от сервера: {{message}}", "message_from_server": "Сообщение от сервера: {{message}}",
"next_episode": "Следующая серия", "next_episode": "Следующая серия",
"refresh_tracks": "Обновить дорожки",
"audio_tracks": "Аудио дорожки:",
"playback_state": "Состояние воспроизведения:",
"index": "Индекс:",
"continue_watching": "Продолжить просмотр", "continue_watching": "Продолжить просмотр",
"go_back": "Назад", "go_back": "Назад",
"downloaded_file_title": "Этот файл уже скачан", "downloaded_file_title": "Этот файл уже скачан",
"downloaded_file_message": "Хотите воспроизвести скачанный файл?", "downloaded_file_message": "Хотите воспроизвести скачанный файл?",
"downloaded_file_yes": "Да", "downloaded_file_yes": "Да",
"downloaded_file_no": "Нет", "downloaded_file_no": "Нет",
"downloaded_file_cancel": "Отмена" "downloaded_file_cancel": "Отмена",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Далее", "next_up": "Далее",
@@ -617,6 +641,11 @@
"series": "Серии", "series": "Серии",
"seasons": "Сезоны", "seasons": "Сезоны",
"season": "Сезон", "season": "Сезон",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "В этом сезоне нет серий", "no_episodes_for_this_season": "В этом сезоне нет серий",
"overview": "Обзор", "overview": "Обзор",
"more_with": "Больше с {{name}}", "more_with": "Больше с {{name}}",
@@ -624,13 +653,23 @@
"no_similar_items_found": "Похожие элементы не найдены", "no_similar_items_found": "Похожие элементы не найдены",
"video": "Видео", "video": "Видео",
"more_details": "Больше деталей", "more_details": "Больше деталей",
"media_options": "Media Options", "media_options": "Опции медиа",
"quality": "Качество", "quality": "Качество",
"audio": "Звук", "audio": "Звук",
"subtitles": "Субтитры", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Показать больше", "show_more": "Показать больше",
"show_less": "Показать меньше", "show_less": "Показать меньше",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Появлялся в", "appeared_in": "Появлялся в",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Не удалось загрузить элемент", "could_not_load_item": "Не удалось загрузить элемент",
"none": "Отсутствует", "none": "Отсутствует",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Загрузить {{item_count}} элементов", "download_x_item": "Загрузить {{item_count}} элементов",
"download_unwatched_only": "Только непросмотренные", "download_unwatched_only": "Только непросмотренные",
"download_button": "Загрузить" "download_button": "Загрузить"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Далее", "next": "Далее",
@@ -652,7 +697,18 @@
"movies": "Фильмы", "movies": "Фильмы",
"sports": "Спорт", "sports": "Спорт",
"for_kids": "Для детей", "for_kids": "Для детей",
"news": "Новости" "news": "Новости",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Подтвердить", "confirm": "Подтвердить",
@@ -685,26 +741,32 @@
"currently_streaming_on": "Сейчас доступно на", "currently_streaming_on": "Сейчас доступно на",
"advanced": "Продвинутое", "advanced": "Продвинутое",
"request_as": "Запросить как", "request_as": "Запросить как",
"tags": "Тэги", "tags": "Теги",
"quality_profile": "Профиль качества", "quality_profile": "Профиль качества",
"root_folder": "Корневая папка", "root_folder": "Корневая папка",
"season_all": "Сезон (все)", "season_all": "Сезон (все)",
"season_number": "Сезон {{season_number}}", "season_number": "Сезон {{season_number}}",
"number_episodes": "{{episode_number}} серий", "number_episodes": "Серий: {{episode_number}}",
"born": "Рожден", "born": "Рожден",
"appearances": "Появления", "appearances": "Появления",
"approve": "Одобрить", "approve": "Одобрить",
"decline": "Отклонить", "decline": "Отклонить",
"requested_by": "Запрошено {{user}}", "requested_by": "Запрошено {{user}}",
"unknown_user": "Неизвестный пользователь", "unknown_user": "Неизвестный пользователь",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Сервер Jellyseerr не соответствует минимальным требованиям версии! Пожалуйста, обновите до версии не ниже 2.0.0", "jellyseer_does_not_meet_requirements": "Сервер Jellyseerr не соответствует минимальным требованиям версии! Пожалуйста, обновите до версии не ниже 2.0.0",
"jellyseerr_test_failed": "Тест Jellyseerr не пройден. Попробуйте еще раз.", "jellyseerr_test_failed": "Тест Jellyseerr не пройден. Попробуйте еще раз.",
"failed_to_test_jellyseerr_server_url": "Не удалось проверить URL-адрес сервера jellyseerr", "failed_to_test_jellyseerr_server_url": "Не удалось проверить URL-адрес сервера Seerr",
"issue_submitted": "Проблема отправлена!", "issue_submitted": "Проблема отправлена!",
"requested_item": "Запрошено {{item}}!", "requested_item": "Запрошено {{item}}!",
"you_dont_have_permission_to_request": "У вас нет разрешения на запрос!", "you_dont_have_permission_to_request": "У вас нет разрешения на запрос!",
"something_went_wrong_requesting_media": "Что-то пошло не так при запросе медиафайлов!", "something_went_wrong_requesting_media": "Что-то пошло не так при запросе медиа!",
"request_approved": "Запрос одобрен!", "request_approved": "Запрос одобрен!",
"request_declined": "Запрос отклонён!", "request_declined": "Запрос отклонён!",
"failed_to_approve_request": "Не удалось одобрить запрос", "failed_to_approve_request": "Не удалось одобрить запрос",
@@ -716,7 +778,8 @@
"search": "Поиск", "search": "Поиск",
"library": "Библиотека", "library": "Библиотека",
"custom_links": "Ссылки", "custom_links": "Ссылки",
"favorites": "Избранное" "favorites": "Избранное",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Музыка", "title": "Музыка",
@@ -727,13 +790,9 @@
"playlists": "Плейлисты", "playlists": "Плейлисты",
"tracks": "треки" "tracks": "треки"
}, },
"filters": {
"all": "Все"
},
"recently_added": "Недавно добавлено", "recently_added": "Недавно добавлено",
"recently_played": "Недавно воспроизведено", "recently_played": "Недавно воспроизведено",
"frequently_played": "Часто играет", "frequently_played": "Часто играет",
"explore": "Найти новое",
"top_tracks": "Топ", "top_tracks": "Топ",
"play": "Воспроизвести", "play": "Воспроизвести",
"shuffle": "Перемешать", "shuffle": "Перемешать",
@@ -801,7 +860,7 @@
"name_label": "Название", "name_label": "Название",
"name_placeholder": "Введите название списка", "name_placeholder": "Введите название списка",
"description_label": "Описание", "description_label": "Описание",
"description_placeholder": "Введите описание (не обязательно)", "description_placeholder": "Введите описание (необязательно)",
"is_public_label": "Публичный", "is_public_label": "Публичный",
"is_public_description": "Разрешить остальным пользователям видеть этот список", "is_public_description": "Разрешить остальным пользователям видеть этот список",
"allowed_type_label": "Тип контента", "allowed_type_label": "Тип контента",
@@ -841,5 +900,35 @@
"show": "Ко всему сериалу", "show": "Ко всему сериалу",
"all": "Ко всем файлам (по умолчанию)" "all": "Ко всем файлам (по умолчанию)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -43,7 +43,6 @@
"next_up": "I ardhshëm", "next_up": "I ardhshëm",
"recently_added_in": "Shtuar kohët e fundit në {{libraryName}}", "recently_added_in": "Shtuar kohët e fundit në {{libraryName}}",
"suggested_movies": "Filma të sugjeruar", "suggested_movies": "Filma të sugjeruar",
"suggested_episodes": "Episodat të sugjeruara",
"intro": { "intro": {
"welcome_to_streamyfin": "Mirë se vini në Streamyfin", "welcome_to_streamyfin": "Mirë se vini në Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Një klient falas dhe me burim të hapur për Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Një klient falas dhe me burim të hapur për Jellyfin.",
@@ -128,11 +127,6 @@
"UNKNOWN": "E panjohur" "UNKNOWN": "E panjohur"
}, },
"safe_area_in_controls": "Zonë e sigurt në kontrolla", "safe_area_in_controls": "Zonë e sigurt në kontrolla",
"video_player": "Video lexues",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Eksperimentale + PiP)"
},
"show_custom_menu_links": "Shfaq lidhje menuje të personalizuara", "show_custom_menu_links": "Shfaq lidhje menuje të personalizuara",
"hide_libraries": "Fsheh bibliotekat", "hide_libraries": "Fsheh bibliotekat",
"select_liraries_you_want_to_hide": "Zgjidhni bibliotekat që dëshironi të fshehni nga skeda e Bibliotekut dhe seksionet e faqes kryesore.", "select_liraries_you_want_to_hide": "Zgjidhni bibliotekat që dëshironi të fshehni nga skeda e Bibliotekut dhe seksionet e faqes kryesore.",
@@ -140,7 +134,6 @@
"default_quality": "Kvaliteti standard" "default_quality": "Kvaliteti standard"
}, },
"downloads": { "downloads": {
"downloads_title": "Shkarkime",
"optimized_versions_server": "Serveri i versioneve të optimizuara", "optimized_versions_server": "Serveri i versioneve të optimizuara",
"save_button": "Ruaj", "save_button": "Ruaj",
"optimized_server": "Server i optimizuar", "optimized_server": "Server i optimizuar",
@@ -205,8 +198,7 @@
"export_logs": "Eksporto regjistrin", "export_logs": "Eksporto regjistrin",
"click_for_more_info": "Kliko për më shumë informacion", "click_for_more_info": "Kliko për më shumë informacion",
"level": "Nivele", "level": "Nivele",
"no_logs_available": "Nuk ka regjistrime të disponueshme", "no_logs_available": "Nuk ka regjistrime të disponueshme"
"delete_all_logs": "Fshijë të gjitha regjistrimet"
}, },
"languages": { "languages": {
"title": "Gjuhët", "title": "Gjuhët",
@@ -216,8 +208,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "Gabim gjatë fshirjes së skedarëve", "error_deleting_files": "Gabim gjatë fshirjes së skedarëve",
"background_downloads_enabled": "Shkarkimet në sfond aktivizuar",
"background_downloads_disabled": "Shkarkimet në sfond deaktivizuar",
"connected": "Lidhur", "connected": "Lidhur",
"could_not_connect": "Nuk u mundet te vendoset kyqja", "could_not_connect": "Nuk u mundet te vendoset kyqja",
"invalid_url": "URL i pavlefshme" "invalid_url": "URL i pavlefshme"
@@ -231,9 +221,6 @@
"downloads_title": "Shkarkimet", "downloads_title": "Shkarkimet",
"tvseries": "Seriale TV", "tvseries": "Seriale TV",
"movies": "Filma", "movies": "Filma",
"queue": "Rradhë",
"queue_hint": "Rradhat dhe shkarkimet do të humbasin pas genstartit të aplikacionit",
"no_items_in_queue": "Nuk ka elemente në rradhë",
"no_downloaded_items": "Nuk ka shkarkime", "no_downloaded_items": "Nuk ka shkarkime",
"delete_all_movies_button": "Fshijë të gjithë filmat", "delete_all_movies_button": "Fshijë të gjithë filmat",
"delete_all_tvseries_button": "Fshijë të gjitha serialet TV", "delete_all_tvseries_button": "Fshijë të gjitha serialet TV",
@@ -269,9 +256,7 @@
"no_response_received_from_server": "Nuk u mor asnjë përgjigje nga serveri", "no_response_received_from_server": "Nuk u mor asnjë përgjigje nga serveri",
"error_setting_up_the_request": "Gabim gjatë konfigurimit të kërkesës", "error_setting_up_the_request": "Gabim gjatë konfigurimit të kërkesës",
"failed_to_start_download_for_item_unexpected_error": "Dështoj fillimi i shkarkimit për {{item}}: Gabim i papritur", "failed_to_start_download_for_item_unexpected_error": "Dështoj fillimi i shkarkimit për {{item}}: Gabim i papritur",
"all_files_folders_and_jobs_deleted_successfully": "Të gjitha skedarët, dosjet dhe detyrat u fshinë me sukses", "an_error_occured_while_deleting_files_and_jobs": "Ndodhi një gabim gjatë fshirjes së skedarëve dhe detyrave"
"an_error_occured_while_deleting_files_and_jobs": "Ndodhi një gabim gjatë fshirjes së skedarëve dhe detyrave",
"go_to_downloads": "Shko te shkarkimet"
} }
} }
}, },
@@ -365,12 +350,8 @@
"video_has_finished_playing": "Videoja ka përfunduar shfaqjen!", "video_has_finished_playing": "Videoja ka përfunduar shfaqjen!",
"no_video_source": "Asnjë burim video...", "no_video_source": "Asnjë burim video...",
"next_episode": "Epizoda e ardhshme", "next_episode": "Epizoda e ardhshme",
"refresh_tracks": "Rifresko shtigjet",
"subtitle_tracks": "Shtigjet e nënteksteve:", "subtitle_tracks": "Shtigjet e nënteksteve:",
"audio_tracks": "Shtigjet audio:", "no_data_available": "Nuk ka të dhëna të disponueshme"
"playback_state": "Gjendja e rishikimit:",
"no_data_available": "Nuk ka të dhëna të disponueshme",
"index": "Indeksi:"
}, },
"item_card": { "item_card": {
"next_up": "E ardhshme", "next_up": "E ardhshme",

View File

@@ -4,6 +4,9 @@
"error_title": "Fel", "error_title": "Fel",
"login_title": "Logga in", "login_title": "Logga in",
"login_to_title": "Logga in till", "login_to_title": "Logga in till",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Användarnamn", "username_placeholder": "Användarnamn",
"password_placeholder": "Lösenord", "password_placeholder": "Lösenord",
"login_button": "Logga in", "login_button": "Logga in",
@@ -44,7 +47,11 @@
"add_account": "Lägg till konto", "add_account": "Lägg till konto",
"remove_account_description": "Detta kommer att ta bort de sparade uppgifterna för {{username}}.", "remove_account_description": "Detta kommer att ta bort de sparade uppgifterna för {{username}}.",
"remove_server": "Ta bort server", "remove_server": "Ta bort server",
"remove_server_description": "Detta kommer att ta bort {{server}} och alla sparade konton från din lista." "remove_server_description": "Detta kommer att ta bort {{server}} och alla sparade konton från din lista.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Spara konto", "title": "Spara konto",
@@ -93,7 +100,6 @@
"continue_and_next_up": "Fortsätt titta & nästa avsnitt", "continue_and_next_up": "Fortsätt titta & nästa avsnitt",
"recently_added_in": "Nyligen tillagt i {{libraryName}}", "recently_added_in": "Nyligen tillagt i {{libraryName}}",
"suggested_movies": "Filmförslag", "suggested_movies": "Filmförslag",
"suggested_episodes": "Föreslagna avsnitt",
"intro": { "intro": {
"welcome_to_streamyfin": "Välkommen till Streamyfin", "welcome_to_streamyfin": "Välkommen till Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "En gratis klient för Jellyfin med öppen källkod.", "a_free_and_open_source_client_for_jellyfin": "En gratis klient för Jellyfin med öppen källkod.",
@@ -112,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Inställningar", "settings_title": "Inställningar",
"log_out_button": "Logga ut", "log_out_button": "Logga ut",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Kategorier" "title": "Kategorier"
}, },
@@ -128,12 +140,12 @@
"show_home_backdrop": "Dynamisk hembakgrund", "show_home_backdrop": "Dynamisk hembakgrund",
"show_hero_carousel": "Hjältekarusell", "show_hero_carousel": "Hjältekarusell",
"show_series_poster_on_episode": "Visa serieaffisch på avsnitt", "show_series_poster_on_episode": "Visa serieaffisch på avsnitt",
"theme_music": "Temamusik",
"display_size": "Visningsstorlek", "display_size": "Visningsstorlek",
"display_size_small": "Liten", "display_size_small": "Liten",
"display_size_default": "Standard", "display_size_default": "Standard",
"display_size_large": "Stor", "display_size_large": "Stor",
"display_size_extra_large": "Extra stor", "display_size_extra_large": "Extra stor"
"theme_music": "Temamusik"
}, },
"network": { "network": {
"title": "Nätverk", "title": "Nätverk",
@@ -196,6 +208,12 @@
"max_cache_size": "Max cachestorlek", "max_cache_size": "Max cachestorlek",
"max_backward_cache": "Max bakåtcache" "max_backward_cache": "Max bakåtcache"
}, },
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gestkontroller", "gesture_controls_title": "Gestkontroller",
"horizontal_swipe_skip": "Horisontell Svepning för att Hoppa Fram/Bak", "horizontal_swipe_skip": "Horisontell Svepning för att Hoppa Fram/Bak",
@@ -242,43 +260,6 @@
"None": "Inga", "None": "Inga",
"OnlyForced": "Bara Tvingande" "OnlyForced": "Bara Tvingande"
}, },
"text_color": "Textfärg",
"background_color": "Bakgrundsfärg",
"outline_color": "Konturfärg",
"outline_thickness": "Konturtjocklek",
"background_opacity": "Bakgrundsgenomskinlighet",
"outline_opacity": "Kontursgenomskinlighet",
"bold_text": "FetStil",
"colors": {
"Black": "Svart",
"Gray": "Grå",
"Silver": "Silver",
"White": "Vit",
"Maroon": "Rödbrun",
"Red": "Röd",
"Fuchsia": "Purpur",
"Yellow": "Gul",
"Olive": "Olivgrön",
"Green": "Grön",
"Teal": "Turkos",
"Lime": "Limegrön",
"Purple": "Lila",
"Navy": "Marinblå",
"Blue": "Blå",
"Aqua": "Aqua"
},
"thickness": {
"None": "Inget",
"Thin": "Tunn",
"Normal": "Normal",
"Thick": "Tjock"
},
"subtitle_color": "Undertextfärg",
"subtitle_background_color": "Bakgrundsfärg",
"subtitle_font": "Typsnitt för undertexter",
"ksplayer_title": "KSPlayer-inställningar",
"hardware_decode": "Hårdvaruavkodning",
"hardware_decode_description": "Använd hårdvaruacceleration för videoavkodning. Inaktivera om du upplever uppspelningsproblem.",
"opensubtitles_title": "OpenSubtitles", "opensubtitles_title": "OpenSubtitles",
"opensubtitles_hint": "Ange din OpenSubtitles API-nyckel för att aktivera klientbaserad undertextsökning som reserv när din Jellyfin-server inte har en undertextleverantör konfigurerad.", "opensubtitles_hint": "Ange din OpenSubtitles API-nyckel för att aktivera klientbaserad undertextsökning som reserv när din Jellyfin-server inte har en undertextleverantör konfigurerad.",
"opensubtitles_api_key": "API-nyckel", "opensubtitles_api_key": "API-nyckel",
@@ -296,25 +277,6 @@
"bottom": "Botten" "bottom": "Botten"
} }
}, },
"vlc_subtitles": {
"title": "VLC undertextsinställningar",
"hint": "Anpassa undertextens utseende för VLC-spelare. Förändringar träder i kraft vid nästa uppspelning.",
"text_color": "Textfärg",
"background_color": "Bakgrundsfärg",
"background_opacity": "Bakgrundsgenomskinlighet",
"outline_color": "Konturfärg",
"outline_opacity": "Kontursgenomskinlighet",
"outline_thickness": "Konturtjocklek",
"bold": "FetStil",
"margin": "Nedre marginal"
},
"video_player": {
"title": "Videospelare",
"video_player": "Videospelare",
"video_player_description": "Välj vilken videospelare som ska användas på iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
},
"other": { "other": {
"other_title": "Övrigt", "other_title": "Övrigt",
"video_orientation": "Videoriktning", "video_orientation": "Videoriktning",
@@ -332,13 +294,7 @@
"UNKNOWN": "Okänt" "UNKNOWN": "Okänt"
}, },
"safe_area_in_controls": "Säkert område i kontrollerna", "safe_area_in_controls": "Säkert område i kontrollerna",
"video_player": "Videospelare",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimentell + PiP)"
},
"show_custom_menu_links": "Visa anpassade menylänkar", "show_custom_menu_links": "Visa anpassade menylänkar",
"show_large_home_carousel": "Visa toppbanner (beta)",
"hide_libraries": "Dölj bibliotek", "hide_libraries": "Dölj bibliotek",
"select_liraries_you_want_to_hide": "Välj de bibliotek du vill dölja på fliken Bibliotek och på startsidan.", "select_liraries_you_want_to_hide": "Välj de bibliotek du vill dölja på fliken Bibliotek och på startsidan.",
"disable_haptic_feedback": "Stäng av vibrationer", "disable_haptic_feedback": "Stäng av vibrationer",
@@ -348,9 +304,6 @@
"max_auto_play_episode_count": "Antal Avsnitt för Automatisk Uppspelning", "max_auto_play_episode_count": "Antal Avsnitt för Automatisk Uppspelning",
"disabled": "Inaktiverad" "disabled": "Inaktiverad"
}, },
"downloads": {
"downloads_title": "Nedladdningar"
},
"music": { "music": {
"title": "Musik", "title": "Musik",
"playback_title": "Uppspelning", "playback_title": "Uppspelning",
@@ -371,7 +324,7 @@
"server_url_placeholder": "Seerr URL", "server_url_placeholder": "Seerr URL",
"password": "Lösenord", "password": "Lösenord",
"password_placeholder": "Ange lösenord för Jellyfin användare {{username}}", "password_placeholder": "Ange lösenord för Jellyfin användare {{username}}",
"login_button": "Logga in", "login_button": "Login",
"total_media_requests": "Totalt antal mediaförfrågningar", "total_media_requests": "Totalt antal mediaförfrågningar",
"movie_quota_limit": "Gräns för filmkvot", "movie_quota_limit": "Gräns för filmkvot",
"movie_quota_days": "Filmkvot Dagar", "movie_quota_days": "Filmkvot Dagar",
@@ -394,23 +347,18 @@
"read_more_about_marlin": "Läs mer om Marlin.", "read_more_about_marlin": "Läs mer om Marlin.",
"save_button": "Spara", "save_button": "Spara",
"toasts": { "toasts": {
"saved": "Sparade", "saved": "Sparade"
"refreshed": "Inställningarna uppdateras från servern" }
},
"refresh_from_server": "Uppdatera inställningar från server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Aktivera Streamystats",
"disable_streamystats": "Inaktivera Streamystats", "disable_streamystats": "Inaktivera Streamystats",
"enable_search": "Använd för sökning", "enable_search": "Använd för sökning",
"url": "Webbadress", "url": "Webbadress",
"server_url_placeholder": "http(s)://streamystats.exempel.se", "server_url_placeholder": "http(s)://streamystats.exempel.se",
"streamystats_search_hint": "Ange URL för Marlin-servern. URL bör innehålla http eller https och vid behov port.", "streamystats_search_hint": "Ange URL för Marlin-servern. URL bör innehålla http eller https och vid behov port.",
"read_more_about_streamystats": "Läs mer om Streamystats.", "read_more_about_streamystats": "Läs mer om Streamystats.",
"save_button": "Spara",
"save": "Spara", "save": "Spara",
"features_title": "Funktioner", "features_title": "Funktioner",
"home_sections_title": "Hemsektioner",
"enable_movie_recommendations": "Filmrekommendationer", "enable_movie_recommendations": "Filmrekommendationer",
"enable_series_recommendations": "serierekommendationer", "enable_series_recommendations": "serierekommendationer",
"enable_promoted_watchlists": "rekommenderade listor att titta på", "enable_promoted_watchlists": "rekommenderade listor att titta på",
@@ -426,8 +374,7 @@
"refresh_from_server": "Uppdatera inställningar från server" "refresh_from_server": "Uppdatera inställningar från server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Aktivera vår bevakningslista integration", "watchlist_enabler": "Aktivera vår bevakningslista integration"
"watchlist_button": "sätt på/av bevakningslisteintegrationen"
} }
}, },
"storage": { "storage": {
@@ -438,13 +385,16 @@
"delete_all_downloaded_files": "Ta bort alla nerladdade filer", "delete_all_downloaded_files": "Ta bort alla nerladdade filer",
"music_cache_title": "Musikcache", "music_cache_title": "Musikcache",
"music_cache_description": "Cacha automatiskt låtar när du lyssnar för smidigare uppspelning och offline-stöd", "music_cache_description": "Cacha automatiskt låtar när du lyssnar för smidigare uppspelning och offline-stöd",
"enable_music_cache": "Aktivera musikcache",
"clear_music_cache": "Rensa musikcache", "clear_music_cache": "Rensa musikcache",
"music_cache_size": "{{size}} cachad", "music_cache_size": "{{size}} cachad",
"music_cache_cleared": "Musikcache rensad", "music_cache_cleared": "Musikcache rensad",
"delete_all_downloaded_songs": "Ta bort alla nerladdade filer", "delete_all_downloaded_songs": "Ta bort alla nerladdade filer",
"downloaded_songs_size": "{{size}} nedladdad", "downloaded_songs_size": "{{size}} nedladdad",
"downloaded_songs_deleted": "Nedladdade låtar raderade" "downloaded_songs_deleted": "Nedladdade låtar raderade",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Introduktion", "title": "Introduktion",
@@ -456,8 +406,7 @@
"export_logs": "Exportera Loggar", "export_logs": "Exportera Loggar",
"click_for_more_info": "Klicka för mer Information", "click_for_more_info": "Klicka för mer Information",
"level": "Nivå", "level": "Nivå",
"no_logs_available": "Inga Loggar Tillgängliga", "no_logs_available": "Inga Loggar Tillgängliga"
"delete_all_logs": "Ta Bort Alla Loggar"
}, },
"languages": { "languages": {
"title": "Språk", "title": "Språk",
@@ -465,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Fel Vid Borttagning Av Filer", "error_deleting_files": "Fel Vid Borttagning Av Filer"
"background_downloads_enabled": "Bakgrundsnedladdningar aktiverade", },
"background_downloads_disabled": "Bakgrundsnedladdningar inaktiverade" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -478,10 +439,7 @@
"downloads_title": "Nedladdningar", "downloads_title": "Nedladdningar",
"tvseries": "TV-Serier", "tvseries": "TV-Serier",
"movies": "Filmer", "movies": "Filmer",
"queue": "Kö",
"other_media": "Annan media", "other_media": "Annan media",
"queue_hint": "Kö och nedladdningar kommer försvinna vid omstart av appen",
"no_items_in_queue": "Inga objekt i Kön",
"no_downloaded_items": "Inga Nedladdade Objekt", "no_downloaded_items": "Inga Nedladdade Objekt",
"delete_all_movies_button": "Ta Bort Alla Filmer", "delete_all_movies_button": "Ta Bort Alla Filmer",
"delete_all_tvseries_button": "Ta Bort Alla TV-Serier", "delete_all_tvseries_button": "Ta Bort Alla TV-Serier",
@@ -494,6 +452,7 @@
"new_app_version_requires_re_download_description": "Den nya uppdateringen kräver att innehållet laddas ner igen. Ta bort allt nedladdat innehåll och försök igen.", "new_app_version_requires_re_download_description": "Den nya uppdateringen kräver att innehållet laddas ner igen. Ta bort allt nedladdat innehåll och försök igen.",
"back": "Tillbaka", "back": "Tillbaka",
"delete": "Radera", "delete": "Radera",
"delete_download": "Delete Download",
"something_went_wrong": "Något Gick Fel", "something_went_wrong": "Något Gick Fel",
"could_not_get_stream_url_from_jellyfin": "Det gick inte att hämta strömadressen från Jellyfin", "could_not_get_stream_url_from_jellyfin": "Det gick inte att hämta strömadressen från Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -505,13 +464,8 @@
"failed_to_delete_all_tvseries": "Det Gick Inte Att Ta Bort Alla TV-Serier", "failed_to_delete_all_tvseries": "Det Gick Inte Att Ta Bort Alla TV-Serier",
"deleted_media_successfully": "Andra Medier Har Tagits Bort!", "deleted_media_successfully": "Andra Medier Har Tagits Bort!",
"failed_to_delete_media": "Kunde Inte Ta Bort Andra Medier", "failed_to_delete_media": "Kunde Inte Ta Bort Andra Medier",
"download_deleted": "Nedladdning Borttagen",
"download_cancelled": "Nerladdningen Avbruten", "download_cancelled": "Nerladdningen Avbruten",
"could_not_delete_download": "Kunde Inte Ta Bort Nedladdning", "could_not_delete_download": "Kunde Inte Ta Bort Nedladdning",
"download_paused": "Nedladdning Pausad",
"could_not_pause_download": "Kunde Inte Pausa Nedladdning",
"download_resumed": "Nedladdning Återupptagen",
"could_not_resume_download": "Kunde Inte Återuppta Nedladdning",
"download_completed": "Nedladdning Slutförd", "download_completed": "Nedladdning Slutförd",
"download_failed": "Nerladdningen misslyckades", "download_failed": "Nerladdningen misslyckades",
"download_failed_for_item": "Nedladdning misslyckades för {{item}} - {{error}}", "download_failed_for_item": "Nedladdning misslyckades för {{item}} - {{error}}",
@@ -521,10 +475,7 @@
"item_already_downloading": "{{item}} Laddas redan ner", "item_already_downloading": "{{item}} Laddas redan ner",
"all_files_deleted": "Alla nedladdningar raderades", "all_files_deleted": "Alla nedladdningar raderades",
"files_deleted_by_type": "{{count}} {{type}} Raderad", "files_deleted_by_type": "{{count}} {{type}} Raderad",
"all_files_folders_and_jobs_deleted_successfully": "Alla filer, mappar och jobb har tagits bort",
"failed_to_clean_cache_directory": "Det gick inte att rensa cachemappen",
"could_not_get_download_url_for_item": "Kunde inte hämta nedladdnings-URL för {{itemName}}", "could_not_get_download_url_for_item": "Kunde inte hämta nedladdnings-URL för {{itemName}}",
"go_to_downloads": "Gå till nedladdningar",
"file_deleted": "{{item}} Raderad" "file_deleted": "{{item}} Raderad"
} }
} }
@@ -537,20 +488,18 @@
"audio": "Ljud", "audio": "Ljud",
"subtitle": "Undertext", "subtitle": "Undertext",
"play": "Spela", "play": "Spela",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Ingen", "none": "Ingen",
"track": "Spår", "track": "Spår",
"cancel": "Avbryt", "cancel": "Avbryt",
"stop": "Stoppa",
"delete": "Ta bort", "delete": "Ta bort",
"ok": "OK", "ok": "OK",
"remove": "Radera", "remove": "Radera",
"next": "Nästa",
"back": "Tillbaka", "back": "Tillbaka",
"continue": "Fortsätt", "continue": "Fortsätt",
"verifying": "Verifierar...", "verifying": "Verifierar...",
"login": "Logga in", "login": "Logga in"
"refresh": "Uppdatera",
"seeAll": "Visa alla"
}, },
"search": { "search": {
"search": "Sök...", "search": "Sök...",
@@ -610,7 +559,8 @@
"poster": "Affisch", "poster": "Affisch",
"cover": "Omslag", "cover": "Omslag",
"show_titles": "Visa Titlar", "show_titles": "Visa Titlar",
"show_stats": "Visa Statistik" "show_stats": "Visa Statistik",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genrer", "genres": "Genrer",
@@ -640,6 +590,7 @@
}, },
"player": { "player": {
"live": "LIVE", "live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Fel", "error": "Fel",
"failed_to_get_stream_url": "Kunde inte hämta stream-URL", "failed_to_get_stream_url": "Kunde inte hämta stream-URL",
"an_error_occured_while_playing_the_video": "Ett fel uppstod vid uppspelning av videon. Kontrollera loggarna i inställningarna.", "an_error_occured_while_playing_the_video": "Ett fel uppstod vid uppspelning av videon. Kontrollera loggarna i inställningarna.",
@@ -647,10 +598,6 @@
"could_not_create_stream_for_chromecast": "Kunde inte skapa stream för Chromecast", "could_not_create_stream_for_chromecast": "Kunde inte skapa stream för Chromecast",
"message_from_server": "Meddelande från servern: {{message}}", "message_from_server": "Meddelande från servern: {{message}}",
"next_episode": "Nästa avsnitt", "next_episode": "Nästa avsnitt",
"refresh_tracks": "Uppdatera spår",
"audio_tracks": "Ljudspår:",
"playback_state": "Uppspelningsstatus:",
"index": "Index:",
"continue_watching": "Fortsätt titta", "continue_watching": "Fortsätt titta",
"go_back": "Tillbaka", "go_back": "Tillbaka",
"downloaded_file_title": "Du har denna fil nedladdad", "downloaded_file_title": "Du har denna fil nedladdad",
@@ -681,6 +628,12 @@
"stopPlayingConfirm": "Är du säker på att du vill stoppa uppspelningen?", "stopPlayingConfirm": "Är du säker på att du vill stoppa uppspelningen?",
"downloaded": "Nedladdad" "downloaded": "Nedladdad"
}, },
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
},
"item_card": { "item_card": {
"next_up": "Näst på tur", "next_up": "Näst på tur",
"no_items_to_display": "Inga Artiklar Att Visa", "no_items_to_display": "Inga Artiklar Att Visa",
@@ -711,7 +664,6 @@
"show_more": "Visa Mer", "show_more": "Visa Mer",
"show_less": "Visa Mindre", "show_less": "Visa Mindre",
"left": "kvar", "left": "kvar",
"more_info": "Mer info",
"director": "Regissör", "director": "Regissör",
"cast": "Skådespelare", "cast": "Skådespelare",
"technical_details": "Tekniska detaljer", "technical_details": "Tekniska detaljer",
@@ -793,7 +745,7 @@
"quality_profile": "Kvalitetsprofil", "quality_profile": "Kvalitetsprofil",
"root_folder": "Rotkatalog", "root_folder": "Rotkatalog",
"season_all": "Säsong (alla)", "season_all": "Säsong (alla)",
"season_number": "Säsong {{season_number}}", "season_number": "Säsong {{seasonNumber}}",
"number_episodes": "{{episode_number}} Avsnitt", "number_episodes": "{{episode_number}} Avsnitt",
"born": "Född", "born": "Född",
"appearances": "Framträdanden", "appearances": "Framträdanden",
@@ -838,13 +790,9 @@
"playlists": "Spellistor", "playlists": "Spellistor",
"tracks": "spår" "tracks": "spår"
}, },
"filters": {
"all": "Alla"
},
"recently_added": "Nyligen tillagt", "recently_added": "Nyligen tillagt",
"recently_played": "Nyligen spelat", "recently_played": "Nyligen spelat",
"frequently_played": "Spelas ofta", "frequently_played": "Spelas ofta",
"explore": "Utforska",
"top_tracks": "Toppspår", "top_tracks": "Toppspår",
"play": "Spela", "play": "Spela",
"shuffle": "Blanda spår", "shuffle": "Blanda spår",
@@ -952,5 +900,35 @@
"show": "Denna serie", "show": "Denna serie",
"all": "Alla media (standard)" "all": "Alla media (standard)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Error", "error_title": "Error",
"login_title": "Log In", "login_title": "Log In",
"login_to_title": "Log in to", "login_to_title": "Log in to",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Username", "username_placeholder": "Username",
"password_placeholder": "Password", "password_placeholder": "Password",
"login_button": "Log In", "login_button": "Log In",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Oops!", "oops": "Oops!",
"error_message": "Something went wrong.\nPlease log out and in again.", "error_message": "Something went wrong.\nPlease log out and in again.",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"continue": "Continue",
"next_up": "Next Up", "next_up": "Next Up",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Recently Added in {{libraryName}}", "recently_added_in": "Recently Added in {{libraryName}}",
"suggested_movies": "Suggested Movies", "suggested_movies": "Suggested Movies",
"suggested_episodes": "Suggested Episodes",
"intro": { "intro": {
"welcome_to_streamyfin": "Welcome to Streamyfin", "welcome_to_streamyfin": "Welcome to Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Settings", "settings_title": "Settings",
"log_out_button": "Log Out", "log_out_button": "Log Out",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "ปรับแต่งลักษณะภายนอก", "title": "ปรับแต่งลักษณะภายนอก",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Rewind Length", "rewind_length": "Rewind Length",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "Gesture Controls",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "Horizontal Swipe to Skip",
@@ -220,62 +260,22 @@
"None": "None", "None": "None",
"OnlyForced": "OnlyForced" "OnlyForced": "OnlyForced"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "สีน้ำเงิน",
"Aqua": "Aqua"
},
"thickness": {
"None": "None",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Other", "other_title": "Other",
@@ -294,13 +294,7 @@
"UNKNOWN": "Unknown" "UNKNOWN": "Unknown"
}, },
"safe_area_in_controls": "Safe Area in Controls", "safe_area_in_controls": "Safe Area in Controls",
"video_player": "Video Player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Show Custom Menu Links", "show_custom_menu_links": "Show Custom Menu Links",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Hide Libraries", "hide_libraries": "Hide Libraries",
"select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.",
"disable_haptic_feedback": "Disable Haptic Feedback", "disable_haptic_feedback": "Disable Haptic Feedback",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Disabled" "disabled": "Disabled"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Read More About Marlin.", "read_more_about_marlin": "Read More About Marlin.",
"save_button": "Save", "save_button": "Save",
"toasts": { "toasts": {
"saved": "Saved", "saved": "Saved"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Delete All Downloaded Files", "delete_all_downloaded_files": "Delete All Downloaded Files",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export Logs", "export_logs": "Export Logs",
"click_for_more_info": "Click for More Info", "click_for_more_info": "Click for More Info",
"level": "Level", "level": "Level",
"no_logs_available": "No Logs Available", "no_logs_available": "No Logs Available"
"delete_all_logs": "Delete All Logs"
}, },
"languages": { "languages": {
"title": "Languages", "title": "Languages",
@@ -427,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error Deleting Files", "error_deleting_files": "Error Deleting Files"
"background_downloads_enabled": "Background downloads enabled", },
"background_downloads_disabled": "Background downloads disabled" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-Series", "tvseries": "TV-Series",
"movies": "Movies", "movies": "Movies",
"queue": "Queue",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Queue and downloads will be lost on app restart",
"no_items_in_queue": "No Items in Queue",
"no_downloaded_items": "No Downloaded Items", "no_downloaded_items": "No Downloaded Items",
"delete_all_movies_button": "Delete All Movies", "delete_all_movies_button": "Delete All Movies",
"delete_all_tvseries_button": "Delete All TV-Series", "delete_all_tvseries_button": "Delete All TV-Series",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.", "new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.",
"back": "Back", "back": "Back",
"delete": "Delete", "delete": "Delete",
"delete_download": "Delete Download",
"something_went_wrong": "Something Went Wrong", "something_went_wrong": "Something Went Wrong",
"could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin", "could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Failed to Delete All TV-Series", "failed_to_delete_all_tvseries": "Failed to Delete All TV-Series",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Download Completed", "download_completed": "Download Completed",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Download failed for {{item}} - {{error}}", "download_failed_for_item": "Download failed for {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "All files, folders, and jobs deleted successfully",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Go to Downloads",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitle", "subtitle": "Subtitle",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Search...", "search": "Search...",
@@ -556,6 +548,7 @@
"movies": "Movies", "movies": "Movies",
"series": "Series", "series": "Series",
"boxsets": "Box Sets", "boxsets": "Box Sets",
"playlists": "Playlists",
"items": "Items" "items": "Items"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Cover", "cover": "Cover",
"show_titles": "Show Titles", "show_titles": "Show Titles",
"show_stats": "Show Stats" "show_stats": "Show Stats",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sort By", "sort_by": "Sort By",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Sort Order", "sort_order": "Sort Order",
"tags": "Tags" "tags": "Tags",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "No Links" "no_links": "No Links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "Failed to get the stream URL", "failed_to_get_stream_url": "Failed to get the stream URL",
"an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast",
"message_from_server": "Message from Server: {{message}}", "message_from_server": "Message from Server: {{message}}",
"next_episode": "Next Episode", "next_episode": "Next Episode",
"refresh_tracks": "Refresh Tracks",
"audio_tracks": "Audio Tracks:",
"playback_state": "Playback State:",
"index": "Index:",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"go_back": "Go Back", "go_back": "Go Back",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Next Up", "next_up": "Next Up",
@@ -617,6 +641,11 @@
"series": "Series", "series": "Series",
"seasons": "Seasons", "seasons": "Seasons",
"season": "Season", "season": "Season",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "No episodes for this season", "no_episodes_for_this_season": "No episodes for this season",
"overview": "Overview", "overview": "Overview",
"more_with": "More with {{name}}", "more_with": "More with {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Quality", "quality": "Quality",
"audio": "Audio", "audio": "Audio",
"subtitles": "Subtitle", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Show More", "show_more": "Show More",
"show_less": "Show Less", "show_less": "Show Less",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Appeared In", "appeared_in": "Appeared In",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Could Not Load Item", "could_not_load_item": "Could Not Load Item",
"none": "None", "none": "None",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Download {{item_count}} Items", "download_x_item": "Download {{item_count}} Items",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Download" "download_button": "Download"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Next", "next": "Next",
@@ -652,7 +697,18 @@
"movies": "Movies", "movies": "Movies",
"sports": "Sports", "sports": "Sports",
"for_kids": "For Kids", "for_kids": "For Kids",
"news": "News" "news": "News",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirm", "confirm": "Confirm",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0", "jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0",
"jellyseerr_test_failed": "Seerr test failed. Please try again.", "jellyseerr_test_failed": "Seerr test failed. Please try again.",
@@ -716,7 +778,8 @@
"search": "Search", "search": "Search",
"library": "Library", "library": "Library",
"custom_links": "Custom Links", "custom_links": "Custom Links",
"favorites": "Favorites" "favorites": "Favorites",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "ghIq", "error_title": "ghIq",
"login_title": "lut 'el", "login_title": "lut 'el",
"login_to_title": "lut 'el", "login_to_title": "lut 'el",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "tlhIngan", "username_placeholder": "tlhIngan",
"password_placeholder": "ngoq De'", "password_placeholder": "ngoq De'",
"login_button": "yI'el!", "login_button": "yI'el!",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "QI'ya!", "oops": "QI'ya!",
"error_message": "Doch rurbe'.\nyIQo' 'ej yI'elqa'.", "error_message": "Doch rurbe'.\nyIQo' 'ej yI'elqa'.",
"continue_watching": "tlhol yIHaDqa'", "continue_watching": "tlhol yIHaDqa'",
"continue": "Continue",
"next_up": "wej", "next_up": "wej",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "num tu'lu' {{libraryName}}", "recently_added_in": "num tu'lu' {{libraryName}}",
"suggested_movies": "rutlh DIS", "suggested_movies": "rutlh DIS",
"suggested_episodes": "rutlh Hem",
"intro": { "intro": {
"welcome_to_streamyfin": "Streamyfin yI'el!", "welcome_to_streamyfin": "Streamyfin yI'el!",
"a_free_and_open_source_client_for_jellyfin": "Jellyfin lut 'el je'be' 'ej wang.", "a_free_and_open_source_client_for_jellyfin": "Jellyfin lut 'el je'be' 'ej wang.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "men", "settings_title": "men",
"log_out_button": "yIQo'", "log_out_button": "yIQo'",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "bavHom vum", "rewind_length": "bavHom vum",
"seconds_unit": "tera' rep" "seconds_unit": "tera' rep"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "QavwI' 'ej Qap", "gesture_controls_title": "QavwI' 'ej Qap",
"horizontal_swipe_skip": "SaS mup loSmeH", "horizontal_swipe_skip": "SaS mup loSmeH",
@@ -220,62 +260,22 @@
"None": "pagh", "None": "pagh",
"OnlyForced": "Dun je'" "OnlyForced": "Dun je'"
}, },
"text_color": "GhItlh rIt", "opensubtitles_title": "OpenSubtitles",
"background_color": "Tlhagh rIt", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "pagh",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "patlh", "other_title": "patlh",
@@ -294,13 +294,7 @@
"UNKNOWN": "Sovbe'" "UNKNOWN": "Sovbe'"
}, },
"safe_area_in_controls": "SeHlawDaq yot QIH", "safe_area_in_controls": "SeHlawDaq yot QIH",
"video_player": "mu'tlhegh tlholwI'",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (PiP mIwHa')"
},
"show_custom_menu_links": "menuDaq ret teqlu' yInej", "show_custom_menu_links": "menuDaq ret teqlu' yInej",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "De'wI' bom yIQIj", "hide_libraries": "De'wI' bom yIQIj",
"select_liraries_you_want_to_hide": "De'wI' bom Danej QIj yIwIv.", "select_liraries_you_want_to_hide": "De'wI' bom Danej QIj yIwIv.",
"disable_haptic_feedback": "Qub quvHa' yIQIj", "disable_haptic_feedback": "Qub quvHa' yIQIj",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Disabled" "disabled": "Disabled"
}, },
"downloads": {
"downloads_title": "Qaw' Doch"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Marlin latlh yIlaD", "read_more_about_marlin": "Marlin latlh yIlaD",
"save_button": "yIqIp", "save_button": "yIqIp",
"toasts": { "toasts": {
"saved": "qIp", "saved": "qIp"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Hoch Qaw' Doch yIQaw'", "delete_all_downloaded_files": "Hoch Qaw' Doch yIQaw'",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "De' qon yISamqa'", "export_logs": "De' qon yISamqa'",
"click_for_more_info": "latlh De' yIchIch", "click_for_more_info": "latlh De' yIchIch",
"level": "quv", "level": "quv",
"no_logs_available": "De' qon pagh", "no_logs_available": "De' qon pagh"
"delete_all_logs": "Hoch De' qon yIQaw'"
}, },
"languages": { "languages": {
"title": "Holmey", "title": "Holmey",
@@ -427,9 +414,21 @@
"system": "mIw'a'" "system": "mIw'a'"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Qaw' ghIq", "error_deleting_files": "Qaw' ghIq"
"background_downloads_enabled": "tlhegh Qaw' chu'", },
"background_downloads_disabled": "tlhegh Qaw' QIj" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Qaw' Doch", "downloads_title": "Qaw' Doch",
"tvseries": "TV Hem", "tvseries": "TV Hem",
"movies": "DIS", "movies": "DIS",
"queue": "ghom",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "ghun ghImDI' ghom Qaw'laH.",
"no_items_in_queue": "ghom Doch pagh",
"no_downloaded_items": "Qaw' Doch pagh", "no_downloaded_items": "Qaw' Doch pagh",
"delete_all_movies_button": "Hoch DIS yIQaw'", "delete_all_movies_button": "Hoch DIS yIQaw'",
"delete_all_tvseries_button": "Hoch TV Hem yIQaw'", "delete_all_tvseries_button": "Hoch TV Hem yIQaw'",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "wej chu' Doch Qaw'qa' DaneH. Hoch Qaw' Doch yIQaw' 'ej yIHaDqa'.", "new_app_version_requires_re_download_description": "wej chu' Doch Qaw'qa' DaneH. Hoch Qaw' Doch yIQaw' 'ej yIHaDqa'.",
"back": "yIbav", "back": "yIbav",
"delete": "yIQaw'", "delete": "yIQaw'",
"delete_download": "Delete Download",
"something_went_wrong": "Doch rurbe'", "something_went_wrong": "Doch rurbe'",
"could_not_get_stream_url_from_jellyfin": "Jellyfin tlhol ret URL tu'laHbe'", "could_not_get_stream_url_from_jellyfin": "Jellyfin tlhol ret URL tu'laHbe'",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Hoch TV Hem Qaw'laHbe'", "failed_to_delete_all_tvseries": "Hoch TV Hem Qaw'laHbe'",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Qaw' ghIm", "download_cancelled": "Qaw' ghIm",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Qaw' Qapla'", "download_completed": "Qaw' Qapla'",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "{{item}} Qaw'laHbe' - {{error}}", "download_failed_for_item": "{{item}} Qaw'laHbe' - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Hoch De', ram 'ej vum Qaw' Qapla'",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Qaw' Doch yIghoS",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "mu'tlhegh", "video": "mu'tlhegh",
"audio": "QoQ", "audio": "QoQ",
"subtitle": "De' chu'", "subtitle": "De' chu'",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "yISam...", "search": "yISam...",
@@ -556,6 +548,7 @@
"movies": "DIS", "movies": "DIS",
"series": "Hem", "series": "Hem",
"boxsets": "Hem ghom", "boxsets": "Hem ghom",
"playlists": "Playlists",
"items": "Doch" "items": "Doch"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "nagh", "poster": "nagh",
"cover": "nagh chop", "cover": "nagh chop",
"show_titles": "pab HoS yIHoch", "show_titles": "pab HoS yIHoch",
"show_stats": "chIm De' yIHoch" "show_stats": "chIm De' yIHoch",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "qorDu'", "genres": "qorDu'",
@@ -574,7 +568,11 @@
"sort_by": "yIwIv", "sort_by": "yIwIv",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "wIv mIw", "sort_order": "wIv mIw",
"tags": "De'Hom" "tags": "De'Hom",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "ret pagh" "no_links": "ret pagh"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "ghIq", "error": "ghIq",
"failed_to_get_stream_url": "tlhol ret URL tu'laHbe'", "failed_to_get_stream_url": "tlhol ret URL tu'laHbe'",
"an_error_occured_while_playing_the_video": "mu'tlhegh tlholDI' ghIq. menDaq De' qon mej.", "an_error_occured_while_playing_the_video": "mu'tlhegh tlholDI' ghIq. menDaq De' qon mej.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Chromecast tlhol ret qonlaHbe'", "could_not_create_stream_for_chromecast": "Chromecast tlhol ret qonlaHbe'",
"message_from_server": "Ho'Do' veS jach: {{message}}", "message_from_server": "Ho'Do' veS jach: {{message}}",
"next_episode": "wej HemHom", "next_episode": "wej HemHom",
"refresh_tracks": "ret yIchu'qa'",
"audio_tracks": "QoQ ret:",
"playback_state": "tlhol mIw:",
"index": "nem:",
"continue_watching": "tlhol yIHaDqa'", "continue_watching": "tlhol yIHaDqa'",
"go_back": "Go Back", "go_back": "Go Back",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "wej", "next_up": "wej",
@@ -617,6 +641,11 @@
"series": "Hem", "series": "Hem",
"seasons": "muv", "seasons": "muv",
"season": "muv", "season": "muv",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "muvvam HemHom pagh", "no_episodes_for_this_season": "muvvam HemHom pagh",
"overview": "Hoch Sov", "overview": "Hoch Sov",
"more_with": "{{name}} latlh", "more_with": "{{name}} latlh",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "luj", "quality": "luj",
"audio": "QoQ", "audio": "QoQ",
"subtitles": "De' chu'", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "latlh yIHoch", "show_more": "latlh yIHoch",
"show_less": "Hom yIHoch", "show_less": "Hom yIHoch",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "tlholvam", "appeared_in": "tlholvam",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Doch tlha'laHbe'", "could_not_load_item": "Doch tlha'laHbe'",
"none": "pagh", "none": "pagh",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "{{item_count}} Doch yIQaw'", "download_x_item": "{{item_count}} Doch yIQaw'",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "yIQaw'" "download_button": "yIQaw'"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "wej", "next": "wej",
@@ -652,7 +697,18 @@
"movies": "DIS", "movies": "DIS",
"sports": "QI'", "sports": "QI'",
"for_kids": "puqbeq", "for_kids": "puqbeq",
"news": "De'" "news": "De'",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "yInej", "confirm": "yInej",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr Ho'Do' veS wej law'be'! 2.0.0 yIchu'!", "jellyseer_does_not_meet_requirements": "Jellyseerr Ho'Do' veS wej law'be'! 2.0.0 yIchu'!",
"jellyseerr_test_failed": "Jellyseerr nejlaHbe'. yIHaDqa'.", "jellyseerr_test_failed": "Jellyseerr nejlaHbe'. yIHaDqa'.",
@@ -716,7 +778,8 @@
"search": "Sam", "search": "Sam",
"library": "De'wI' bom", "library": "De'wI' bom",
"custom_links": "teqlu' ret", "custom_links": "teqlu' ret",
"favorites": "wIv Doch" "favorites": "wIv Doch",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Hata", "error_title": "Hata",
"login_title": "Giriş yap", "login_title": "Giriş yap",
"login_to_title": " 'e giriş yap", "login_to_title": " 'e giriş yap",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Kullanıcı adı", "username_placeholder": "Kullanıcı adı",
"password_placeholder": "Şifre", "password_placeholder": "Şifre",
"login_button": "Giriş yap", "login_button": "Giriş yap",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} hesap", "accounts_count": "{{count}} hesap",
"select_account": "Hesap Seç", "select_account": "Hesap Seç",
"add_account": "Hesap Ekle", "add_account": "Hesap Ekle",
"remove_account_description": "{{username}} için kayıtlı bilgiler kaldırılacaktır." "remove_account_description": "{{username}} için kayıtlı bilgiler kaldırılacaktır.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Hesabı Kaydet", "title": "Hesabı Kaydet",
@@ -86,11 +95,11 @@
"oops": "Hups!", "oops": "Hups!",
"error_message": "Bir şeyler ters gitti.\nLütfen çıkış yapıp tekrar giriş yapın.", "error_message": "Bir şeyler ters gitti.\nLütfen çıkış yapıp tekrar giriş yapın.",
"continue_watching": "İzlemeye Devam Et", "continue_watching": "İzlemeye Devam Et",
"continue": "Continue",
"next_up": "Sonraki", "next_up": "Sonraki",
"continue_and_next_up": "İzlemeye Devam Et & Sıradakiler", "continue_and_next_up": "İzlemeye Devam Et & Sıradakiler",
"recently_added_in": "{{libraryName}} Kütüphanesine Son Eklenenler", "recently_added_in": "{{libraryName}} Kütüphanesine Son Eklenenler",
"suggested_movies": "Önerilen Filmler", "suggested_movies": "Önerilen Filmler",
"suggested_episodes": "Önerilen Bölümler",
"intro": { "intro": {
"welcome_to_streamyfin": "Streamyfin'e Hoş Geldiniz", "welcome_to_streamyfin": "Streamyfin'e Hoş Geldiniz",
"a_free_and_open_source_client_for_jellyfin": "Jellyfin için ücretsiz ve açık kaynak bir istemci.", "a_free_and_open_source_client_for_jellyfin": "Jellyfin için ücretsiz ve açık kaynak bir istemci.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Ayarlar", "settings_title": "Ayarlar",
"log_out_button": ıkış Yap", "log_out_button": ıkış Yap",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Kategoriler" "title": "Kategoriler"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Görünüm", "title": "Görünüm",
"merge_next_up_continue_watching": "İzlemeye Devam Et & Sıradakiler'i birleştir", "merge_next_up_continue_watching": "İzlemeye Devam Et & Sıradakiler'i birleştir",
"hide_remote_session_button": "Uzak Oturum Butonunu Gizle" "hide_remote_session_button": "Uzak Oturum Butonunu Gizle",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Ağ", "title": "Ağ",
@@ -174,6 +198,22 @@
"rewind_length": "Geri Sarma Uzunluğu", "rewind_length": "Geri Sarma Uzunluğu",
"seconds_unit": "sn" "seconds_unit": "sn"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Hareketle Kontrol", "gesture_controls_title": "Hareketle Kontrol",
"horizontal_swipe_skip": "Atlamak için yatay kaydırma", "horizontal_swipe_skip": "Atlamak için yatay kaydırma",
@@ -220,62 +260,22 @@
"None": "Yok", "None": "Yok",
"OnlyForced": "Sadece Zorunlu" "OnlyForced": "Sadece Zorunlu"
}, },
"text_color": "Metin Rengi", "opensubtitles_title": "OpenSubtitles",
"background_color": "Arkaplan Rengi", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Kenarlık Rengi", "opensubtitles_api_key": "API Key",
"outline_thickness": "Kenarlık kalınlığı", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Arkaplan Opaklığı", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Kenarlık Opaklığı", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Kalın Metin", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Siyah", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gri", "align": {
"Silver": "Gümüş", "left": "Left",
"White": "Beyaz", "center": "Center",
"Maroon": "Kestane", "right": "Right",
"Red": "Kırmızı", "top": "Top",
"Fuchsia": "Fuşya", "bottom": "Bottom"
"Yellow": "Sarı", }
"Olive": "Zeytin yeşili",
"Green": "Yeşil",
"Teal": "Deniz mavisi",
"Lime": "Limon",
"Purple": "Mor",
"Navy": "Lacivert",
"Blue": "Mavi",
"Aqua": "Açık Mavi"
},
"thickness": {
"None": "Hiçbiri",
"Thin": "İnce",
"Normal": "Normal",
"Thick": "Kalın"
},
"subtitle_color": "Altyazı Rengi",
"subtitle_background_color": "Arkaplan Rengi",
"subtitle_font": "Altyazı Yazı Tipi",
"ksplayer_title": "KSPlayer Ayarları",
"hardware_decode": "Donanımsal Kod Çözme",
"hardware_decode_description": "Video kod çözme için donanımsal hızlandırma kullan. Oynatma sorunları yaşıyorsanız devre dışı bırakın."
},
"vlc_subtitles": {
"title": "VLC Altyazı Ayarları",
"hint": "VLC oynatıcı için altyazı görünümünü değiştirin. Değişiklikler bir sonraki oynatmada etkili olacak.",
"text_color": "Metin Rengi",
"background_color": "Arkaplan Rengi",
"background_opacity": "Arkaplan Opaklığı",
"outline_color": "Kenarlık Rengi",
"outline_opacity": "Kenarlık Opaklığı",
"outline_thickness": "Kenarlık Kalınlığı",
"bold": "Kalın Metin",
"margin": "Alt Kenar Boşluğu"
},
"video_player": {
"title": "Video oynatıcısı",
"video_player": "Video oynatıcısı",
"video_player_description": "iOS'da hangi video oynatıcının kullanılacağını seçin.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Diğer", "other_title": "Diğer",
@@ -294,13 +294,7 @@
"UNKNOWN": "Bilinmeyen" "UNKNOWN": "Bilinmeyen"
}, },
"safe_area_in_controls": "Kontrollerde Güvenli Alan", "safe_area_in_controls": "Kontrollerde Güvenli Alan",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Deneysel + PiP)"
},
"show_custom_menu_links": "Özel Menü Bağlantılarını Göster", "show_custom_menu_links": "Özel Menü Bağlantılarını Göster",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Kütüphaneleri Gizle", "hide_libraries": "Kütüphaneleri Gizle",
"select_liraries_you_want_to_hide": "Kütüphane sekmesinden ve ana sayfa bölümlerinden gizlemek istediğiniz kütüphaneleri seçin.", "select_liraries_you_want_to_hide": "Kütüphane sekmesinden ve ana sayfa bölümlerinden gizlemek istediğiniz kütüphaneleri seçin.",
"disable_haptic_feedback": "Dokunsal Geri Bildirimi Devre Dışı Bırak", "disable_haptic_feedback": "Dokunsal Geri Bildirimi Devre Dışı Bırak",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "En Fazla Otomatik Oynatılacak Bölüm Sayısı", "max_auto_play_episode_count": "En Fazla Otomatik Oynatılacak Bölüm Sayısı",
"disabled": "Devre dışı" "disabled": "Devre dışı"
}, },
"downloads": {
"downloads_title": "İndirmeler"
},
"music": { "music": {
"title": "Müzik", "title": "Müzik",
"playback_title": "Oynatma", "playback_title": "Oynatma",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Marlin hakkında daha fazla oku.", "read_more_about_marlin": "Marlin hakkında daha fazla oku.",
"save_button": "Kaydet", "save_button": "Kaydet",
"toasts": { "toasts": {
"saved": "Kaydedildi", "saved": "Kaydedildi"
"refreshed": "Ayarlar sunucudan yeniden alındı" }
},
"refresh_from_server": "Ayarları Sunucudan Yeniden Al"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Streamystats'ı Etkinleştir",
"disable_streamystats": "Streamystats'ı Devre Dışı Bırak", "disable_streamystats": "Streamystats'ı Devre Dışı Bırak",
"enable_search": "Arama için kullan", "enable_search": "Arama için kullan",
"url": "URL Adresi", "url": "URL Adresi",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Streamystats sunucu URL'sini girin. URL, http veya https içermeli ve isteğe bağlı olarak portu içerebilir.", "streamystats_search_hint": "Streamystats sunucu URL'sini girin. URL, http veya https içermeli ve isteğe bağlı olarak portu içerebilir.",
"read_more_about_streamystats": "Streamystats hakkında daha fazla bilgi.", "read_more_about_streamystats": "Streamystats hakkında daha fazla bilgi.",
"save_button": "Kaydet",
"save": "Kaydet", "save": "Kaydet",
"features_title": "Özellikler", "features_title": "Özellikler",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Film Önerileri", "enable_movie_recommendations": "Film Önerileri",
"enable_series_recommendations": "Dizi Önerileri", "enable_series_recommendations": "Dizi Önerileri",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Ayarları Sunucudan Yeniden Al" "refresh_from_server": "Ayarları Sunucudan Yeniden Al"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Tüm indirilen dosyaları sil", "delete_all_downloaded_files": "Tüm indirilen dosyaları sil",
"music_cache_title": "Müzik Ön Belleği", "music_cache_title": "Müzik Ön Belleği",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Müzik Ön Belleğini Etkinleştir",
"clear_music_cache": "Müzik Ön Belleğini Temizle", "clear_music_cache": "Müzik Ön Belleğini Temizle",
"music_cache_size": "{{size}} ön belleklendi", "music_cache_size": "{{size}} ön belleklendi",
"music_cache_cleared": "Müzik ön belleği temizlendi", "music_cache_cleared": "Müzik ön belleği temizlendi",
"delete_all_downloaded_songs": "Tüm İndirilen Müzikleri Sil", "delete_all_downloaded_songs": "Tüm İndirilen Müzikleri Sil",
"downloaded_songs_size": "{{size}} indirildi", "downloaded_songs_size": "{{size}} indirildi",
"downloaded_songs_deleted": "İndirilen müzikler silindi" "downloaded_songs_deleted": "İndirilen müzikler silindi",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Giriş", "title": "Giriş",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Düzey", "level": "Düzey",
"no_logs_available": "Günlükler mevcut değil", "no_logs_available": "Günlükler mevcut değil"
"delete_all_logs": "Tüm günlükleri sil"
}, },
"languages": { "languages": {
"title": "Diller", "title": "Diller",
@@ -427,9 +414,21 @@
"system": "Sistem" "system": "Sistem"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Dosyalar silinirken hata oluştu", "error_deleting_files": "Dosyalar silinirken hata oluştu"
"background_downloads_enabled": "Arka plan indirmeleri etkinleştirildi", },
"background_downloads_disabled": "Arka plan indirmeleri devre dışı bırakıldı" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "İndirilenler", "downloads_title": "İndirilenler",
"tvseries": "Diziler", "tvseries": "Diziler",
"movies": "Filmler", "movies": "Filmler",
"queue": "Sıra",
"other_media": "Diğer medya", "other_media": "Diğer medya",
"queue_hint": "Sıra ve indirmeler uygulama yeniden başlatıldığında kaybolacaktır",
"no_items_in_queue": "Sırada öğe yok",
"no_downloaded_items": "İndirilen öğe yok", "no_downloaded_items": "İndirilen öğe yok",
"delete_all_movies_button": "Tüm Filmleri Sil", "delete_all_movies_button": "Tüm Filmleri Sil",
"delete_all_tvseries_button": "Tüm Dizileri Sil", "delete_all_tvseries_button": "Tüm Dizileri Sil",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Yeni güncelleme, içeriğin yeniden indirilmesini gerektiriyor. Lütfen tüm indirilen içerikleri kaldırıp tekrar deneyin.", "new_app_version_requires_re_download_description": "Yeni güncelleme, içeriğin yeniden indirilmesini gerektiriyor. Lütfen tüm indirilen içerikleri kaldırıp tekrar deneyin.",
"back": "Geri", "back": "Geri",
"delete": "Sil", "delete": "Sil",
"delete_download": "Delete Download",
"something_went_wrong": "Bir şeyler ters gitti", "something_went_wrong": "Bir şeyler ters gitti",
"could_not_get_stream_url_from_jellyfin": "Jellyfin'den yayın URL'si alınamadı", "could_not_get_stream_url_from_jellyfin": "Jellyfin'den yayın URL'si alınamadı",
"eta": "Tahmini Süre {{eta}}", "eta": "Tahmini Süre {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Diziler silinemedi", "failed_to_delete_all_tvseries": "Diziler silinemedi",
"deleted_media_successfully": "Diğer medya başarıyla silindi!", "deleted_media_successfully": "Diğer medya başarıyla silindi!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "İndirme silindi",
"download_cancelled": "İndirme iptal edildi", "download_cancelled": "İndirme iptal edildi",
"could_not_delete_download": "İndirme Silinemedi", "could_not_delete_download": "İndirme Silinemedi",
"download_paused": "İndirme Duraklatıldı",
"could_not_pause_download": "İndirme Duraklatılamadı",
"download_resumed": "İndirme Devam Ediyor",
"could_not_resume_download": "İndirme Devam Ettirilemedi",
"download_completed": "İndirme tamamlandı", "download_completed": "İndirme tamamlandı",
"download_failed": "İndirme başarısız oldu", "download_failed": "İndirme başarısız oldu",
"download_failed_for_item": "{{item}} için indirme başarısız oldu - {{error}}", "download_failed_for_item": "{{item}} için indirme başarısız oldu - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} zaten indiriliyor", "item_already_downloading": "{{item}} zaten indiriliyor",
"all_files_deleted": "Bütün indirilenler başarıyla silindi", "all_files_deleted": "Bütün indirilenler başarıyla silindi",
"files_deleted_by_type": "{{count}} {{type}} silindi", "files_deleted_by_type": "{{count}} {{type}} silindi",
"all_files_folders_and_jobs_deleted_successfully": "Tüm dosyalar, klasörler ve işler başarıyla silindi",
"failed_to_clean_cache_directory": "Önbellek dizini temizlenemedi",
"could_not_get_download_url_for_item": "{{itemName}} için indirme URL'si alınamadı", "could_not_get_download_url_for_item": "{{itemName}} için indirme URL'si alınamadı",
"go_to_downloads": "İndirmelere git",
"file_deleted": "{{item}} silindi" "file_deleted": "{{item}} silindi"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Seç", "select": "Seç",
"no_trailer_available": "Fragman mevcut değil", "no_trailer_available": "Fragman mevcut değil",
"video": "Video", "video": "Video",
"audio": "Ses", "audio": "Ses",
"subtitle": "Altyazı", "subtitle": "Altyazı",
"play": "Oynat", "play": "Oynat",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "Hiçbiri", "none": "Hiçbiri",
"track": "Parça", "track": "Parça",
"cancel": "Vazgeç", "cancel": "Vazgeç",
"delete": "Sil", "delete": "Sil",
"ok": "Tamam", "ok": "Tamam",
"remove": "Kaldır", "remove": "Kaldır",
"next": "Sonraki",
"back": "Geri", "back": "Geri",
"continue": "Devam", "continue": "Devam",
"verifying": "Doğrulanıyor..." "verifying": "Doğrulanıyor...",
"login": "Login"
}, },
"search": { "search": {
"search": "Ara...", "search": "Ara...",
@@ -556,6 +548,7 @@
"movies": "filmler", "movies": "filmler",
"series": "diziler", "series": "diziler",
"boxsets": "koleksiyonlar", "boxsets": "koleksiyonlar",
"playlists": "Playlists",
"items": "ögeler" "items": "ögeler"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Kapak", "cover": "Kapak",
"show_titles": "Başlıkları göster", "show_titles": "Başlıkları göster",
"show_stats": "İstatistikleri göster" "show_stats": "İstatistikleri göster",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Türler", "genres": "Türler",
@@ -574,7 +568,11 @@
"sort_by": "Sırala", "sort_by": "Sırala",
"filter_by": "Filtrele", "filter_by": "Filtrele",
"sort_order": "Sıralama düzeni", "sort_order": "Sıralama düzeni",
"tags": "Etiketler" "tags": "Etiketler",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Bağlantı yok" "no_links": "Bağlantı yok"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Hata", "error": "Hata",
"failed_to_get_stream_url": "Yayın URL'si alınamadı", "failed_to_get_stream_url": "Yayın URL'si alınamadı",
"an_error_occured_while_playing_the_video": "Video oynatılırken bir hata oluştu. Ayarlardaki günlüklere bakın.", "an_error_occured_while_playing_the_video": "Video oynatılırken bir hata oluştu. Ayarlardaki günlüklere bakın.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Chromecast için yayın oluşturulamadı", "could_not_create_stream_for_chromecast": "Chromecast için yayın oluşturulamadı",
"message_from_server": "Sunucudan mesaj: {{message}}", "message_from_server": "Sunucudan mesaj: {{message}}",
"next_episode": "Sonraki bölüm", "next_episode": "Sonraki bölüm",
"refresh_tracks": "Parçaları yenile",
"audio_tracks": "Ses Parçaları:",
"playback_state": "Oynatma Durumu:",
"index": "İndeks:",
"continue_watching": "İzlemeye devam et", "continue_watching": "İzlemeye devam et",
"go_back": "Geri", "go_back": "Geri",
"downloaded_file_title": "Bu dosya indirilmiş", "downloaded_file_title": "Bu dosya indirilmiş",
"downloaded_file_message": "İndirilmiş dosyayı oynatmak ister misiniz?", "downloaded_file_message": "İndirilmiş dosyayı oynatmak ister misiniz?",
"downloaded_file_yes": "Evet", "downloaded_file_yes": "Evet",
"downloaded_file_no": "Hayır", "downloaded_file_no": "Hayır",
"downloaded_file_cancel": "Vazgeç" "downloaded_file_cancel": "Vazgeç",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Sıradaki", "next_up": "Sıradaki",
@@ -617,6 +641,11 @@
"series": "Dizi", "series": "Dizi",
"seasons": "Sezonlar", "seasons": "Sezonlar",
"season": "Sezon", "season": "Sezon",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Bu sezona ait bölüm yok", "no_episodes_for_this_season": "Bu sezona ait bölüm yok",
"overview": "Özet", "overview": "Özet",
"more_with": "Daha fazla {{name}}", "more_with": "Daha fazla {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Medya Seçenekleri", "media_options": "Medya Seçenekleri",
"quality": "Kalite", "quality": "Kalite",
"audio": "Ses", "audio": "Ses",
"subtitles": "Altyazı", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Daha fazla göster", "show_more": "Daha fazla göster",
"show_less": "Daha az göster", "show_less": "Daha az göster",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Şurada yer aldı", "appeared_in": "Şurada yer aldı",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Öge yüklenemedi", "could_not_load_item": "Öge yüklenemedi",
"none": "Hiçbiri", "none": "Hiçbiri",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "{{item_count}} tane ögeyi indir", "download_x_item": "{{item_count}} tane ögeyi indir",
"download_unwatched_only": "Yalnızca İzlenmemişler", "download_unwatched_only": "Yalnızca İzlenmemişler",
"download_button": "İndir" "download_button": "İndir"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Sonraki", "next": "Sonraki",
@@ -652,7 +697,18 @@
"movies": "Filmler", "movies": "Filmler",
"sports": "Spor", "sports": "Spor",
"for_kids": "Çocuklar İçin", "for_kids": "Çocuklar İçin",
"news": "Haberler" "news": "Haberler",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Onayla", "confirm": "Onayla",
@@ -697,6 +753,12 @@
"decline": "Reddet", "decline": "Reddet",
"requested_by": "{{user}} tarafından istendi", "requested_by": "{{user}} tarafından istendi",
"unknown_user": "Bilinmeyen Kullanıcı", "unknown_user": "Bilinmeyen Kullanıcı",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Jellyseerr sunucusu minimum sürüm gereksinimlerini karşılamıyor! Lütfen en az 2.0.0 sürümüne güncelleyin", "jellyseer_does_not_meet_requirements": "Jellyseerr sunucusu minimum sürüm gereksinimlerini karşılamıyor! Lütfen en az 2.0.0 sürümüne güncelleyin",
"jellyseerr_test_failed": "Jellyseerr testi başarısız oldu. Lütfen tekrar deneyin.", "jellyseerr_test_failed": "Jellyseerr testi başarısız oldu. Lütfen tekrar deneyin.",
@@ -716,7 +778,8 @@
"search": "Ara", "search": "Ara",
"library": "Kütüphane", "library": "Kütüphane",
"custom_links": "Özel Bağlantılar", "custom_links": "Özel Bağlantılar",
"favorites": "Favoriler" "favorites": "Favoriler",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Müzik", "title": "Müzik",
@@ -727,13 +790,9 @@
"playlists": "Çalma listeleri", "playlists": "Çalma listeleri",
"tracks": "parçalar" "tracks": "parçalar"
}, },
"filters": {
"all": "Tümü"
},
"recently_added": "Son Eklenenler", "recently_added": "Son Eklenenler",
"recently_played": "Son Oynatılanlar", "recently_played": "Son Oynatılanlar",
"frequently_played": "Sık Oynatılanlar", "frequently_played": "Sık Oynatılanlar",
"explore": "Keşfet",
"top_tracks": "En Popülar Parçalar", "top_tracks": "En Popülar Parçalar",
"play": "Oynat", "play": "Oynat",
"shuffle": "Karıştır", "shuffle": "Karıştır",
@@ -841,5 +900,35 @@
"show": "Bu dizide", "show": "Bu dizide",
"all": "Bütün medyalarda (varsayılan)" "all": "Bütün medyalarda (varsayılan)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Помилка", "error_title": "Помилка",
"login_title": "Вхід", "login_title": "Вхід",
"login_to_title": "Увійти в", "login_to_title": "Увійти в",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Імʼя користувача", "username_placeholder": "Імʼя користувача",
"password_placeholder": "Пароль", "password_placeholder": "Пароль",
"login_button": "Вхід", "login_button": "Вхід",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Упс!", "oops": "Упс!",
"error_message": "Щось пішло не так.\nБудь ласка вийдіть і увійдіть знов.", "error_message": "Щось пішло не так.\nБудь ласка вийдіть і увійдіть знов.",
"continue_watching": "Продовжити перегляд", "continue_watching": "Продовжити перегляд",
"continue": "Continue",
"next_up": "Далі", "next_up": "Далі",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Нещодавно додане до \"{{libraryName}}\"", "recently_added_in": "Нещодавно додане до \"{{libraryName}}\"",
"suggested_movies": "Рекомендовані Фільми", "suggested_movies": "Рекомендовані Фільми",
"suggested_episodes": "Рекомендовані Епізоди",
"intro": { "intro": {
"welcome_to_streamyfin": "Вітаємо у Streamyfin", "welcome_to_streamyfin": "Вітаємо у Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Вільний і open-source клієнт для Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Вільний і open-source клієнт для Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Параметри", "settings_title": "Параметри",
"log_out_button": "Вихід", "log_out_button": "Вихід",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Довжина перемотування назад", "rewind_length": "Довжина перемотування назад",
"seconds_unit": "с" "seconds_unit": "с"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "Gesture Controls",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "Horizontal Swipe to Skip",
@@ -220,62 +260,22 @@
"None": "Някий", "None": "Някий",
"OnlyForced": "Виключно Форсовані" "OnlyForced": "Виключно Форсовані"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "None",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Інші", "other_title": "Інші",
@@ -294,13 +294,7 @@
"UNKNOWN": "Невідомо" "UNKNOWN": "Невідомо"
}, },
"safe_area_in_controls": "Безпечна зона в елементах керування", "safe_area_in_controls": "Безпечна зона в елементах керування",
"video_player": "Відео плеєр",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Показати користувацькі посилання меню", "show_custom_menu_links": "Показати користувацькі посилання меню",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Сховати медіатеки", "hide_libraries": "Сховати медіатеки",
"select_liraries_you_want_to_hide": "Виберіть медіатеки, що бажаєте приховати з вкладки Медіатека і з секції на головній сторінці.", "select_liraries_you_want_to_hide": "Виберіть медіатеки, що бажаєте приховати з вкладки Медіатека і з секції на головній сторінці.",
"disable_haptic_feedback": "Вимкнути тактильний зворотний зв'язок", "disable_haptic_feedback": "Вимкнути тактильний зворотний зв'язок",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Вимкнено" "disabled": "Вимкнено"
}, },
"downloads": {
"downloads_title": "Завантаження"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Дізнайтеся більше про Marlin.", "read_more_about_marlin": "Дізнайтеся більше про Marlin.",
"save_button": "Зберегти", "save_button": "Зберегти",
"toasts": { "toasts": {
"saved": "Збережено", "saved": "Збережено"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Видалити усі завантаженні файли", "delete_all_downloaded_files": "Видалити усі завантаженні файли",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Level", "level": "Level",
"no_logs_available": "Нема доступних журналів", "no_logs_available": "Нема доступних журналів"
"delete_all_logs": "Видалити усі журнали"
}, },
"languages": { "languages": {
"title": "Мова", "title": "Мова",
@@ -427,9 +414,21 @@
"system": "Системна" "system": "Системна"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Помилка при видалені файлів", "error_deleting_files": "Помилка при видалені файлів"
"background_downloads_enabled": "Завантаження в фоні увімкнене", },
"background_downloads_disabled": "Завантаження в фоні вимкнене" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Завантаження", "downloads_title": "Завантаження",
"tvseries": "ТБ-Серіали", "tvseries": "ТБ-Серіали",
"movies": "Фільми", "movies": "Фільми",
"queue": "Черга",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Черга і завантаження буде втрачене при перезапуску застосунку",
"no_items_in_queue": "Нема елементів в черзі",
"no_downloaded_items": "Нема завантажених елементів", "no_downloaded_items": "Нема завантажених елементів",
"delete_all_movies_button": "Видалити всі Фільми", "delete_all_movies_button": "Видалити всі Фільми",
"delete_all_tvseries_button": "Видалити всі ТБ-Серіали", "delete_all_tvseries_button": "Видалити всі ТБ-Серіали",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Нове оновлення вимагає повторного завантаження вмісту. Будь ласка, видаліть весь завантажений вміст і повторіть спробу.", "new_app_version_requires_re_download_description": "Нове оновлення вимагає повторного завантаження вмісту. Будь ласка, видаліть весь завантажений вміст і повторіть спробу.",
"back": "Назад", "back": "Назад",
"delete": "Видалити", "delete": "Видалити",
"delete_download": "Delete Download",
"something_went_wrong": "Щось пішло не так", "something_went_wrong": "Щось пішло не так",
"could_not_get_stream_url_from_jellyfin": "Не вдалося отримати URL-адресу потоку від Jellyfin", "could_not_get_stream_url_from_jellyfin": "Не вдалося отримати URL-адресу потоку від Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Не вдалося видалити всі телесеріали", "failed_to_delete_all_tvseries": "Не вдалося видалити всі телесеріали",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Завантаження скасоване", "download_cancelled": "Завантаження скасоване",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Завантаження завершено", "download_completed": "Завантаження завершено",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Не вдалося завантажити {{item}} - {{error}}", "download_failed_for_item": "Не вдалося завантажити {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Усі файли, папки та завдання успішно видалено",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Перейти до завантаження",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitle", "subtitle": "Subtitle",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Шукати...", "search": "Шукати...",
@@ -556,6 +548,7 @@
"movies": "фільми", "movies": "фільми",
"series": "серіали", "series": "серіали",
"boxsets": "бокс-сети", "boxsets": "бокс-сети",
"playlists": "Playlists",
"items": "елементи" "items": "елементи"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Постер", "poster": "Постер",
"cover": "Обкладинка", "cover": "Обкладинка",
"show_titles": "Показати заголовки", "show_titles": "Показати заголовки",
"show_stats": "Показати статистику" "show_stats": "Показати статистику",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Жанри", "genres": "Жанри",
@@ -574,7 +568,11 @@
"sort_by": "Відсортувати за", "sort_by": "Відсортувати за",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Порядок сортування", "sort_order": "Порядок сортування",
"tags": "Теги" "tags": "Теги",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Немає посилань" "no_links": "Немає посилань"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Помилка", "error": "Помилка",
"failed_to_get_stream_url": "Не вдалося отримати URL-адресу потоку", "failed_to_get_stream_url": "Не вдалося отримати URL-адресу потоку",
"an_error_occured_while_playing_the_video": "Під час відтворення відео сталася помилка. Перевірте журнал в налаштуваннях.", "an_error_occured_while_playing_the_video": "Під час відтворення відео сталася помилка. Перевірте журнал в налаштуваннях.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Не вдалося створити потік для Chromecast", "could_not_create_stream_for_chromecast": "Не вдалося створити потік для Chromecast",
"message_from_server": "Повідомлення від серверу: {{message}}", "message_from_server": "Повідомлення від серверу: {{message}}",
"next_episode": "Наступний Епізод", "next_episode": "Наступний Епізод",
"refresh_tracks": "Оновити доріжки",
"audio_tracks": "Аудіо-доріжки:",
"playback_state": "Стан відтворення:",
"index": "Індекс:",
"continue_watching": "Продовжити перегляд", "continue_watching": "Продовжити перегляд",
"go_back": "Назад", "go_back": "Назад",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Далі", "next_up": "Далі",
@@ -617,6 +641,11 @@
"series": "Серіали", "series": "Серіали",
"seasons": "Сезони", "seasons": "Сезони",
"season": "Сезон", "season": "Сезон",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "У цьому сезоні немає епізодів", "no_episodes_for_this_season": "У цьому сезоні немає епізодів",
"overview": "Огляд", "overview": "Огляд",
"more_with": "Більше з {{name}}", "more_with": "Більше з {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Якість", "quality": "Якість",
"audio": "Аудіо", "audio": "Аудіо",
"subtitles": "Субтитри", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Показати більше", "show_more": "Показати більше",
"show_less": "Показати менше", "show_less": "Показати менше",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Зʼявлявся у", "appeared_in": "Зʼявлявся у",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Неможливо завантажити елемент", "could_not_load_item": "Неможливо завантажити елемент",
"none": "Нічого", "none": "Нічого",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Завантажено {{item_count}} елементів", "download_x_item": "Завантажено {{item_count}} елементів",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Завантажити" "download_button": "Завантажити"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Наступний", "next": "Наступний",
@@ -652,7 +697,18 @@
"movies": "Фільми", "movies": "Фільми",
"sports": "Спорт", "sports": "Спорт",
"for_kids": "Для дітей", "for_kids": "Для дітей",
"news": "Новини" "news": "Новини",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Підтвердити", "confirm": "Підтвердити",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Версія Jellyseerr не відповідає мінімальним вимогам! Будь ласка, оновіться принаймні до 2.0.0", "jellyseer_does_not_meet_requirements": "Версія Jellyseerr не відповідає мінімальним вимогам! Будь ласка, оновіться принаймні до 2.0.0",
"jellyseerr_test_failed": "Тест Jellyseerr завершився невдало. Спробуйте ще раз.", "jellyseerr_test_failed": "Тест Jellyseerr завершився невдало. Спробуйте ще раз.",
@@ -716,7 +778,8 @@
"search": "Пошук", "search": "Пошук",
"library": "Медіатека", "library": "Медіатека",
"custom_links": "Ваші Посилання", "custom_links": "Ваші Посилання",
"favorites": "Улюблене" "favorites": "Улюблене",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -4,6 +4,9 @@
"error_title": "Lỗi", "error_title": "Lỗi",
"login_title": "Đăng nhập", "login_title": "Đăng nhập",
"login_to_title": "Đăng nhập vào", "login_to_title": "Đăng nhập vào",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Tên người dùng", "username_placeholder": "Tên người dùng",
"password_placeholder": "Mật khẩu", "password_placeholder": "Mật khẩu",
"login_button": "Đăng nhập", "login_button": "Đăng nhập",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Ối!", "oops": "Ối!",
"error_message": "Có lỗi xảy ra.\nVui lòng đăng xuất rồi đăng nhập lại.", "error_message": "Có lỗi xảy ra.\nVui lòng đăng xuất rồi đăng nhập lại.",
"continue_watching": "Tiếp tục xem", "continue_watching": "Tiếp tục xem",
"continue": "Continue",
"next_up": "Tiếp theo", "next_up": "Tiếp theo",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Mới thêm trong {{libraryName}}", "recently_added_in": "Mới thêm trong {{libraryName}}",
"suggested_movies": "Phim gợi ý", "suggested_movies": "Phim gợi ý",
"suggested_episodes": "Tập gợi ý",
"intro": { "intro": {
"welcome_to_streamyfin": "Chào mừng đến với Streamyfin", "welcome_to_streamyfin": "Chào mừng đến với Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "Một ứng dụng miễn phí và mã nguồn mở cho Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "Một ứng dụng miễn phí và mã nguồn mở cho Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Cài đặt", "settings_title": "Cài đặt",
"log_out_button": "Đăng xuất", "log_out_button": "Đăng xuất",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Thời gian tua lui", "rewind_length": "Thời gian tua lui",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "Gesture Controls",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "Horizontal Swipe to Skip",
@@ -220,62 +260,22 @@
"None": "Không hiển thị", "None": "Không hiển thị",
"OnlyForced": "Bắt buộc" "OnlyForced": "Bắt buộc"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "Không có",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Khác", "other_title": "Khác",
@@ -294,13 +294,7 @@
"UNKNOWN": "Không rõ" "UNKNOWN": "Không rõ"
}, },
"safe_area_in_controls": "Vùng an toàn trong điều khiển", "safe_area_in_controls": "Vùng an toàn trong điều khiển",
"video_player": "Trình phát video",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Thử nghiệm + PiP)"
},
"show_custom_menu_links": "Hiện liên kết tùy chỉnh", "show_custom_menu_links": "Hiện liên kết tùy chỉnh",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Ẩn thư viện", "hide_libraries": "Ẩn thư viện",
"select_liraries_you_want_to_hide": "Chọn các thư viện muốn ẩn khỏi mục Thư viện và Trang chủ.", "select_liraries_you_want_to_hide": "Chọn các thư viện muốn ẩn khỏi mục Thư viện và Trang chủ.",
"disable_haptic_feedback": "Tắt phản hồi rung", "disable_haptic_feedback": "Tắt phản hồi rung",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Số tập tự chạy tối đa", "max_auto_play_episode_count": "Số tập tự chạy tối đa",
"disabled": "Đã tắt" "disabled": "Đã tắt"
}, },
"downloads": {
"downloads_title": "Tải xuống"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Tìm hiểu thêm về Marlin.", "read_more_about_marlin": "Tìm hiểu thêm về Marlin.",
"save_button": "Lưu", "save_button": "Lưu",
"toasts": { "toasts": {
"saved": "Đã lưu", "saved": "Đã lưu"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Xóa toàn bộ tập tin đã tải", "delete_all_downloaded_files": "Xóa toàn bộ tập tin đã tải",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Xuất nhật ký", "export_logs": "Xuất nhật ký",
"click_for_more_info": "Nhấn để xem thêm thông tin", "click_for_more_info": "Nhấn để xem thêm thông tin",
"level": "Mức độ", "level": "Mức độ",
"no_logs_available": "Không có nhật ký", "no_logs_available": "Không có nhật ký"
"delete_all_logs": "Xóa tất cả nhật ký"
}, },
"languages": { "languages": {
"title": "Ngôn ngữ", "title": "Ngôn ngữ",
@@ -427,9 +414,21 @@
"system": "Hệ thống" "system": "Hệ thống"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Lỗi khi xóa tập tin", "error_deleting_files": "Lỗi khi xóa tập tin"
"background_downloads_enabled": "Tải trong nền đã bật", },
"background_downloads_disabled": "Tải trong nền đã tắt" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Tải xuống", "downloads_title": "Tải xuống",
"tvseries": "Chương trình TV", "tvseries": "Chương trình TV",
"movies": "Phim", "movies": "Phim",
"queue": "Hàng đợi",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Hàng đợi và tải xuống sẽ bị mất khi khởi động lại ứng dụng",
"no_items_in_queue": "Không có mục trong hàng đợi",
"no_downloaded_items": "Không có mục đã tải", "no_downloaded_items": "Không có mục đã tải",
"delete_all_movies_button": "Xóa tất cả phim", "delete_all_movies_button": "Xóa tất cả phim",
"delete_all_tvseries_button": "Xóa tất cả chương trình TV", "delete_all_tvseries_button": "Xóa tất cả chương trình TV",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "Cập nhật mới yêu cầu phải tải lại nội dung. Vui lòng xóa toàn bộ nội dung đã tải và thử lại.", "new_app_version_requires_re_download_description": "Cập nhật mới yêu cầu phải tải lại nội dung. Vui lòng xóa toàn bộ nội dung đã tải và thử lại.",
"back": "Quay lại", "back": "Quay lại",
"delete": "Xóa", "delete": "Xóa",
"delete_download": "Delete Download",
"something_went_wrong": "Đã xảy ra lỗi", "something_went_wrong": "Đã xảy ra lỗi",
"could_not_get_stream_url_from_jellyfin": "Không thể lấy URL phát trực tiếp từ Jellyfin", "could_not_get_stream_url_from_jellyfin": "Không thể lấy URL phát trực tiếp từ Jellyfin",
"eta": "Thời gian còn lại {{eta}}", "eta": "Thời gian còn lại {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Xóa chương trình TV thất bại", "failed_to_delete_all_tvseries": "Xóa chương trình TV thất bại",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Tải xuống bị hủy", "download_cancelled": "Tải xuống bị hủy",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Tải xuống hoàn tất", "download_completed": "Tải xuống hoàn tất",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Tải {{item}} thất bại {{error}}", "download_failed_for_item": "Tải {{item}} thất bại {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "Đã xóa thành công tất cả tập tin, thư mục và công việc",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Tới phần tải về",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Video", "video": "Video",
"audio": "Âm thanh", "audio": "Âm thanh",
"subtitle": "Phụ đề", "subtitle": "Phụ đề",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Tìm...", "search": "Tìm...",
@@ -556,6 +548,7 @@
"movies": "phim", "movies": "phim",
"series": "chương trình", "series": "chương trình",
"boxsets": "bộ sưu tập", "boxsets": "bộ sưu tập",
"playlists": "Playlists",
"items": "nội dung" "items": "nội dung"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Ảnh bìa dọc", "poster": "Ảnh bìa dọc",
"cover": "Bìa", "cover": "Bìa",
"show_titles": "Hiển thị tiêu đề", "show_titles": "Hiển thị tiêu đề",
"show_stats": "Hiện thống kê" "show_stats": "Hiện thống kê",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Thể loại", "genres": "Thể loại",
@@ -574,7 +568,11 @@
"sort_by": "Sắp xếp theo", "sort_by": "Sắp xếp theo",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Thứ tự", "sort_order": "Thứ tự",
"tags": "Thẻ" "tags": "Thẻ",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "Chưa có liên kết" "no_links": "Chưa có liên kết"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Lỗi", "error": "Lỗi",
"failed_to_get_stream_url": "Không thể lấy URL phát trực tiếp", "failed_to_get_stream_url": "Không thể lấy URL phát trực tiếp",
"an_error_occured_while_playing_the_video": "Có lỗi khi phát video. Xem nhật ký trong cài đặt.", "an_error_occured_while_playing_the_video": "Có lỗi khi phát video. Xem nhật ký trong cài đặt.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Không thể tạo luồng cho Chromecast", "could_not_create_stream_for_chromecast": "Không thể tạo luồng cho Chromecast",
"message_from_server": "Thông báo từ máy chủ: {{message}}", "message_from_server": "Thông báo từ máy chủ: {{message}}",
"next_episode": "Tập tiếp theo", "next_episode": "Tập tiếp theo",
"refresh_tracks": "Làm mới các track",
"audio_tracks": "Track âm thanh:",
"playback_state": "Trạng thái phát:",
"index": "Chỉ mục:",
"continue_watching": "Tiếp tục xem", "continue_watching": "Tiếp tục xem",
"go_back": "Quay lại", "go_back": "Quay lại",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Tiếp theo", "next_up": "Tiếp theo",
@@ -617,6 +641,11 @@
"series": "Chương trình", "series": "Chương trình",
"seasons": "Mùa", "seasons": "Mùa",
"season": "Mùa", "season": "Mùa",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "Không có tập cho mùa này", "no_episodes_for_this_season": "Không có tập cho mùa này",
"overview": "Giới thiệu", "overview": "Giới thiệu",
"more_with": "Thêm với {{name}}", "more_with": "Thêm với {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Chất lượng", "quality": "Chất lượng",
"audio": "Âm thanh", "audio": "Âm thanh",
"subtitles": "Phụ đề", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Xem thêm", "show_more": "Xem thêm",
"show_less": "Thu gọn", "show_less": "Thu gọn",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Xuất hiện trong", "appeared_in": "Xuất hiện trong",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Không thể tải nội dung", "could_not_load_item": "Không thể tải nội dung",
"none": "Không có", "none": "Không có",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Tải {{item_count}} nội dung", "download_x_item": "Tải {{item_count}} nội dung",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Tải" "download_button": "Tải"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Tiếp theo", "next": "Tiếp theo",
@@ -652,7 +697,18 @@
"movies": "Phim", "movies": "Phim",
"sports": "Thể thao", "sports": "Thể thao",
"for_kids": "Dành cho trẻ em", "for_kids": "Dành cho trẻ em",
"news": "Tin tức" "news": "Tin tức",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Xác nhận", "confirm": "Xác nhận",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Máy chủ Jellyseerr không đạt yêu cầu tối thiểu! Vui lòng cập nhật lên ít nhất 2.0.0", "jellyseer_does_not_meet_requirements": "Máy chủ Jellyseerr không đạt yêu cầu tối thiểu! Vui lòng cập nhật lên ít nhất 2.0.0",
"jellyseerr_test_failed": "Kiểm tra Jellyseerr thất bại. Vui lòng thử lại.", "jellyseerr_test_failed": "Kiểm tra Jellyseerr thất bại. Vui lòng thử lại.",
@@ -716,7 +778,8 @@
"search": "Tìm kiếm", "search": "Tìm kiếm",
"library": "Thư viện", "library": "Thư viện",
"custom_links": "Liên kết tùy chỉnh", "custom_links": "Liên kết tùy chỉnh",
"favorites": "Yêu thích" "favorites": "Yêu thích",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }

View File

@@ -43,7 +43,6 @@
"next_up": "下一个", "next_up": "下一个",
"recently_added_in": "最近添加于 {{libraryName}}", "recently_added_in": "最近添加于 {{libraryName}}",
"suggested_movies": "推荐电影", "suggested_movies": "推荐电影",
"suggested_episodes": "推荐剧集",
"intro": { "intro": {
"welcome_to_streamyfin": "欢迎来到 Streamyfin", "welcome_to_streamyfin": "欢迎来到 Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "一个免费且开源的 Jellyfin 客户端。", "a_free_and_open_source_client_for_jellyfin": "一个免费且开源的 Jellyfin 客户端。",
@@ -128,18 +127,12 @@
"UNKNOWN": "未知" "UNKNOWN": "未知"
}, },
"safe_area_in_controls": "控制中的安全区域", "safe_area_in_controls": "控制中的安全区域",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "显示自定义菜单链接", "show_custom_menu_links": "显示自定义菜单链接",
"hide_libraries": "隐藏媒体库", "hide_libraries": "隐藏媒体库",
"select_liraries_you_want_to_hide": "选择您想从媒体库页面和主页隐藏的媒体库。", "select_liraries_you_want_to_hide": "选择您想从媒体库页面和主页隐藏的媒体库。",
"disable_haptic_feedback": "禁用触觉反馈" "disable_haptic_feedback": "禁用触觉反馈"
}, },
"downloads": { "downloads": {
"downloads_title": "下载",
"optimized_versions_server": "Optimized Version 服务器", "optimized_versions_server": "Optimized Version 服务器",
"save_button": "保存", "save_button": "保存",
"optimized_server": "Optimized Server", "optimized_server": "Optimized Server",
@@ -204,8 +197,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Level", "level": "Level",
"no_logs_available": "无可用日志", "no_logs_available": "无可用日志"
"delete_all_logs": "删除所有日志"
}, },
"languages": { "languages": {
"title": "语言", "title": "语言",
@@ -215,8 +207,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "删除文件时出错", "error_deleting_files": "删除文件时出错",
"background_downloads_enabled": "后台下载已启用",
"background_downloads_disabled": "后台下载已禁用",
"connected": "已连接", "connected": "已连接",
"could_not_connect": "无法连接", "could_not_connect": "无法连接",
"invalid_url": "无效 URL" "invalid_url": "无效 URL"
@@ -226,9 +216,6 @@
"downloads_title": "下载", "downloads_title": "下载",
"tvseries": "剧集", "tvseries": "剧集",
"movies": "电影", "movies": "电影",
"queue": "队列",
"queue_hint": "应用重启后队列和下载将会丢失",
"no_items_in_queue": "队列中无项目",
"no_downloaded_items": "无已下载项目", "no_downloaded_items": "无已下载项目",
"delete_all_movies_button": "删除所有电影", "delete_all_movies_button": "删除所有电影",
"delete_all_tvseries_button": "删除所有剧集", "delete_all_tvseries_button": "删除所有剧集",
@@ -264,9 +251,7 @@
"no_response_received_from_server": "未收到服务器响应", "no_response_received_from_server": "未收到服务器响应",
"error_setting_up_the_request": "设置请求时出错", "error_setting_up_the_request": "设置请求时出错",
"failed_to_start_download_for_item_unexpected_error": "无法开始下载 {{item}}: 发生意外错误", "failed_to_start_download_for_item_unexpected_error": "无法开始下载 {{item}}: 发生意外错误",
"all_files_folders_and_jobs_deleted_successfully": "所有文件、文件和任务成功删除", "an_error_occured_while_deleting_files_and_jobs": "删除文件和任务时发生错误"
"an_error_occured_while_deleting_files_and_jobs": "删除文件和任务时发生错误",
"go_to_downloads": "前往下载"
} }
} }
}, },
@@ -360,12 +345,8 @@
"video_has_finished_playing": "视频播放完成!", "video_has_finished_playing": "视频播放完成!",
"no_video_source": "无视频来源...", "no_video_source": "无视频来源...",
"next_episode": "下一集", "next_episode": "下一集",
"refresh_tracks": "刷新轨道",
"subtitle_tracks": "字幕轨道:", "subtitle_tracks": "字幕轨道:",
"audio_tracks": "音频轨道:",
"playback_state": "播放状态:",
"no_data_available": "无可用数据", "no_data_available": "无可用数据",
"index": "索引:",
"continue_watching": "继续观看", "continue_watching": "继续观看",
"go_back": "返回" "go_back": "返回"
}, },

View File

@@ -43,7 +43,6 @@
"next_up": "下一個", "next_up": "下一個",
"recently_added_in": "最近添加於 {{libraryName}}", "recently_added_in": "最近添加於 {{libraryName}}",
"suggested_movies": "推薦電影", "suggested_movies": "推薦電影",
"suggested_episodes": "推薦劇集",
"intro": { "intro": {
"welcome_to_streamyfin": "歡迎來到 Streamyfin", "welcome_to_streamyfin": "歡迎來到 Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "一個免費且開源的 Jellyfin 客戶端。", "a_free_and_open_source_client_for_jellyfin": "一個免費且開源的 Jellyfin 客戶端。",
@@ -128,11 +127,6 @@
"UNKNOWN": "未知" "UNKNOWN": "未知"
}, },
"safe_area_in_controls": "控制中的安全區域", "safe_area_in_controls": "控制中的安全區域",
"video_player": "Video player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "顯示自定義菜單鏈接", "show_custom_menu_links": "顯示自定義菜單鏈接",
"hide_libraries": "隱藏媒體庫", "hide_libraries": "隱藏媒體庫",
"select_liraries_you_want_to_hide": "選擇您想從媒體庫頁面和主頁隱藏的媒體庫。", "select_liraries_you_want_to_hide": "選擇您想從媒體庫頁面和主頁隱藏的媒體庫。",
@@ -142,7 +136,6 @@
"disabled": "已停用" "disabled": "已停用"
}, },
"downloads": { "downloads": {
"downloads_title": "下載",
"optimized_versions_server": "Optimized Version 伺服器", "optimized_versions_server": "Optimized Version 伺服器",
"save_button": "保存", "save_button": "保存",
"optimized_server": "Optimized Server", "optimized_server": "Optimized Server",
@@ -207,8 +200,7 @@
"export_logs": "Export logs", "export_logs": "Export logs",
"click_for_more_info": "Click for more info", "click_for_more_info": "Click for more info",
"level": "Level", "level": "Level",
"no_logs_available": "無可用日誌", "no_logs_available": "無可用日誌"
"delete_all_logs": "刪除所有日誌"
}, },
"languages": { "languages": {
"title": "語言", "title": "語言",
@@ -218,8 +210,6 @@
}, },
"toasts": { "toasts": {
"error_deleting_files": "刪除文件時出錯", "error_deleting_files": "刪除文件時出錯",
"background_downloads_enabled": "背景下載已啟用",
"background_downloads_disabled": "背景下載已禁用",
"connected": "已連接", "connected": "已連接",
"could_not_connect": "無法連接", "could_not_connect": "無法連接",
"invalid_url": "無效的 URL" "invalid_url": "無效的 URL"
@@ -233,9 +223,6 @@
"downloads_title": "下載", "downloads_title": "下載",
"tvseries": "電視劇", "tvseries": "電視劇",
"movies": "電影", "movies": "電影",
"queue": "隊列",
"queue_hint": "應用重啟後隊列和下載將會丟失",
"no_items_in_queue": "隊列中無項目",
"no_downloaded_items": "無已下載項目", "no_downloaded_items": "無已下載項目",
"delete_all_movies_button": "刪除所有電影", "delete_all_movies_button": "刪除所有電影",
"delete_all_tvseries_button": "刪除所有電視劇", "delete_all_tvseries_button": "刪除所有電視劇",
@@ -271,9 +258,7 @@
"no_response_received_from_server": "未收到伺服器的響應", "no_response_received_from_server": "未收到伺服器的響應",
"error_setting_up_the_request": "設置請求時出錯", "error_setting_up_the_request": "設置請求時出錯",
"failed_to_start_download_for_item_unexpected_error": "無法開始下載 {{item}}: 發生意外錯誤", "failed_to_start_download_for_item_unexpected_error": "無法開始下載 {{item}}: 發生意外錯誤",
"all_files_folders_and_jobs_deleted_successfully": "所有文件、文件和任務成功刪除", "an_error_occured_while_deleting_files_and_jobs": "刪除文件和任務時發生錯誤"
"an_error_occured_while_deleting_files_and_jobs": "刪除文件和任務時發生錯誤",
"go_to_downloads": "前往下載"
} }
} }
}, },
@@ -367,12 +352,8 @@
"video_has_finished_playing": "影片播放完畢!", "video_has_finished_playing": "影片播放完畢!",
"no_video_source": "無影片來源...", "no_video_source": "無影片來源...",
"next_episode": "下一集", "next_episode": "下一集",
"refresh_tracks": "刷新軌道",
"subtitle_tracks": "字幕軌道:", "subtitle_tracks": "字幕軌道:",
"audio_tracks": "音頻軌道:",
"playback_state": "播放狀態:",
"no_data_available": "無可用數據", "no_data_available": "無可用數據",
"index": "索引:",
"continue_watching": "繼續觀看", "continue_watching": "繼續觀看",
"go_back": "返回" "go_back": "返回"
}, },

View File

@@ -4,6 +4,9 @@
"error_title": "Error", "error_title": "Error",
"login_title": "Log In", "login_title": "Log In",
"login_to_title": "Log in to", "login_to_title": "Log in to",
"select_user": "Select a user to log in",
"add_user_to_login": "Add a user to log in",
"add_user": "Add User",
"username_placeholder": "Username", "username_placeholder": "Username",
"password_placeholder": "Password", "password_placeholder": "Password",
"login_button": "Log In", "login_button": "Log In",
@@ -42,7 +45,13 @@
"accounts_count": "{{count}} accounts", "accounts_count": "{{count}} accounts",
"select_account": "Select Account", "select_account": "Select Account",
"add_account": "Add Account", "add_account": "Add Account",
"remove_account_description": "This will remove the saved credentials for {{username}}." "remove_account_description": "This will remove the saved credentials for {{username}}.",
"remove_server": "Remove Server",
"remove_server_description": "This will remove {{server}} and all saved accounts from your list.",
"select_your_server": "Select Your Server",
"add_server_to_get_started": "Add a server to get started",
"add_server": "Add Server",
"change_server": "Change Server"
}, },
"save_account": { "save_account": {
"title": "Save Account", "title": "Save Account",
@@ -86,11 +95,11 @@
"oops": "Oops!", "oops": "Oops!",
"error_message": "Something went wrong.\nPlease log out and in again.", "error_message": "Something went wrong.\nPlease log out and in again.",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"continue": "Continue",
"next_up": "Next Up", "next_up": "Next Up",
"continue_and_next_up": "Continue & Next Up", "continue_and_next_up": "Continue & Next Up",
"recently_added_in": "Recently Added in {{libraryName}}", "recently_added_in": "Recently Added in {{libraryName}}",
"suggested_movies": "Suggested Movies", "suggested_movies": "Suggested Movies",
"suggested_episodes": "Suggested Episodes",
"intro": { "intro": {
"welcome_to_streamyfin": "Welcome to Streamyfin", "welcome_to_streamyfin": "Welcome to Streamyfin",
"a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.", "a_free_and_open_source_client_for_jellyfin": "A Free and Open-Source Client for Jellyfin.",
@@ -109,6 +118,12 @@
"settings": { "settings": {
"settings_title": "Settings", "settings_title": "Settings",
"log_out_button": "Log Out", "log_out_button": "Log Out",
"switch_user": {
"title": "Switch User",
"account": "Account",
"switch_user": "Switch User on This Server",
"current": "current"
},
"categories": { "categories": {
"title": "Categories" "title": "Categories"
}, },
@@ -121,7 +136,16 @@
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"merge_next_up_continue_watching": "Merge Continue Watching & Next Up", "merge_next_up_continue_watching": "Merge Continue Watching & Next Up",
"hide_remote_session_button": "Hide Remote Session Button" "hide_remote_session_button": "Hide Remote Session Button",
"show_home_backdrop": "Dynamic Home Backdrop",
"show_hero_carousel": "Hero Carousel",
"show_series_poster_on_episode": "Show Series Poster on Episodes",
"theme_music": "Theme Music",
"display_size": "Display Size",
"display_size_small": "Small",
"display_size_default": "Default",
"display_size_large": "Large",
"display_size_extra_large": "Extra Large"
}, },
"network": { "network": {
"title": "Network", "title": "Network",
@@ -174,6 +198,22 @@
"rewind_length": "Rewind Length", "rewind_length": "Rewind Length",
"seconds_unit": "s" "seconds_unit": "s"
}, },
"buffer": {
"title": "Buffer Settings",
"cache_mode": "Cache Mode",
"cache_auto": "Auto",
"cache_yes": "Enabled",
"cache_no": "Disabled",
"buffer_duration": "Buffer Duration",
"max_cache_size": "Max Cache Size",
"max_backward_cache": "Max Backward Cache"
},
"vo_driver": {
"title": "Video Output",
"vo_mode": "VO Driver",
"gpu_next": "gpu-next (Recommended)",
"gpu": "gpu"
},
"gesture_controls": { "gesture_controls": {
"gesture_controls_title": "Gesture Controls", "gesture_controls_title": "Gesture Controls",
"horizontal_swipe_skip": "Horizontal Swipe to Skip", "horizontal_swipe_skip": "Horizontal Swipe to Skip",
@@ -220,62 +260,22 @@
"None": "None", "None": "None",
"OnlyForced": "OnlyForced" "OnlyForced": "OnlyForced"
}, },
"text_color": "Text Color", "opensubtitles_title": "OpenSubtitles",
"background_color": "Background Color", "opensubtitles_hint": "Enter your OpenSubtitles API key to enable client-side subtitle search as a fallback when your Jellyfin server doesn't have a subtitle provider configured.",
"outline_color": "Outline Color", "opensubtitles_api_key": "API Key",
"outline_thickness": "Outline Thickness", "opensubtitles_api_key_placeholder": "Enter API key...",
"background_opacity": "Background Opacity", "opensubtitles_get_key": "Get your free API key at opensubtitles.com/en/consumers",
"outline_opacity": "Outline Opacity", "mpv_subtitle_scale": "Subtitle Scale",
"bold_text": "Bold Text", "mpv_subtitle_margin_y": "Vertical Margin",
"colors": { "mpv_subtitle_align_x": "Horizontal Align",
"Black": "Black", "mpv_subtitle_align_y": "Vertical Align",
"Gray": "Gray", "align": {
"Silver": "Silver", "left": "Left",
"White": "White", "center": "Center",
"Maroon": "Maroon", "right": "Right",
"Red": "Red", "top": "Top",
"Fuchsia": "Fuchsia", "bottom": "Bottom"
"Yellow": "Yellow", }
"Olive": "Olive",
"Green": "Green",
"Teal": "Teal",
"Lime": "Lime",
"Purple": "Purple",
"Navy": "Navy",
"Blue": "Blue",
"Aqua": "Aqua"
},
"thickness": {
"None": "None",
"Thin": "Thin",
"Normal": "Normal",
"Thick": "Thick"
},
"subtitle_color": "Subtitle Color",
"subtitle_background_color": "Background Color",
"subtitle_font": "Subtitle Font",
"ksplayer_title": "KSPlayer Settings",
"hardware_decode": "Hardware Decoding",
"hardware_decode_description": "Use hardware acceleration for video decoding. Disable if you experience playback issues."
},
"vlc_subtitles": {
"title": "VLC Subtitle Settings",
"hint": "Customize subtitle appearance for VLC player. Changes take effect on next playback.",
"text_color": "Text Color",
"background_color": "Background Color",
"background_opacity": "Background Opacity",
"outline_color": "Outline Color",
"outline_opacity": "Outline Opacity",
"outline_thickness": "Outline Thickness",
"bold": "Bold Text",
"margin": "Bottom Margin"
},
"video_player": {
"title": "Video Player",
"video_player": "Video Player",
"video_player_description": "Choose which video player to use on iOS.",
"ksplayer": "KSPlayer",
"vlc": "VLC"
}, },
"other": { "other": {
"other_title": "Other", "other_title": "Other",
@@ -294,13 +294,7 @@
"UNKNOWN": "Unknown" "UNKNOWN": "Unknown"
}, },
"safe_area_in_controls": "Safe Area in Controls", "safe_area_in_controls": "Safe Area in Controls",
"video_player": "Video Player",
"video_players": {
"VLC_3": "VLC 3",
"VLC_4": "VLC 4 (Experimental + PiP)"
},
"show_custom_menu_links": "Show Custom Menu Links", "show_custom_menu_links": "Show Custom Menu Links",
"show_large_home_carousel": "Show Large Home Carousel (beta)",
"hide_libraries": "Hide Libraries", "hide_libraries": "Hide Libraries",
"select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.", "select_liraries_you_want_to_hide": "Select the libraries you want to hide from the Library tab and home page sections.",
"disable_haptic_feedback": "Disable Haptic Feedback", "disable_haptic_feedback": "Disable Haptic Feedback",
@@ -310,9 +304,6 @@
"max_auto_play_episode_count": "Max Auto Play Episode Count", "max_auto_play_episode_count": "Max Auto Play Episode Count",
"disabled": "Disabled" "disabled": "Disabled"
}, },
"downloads": {
"downloads_title": "Downloads"
},
"music": { "music": {
"title": "Music", "title": "Music",
"playback_title": "Playback", "playback_title": "Playback",
@@ -356,23 +347,18 @@
"read_more_about_marlin": "Read More About Marlin.", "read_more_about_marlin": "Read More About Marlin.",
"save_button": "Save", "save_button": "Save",
"toasts": { "toasts": {
"saved": "Saved", "saved": "Saved"
"refreshed": "Settings refreshed from server" }
},
"refresh_from_server": "Refresh Settings from Server"
}, },
"streamystats": { "streamystats": {
"enable_streamystats": "Enable Streamystats",
"disable_streamystats": "Disable Streamystats", "disable_streamystats": "Disable Streamystats",
"enable_search": "Use for Search", "enable_search": "Use for Search",
"url": "URL", "url": "URL",
"server_url_placeholder": "http(s)://streamystats.example.com", "server_url_placeholder": "http(s)://streamystats.example.com",
"streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.", "streamystats_search_hint": "Enter the URL for your Streamystats server. The URL should include http or https and optionally the port.",
"read_more_about_streamystats": "Read More About Streamystats.", "read_more_about_streamystats": "Read More About Streamystats.",
"save_button": "Save",
"save": "Save", "save": "Save",
"features_title": "Features", "features_title": "Features",
"home_sections_title": "Home Sections",
"enable_movie_recommendations": "Movie Recommendations", "enable_movie_recommendations": "Movie Recommendations",
"enable_series_recommendations": "Series Recommendations", "enable_series_recommendations": "Series Recommendations",
"enable_promoted_watchlists": "Promoted Watchlists", "enable_promoted_watchlists": "Promoted Watchlists",
@@ -388,8 +374,7 @@
"refresh_from_server": "Refresh Settings from Server" "refresh_from_server": "Refresh Settings from Server"
}, },
"kefinTweaks": { "kefinTweaks": {
"watchlist_enabler": "Enable our Watchlist integration", "watchlist_enabler": "Enable our Watchlist integration"
"watchlist_button": "Toggle Watchlist integration"
} }
}, },
"storage": { "storage": {
@@ -400,13 +385,16 @@
"delete_all_downloaded_files": "Delete All Downloaded Files", "delete_all_downloaded_files": "Delete All Downloaded Files",
"music_cache_title": "Music Cache", "music_cache_title": "Music Cache",
"music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support", "music_cache_description": "Automatically cache songs as you listen for smoother playback and offline support",
"enable_music_cache": "Enable Music Cache",
"clear_music_cache": "Clear Music Cache", "clear_music_cache": "Clear Music Cache",
"music_cache_size": "{{size}} cached", "music_cache_size": "{{size}} cached",
"music_cache_cleared": "Music cache cleared", "music_cache_cleared": "Music cache cleared",
"delete_all_downloaded_songs": "Delete All Downloaded Songs", "delete_all_downloaded_songs": "Delete All Downloaded Songs",
"downloaded_songs_size": "{{size}} downloaded", "downloaded_songs_size": "{{size}} downloaded",
"downloaded_songs_deleted": "Downloaded songs deleted" "downloaded_songs_deleted": "Downloaded songs deleted",
"clear_all_cache": "Clear All Cache",
"clear_all_cache_confirm": "Clear All Cache?",
"clear_all_cache_confirm_desc": "Are you sure you want to clear all cached data? This will clear all cached images, music files, subtitles, and query caches. Your settings and login session will be kept.",
"clear_all_cache_error_desc": "An error occurred while clearing the cache."
}, },
"intro": { "intro": {
"title": "Intro", "title": "Intro",
@@ -418,8 +406,7 @@
"export_logs": "Export Logs", "export_logs": "Export Logs",
"click_for_more_info": "Click for More Info", "click_for_more_info": "Click for More Info",
"level": "Level", "level": "Level",
"no_logs_available": "No Logs Available", "no_logs_available": "No Logs Available"
"delete_all_logs": "Delete All Logs"
}, },
"languages": { "languages": {
"title": "Languages", "title": "Languages",
@@ -427,9 +414,21 @@
"system": "System" "system": "System"
}, },
"toasts": { "toasts": {
"error_deleting_files": "Error Deleting Files", "error_deleting_files": "Error Deleting Files"
"background_downloads_enabled": "Background downloads enabled", },
"background_downloads_disabled": "Background downloads disabled" "security": {
"title": "Security",
"inactivity_timeout": {
"title": "Inactivity Timeout",
"disabled": "Disabled",
"1_minute": "1 minute",
"5_minutes": "5 minutes",
"15_minutes": "15 minutes",
"30_minutes": "30 minutes",
"1_hour": "1 hour",
"4_hours": "4 hours",
"24_hours": "24 hours"
}
} }
}, },
"sessions": { "sessions": {
@@ -440,10 +439,7 @@
"downloads_title": "Downloads", "downloads_title": "Downloads",
"tvseries": "TV-Series", "tvseries": "TV-Series",
"movies": "Movies", "movies": "Movies",
"queue": "Queue",
"other_media": "Other media", "other_media": "Other media",
"queue_hint": "Queue and downloads will be lost on app restart",
"no_items_in_queue": "No Items in Queue",
"no_downloaded_items": "No Downloaded Items", "no_downloaded_items": "No Downloaded Items",
"delete_all_movies_button": "Delete All Movies", "delete_all_movies_button": "Delete All Movies",
"delete_all_tvseries_button": "Delete All TV-Series", "delete_all_tvseries_button": "Delete All TV-Series",
@@ -456,6 +452,7 @@
"new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.", "new_app_version_requires_re_download_description": "The new update requires content to be downloaded again. Please remove all downloaded content and try again.",
"back": "Back", "back": "Back",
"delete": "Delete", "delete": "Delete",
"delete_download": "Delete Download",
"something_went_wrong": "Something Went Wrong", "something_went_wrong": "Something Went Wrong",
"could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin", "could_not_get_stream_url_from_jellyfin": "Could not get the stream URL from Jellyfin",
"eta": "ETA {{eta}}", "eta": "ETA {{eta}}",
@@ -467,13 +464,8 @@
"failed_to_delete_all_tvseries": "Failed to Delete All TV-Series", "failed_to_delete_all_tvseries": "Failed to Delete All TV-Series",
"deleted_media_successfully": "Deleted other media Successfully!", "deleted_media_successfully": "Deleted other media Successfully!",
"failed_to_delete_media": "Failed to Delete other media", "failed_to_delete_media": "Failed to Delete other media",
"download_deleted": "Download Deleted",
"download_cancelled": "Download Cancelled", "download_cancelled": "Download Cancelled",
"could_not_delete_download": "Could Not Delete Download", "could_not_delete_download": "Could Not Delete Download",
"download_paused": "Download Paused",
"could_not_pause_download": "Could Not Pause Download",
"download_resumed": "Download Resumed",
"could_not_resume_download": "Could Not Resume Download",
"download_completed": "Download Completed", "download_completed": "Download Completed",
"download_failed": "Download Failed", "download_failed": "Download Failed",
"download_failed_for_item": "Download failed for {{item}} - {{error}}", "download_failed_for_item": "Download failed for {{item}} - {{error}}",
@@ -483,31 +475,31 @@
"item_already_downloading": "{{item}} is already downloading", "item_already_downloading": "{{item}} is already downloading",
"all_files_deleted": "All Downloads Deleted Successfully", "all_files_deleted": "All Downloads Deleted Successfully",
"files_deleted_by_type": "{{count}} {{type}} deleted", "files_deleted_by_type": "{{count}} {{type}} deleted",
"all_files_folders_and_jobs_deleted_successfully": "All files, folders, and jobs deleted successfully",
"failed_to_clean_cache_directory": "Failed to clean cache directory",
"could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}", "could_not_get_download_url_for_item": "Could not get download URL for {{itemName}}",
"go_to_downloads": "Go to Downloads",
"file_deleted": "{{item}} deleted" "file_deleted": "{{item}} deleted"
} }
} }
}, },
"common": { "common": {
"no_results": "No Results",
"select": "Select", "select": "Select",
"no_trailer_available": "No trailer available", "no_trailer_available": "No trailer available",
"video": "Video", "video": "Video",
"audio": "Audio", "audio": "Audio",
"subtitle": "Subtitle", "subtitle": "Subtitle",
"play": "Play", "play": "Play",
"mark_as_played": "Mark as Played",
"mark_as_not_played": "Mark as not Played",
"none": "None", "none": "None",
"track": "Track", "track": "Track",
"cancel": "Cancel", "cancel": "Cancel",
"delete": "Delete", "delete": "Delete",
"ok": "OK", "ok": "OK",
"remove": "Remove", "remove": "Remove",
"next": "Next",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"verifying": "Verifying..." "verifying": "Verifying...",
"login": "Login"
}, },
"search": { "search": {
"search": "Search...", "search": "Search...",
@@ -556,6 +548,7 @@
"movies": "Movies", "movies": "Movies",
"series": "Series", "series": "Series",
"boxsets": "Box Sets", "boxsets": "Box Sets",
"playlists": "Playlists",
"items": "Items" "items": "Items"
}, },
"options": { "options": {
@@ -566,7 +559,8 @@
"poster": "Poster", "poster": "Poster",
"cover": "Cover", "cover": "Cover",
"show_titles": "Show Titles", "show_titles": "Show Titles",
"show_stats": "Show Stats" "show_stats": "Show Stats",
"options_title": "Options"
}, },
"filters": { "filters": {
"genres": "Genres", "genres": "Genres",
@@ -574,7 +568,11 @@
"sort_by": "Sort By", "sort_by": "Sort By",
"filter_by": "Filter By", "filter_by": "Filter By",
"sort_order": "Sort Order", "sort_order": "Sort Order",
"tags": "Tags" "tags": "Tags",
"all": "All",
"reset": "Reset",
"asc": "Ascending",
"desc": "Descending"
} }
}, },
"favorites": { "favorites": {
@@ -591,6 +589,8 @@
"no_links": "No Links" "no_links": "No Links"
}, },
"player": { "player": {
"live": "LIVE",
"mpv_player_title": "MPV Player",
"error": "Error", "error": "Error",
"failed_to_get_stream_url": "Failed to get the stream URL", "failed_to_get_stream_url": "Failed to get the stream URL",
"an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.", "an_error_occured_while_playing_the_video": "An error occurred while playing the video. Check logs in settings.",
@@ -598,17 +598,41 @@
"could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast", "could_not_create_stream_for_chromecast": "Could not create a stream for Chromecast",
"message_from_server": "Message from Server: {{message}}", "message_from_server": "Message from Server: {{message}}",
"next_episode": "Next Episode", "next_episode": "Next Episode",
"refresh_tracks": "Refresh Tracks",
"audio_tracks": "Audio Tracks:",
"playback_state": "Playback State:",
"index": "Index:",
"continue_watching": "Continue Watching", "continue_watching": "Continue Watching",
"go_back": "Go Back", "go_back": "Go Back",
"downloaded_file_title": "You have this file downloaded", "downloaded_file_title": "You have this file downloaded",
"downloaded_file_message": "Do you want to play the downloaded file?", "downloaded_file_message": "Do you want to play the downloaded file?",
"downloaded_file_yes": "Yes", "downloaded_file_yes": "Yes",
"downloaded_file_no": "No", "downloaded_file_no": "No",
"downloaded_file_cancel": "Cancel" "downloaded_file_cancel": "Cancel",
"swipe_down_settings": "Swipe down for settings",
"ends_at": "Ends at {{time}}",
"search_subtitles": "Search Subtitles",
"subtitle_tracks": "Tracks",
"subtitle_search": "Search & Download",
"download": "Download",
"subtitle_download_hint": "Downloaded subtitles will be saved to your library",
"using_jellyfin_server": "Using Jellyfin Server",
"language": "Language",
"results": "Results",
"searching": "Searching...",
"search_failed": "Search failed",
"no_subtitle_provider": "No subtitle provider configured on server",
"no_subtitles_found": "No subtitles found",
"add_opensubtitles_key_hint": "Add OpenSubtitles API key in settings for client-side fallback",
"settings": "Settings",
"skip_intro": "Skip Intro",
"skip_credits": "Skip Credits",
"stopPlayback": "Stop Playback",
"stopPlayingTitle": "Stop playing \"{{title}}\"?",
"stopPlayingConfirm": "Are you sure you want to stop playback?",
"downloaded": "Downloaded"
},
"chapters": {
"title": "Chapters",
"chapter_number": "Chapter {{number}}",
"open": "Open chapters",
"close": "Close chapters"
}, },
"item_card": { "item_card": {
"next_up": "Next Up", "next_up": "Next Up",
@@ -617,6 +641,11 @@
"series": "Series", "series": "Series",
"seasons": "Seasons", "seasons": "Seasons",
"season": "Season", "season": "Season",
"from_this_series": "From This Series",
"more_from_this_season": "More from this Season",
"view_series": "View Series",
"view_season": "View Season",
"select_season": "Select Season",
"no_episodes_for_this_season": "No episodes for this season", "no_episodes_for_this_season": "No episodes for this season",
"overview": "Overview", "overview": "Overview",
"more_with": "More with {{name}}", "more_with": "More with {{name}}",
@@ -627,10 +656,20 @@
"media_options": "Media Options", "media_options": "Media Options",
"quality": "Quality", "quality": "Quality",
"audio": "Audio", "audio": "Audio",
"subtitles": "Subtitle", "subtitles": {
"label": "Subtitle",
"none": "None",
"tracks": "Tracks"
},
"show_more": "Show More", "show_more": "Show More",
"show_less": "Show Less", "show_less": "Show Less",
"left": "left",
"director": "Director",
"cast": "Cast",
"technical_details": "Technical Details",
"appeared_in": "Appeared In", "appeared_in": "Appeared In",
"movies": "Movies",
"shows": "Shows",
"could_not_load_item": "Could Not Load Item", "could_not_load_item": "Could Not Load Item",
"none": "None", "none": "None",
"download": { "download": {
@@ -641,7 +680,13 @@
"download_x_item": "Download {{item_count}} Items", "download_x_item": "Download {{item_count}} Items",
"download_unwatched_only": "Unwatched Only", "download_unwatched_only": "Unwatched Only",
"download_button": "Download" "download_button": "Download"
} },
"mark_played": "Mark as Watched",
"mark_unplayed": "Mark as Unwatched",
"resume_playback": "Resume Playback",
"resume_playback_description": "Do you want to continue where you left off or start from the beginning?",
"play_from_start": "Play from Start",
"continue_from": "Continue from {{time}}"
}, },
"live_tv": { "live_tv": {
"next": "Next", "next": "Next",
@@ -652,7 +697,18 @@
"movies": "Movies", "movies": "Movies",
"sports": "Sports", "sports": "Sports",
"for_kids": "For Kids", "for_kids": "For Kids",
"news": "News" "news": "News",
"page_of": "Page {{current}} of {{total}}",
"no_programs": "No programs available",
"no_channels": "No channels available",
"tabs": {
"programs": "Programs",
"guide": "Guide",
"channels": "Channels",
"recordings": "Recordings",
"schedule": "Schedule",
"series": "Series"
}
}, },
"jellyseerr": { "jellyseerr": {
"confirm": "Confirm", "confirm": "Confirm",
@@ -697,6 +753,12 @@
"decline": "Decline", "decline": "Decline",
"requested_by": "Requested by {{user}}", "requested_by": "Requested by {{user}}",
"unknown_user": "Unknown User", "unknown_user": "Unknown User",
"select": "Select",
"request_all": "Request All",
"request_seasons": "Request Seasons",
"select_seasons": "Select Seasons",
"request_selected": "Request Selected",
"n_selected": "{{count}} selected",
"toasts": { "toasts": {
"jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0", "jellyseer_does_not_meet_requirements": "Seerr server does not meet minimum version requirements! Please update to at least 2.0.0",
"jellyseerr_test_failed": "Seerr test failed. Please try again.", "jellyseerr_test_failed": "Seerr test failed. Please try again.",
@@ -716,7 +778,8 @@
"search": "Search", "search": "Search",
"library": "Library", "library": "Library",
"custom_links": "Custom Links", "custom_links": "Custom Links",
"favorites": "Favorites" "favorites": "Favorites",
"settings": "Settings"
}, },
"music": { "music": {
"title": "Music", "title": "Music",
@@ -727,13 +790,9 @@
"playlists": "Playlists", "playlists": "Playlists",
"tracks": "tracks" "tracks": "tracks"
}, },
"filters": {
"all": "All"
},
"recently_added": "Recently Added", "recently_added": "Recently Added",
"recently_played": "Recently Played", "recently_played": "Recently Played",
"frequently_played": "Frequently Played", "frequently_played": "Frequently Played",
"explore": "Explore",
"top_tracks": "Top Tracks", "top_tracks": "Top Tracks",
"play": "Play", "play": "Play",
"shuffle": "Shuffle", "shuffle": "Shuffle",
@@ -841,5 +900,35 @@
"show": "This show", "show": "This show",
"all": "All media (default)" "all": "All media (default)"
} }
},
"companion_login": {
"title": "Pair with TV",
"align_qr": "Align the QR code within the frame",
"enter_code_manually": "Enter code manually",
"pairing_enter_credentials": "Enter credentials for TV",
"pairing_code_label": "Pairing code",
"server": "Server",
"authorize_button": "Authorize",
"authorizing": "Authorizing...",
"scan_again": "Scan Again",
"done": "Done",
"success_title": "Authorization Sent",
"pairing_tv_connecting": "The TV is connecting to your account",
"error_title": "Authorization Failed",
"error_invalid_qr": "Invalid QR code. Please scan the TV pairing code.",
"error_generic": "Something went wrong. Please try again.",
"error_permission_denied": "Camera permission is required to scan QR codes.",
"login_as": "Log in as {{username}}?",
"on_server": "on {{server}}",
"use_different_user": "Use a different user",
"open_settings": "Open Settings"
},
"pairing": {
"pair_with_phone": "Pair with Phone",
"pair_with_phone_title": "Login TV",
"waiting_for_phone": "Waiting for phone...",
"scan_with_phone": "Scan with the Streamyfin app on your phone",
"logging_in": "Logging in...",
"logging_in_description": "Connecting to your server"
} }
} }