Merge dev of movie-web

This commit is contained in:
Cooper Ransom 2024-03-29 15:11:27 -04:00
commit 82cba14db1
22 changed files with 498 additions and 143 deletions

View File

@ -1,6 +1,6 @@
{
"name": "sudo-flix",
"version": "4.6.2",
"version": "4.6.3",
"private": true,
"homepage": "https://sudo-flix.lol",
"scripts": {
@ -29,7 +29,7 @@
"@formkit/auto-animate": "^0.8.1",
"@headlessui/react": "^1.7.17",
"@ladjs/country-language": "^1.0.3",
"@movie-web/providers": "^2.2.3",
"@movie-web/providers": "^2.2.5",
"@noble/hashes": "^1.3.3",
"@plasmohq/messaging": "^0.6.1",
"@react-spring/web": "^9.7.3",

View File

@ -22,8 +22,8 @@ dependencies:
specifier: ^1.0.3
version: 1.0.3
'@movie-web/providers':
specifier: ^2.2.3
version: 2.2.3
specifier: ^2.2.5
version: 2.2.5
'@noble/hashes':
specifier: ^1.3.3
version: 1.3.3
@ -277,7 +277,7 @@ devDependencies:
version: 0.5.9(prettier@3.1.1)
rollup-plugin-visualizer:
specifier: ^5.11.0
version: 5.11.0(@rollup/wasm-node@4.13.0)
version: 5.11.0(@rollup/wasm-node@4.13.2)
tailwind-scrollbar:
specifier: ^3.0.5
version: 3.0.5(tailwindcss@3.4.0)
@ -1942,8 +1942,8 @@ packages:
engines: {node: '>= 14'}
dev: false
/@movie-web/providers@2.2.3:
resolution: {integrity: sha512-0axy02Zzlk7Tvtalc/Ebv9u5vzUPVWmQm0Ts5+6l6KPU41JUdLnFgmOl0yf0lbNeHRNSTx5SDlvWcYNL8rgpyA==}
/@movie-web/providers@2.2.5:
resolution: {integrity: sha512-/mBtU79uf2pfPwgkqKjoyuHGdDgHjKyGGVtd7xd0EQ5ds6ox5y2bSp4XtQRjZ7rZgyAh0aYFElAsY8SC+Nkz5g==}
dependencies:
cheerio: 1.0.0-rc.12
cookie: 0.6.0
@ -2068,7 +2068,7 @@ packages:
engines: {node: '>=14.0.0'}
dev: false
/@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.13.0):
/@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@ -2081,36 +2081,36 @@ packages:
dependencies:
'@babel/core': 7.23.6
'@babel/helper-module-imports': 7.22.15
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.0)
rollup: /@rollup/wasm-node@4.13.0
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.2)
rollup: /@rollup/wasm-node@4.13.2
dev: true
/@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.13.0):
/@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: npm:@rollup/wasm-node
dependencies:
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.0)
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.2)
'@types/resolve': 1.17.1
builtin-modules: 3.3.0
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.4
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
dev: true
/@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.13.0):
/@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
peerDependencies:
rollup: npm:@rollup/wasm-node
dependencies:
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.0)
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.13.2)
magic-string: 0.25.9
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
dev: true
/@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.13.0):
/@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
@ -2119,11 +2119,11 @@ packages:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
dev: true
/@rollup/wasm-node@4.13.0:
resolution: {integrity: sha512-oFX11wzU7RTaiW06WBtRpzIVN/oaG0I3XkevNO0brBklYnY9zpLhTfksN4b+TdBt6CfXV/KdVhdWLbb0fQIR7A==}
/@rollup/wasm-node@4.13.2:
resolution: {integrity: sha512-4JXYomW63fBnXseG2mFkZwaNMDK0PkNamj9WD6H96FqEEl9ov3VjG3MK9UcOAj7Ap9o2weqSSCVng+QsxBeKfw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
@ -5127,7 +5127,7 @@ packages:
'@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6)
'@babel/types': 7.23.6
kleur: 4.1.5
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
unplugin: 1.5.1
transitivePeerDependencies:
- supports-color
@ -6055,7 +6055,7 @@ packages:
glob: 7.2.3
dev: true
/rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.13.0):
/rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
peerDependencies:
@ -6063,12 +6063,12 @@ packages:
dependencies:
'@babel/code-frame': 7.23.5
jest-worker: 26.6.2
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
serialize-javascript: 4.0.0
terser: 5.19.3
dev: true
/rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.13.0):
/rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.13.2):
resolution: {integrity: sha512-exM0Ms2SN3AgTzMeW7y46neZQcyLY7eKwWAop1ZoRTCZwyrIRdMMJ6JjToAJbML77X/9N8ZEpmXG4Z/Clb9k8g==}
engines: {node: '>=14'}
hasBin: true
@ -6080,7 +6080,7 @@ packages:
dependencies:
open: 8.4.2
picomatch: 2.3.1
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
source-map: 0.7.4
yargs: 17.7.2
dev: true
@ -7070,7 +7070,7 @@ packages:
'@types/node': 20.10.5
esbuild: 0.19.10
postcss: 8.4.32
rollup: /@rollup/wasm-node@4.13.0
rollup: /@rollup/wasm-node@4.13.2
optionalDependencies:
fsevents: 2.3.3
dev: true
@ -7332,9 +7332,9 @@ packages:
'@babel/core': 7.23.6
'@babel/preset-env': 7.23.6(@babel/core@7.23.6)
'@babel/runtime': 7.23.6
'@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.13.0)
'@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.13.0)
'@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.13.0)
'@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.13.2)
'@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.13.2)
'@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.13.2)
'@surma/rollup-plugin-off-main-thread': 2.2.3
ajv: 8.12.0
common-tags: 1.8.2
@ -7343,8 +7343,8 @@ packages:
glob: 7.2.3
lodash: 4.17.21
pretty-bytes: 5.6.0
rollup: /@rollup/wasm-node@4.13.0
rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.13.0)
rollup: /@rollup/wasm-node@4.13.2
rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.13.2)
source-map: 0.8.0-beta.0
stringify-object: 3.3.0
strip-comments: 2.0.1

View File

@ -532,6 +532,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Difuminat del fons",
"backgroundLabel": "Opacitat del fons",
"colorLabel": "Color",
"previewQuote": "No he de tenir por. La por és l'assassina de la ment.",

View File

@ -532,6 +532,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Difuminat del fons",
"backgroundLabel": "Opacitat del fons",
"colorLabel": "Color",
"previewQuote": "No he de tindre por. La por és l'assassina de la ment.",

View File

@ -122,7 +122,7 @@
"default": "Co si přejete sledovat?",
"extra": [
"Co chcete objevit?",
null,
"Co je na vašem seznamu sledovaných filmů?",
"Jaký je váš oblíbený film?",
"Jaký je tvůj oblíbený seriál?"
]
@ -132,21 +132,15 @@
"titles": {
"day": {
"default": "Na co byste se chtěli dnes odpoledne dívat?",
"extra": [
"Chceš zažít dobrodružství? Jurský Park je pro tebe."
]
"extra": ["Chceš zažít dobrodružství? Jurský Park je pro tebe."]
},
"morning": {
"default": "Na co byste se chtěli dnes ráno dívat?",
"extra": [
"Slyšel jsem, že Před úsvitem je super."
]
"extra": ["Slyšel jsem, že Před úsvitem je super"]
},
"night": {
"default": "Na co byste se chtěli dnes večer dívat?",
"extra": [
"Unaven? Slyšel jsem, že Vymítač ďábla je super."
]
"extra": ["Unaven? Slyšel jsem, že Vymítač ďábla je super."]
}
}
},
@ -187,9 +181,10 @@
"back": "Zpět",
"explainer": "Pomocí rozšíření prohlížeče můžete získat nejlepší streamy, které nabízíme. S pouhou instalací.",
"explainerIos": "Bohužel rozšíření není podporováno na iOS. Stiskněte <bold>Zpět</bold> pro výběr jiné možnosti.",
"extensionHelp": "Pokud jste rozšíření nainstalovali, ale nebylo zjištěno. <bold>Otevřete rozšíření pomocí nabídky rozšíření ve vašem prohlížeči</bold> a postupujte podle pokynů na obrazovce.",
"extensionHelp": "Pokud jste rozšíření nainstalovali, ale nebylo zjištěno, <bold>otevřete rozšíření pomocí nabídky rozšíření ve vašem prohlížeči</bold> a postupujte podle pokynů na obrazovce.",
"linkChrome": "Instalovat rozšíření pro Chrome",
"linkFirefox": "Instalovat rozšíření pro Firefox",
"notDetecting": "Nainstalováno na Chromu, ale stránka to nezaznamenala? Skuste přenačíst stránku!",
"notDetectingAction": "Obnovit stránku",
"status": {
"disallowed": "Rozšíření není pro tuto stránku povoleno",
@ -534,6 +529,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Rozostření pozadí",
"backgroundLabel": "Neprůhlednost pozadí",
"colorLabel": "Barva",
"previewQuote": "Nesmím se bát. Strach zabíjí myšlení.",

View File

@ -290,6 +290,7 @@
"title": "Qualität"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Download",
"enableSubtitles": "Untettitel aktivieren",
"experienceSection": "Anzeigeerlebnis",
@ -316,8 +317,9 @@
"unknownOption": "Unbekannt"
},
"subtitles": {
"customChoice": "Untertitel aus Datei wählen",
"customChoice": "Untertiteldatei auswählen oder hier ablegen",
"customizeLabel": "Anpassen",
"dropSubtitleFile": "Untertiteldatei hier ablegen",
"offChoice": "Aus",
"settings": {
"backlink": "Eigene Untertitel",
@ -375,6 +377,13 @@
"title": "Hoppla, etwas ist schiefgegangen!"
},
"scraping": {
"extensionFailure": {
"badge": "Erweiterung deaktiviert",
"enableExtension": "Erweiterung aktivieren",
"homeButton": "Zur Startseite",
"text": "Du hast die sudo-flixe Erweiterung installiert. Um die Erweiterung zu benutzen, musst du sie für diese Seite aktivieren.",
"title": "Bitte aktiviere die Erweiterung"
},
"items": {
"failure": "Ein Fehler ist aufgetreten",
"notFound": "Video nicht gefunden",

View File

@ -290,6 +290,7 @@
"title": "Calidad"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Descargar",
"enableSubtitles": "Habilitar subtítulos",
"experienceSection": "Experiencia de visualización",
@ -316,8 +317,9 @@
"unknownOption": "Desconocida"
},
"subtitles": {
"customChoice": "Seleccionar subtítulo del archivo",
"customChoice": "Sube o arrastra un archivo",
"customizeLabel": "Personalizar",
"dropSubtitleFile": "Suelta el archivo de subtítulos aquí",
"offChoice": "Apagado",
"settings": {
"backlink": "Subtítulos personalizados",
@ -532,6 +534,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Desefoque de fondo",
"backgroundLabel": "Opacidad del fondo",
"colorLabel": "Color",
"previewQuote": "No debo temer. El miedo es el asesino de la mente.",

View File

@ -151,7 +151,8 @@
"types": {
"movie": "Film",
"show": "Saade"
}
},
"unreleased": "Avaldamata"
},
"navigation": {
"banner": {
@ -290,6 +291,7 @@
"title": "Kvaliteet"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Lae alla",
"enableSubtitles": "Luba Subtiitrid",
"experienceSection": "Vaatamise kogemus",
@ -316,8 +318,9 @@
"unknownOption": "Teadmata"
},
"subtitles": {
"customChoice": "Vali subtiitrid failist",
"customChoice": "Kukuta või vali subtiitri fail",
"customizeLabel": "Kohanda",
"dropSubtitleFile": "Kukuta subtiitri fail siia",
"offChoice": "Välja",
"settings": {
"backlink": "Kohandatud subtiitrid",
@ -375,6 +378,13 @@
"title": "Video mängimine ebaōnnestus!"
},
"scraping": {
"extensionFailure": {
"badge": "Brauserilaiendus väljalülitatud",
"enableExtension": "Lülita brauserilaiendus sisse",
"homeButton": "Tagasi",
"text": "Olete allalaadinud sudo-flix'i brauserilaiendue. Selle kasutamiseks peate vajutama brauserilaienduse peale ning andma ligipääsu praegusele saidile.",
"title": "Palun lülita brauserilaiendus sisse"
},
"items": {
"failure": "Tekkis viga",
"notFound": "Ei ole videot",

View File

@ -73,7 +73,7 @@
}
},
"errors": {
"badge": "مشکلی رخ داده",
"badge": "مشکلی رخ داد",
"details": "جزئیات خطا",
"reloadPage": "صفحه را دوباره بارگذاری کنید",
"showError": "نمایش جزئیات خطا",
@ -89,7 +89,7 @@
"dmca": "DMCA",
"github": "گیت هاب"
},
"tagline": "فیلم و سریال مورد علاقه‌تان را با این برنامه استریم متن باز تماشا کنید."
"tagline": "فیلم و سریال مورد علاقه‌تان را با این برنامه استریم اوپن سورس تماشا کنید."
},
"global": {
"name": "مووی-وب",
@ -155,7 +155,8 @@
"types": {
"movie": "فیلم",
"show": "سریال"
}
},
"unreleased": "منتشر نشده"
},
"navigation": {
"banner": {
@ -294,6 +295,7 @@
"title": "کیفیت"
},
"settings": {
"audioItem": "صدا",
"downloadItem": "دانلود",
"enableSubtitles": "فعال کردن زیرنویس",
"experienceSection": "تجربه مشاهده",
@ -320,8 +322,9 @@
"unknownOption": "ناشناخته"
},
"subtitles": {
"customChoice": "انتخاب زیرنویس از فایل",
"customChoice": "فایل را رها یا آپلود کنید",
"customizeLabel": "شخصی سازی",
"dropSubtitleFile": "فایل زیرنویس را اینجا بکشید",
"offChoice": "خاموش",
"settings": {
"backlink": "زیرنویس سفارشی",
@ -379,6 +382,13 @@
"title": "پخش ویدئو موفقیت آمیز نبود!"
},
"scraping": {
"extensionFailure": {
"badge": "اکستنشن غیر فعال شد",
"enableExtension": "اکستنشن را فعال کنید",
"homeButton": "خانه",
"text": "شما اکستنشن مووی-وب را نصب کردید. برای شروع استفاده از ان، شما نیاز به فعال کردن آن دارید",
"title": "لطفا اکستنشن را فعال کنید"
},
"items": {
"failure": "مشکلی پیش آمده",
"notFound": "این ویدیو وجود ندارد",

View File

@ -295,6 +295,7 @@
"title": "Qualité"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Télécharger",
"enableSubtitles": "Activer les sous-titres",
"experienceSection": "Expérience de visionnage",
@ -321,8 +322,9 @@
"unknownOption": "Inconnu"
},
"subtitles": {
"customChoice": "Importer des sous-titres depuis un fichier",
"customChoice": "Glisser ou charger un fichier",
"customizeLabel": "Personnaliser",
"dropSubtitleFile": "Glisser le fichier des sous-titres ici",
"offChoice": "Désactivé",
"settings": {
"backlink": "Sous-titres personnalisés",

View File

@ -57,6 +57,8 @@
},
"host": "Estaste a conectar a <0>{{hostname}}</0> - por favor, confirma se confías antes de crear a conta",
"no": "Regresar",
"noHost": "O servidor non está configurado, polo que non podes crear unha conta",
"noHostTitle": "O servidor non está configurado!",
"title": "Confías neste servidor?",
"yes": "Si, si que confío neste servidor"
},
@ -118,7 +120,12 @@
"noResults": "Non atopamos nada!",
"placeholder": {
"default": "Que che gustaría ver?",
"extra": []
"extra": [
"Qué queres explorar?",
"Que está na túa lista se seguimiento?",
"Cal é a túa película favorita?",
"Cal é a túa serie favorita?"
]
},
"sectionTitle": "Resultados da busca"
},
@ -241,6 +248,7 @@
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Copiar a ligazón da lista HLS",
"disclaimer": "As descargas proveñen do provedor. sudo-flix non ten control sobre as descargas e a súa procedencia.",
"downloadSubtitle": "Descargar subtítulos actuais",
"downloadVideo": "Descargar video",
@ -282,6 +290,7 @@
"title": "Calidade"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Descargar",
"enableSubtitles": "Activar subtítulos",
"experienceSection": "Configuración de experiencia",
@ -308,8 +317,9 @@
"unknownOption": "Descoñecido"
},
"subtitles": {
"customChoice": "Seleccionar subtítulos dende o arquivo",
"customChoice": "Sube ou arrastra o arquivo",
"customizeLabel": "Personalizar",
"dropSubtitleFile": "Solta o arquivo de subtítulos aquí",
"offChoice": "Apagar",
"settings": {
"backlink": "Subtítulos personalizados",
@ -524,6 +534,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Desenfoque do fondo",
"backgroundLabel": "Opacidade do fondo",
"colorLabel": "Cór",
"previewQuote": "Non debo temer. O medo é o asasino da mente.",

View File

@ -95,6 +95,7 @@
"about": "Tentang",
"dmca": "DMCA",
"login": "Masuk",
"onboarding": "Penyiapan",
"pagetitle": "{{title}} - sudo-flix",
"register": "Daftar",
"settings": "Pengaturan"
@ -117,7 +118,12 @@
"noResults": "Kami tidak dapat menemukan apapun!",
"placeholder": {
"default": "Apa yang ingin anda tonton?",
"extra": []
"extra": [
"Apa yang ingin kamu jelajahi?",
"Ada apa di daftar tontonmu?",
"Apa film favoritmu?",
"Apa serial favoritmu?"
]
},
"sectionTitle": "Hasil pencarian"
},
@ -164,6 +170,16 @@
"message": "Kami sudah mencari dimana-mana: di bawah tempat sampah, di lemari, di belakang server proxy, tapi tetap gagal menemukan halaman yang anda cari.",
"title": "Gagal menemukan halaman"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Batal",
"title": "Apa kamu yakin?"
},
"extension": {
"back": "Kembali",
"explainerIos": "Sayangnya, ekstensi browser tidak didukung di iOS, Tekan <bold>Kembali<bold> untuk memilih opsi lain."
}
},
"overlays": {
"close": "Tutup"
},

View File

@ -138,15 +138,11 @@
},
"morning": {
"default": "Cosa vorresti guardare questa mattina?",
"extra": [
"Ho sentito che «Prima Dell'alba» è buono"
]
"extra": ["Ho sentito che «Prima Dell'alba» è buono"]
},
"night": {
"default": "Cosa vorresti guardare questa sera?",
"extra": [
"Stanco? Ho sentito che L'esorciccio è buono."
]
"extra": ["Stanco? Ho sentito che L'esorciccio è buono."]
}
}
},
@ -155,7 +151,8 @@
"types": {
"movie": "Film",
"show": "Serie"
}
},
"unreleased": "Inedito"
},
"navigation": {
"banner": {
@ -294,6 +291,7 @@
"title": "Qualità"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Scarica",
"enableSubtitles": "Abilita i sottotitoli",
"experienceSection": "Esperienza di visione",
@ -320,8 +318,9 @@
"unknownOption": "Sconosciuto"
},
"subtitles": {
"customChoice": "Selezionare i sottotitoli dal file",
"customChoice": "Trascina o carica il file",
"customizeLabel": "Personalizzare",
"dropSubtitleFile": "Trascina il file dei sottotitoli qui",
"offChoice": "Spento",
"settings": {
"backlink": "Sottotitoli personalizzati",
@ -379,6 +378,13 @@
"title": "Impossibile riprodurre il video!"
},
"scraping": {
"extensionFailure": {
"badge": "L'estensione è disabilitata",
"enableExtension": "Abilita l'estensione",
"homeButton": "Torna alla pagina iniziale",
"text": "Avete installato l'estensione sudo-flix. Per iniziare a usarla, è necessario abilitare l'estensione per questo sito.",
"title": "Abilita l'estensione"
},
"items": {
"failure": "Si è verificato un errore",
"notFound": "Non ha il video",

View File

@ -138,15 +138,11 @@
},
"morning": {
"default": "Waar wil je deze ochtend naar kijken?",
"extra": [
"Ik hoor dat Before Sunrise goed is"
]
"extra": ["Ik hoor dat Before Sunrise goed is"]
},
"night": {
"default": "Wat wil je vanavond bekijken?",
"extra": [
"Moe? Ik hoor dat The Exorcist goed is."
]
"extra": ["Moe? Ik hoor dat The Exorcist goed is."]
}
}
},
@ -294,6 +290,7 @@
"title": "Kwaliteit"
},
"settings": {
"audioItem": "Audio",
"downloadItem": "Download",
"enableSubtitles": "Ondertitels inschakelen",
"experienceSection": "Kijk-ervaring",
@ -320,8 +317,9 @@
"unknownOption": "Onbekend"
},
"subtitles": {
"customChoice": "Selecteer ondertiteling uit bestand",
"customChoice": "Sleep of upload bestand",
"customizeLabel": "Aanpassen",
"dropSubtitleFile": "Sleep ondertitelbestand naar hier",
"offChoice": "Uit",
"settings": {
"backlink": "Aangepaste ondertiteling",
@ -379,6 +377,13 @@
"title": "Oeps, hier ging iets mis!"
},
"scraping": {
"extensionFailure": {
"badge": "Extensie uitgeschakeld",
"enableExtension": "Extensie inschakelen",
"homeButton": "Naar hoofdpagina",
"text": "Je hebt de sudo-flix extensie geïnstalleerd. Om deze te gebruiken, moet je de extensie inschakelen voor deze site.",
"title": "Activeer alstublieft de extensie"
},
"items": {
"failure": "Daar ging iets mis",
"notFound": "Er is geen video gevonden",

View File

@ -57,6 +57,8 @@
},
"host": "Łączysz się z <0>{{hostname}}</0> - przed utworzeniem konta potwierdź że ufasz temu serwerowi",
"no": "Wstecz",
"noHost": "Serwer nie został skonfigurowany, więc nie można utworzyć konta",
"noHostTitle": "Serwer nie skonfigurowany!",
"title": "Ufasz temu serwerowi?",
"yes": "Ufam temu serwerowi"
},
@ -117,7 +119,13 @@
"loading": "Wczytywanie...",
"noResults": "Nie mogliśmy niczego znaleźć!",
"placeholder": {
"default": "Co chciałbyś obejrzeć?"
"default": "Co chciałbyś obejrzeć?",
"extra": [
"Co chcesz odkryć?",
"Co znajduje się na Twojej liście do obejrzenia?",
"Jaki jest twój ulubiony film?",
"Jaki jest twój ulubiony serial?"
]
},
"sectionTitle": "Wyniki wyszukiwania"
},
@ -130,15 +138,11 @@
},
"morning": {
"default": "Co chciałbyś obejrzeć dziś rano?",
"extra": [
"Słyszałem że „Przed wschodem słońca” jest dobre"
]
"extra": ["Słyszałem że „Przed wschodem słońca” jest dobre"]
},
"night": {
"default": "Co chciałbyś obejrzeć dziś wieczorem?",
"extra": [
"Zmęczony? Słyszałem że „Egzorcysta” jest dobry."
]
"extra": ["Zmęczony? Słyszałem że „Egzorcysta” jest dobry."]
}
}
},
@ -182,7 +186,7 @@
"extensionHelp": "Jeżeli zainstalowałeś rozszerzenie, ale nie zostało ono wykryte, <bold>otwórz rozszerzenie za pomocą menu rozszerzeń przeglądarki</bold> i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.",
"linkChrome": "Zainstaluj rozszerzenie na Chrome",
"linkFirefox": "Zainstaluj rozszerzenie na Firefox",
"notDetecting": "Zainstalowano na Chrome, ale się nie wyświetla? Spróbuj odświeżyć stronę!",
"notDetecting": "Zainstalowano w Chrome, ale strona go nie wykrywa? Spróbuj odświeżyć stronę!",
"notDetectingAction": "Odśwież stronę",
"status": {
"disallowed": "Rozszerzenie nie jest włączone dla tej strony",
@ -244,6 +248,7 @@
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Kopiuj link do listy odtwarzania HLS",
"disclaimer": "Pliki do pobrania są pobierane bezpośrednio od dostawcy. sudo-flix nie ma kontroli nad sposobem dostarczania plików do pobrania.",
"downloadSubtitle": "Pobierz aktualne napisy",
"downloadVideo": "Pobierz wideo",
@ -285,6 +290,7 @@
"title": "Jakość"
},
"settings": {
"audioItem": "Dźwięk",
"downloadItem": "Pobierz",
"enableSubtitles": "Włącz napisy",
"experienceSection": "Odtwarzanie",
@ -311,8 +317,9 @@
"unknownOption": "Nieznany"
},
"subtitles": {
"customChoice": "Wybierz napisy z pliku",
"customChoice": "Wrzuć lub prześlij plik",
"customizeLabel": "Dostosuj",
"dropSubtitleFile": "Przeciągnij i upuść plik z napisami tutaj",
"offChoice": "Wyłączone",
"settings": {
"backlink": "Własne napisy",

View File

@ -57,6 +57,8 @@
},
"host": "Você está se conectando a <0>{{hostname}}</0> - por favor, confirme se confia nele antes de criar uma conta",
"no": "Voltar",
"noHost": "O servidor não foi configurado, portanto você não pode criar uma conta",
"noHostTitle": "Servidor não configurado!",
"title": "Você confia neste servidor?",
"yes": "Eu confio neste servidor"
},
@ -118,7 +120,12 @@
"noResults": "Não conseguimos encontrar nada!",
"placeholder": {
"default": "O que você quer assistir?",
"extra": []
"extra": [
"O que você gostaria de explorar?",
"O que está na sua lista para assistir?",
"Qual o seu filme favorito?",
"Qual a sua série favorita?"
]
},
"sectionTitle": "Resultados da pesquisa"
},
@ -131,11 +138,15 @@
},
"morning": {
"default": "O que você gostaria de assistir esta manhã?",
"extra": ["Ouvi dizer que Antes do Amanhecer é bom"]
"extra": [
"Ouvi dizer que Antes do Amanhecer é bom"
]
},
"night": {
"default": "O que você gostaria de assistir esta noite?",
"extra": ["Cansado? Ouvi dizer que O Exorcista é bom."]
"extra": [
"Cansado? Ouvi dizer que O Exorcista é bom."
]
}
}
},
@ -283,6 +294,7 @@
"title": "Qualidade"
},
"settings": {
"audioItem": "Áudio",
"downloadItem": "Baixar",
"enableSubtitles": "Ativar Legendas",
"experienceSection": "Experiência de visualização",
@ -309,8 +321,9 @@
"unknownOption": "Desconhecido"
},
"subtitles": {
"customChoice": "Selecione arquivo de legenda",
"customChoice": "Solte ou faça upload do arquivo",
"customizeLabel": "Personalizar",
"dropSubtitleFile": "Solte o arquivo da legenda aqui",
"offChoice": "Desativadas",
"settings": {
"backlink": "Legendas personalizadas",
@ -525,6 +538,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Desfoque de fundo",
"backgroundLabel": "Opacidade do fundo",
"colorLabel": "Cor",
"previewQuote": "Eu não devo ter medo. Medo é o assassino da mente.",

View File

@ -57,6 +57,8 @@
},
"host": "Vă conectați la <0>{{hostname}}</0> - vă rugăm să confirmați că aveți încredere înainte de a vă crea un cont",
"no": "Întoarce-te",
"noHost": "Serverul nu a fost configurat, deci nu vă puteți crea un cont",
"noHostTitle": "Serverul nu este configurat!",
"title": "Ai încredere în acest server?",
"yes": "Am încredere în acest server"
},
@ -79,6 +81,7 @@
},
"footer": {
"legal": {
"disclaimer": "Declinare a răspunderii",
"disclaimerText": "sudo-flix nu găzduiește niciun fișier, ci doar trimite la servicii terțe. Problemele juridice ar trebui abordate cu gazdele și furnizorii de fișiere. sudo-flix nu este responsabil pentru niciun fișier media afișat de furnizorii de video."
},
"links": {
@ -94,6 +97,7 @@
"about": "Despre",
"dmca": "DMCA",
"login": "Log in",
"onboarding": "Configurație",
"pagetitle": "{{title}} - sudo-flix",
"register": "Inregistreaza-te",
"settings": "Setări"
@ -116,7 +120,12 @@
"noResults": "Nu am putut găsi nimic!",
"placeholder": {
"default": "La ce dorești să te uiți?",
"extra": []
"extra": [
"Ce vrei să explorezi?",
"Ce e pe lista dvs. de urmărire?",
"Care e filmul tău preferat?",
"Care e serialul tău preferat?"
]
},
"sectionTitle": "Rezultate de căutare"
},
@ -163,6 +172,69 @@
"message": "Ne-am uitat peste tot: sub pubele, în dulap, În spatele proxy-ului dar din păcate nu am găsit pagina pe care dumneavoastră o căutați.",
"title": "N-am putut găsi pagina"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Anulare",
"confirm": "Folosește configurația implicită",
"description": "Configurația implicită nu are cele mai bune fluxuri și poate fi insuportabil de înceată.",
"title": "Sunteți sigur(ă)?"
},
"extension": {
"back": "Înapoi",
"explainer": "Folosind această extensie de browser, puteți obține cele mai bune fluxuri pe care le avem de oferit. Cu doar o simplă instalare.",
"explainerIos": "Din păcate, extensia de browser nu e suportată pe iOS, Apăsați <bold>Înapoi</bold> pentru a alege altă opțiune.",
"extensionHelp": "Dacă ați instalat extensia dar nu e detectată, <bold>deschideți extensia din meniul extensiilor al browserului dvs.</bold> și urmăriți pașii de pe ecran.",
"linkChrome": "Instalare extensie pentru Chrome",
"linkFirefox": "Instalare extensie pentru Firefox",
"notDetecting": "Instalată pe Chrome dar site-ul nu o detectează? Încerați să reîmprospătați pagina!",
"notDetectingAction": "Reîncarcă pagina",
"status": {
"disallowed": "Extensia nu e activată pentru această pagină",
"disallowedAction": "Activare extensie",
"failed": "Nu s-a putut obține statusul",
"loading": "Așteptăm să vă instalați extensia",
"outdated": "Versiunea extensiei este prea veche",
"success": "Extensia funcționează conform așteptărilor!"
},
"submit": "Continuare",
"title": "Să începem cu o extensie"
},
"proxy": {
"back": "Înapoi",
"explainer": "Cu metoda proxy, puteți obține fluxuri de calitate prin a face un proxy cu autoservire.",
"input": {
"errorConnection": "Nu s-a putut conecta la proxy",
"errorInvalidUrl": "URL invalid",
"errorNotProxy": "Am așteptat un proxy dar am primit un site web",
"label": "URL-ul proxy-ului",
"placeholder": "https://"
},
"link": "Învață cum se face un proxy",
"submit": "Validare proxy",
"title": "Să facem un proxy nou"
},
"start": {
"explainer": "Pentru a obține cele mai bune fluxuri posibile, va trebui să alegeți ce metodă de streaming vreți să folosiți.",
"options": {
"default": {
"text": "Nu vreau fluxuri de calitate,<0 /> <1>folosește configurația implicită</1>"
},
"extension": {
"action": "Instalare extensie",
"description": "Instalați extensia browser și obțineți acces la cele mai bune surse.",
"quality": "Cea mai bună calitate",
"title": "Extensie browser"
},
"proxy": {
"action": "Configurare proxy",
"description": "Configurați un proxy în doar 5 minute și obținți acces la resurse grozave.",
"quality": "Calitate bună",
"title": "Proxy personalizat"
}
},
"title": "Hai să configurăm sudo-flix"
}
},
"overlays": {
"close": "Închide"
},
@ -176,10 +248,11 @@
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Copiere link către lista de redare HLS",
"disclaimer": "Descărcările sunt luate direct de la furnizor. sudo-flix nu are control cum descărcările sunt furnizate.",
"downloadSubtitle": "Descărcați subtitlul curente",
"downloadVideo": "Descarcă video",
"hlsDisclaimer": "Descărcările sunt preluate direct de la furnizor. sudo-flix nu are control asupra modului în care sunt furnizate descărcările. Vă rugăm să rețineți că descărcați o listă de redare HLS, aceasta este destinată utilizatorilor familiar cu streamingul avansat.",
"hlsDisclaimer": "Descărcările sunt preluate direct de la furnizor. sudo-flix nu are control asupra modului în care sunt furnizate descărcările.<br /><br />Vă rugăm să rețineți că descărcați o listă de redare HLS, <bold>nu este recomandat să o descărcați dacă nu sunteți familiari cu formate avasate de streaming</bold>. Încercați surse diferite pentru formate diferte.",
"onAndroid": {
"1": "Pentru a descărca pe android, apăsați butonul de descărcare apoi în pagina nouă,<bold>apăsați și țineți</bold> pe video, apoi selectați <bold>salvează</bold>.",
"shortTitle": "Descărcare / Android",
@ -236,8 +309,8 @@
"title": "Nu a fost găsită nicio încorporare"
},
"noStream": {
"text": "Sursa asta nu are nicio sursă de streaming pentru filmul său spectacolul.",
"title": "Niciun stream"
"text": "Sursa aceasta nu are niciun flux pentru acest film sau serial.",
"title": "Niciun flux"
},
"title": "Surse",
"unknownOption": "Necunoscut"
@ -398,25 +471,50 @@
},
"connections": {
"server": {
"description": "Dacă doriți să vă conectați la un backend personalizat pentru a vă stoca datele, activați acest lucru și furnizați adresa URL.",
"description": "Dacă doriți să vă conectați la un backend personalizat pentru a vă stoca datele, activați acest lucru și furnizați adresa URL. <0>Instrucțiuni.</0>",
"label": "Server personalizat",
"urlLabel": "Adresa URL personalizată a serverului"
},
"setup": {
"doSetup": "Configurează",
"errorStatus": {
"description": "Se pare că unul sau mai multe obiecte din această configurație au nevoie de atenția ta.",
"title": "Ceva are nevoie de atenția ta"
},
"itemError": "Ceva nu e bine cu această setare. Parcurge configurația din nou pentru a o corecta.",
"items": {
"default": "Configurație implicită",
"extension": "Extensie",
"proxy": "Proxy personalizat"
},
"redoSetup": "Refă configurația",
"successStatus": {
"description": "Toate sunt la locul lor ca să începeți să urmariți conținutul preferat.",
"title": "Totul este pregătit!"
},
"unsetStatus": {
"description": "Apăsați butonul din dreapta pentru a începe procesul de configurare.",
"title": "Nu ați parcurs configurația"
}
},
"title": "Conexiuni",
"workers": {
"addButton": "Adaugă un nou muncitor",
"description": "Pentru ca aplicația să funcționeze, tot traficul este direcționat prin proxy. Activați acest lucru dacă doriți să vă aduceți proprii lucrători.",
"description": "Pentru ca aplicația să funcționeze, tot traficul este direcționat prin proxy. Activați acest lucru dacă doriți să vă aduceți proprii lucrători. <0>Instrucțiuni.</0>",
"emptyState": "Niciun muncitor incă, adaugă unu",
"label": "Utilizați lucrători proxy personalizați",
"urlLabel": "Adresele URL ale lucrătorilor",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Limba aplicației",
"languageDescription": "Limba aplicată întregii aplicații.",
"thumbnail": "Generați pictograme",
"thumbnailDescription": "De cele mai multe ori videoclipurile nu au pictograme. Puteți activa această setare pentru a le genera din mers, dar vă pot încetini videoclipul.",
"thumbnailLabel": "Generați pictograme",
"title": "Preferințe"
},
"reset": "Resetare",
"save": "Salvează",
"sidebar": {
@ -434,6 +532,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Blurarea fundalului",
"backgroundLabel": "Opacitatea fundalului",
"colorLabel": "Culoare",
"previewQuote": "nu trebuie să mă tem. Frica este ucigașul minții.",

View File

@ -138,9 +138,7 @@
},
"morning": {
"default": "Что бы вы хотели посмотреть этим утром?",
"extra": [
"Слышали, что «Перед рассветом» отличный фильм"
]
"extra": ["Слышали, что «Перед рассветом» отличный фильм"]
},
"night": {
"default": "Что бы вы хотели посмотреть этим вечером?",
@ -155,7 +153,8 @@
"types": {
"movie": "Фильм",
"show": "Сериал"
}
},
"unreleased": "Ожидается"
},
"navigation": {
"banner": {
@ -294,6 +293,7 @@
"title": "Качество"
},
"settings": {
"audioItem": "Аудио",
"downloadItem": "Скачать",
"enableSubtitles": "Включить субтитры",
"experienceSection": "Впечатления от просмотра",
@ -320,8 +320,9 @@
"unknownOption": "Неизвестный"
},
"subtitles": {
"customChoice": "Выбрать субтитры из файла",
"customChoice": "Перетащите или загрузите файл",
"customizeLabel": "Настроить",
"dropSubtitleFile": "Перетащите файл субтитров",
"offChoice": "Выключить",
"settings": {
"backlink": "Пользовательские субтитры",
@ -379,6 +380,13 @@
"title": "Не удалось воспроизвести видео!"
},
"scraping": {
"extensionFailure": {
"badge": "Расширение отключено",
"enableExtension": "Включить расширение",
"homeButton": "Вернуться на главную",
"text": "Вы установили расширение sudo-flix. Чтобы начать его использовать, необходимо включить расширение для этого сайта.",
"title": "Пожалуйста, включите расширение"
},
"items": {
"failure": "Возникла ошибка",
"notFound": "Такого видео нет",

View File

@ -57,6 +57,8 @@
},
"host": "<0>{{hostname}}</0> adlı sunucuya bağlanıyorsunuz - lütfen hesap oluşturmadan önce sunucuya güvendiğinizi onaylayın",
"no": "Geri dön",
"noHost": "Sunucu henüz yapılandırılmadığı için hesap oluşturamazsınız",
"noHostTitle": "Sunucu kullanılamıyor!",
"title": "Bu sunucuya güveniyor musunuz?",
"yes": "Bu sunucuya güveniyorum"
},
@ -118,7 +120,12 @@
"noResults": "Hiçbir şey bulamadık!",
"placeholder": {
"default": "Ne izlemek istersiniz?",
"extra": []
"extra": [
"Ne keşfetmek istiyorsunuz?",
"İzleme listenizde neler var?",
"Favori filmin ne?",
"En sevdiğiniz dizi ne?"
]
},
"sectionTitle": "Arama sonuçları"
},
@ -144,7 +151,8 @@
"types": {
"movie": "Film",
"show": "Dizi"
}
},
"unreleased": "Yayınlanmamış"
},
"navigation": {
"banner": {
@ -165,6 +173,69 @@
"message": "Her yere baktık: bazanın altına, dolabın içine hatta ara sunucuya ama maalesef aradığınız sayfayı bulamadık.",
"title": "Sayfa bulunamadı"
},
"onboarding": {
"defaultConfirm": {
"cancel": "İptal Et",
"confirm": "Ön Tanımlı Ayarları Kullan",
"description": "Varsayılan ayarlar en iyi akış hizmetlerini sunmayabilir ve oldukça yavaş olabilir.",
"title": "Emin misiniz?"
},
"extension": {
"back": "Geri Dön",
"explainer": "Tarayıcı uzantısını kullanarak, size sunduğumuz en iyi akışlara erişebilirsiniz. Kurulumu ise oldukça basit.",
"explainerIos": "Ne yazık ki, tarayıcı uzantısı iOS cihazlarında desteklenmemektedir. <bold>Geri Dön</bold> düğmesine basarak başka bir seçenek seçebilirsiniz.",
"extensionHelp": "Eklenti yüklediyseniz ancak algılamıyorsa, <bold>tarayıcınızın uzantı menüsünden eklentiyi açın</bold> ve ekran adımları takip edin.",
"linkChrome": "Chrome uzantısını yükleyin",
"linkFirefox": "Firefox uzantısını yükleyin",
"notDetecting": "Chrome'a yüklendi, ancak site algılamıyor mu? Sayfayı yenileyin!",
"notDetectingAction": "Sayfayı yenile",
"status": {
"disallowed": "Bu sayfa için uzantı etkinleştirilmemiş",
"disallowedAction": "Uzantıyı etkinleştir",
"failed": "Durum bilgisi alınamadı",
"loading": "Uzantıyı yüklemenizi bekliyoruz",
"outdated": "Uzantınız çok eski",
"success": "Uzantı sorunsuz çalışıyor!"
},
"submit": "Devam Et",
"title": "Hadi bir uzantıyla başlayalım"
},
"proxy": {
"back": "Geri Dön",
"explainer": "Ara sunucu yöntemiyle, yüksek kalitede yayınlara kolayca erişin.",
"input": {
"errorConnection": "Proxy'ye bağlanılamadı",
"errorInvalidUrl": "Geçerli bir URL değil",
"errorNotProxy": "Proxy bekleniyordu, web sitesine yönlendirildi",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Proxy oluşturmayı öğrenin",
"submit": "Proxy'yi Gönder",
"title": "Hadi yeni bir proxy oluşturalım"
},
"start": {
"explainer": "En iyi akış deneyimi için kullanmak istediğiniz akış yöntemini seçmeniz gerekiyor.",
"options": {
"default": {
"text": "Yüksek kaliteli akış istemiyorum,<0 /> <1>varsayılan ayarı kullanın</1>"
},
"extension": {
"action": "Uzantıyı Yükle",
"description": "En iyi kaynaklara erişmek için tarayıcı uzantısını yükleyin.",
"quality": "En yüksek kalite",
"title": "Tarayıcı uzantısı"
},
"proxy": {
"action": "Proxy'yi Kur",
"description": "Sadece 5 dakikada proxy kurun ve harika kaynaklara erişin.",
"quality": "İyi kalite",
"title": "Özel Proxy"
}
},
"title": "sudo-flix ile sizi hazır hale getirelim"
}
},
"overlays": {
"close": "Kapat"
},
@ -178,10 +249,11 @@
},
"menus": {
"downloads": {
"copyHlsPlaylist": "HLS oynatma listesi bağlantısını kopyala",
"disclaimer": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. sudo-flix'in sağlanan indirme bağlantıları üzerinde hiçbir konrolü yoktur.",
"downloadSubtitle": "Geçerli altyazıyı indir",
"downloadVideo": "Videoyu indir",
"hlsDisclaimer": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. sudo-flix'in sağlanan indirme bağlantıları üzerinde hiçbir konrolü yoktur. Lütfen bir HLS oynatma listesi indirdiğinizi unutmayın; bu, gelişmiş multimedya akışına aşina olan kullanıcılara yöneliktir.",
"hlsDisclaimer": "İndirmeler doğrudan sağlayıcıdan alınır. sudo-flix, indirmelerin nasıl sağlanacağı üzerinde kontrole sahip değildir.<br /><br />Lütfen bir HLS oynatma listesi indirdiğinizi unutmayın; <bold>ileri seviye bilginiz yoksa indirmeniz önerilmez. akış biçimleri</bold>. Farklı formatlar için farklı kaynakları deneyin.",
"onAndroid": {
"1": "Android'e indirmek için önce indir butonuna basın, sonra açılan yeni sayfada video üzerine <bold>basılı tutun</bold>, ardından <bold>Videoyu indir</bold> seçeneğini seçin.",
"shortTitle": "İndir / Android",
@ -219,6 +291,7 @@
"title": "Kalite"
},
"settings": {
"audioItem": "Ses",
"downloadItem": "İndir",
"enableSubtitles": "Altyazıları Etkinleştir",
"experienceSection": "İzleme deneyimi",
@ -245,8 +318,9 @@
"unknownOption": "Bilinmeyen"
},
"subtitles": {
"customChoice": "Altyazı dosyası yükle",
"customChoice": "Dosya sürükleyin veya yükleyin",
"customizeLabel": "Seçenekler",
"dropSubtitleFile": "Altyazı dosyasını buraya sürükleyin",
"offChoice": "Kapat",
"settings": {
"backlink": "Kişisel altyazılar",
@ -262,6 +336,17 @@
"text": "API üstverisi yüklenemedi, lütfen internet bağlantınızı kontrol edin.",
"title": "API üstverisi yüklenemedi"
},
"dmca": {
"badge": "Kaldırıldı",
"text": "Üzgünüz, bu içerik telif hakkı ihlali veya yayından kaldırma bildirimi nedeniyle kullanılamıyor.",
"title": "İçerik kaldırıldı"
},
"extensionPermission": {
"badge": "İzin Gerekli",
"button": "Uzantıyı kullanın",
"text": "Tarayıcı uzantısını yüklemişsiniz, ancak uzantıyı kullanmaya başlamak için izninize ihtiyacımız var.",
"title": "Uzantıyı Kişiselleştir"
},
"failed": {
"badge": "Başarısız oldu",
"homeButton": "Ana sayfaya dön",
@ -293,6 +378,13 @@
"title": "Video oynatılamadı!"
},
"scraping": {
"extensionFailure": {
"badge": "Eklenti devre dışı",
"enableExtension": "Eklentiyi etkinleştir",
"homeButton": "Eve git",
"text": "sudo-flix uzantısını kurdunuz. Kullanmaya başlamak için, uzantıyı bu site için etkinleştirmeniz gerekiyor.",
"title": "Lütfen eklentiyi etkinleştirin"
},
"items": {
"failure": "Hata oluştu",
"notFound": "Video mevcut değil",
@ -393,6 +485,28 @@
"label": "Özel sunucu",
"urlLabel": "Özel sunucu URL'si"
},
"setup": {
"doSetup": "Başlayın",
"errorStatus": {
"description": "Kurulumda dikkat etmeniz gereken bir veya daha fazla öğe var gibi görünüyor.",
"title": "Dikkatinizi gerektiren bir şey var"
},
"itemError": "Kurulum sırasında bir hata oluşmuş olabilir. Sorunu çözmek için kurulum adımlarını tekrar izleyin.",
"items": {
"default": "Varsayılan ayarlar",
"extension": "Tarayıcı uzantısı",
"proxy": "Özel Proxy"
},
"redoSetup": "Kurulumu tekrar yapın",
"successStatus": {
"description": "Sevdiğiniz şeyleri izlemek için her şey hazır. Başlayın ve keyfini çıkarın.",
"title": "Tamam!"
},
"unsetStatus": {
"description": "Kurulum sürecini başlatmak için lütfen sağdaki düğmeye tıklayın.",
"title": "Kurulumu tamamlamadınız"
}
},
"title": "Bağlantılar",
"workers": {
"addButton": "Yeni işleyici ekle",
@ -403,6 +517,14 @@
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Uygulama dili",
"languageDescription": "Uygulamanın tamamı için seçili dil",
"thumbnail": "Küçük resimler oluştur",
"thumbnailDescription": "Çoğu video için ön izleme görseli bulunmaz. Bu ayarı etkinleştirerek anında oluşturulmasını sağlayabilirsiniz, ancak bu videonuzu yavaşlatabilir.",
"thumbnailLabel": "Küçük resim oluştur",
"title": "Ayarlar"
},
"reset": "Sıfırla",
"save": "Kaydet",
"sidebar": {
@ -420,6 +542,7 @@
}
},
"subtitles": {
"backgroundBlurLabel": "Arka plan bulanıklığı",
"backgroundLabel": "Arka plan opaklığı",
"colorLabel": "Renk",
"previewQuote": "Korkmamalıyım. Korku aklın katilidir.",

View File

@ -1,6 +1,6 @@
{
"about": {
"description": "sudo-flix 是一款在互聯網上搜尋流媒體的網路應用程式。團隊致力於讓使用者以最簡約的方式消費內容。",
"description": "sudo-flix 是一款在互聯網上搜尋流媒體的網路應用程式。團隊致力於讓使用者以最簡約的方式觀看內容。",
"faqTitle": "常見問題",
"q1": {
"body": "sudo-flix 不託管任何內容。您點選觀看內容時,系統均從互聯網搜尋(在加載提示頁和“視頻源”選項卡中,您可以看到正在使用的源)。媒體從未在 sudo-flix 中上傳,所有內容均通過搜索機制而得。",
@ -12,7 +12,7 @@
},
"q3": {
"body": "我們的搜尋結果由電影資料庫TMDB驅動無論視訊來源是否有對應內容都會顯示結果。",
"title": "搜尋結果中已顯示了視劇或其他節目,為何我無法播放?"
"title": "搜尋結果中已顯示了視劇或其他節目,為何我無法播放?"
},
"title": "關於 sudo-flix"
},
@ -22,18 +22,18 @@
},
"auth": {
"createAccount": "還沒有帳戶? <0>建立一個</0>",
"deviceNameLabel": "設備名稱",
"deviceNameLabel": "裝置名稱",
"deviceNamePlaceholder": "我的手機",
"generate": {
"description": "您的密碼短語相當於使用者名稱與密碼。由於您需要輸入它來登入帳戶,請確保將其存放到安全位置",
"next": "我已儲存密碼短語",
"next": "我已儲存密碼短語",
"passphraseFrameLabel": "密碼短語",
"title": "您的密碼短語"
},
"hasAccount": "已經擁有帳戶? <0>點此登入。 </0>",
"login": {
"description": "請輸入密碼短語以登入您的帳戶",
"deviceLengthError": "請輸入設備名稱",
"deviceLengthError": "請輸入裝置名稱",
"passphraseLabel": "12 字密碼短語",
"passphrasePlaceholder": "密碼短語",
"submit": "登入",
@ -57,6 +57,8 @@
},
"host": "您正在連線到 <0>{{hostname}}</0> - 在建立帳戶之前,請確保您信任它",
"no": "返回",
"noHost": "因為沒有配置伺服器,所以你不能夠創建帳戶",
"noHostTitle": "没有配置伺服器!",
"title": "您是否信任這個伺服器?",
"yes": "我信任這個伺服器"
},
@ -71,7 +73,7 @@
}
},
"errors": {
"badge": "它已損壞",
"badge": "它",
"details": "錯誤詳情",
"reloadPage": "重新加載頁面",
"showError": "顯示錯誤詳情",
@ -87,7 +89,7 @@
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "使用這個開源流媒體應用程序觀看您最喜歡的節目和電影。"
"tagline": "使用這個開源串流媒體應用程式觀看您最喜歡的節目和電影。"
},
"global": {
"name": "sudo-flix",
@ -118,7 +120,12 @@
"noResults": "我们找不到任何结果!",
"placeholder": {
"default": "您想看什麼?",
"extra": []
"extra": [
"你想探索什麼?",
"你的觀看清單有甚麼電影/電視劇?",
"你最喜愛的電影是甚麽?",
"你最喜愛的電視劇是甚麽?"
]
},
"sectionTitle": "搜索結果"
},
@ -133,7 +140,7 @@
},
"night": {
"default": "您今晚想看什麼?",
"extra": ["疲倦嗎?我聽說《驅魔人》不錯。"]
"extra": ["疲倦嗎?我聽說《驅魔人》不錯。"]
}
}
},
@ -150,7 +157,7 @@
},
"menu": {
"about": "關於我們",
"donation": "捐",
"donation": "捐",
"logout": "登出",
"register": "同步到雲端",
"settings": "設定",
@ -167,32 +174,32 @@
"defaultConfirm": {
"cancel": "取消",
"confirm": "使用預設設置",
"description": "默認設置沒有最好的直播,並且可能慢得令人難以忍受。",
"description": "默認設置沒有最好的串流,並且可能慢得令人難以忍受。",
"title": "您確定嗎?"
},
"extension": {
"back": "返回",
"explainer": "使用瀏覽器擴展程式,您可以獲得我們提供的最佳直播。只需簡單的安裝。",
"explainerIos": "不幸的是iOS 不支援瀏覽器擴展程式,按 <bold>返回 </bold>選擇其他選項。",
"extensionHelp": "如果您已安裝該擴展程式,但未檢測到該擴展程式, <bold>請通過瀏覽器的擴展程式功能表打開該擴展 程式 </bold>,然後按照螢幕上的步驟操作。",
"linkChrome": "安裝 Chrome 擴展程式",
"linkFirefox": "安裝 Firefox 擴展程式",
"explainer": "使用瀏覽器擴充功能,您可以獲得我們提供的最佳直播。只需簡單的安裝。",
"explainerIos": "不幸的是iOS 不支援瀏覽器擴充功能,按 <bold>返回 </bold>選擇其他選項。",
"extensionHelp": "如果您已安裝該擴充功能,但未檢測到該擴充功能, <bold>請通過瀏覽器的擴充功能功能表打開該擴展 程式 </bold>,然後按照螢幕上的步驟操作。",
"linkChrome": "安裝 Chrome 擴充功能",
"linkFirefox": "安裝 Firefox 擴充功能",
"notDetecting": "安裝在 Chrome 上,但網站沒有檢測到它?嘗試重新載入頁面!",
"notDetectingAction": "重新加載頁面",
"status": {
"disallowed": "未為此頁面啟用擴展程式",
"disallowedAction": "啟用擴展程式",
"disallowed": "未為此頁面啟用瀏覽器擴充功能",
"disallowedAction": "啟用瀏覽器擴充功能",
"failed": "無法請求狀態",
"loading": "等待您安裝擴展程式",
"outdated": "擴展程式版本太舊",
"success": "擴展程式正在按預期工作!"
"loading": "等待您安裝瀏覽器擴充功能",
"outdated": "瀏覽器擴充功能版本太舊",
"success": "瀏覽器擴充功能正在正常運作!"
},
"submit": "繼續",
"title": "讓我們從擴展程式開始"
"title": "讓我們從瀏覽器擴充功能開始"
},
"proxy": {
"back": "返回",
"explainer": "使用代理伺服器,您可以通過製作自定代理伺服器來獲得高品質的直播。",
"explainer": "使用代理伺服器,您可以通過製作自定代理伺服器來獲得高品質的串流。",
"input": {
"errorConnection": "無法連接到代理伺服器",
"errorInvalidUrl": "URL 無效",
@ -205,20 +212,20 @@
"title": "讓我們創建一個新的代理伺服器"
},
"start": {
"explainer": "為了獲得最好的流媒體,您需要選擇您想使用的流媒體方法。",
"explainer": "為了獲得最好的流媒體,您需要選擇您想使用的流方法。",
"options": {
"default": {
"text": "我不想要高品質的流,<0 /> <1> 使用預設設置</1>"
"text": "我不想要高品質的流,<0 /> <1> 使用預設設置</1>"
},
"extension": {
"action": "安裝擴展程式",
"description": "安裝瀏覽器擴展程式並訪問最佳資源。",
"action": "安裝瀏覽器擴充功能",
"description": "安裝瀏覽器擴充功能來使用最佳資源。",
"quality": "最好的品質",
"title": "瀏覽器擴展程式"
"title": "瀏覽器擴充功能"
},
"proxy": {
"action": "設置代理伺服器",
"description": "只需 5 分鐘即可設置代理伺服器並訪問優質源。",
"description": "只需 5 分鐘即可設置代理伺服器並訪問優質源。",
"quality": "好品質",
"title": "自訂代理伺服器"
}
@ -235,11 +242,12 @@
"short": "後退"
},
"casting": {
"enabled": "正在投放到設備…"
"enabled": "正在投放到裝置…"
},
"menus": {
"downloads": {
"disclaimer": "下載直接從供應商處獲取。sudo-flix 無法控制下載的提供方式。",
"copyHlsPlaylist": "複製 HLS 播放清單鏈接",
"disclaimer": "視頻直接從供應商處獲取。sudo-flix 無法控制下載的提供方式。",
"downloadSubtitle": "下載當前字幕",
"downloadVideo": "下載視頻",
"hlsDisclaimer": "下載直接從供應商處獲取。sudo-flix 無法控制下載的提供方式。<br /><br /> 請注意,您正在下載 HLS 播放清單, <bold>如果您不熟悉高級流媒體格式,則不建議下載 </bold> 。嘗試使用不同格式的不同來源。",
@ -261,10 +269,10 @@
"title": "下載"
},
"episodes": {
"button": "集",
"emptyState": "該季暫無集,請稍後再來!",
"button": "",
"emptyState": "該季暫無,請稍後再來!",
"episodeBadge": "E{{episode}}",
"loadingError": "加載集時出錯",
"loadingError": "加載時出錯",
"loadingList": "載入中...",
"loadingTitle": "載入中...",
"unairedEpisodes": "本季中的一集或多集已因尚未播出而被禁用。"
@ -276,7 +284,7 @@
"quality": {
"automaticLabel": "自動品質",
"hint": "您可以嘗試<0>切換源</0>以獲得不同的質量選項。",
"iosNoQuality": "由於 Apple 定義的限制,此來源的品質選擇在 iOS 上不可用。您可以嘗試<0>切換到另一個來源</0>以獲得不同的質量選項。",
"iosNoQuality": "由於 Apple 的限制,此來源的品質選擇在 iOS 上不可用。您可以嘗試<0>切換到另一個來源</0>以獲得不同的質量選項。",
"title": "品質"
},
"settings": {
@ -330,9 +338,9 @@
},
"extensionPermission": {
"badge": "缺少權限",
"button": "使用擴展程式",
"text": "您已安裝瀏覽器擴展,但我們需要您的許可才能啟用它。",
"title": "配置擴展程式"
"button": "使用瀏覽器擴充功能",
"text": "您已安裝瀏覽器擴展功能,但我們需要您的許可才能啟用它。",
"title": "配置瀏覽器擴充功能"
},
"failed": {
"badge": "失敗",
@ -368,7 +376,7 @@
"items": {
"failure": "發生錯誤",
"notFound": "沒有視頻",
"pending": "檢查影片..."
"pending": "尋找影片中..."
},
"notFound": {
"badge": "未找到",
@ -386,9 +394,9 @@
},
"turnstile": {
"description": "請通過右側的驗證碼來確認您是人類。這是為了保護 sudo-flix 的安全!",
"error": "無法驗證您的人類身份。請再試一次。",
"error": "無法驗證您是一個人類。請再試一次。",
"title": "我們需要驗證您是否為人類。",
"verifyingHumanity": "正在驗證您的人類身份..."
"verifyingHumanity": "正在驗證您是不是一個人類..."
}
},
"screens": {
@ -430,7 +438,7 @@
},
"devices": {
"deviceNameLabel": "設備名稱",
"failed": "無法載入階段",
"failed": "無法載入",
"removeDevice": "刪除",
"title": "設備"
},
@ -503,7 +511,7 @@
"thumbnail": "生成縮圖",
"thumbnailDescription": "大多數時候,視頻沒有縮圖。您可以啟用此設置以即時生成它們,但它們會使您的視頻變慢。",
"thumbnailLabel": "生成縮圖",
"title": "偏好"
"title": "偏好設定"
},
"reset": "重置",
"save": "保存",
@ -516,12 +524,13 @@
"insecure": "不安全",
"notLoggedIn": "您尚未登錄",
"secure": "安全",
"title": "應用資訊",
"title": "應用程式的資訊",
"unknownVersion": "未知",
"userId": "使用者ID"
}
},
"subtitles": {
"backgroundBlurLabel": "背景模糊",
"backgroundLabel": "背景不透明度",
"colorLabel": "顏色",
"previewQuote": "我絕不能害怕。 恐懼會扼殺思維能力。",

View File

@ -7,6 +7,7 @@ import { usePlayerMeta } from "@/components/player/hooks/usePlayerMeta";
import { Transition } from "@/components/utils/Transition";
import { PlayerMeta } from "@/stores/player/slices/source";
import { usePlayerStore } from "@/stores/player/store";
import { useProgressStore } from "@/stores/progress";
function shouldShowNextEpisodeButton(
time: number,
@ -54,6 +55,7 @@ export function NextEpisodeButton(props: {
const setShouldStartFromBeginning = usePlayerStore(
(s) => s.setShouldStartFromBeginning,
);
const updateItem = useProgressStore((s) => s.updateItem);
let show = false;
if (showingState === "always") show = true;
@ -78,7 +80,19 @@ export function NextEpisodeButton(props: {
setShouldStartFromBeginning(true);
setDirectMeta(metaCopy);
props.onChange?.(metaCopy);
}, [setDirectMeta, nextEp, meta, props, setShouldStartFromBeginning]);
const defaultProgress = { duration: 0, watched: 0 };
updateItem({
meta: metaCopy,
progress: defaultProgress,
});
}, [
setDirectMeta,
nextEp,
meta,
props,
setShouldStartFromBeginning,
updateItem,
]);
const startCurrentEpisodeFromBeginning = useCallback(() => {
if (!meta || !meta.episode) return;

View File

@ -46,6 +46,15 @@ function progressIsAcceptableRange(duration: number, watched: number): boolean {
return true;
}
function isFirstEpisodeOfShow(
item: ProgressMediaItem,
episode: ProgressEpisodeItem,
): boolean {
const seasonId = episode.seasonId;
const season = item.seasons[seasonId];
return season.number === 1 && episode.number === 1;
}
export function shouldShowProgress(
item: ProgressMediaItem,
): ShowProgressResult {
@ -66,8 +75,10 @@ export function shouldShowProgress(
.sort((a, b) => b.updatedAt - a.updatedAt)
.filter(
(epi) =>
!progressIsNotStarted(epi.progress.duration, epi.progress.watched),
!progressIsNotStarted(epi.progress.duration, epi.progress.watched) ||
!isFirstEpisodeOfShow(item, epi),
)[0];
const season = item.seasons[ep?.seasonId];
if (!ep || !season)
return {