Merge pull request #1004 from movie-web/dev

Version 4.6.1: Fix subtitle settings and add translations
This commit is contained in:
William Oldham 2024-03-11 20:51:24 +00:00 committed by GitHub
commit fe9c2591e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 125 additions and 46 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "movie-web", "name": "movie-web",
"version": "4.6.0", "version": "4.6.1",
"private": true, "private": true,
"homepage": "https://github.com/movie-web/movie-web", "homepage": "https://github.com/movie-web/movie-web",
"scripts": { "scripts": {
@ -49,6 +49,7 @@
"immer": "^10.0.3", "immer": "^10.0.3",
"jwt-decode": "^4.0.0", "jwt-decode": "^4.0.0",
"lodash.isequal": "^4.5.0", "lodash.isequal": "^4.5.0",
"lodash.merge": "^4.6.2",
"million": "^2.6.4", "million": "^2.6.4",
"nanoid": "^5.0.4", "nanoid": "^5.0.4",
"node-forge": "^1.3.1", "node-forge": "^1.3.1",
@ -79,6 +80,7 @@
"@types/dompurify": "^3.0.5", "@types/dompurify": "^3.0.5",
"@types/fscreen": "^1.0.4", "@types/fscreen": "^1.0.4",
"@types/lodash.isequal": "^4.5.8", "@types/lodash.isequal": "^4.5.8",
"@types/lodash.merge": "^4.6.9",
"@types/lodash.throttle": "^4.1.9", "@types/lodash.throttle": "^4.1.9",
"@types/node": "^20.10.5", "@types/node": "^20.10.5",
"@types/pako": "^2.0.3", "@types/pako": "^2.0.3",

View File

@ -81,6 +81,9 @@ dependencies:
lodash.isequal: lodash.isequal:
specifier: ^4.5.0 specifier: ^4.5.0
version: 4.5.0 version: 4.5.0
lodash.merge:
specifier: ^4.6.2
version: 4.6.2
million: million:
specifier: ^2.6.4 specifier: ^2.6.4
version: 2.6.4 version: 2.6.4
@ -167,6 +170,9 @@ devDependencies:
'@types/lodash.isequal': '@types/lodash.isequal':
specifier: ^4.5.8 specifier: ^4.5.8
version: 4.5.8 version: 4.5.8
'@types/lodash.merge':
specifier: ^4.6.9
version: 4.6.9
'@types/lodash.throttle': '@types/lodash.throttle':
specifier: ^4.1.9 specifier: ^4.1.9
version: 4.1.9 version: 4.1.9
@ -268,7 +274,7 @@ devDependencies:
version: 0.5.9(prettier@3.1.1) version: 0.5.9(prettier@3.1.1)
rollup-plugin-visualizer: rollup-plugin-visualizer:
specifier: ^5.11.0 specifier: ^5.11.0
version: 5.11.0(@rollup/wasm-node@4.12.0) version: 5.11.0(@rollup/wasm-node@4.12.1)
tailwind-scrollbar: tailwind-scrollbar:
specifier: ^3.0.5 specifier: ^3.0.5
version: 3.0.5(tailwindcss@3.4.0) version: 3.0.5(tailwindcss@3.4.0)
@ -2062,7 +2068,7 @@ packages:
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
dev: false dev: false
/@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.0): /@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
peerDependencies: peerDependencies:
@ -2075,36 +2081,36 @@ packages:
dependencies: dependencies:
'@babel/core': 7.23.6 '@babel/core': 7.23.6
'@babel/helper-module-imports': 7.22.15 '@babel/helper-module-imports': 7.22.15
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1)
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.12.0): /@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
peerDependencies: peerDependencies:
rollup: npm:@rollup/wasm-node rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1)
'@types/resolve': 1.17.1 '@types/resolve': 1.17.1
builtin-modules: 3.3.0 builtin-modules: 3.3.0
deepmerge: 4.3.1 deepmerge: 4.3.1
is-module: 1.0.0 is-module: 1.0.0
resolve: 1.22.4 resolve: 1.22.4
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.12.0): /@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==}
peerDependencies: peerDependencies:
rollup: npm:@rollup/wasm-node rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1)
magic-string: 0.25.9 magic-string: 0.25.9
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.12.0): /@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'} engines: {node: '>= 8.0.0'}
peerDependencies: peerDependencies:
@ -2113,11 +2119,11 @@ packages:
'@types/estree': 0.0.39 '@types/estree': 0.0.39
estree-walker: 1.0.1 estree-walker: 1.0.1
picomatch: 2.3.1 picomatch: 2.3.1
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/wasm-node@4.12.0: /@rollup/wasm-node@4.12.1:
resolution: {integrity: sha512-sqy3+YvV/uWX6bPZOR5PlEdH6xyMPXoelllRQ/uZ13tzy9f4pXZTbajnoWN8IHHXwTNKPiLzsePLiDEVmkxMNw==} resolution: {integrity: sha512-5j3BVQEccCzCb8fkl++IbDgAsnlsKBPz049C4C//j5s3pFKxKGlybl63QApdJKl1fNLr7HIwQEJcBImQtA3ZHg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'} engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -2262,17 +2268,23 @@ packages:
/@types/lodash.isequal@4.5.8: /@types/lodash.isequal@4.5.8:
resolution: {integrity: sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA==} resolution: {integrity: sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA==}
dependencies: dependencies:
'@types/lodash': 4.14.197 '@types/lodash': 4.14.202
dev: true
/@types/lodash.merge@4.6.9:
resolution: {integrity: sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==}
dependencies:
'@types/lodash': 4.14.202
dev: true dev: true
/@types/lodash.throttle@4.1.9: /@types/lodash.throttle@4.1.9:
resolution: {integrity: sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g==} resolution: {integrity: sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g==}
dependencies: dependencies:
'@types/lodash': 4.14.197 '@types/lodash': 4.14.202
dev: true dev: true
/@types/lodash@4.14.197: /@types/lodash@4.14.202:
resolution: {integrity: sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==} resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
dev: true dev: true
/@types/node-forge@1.3.10: /@types/node-forge@1.3.10:
@ -5004,7 +5016,6 @@ packages:
/lodash.merge@4.6.2: /lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
/lodash.mergewith@4.6.2: /lodash.mergewith@4.6.2:
resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
@ -5101,7 +5112,7 @@ packages:
'@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6)
'@babel/types': 7.23.6 '@babel/types': 7.23.6
kleur: 4.1.5 kleur: 4.1.5
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
unplugin: 1.5.1 unplugin: 1.5.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6029,7 +6040,7 @@ packages:
glob: 7.2.3 glob: 7.2.3
dev: true dev: true
/rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.12.0): /rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
peerDependencies: peerDependencies:
@ -6037,12 +6048,12 @@ packages:
dependencies: dependencies:
'@babel/code-frame': 7.23.5 '@babel/code-frame': 7.23.5
jest-worker: 26.6.2 jest-worker: 26.6.2
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
serialize-javascript: 4.0.0 serialize-javascript: 4.0.0
terser: 5.19.3 terser: 5.19.3
dev: true dev: true
/rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.12.0): /rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.12.1):
resolution: {integrity: sha512-exM0Ms2SN3AgTzMeW7y46neZQcyLY7eKwWAop1ZoRTCZwyrIRdMMJ6JjToAJbML77X/9N8ZEpmXG4Z/Clb9k8g==} resolution: {integrity: sha512-exM0Ms2SN3AgTzMeW7y46neZQcyLY7eKwWAop1ZoRTCZwyrIRdMMJ6JjToAJbML77X/9N8ZEpmXG4Z/Clb9k8g==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
@ -6054,7 +6065,7 @@ packages:
dependencies: dependencies:
open: 8.4.2 open: 8.4.2
picomatch: 2.3.1 picomatch: 2.3.1
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
source-map: 0.7.4 source-map: 0.7.4
yargs: 17.7.2 yargs: 17.7.2
dev: true dev: true
@ -7040,7 +7051,7 @@ packages:
'@types/node': 20.10.5 '@types/node': 20.10.5
esbuild: 0.19.10 esbuild: 0.19.10
postcss: 8.4.32 postcss: 8.4.32
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
dev: true dev: true
@ -7302,9 +7313,9 @@ packages:
'@babel/core': 7.23.6 '@babel/core': 7.23.6
'@babel/preset-env': 7.23.6(@babel/core@7.23.6) '@babel/preset-env': 7.23.6(@babel/core@7.23.6)
'@babel/runtime': 7.23.6 '@babel/runtime': 7.23.6
'@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.0) '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.1)
'@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.12.0) '@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.12.1)
'@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.12.0) '@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.12.1)
'@surma/rollup-plugin-off-main-thread': 2.2.3 '@surma/rollup-plugin-off-main-thread': 2.2.3
ajv: 8.12.0 ajv: 8.12.0
common-tags: 1.8.2 common-tags: 1.8.2
@ -7313,8 +7324,8 @@ packages:
glob: 7.2.3 glob: 7.2.3
lodash: 4.17.21 lodash: 4.17.21
pretty-bytes: 5.6.0 pretty-bytes: 5.6.0
rollup: /@rollup/wasm-node@4.12.0 rollup: /@rollup/wasm-node@4.12.1
rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.12.0) rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.12.1)
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
stringify-object: 3.3.0 stringify-object: 3.3.0
strip-comments: 2.0.1 strip-comments: 2.0.1

View File

@ -57,6 +57,8 @@
}, },
"host": "Připojujete se k <0>{{hostname}}</0> - potvrďte, že mu věříte před vytvořením účtu", "host": "Připojujete se k <0>{{hostname}}</0> - potvrďte, že mu věříte před vytvořením účtu",
"no": "Zpět", "no": "Zpět",
"noHost": "Server nebyl nakonfigurován, tudíž si nemůžete vytvořit účet",
"noHostTitle": "Server není nakonfigurován!",
"title": "Věříte tomuto serveru?", "title": "Věříte tomuto serveru?",
"yes": "Věřím tomuto serveru" "yes": "Věřím tomuto serveru"
}, },
@ -118,22 +120,33 @@
"noResults": "Nemohli jsme nic najít!", "noResults": "Nemohli jsme nic najít!",
"placeholder": { "placeholder": {
"default": "Co si přejete sledovat?", "default": "Co si přejete sledovat?",
"extra": [] "extra": [
"Co chcete objevit?",
null,
"Jaký je váš oblíbený film?",
"Jaký je tvůj oblíbený seriál?"
]
}, },
"sectionTitle": "Výsledky vyhledávání" "sectionTitle": "Výsledky vyhledávání"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "Na co byste se chtěli dnes odpoledne dívat?", "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": { "morning": {
"default": "Na co byste se chtěli dnes ráno dívat?", "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": { "night": {
"default": "Na co byste se chtěli dnes večer dívat?", "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."
]
} }
} }
}, },
@ -173,9 +186,11 @@
"extension": { "extension": {
"back": "Zpět", "back": "Zpět",
"explainer": "Pomocí rozšíření prohlížeče můžete získat nejlepší streamy, které nabízíme. S pouhou instalací.", "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", "linkChrome": "Instalovat rozšíření pro Chrome",
"linkFirefox": "Instalovat rozšíření pro Firefox", "linkFirefox": "Instalovat rozšíření pro Firefox",
"notDetectingAction": "Obnovit stránku",
"status": { "status": {
"disallowed": "Rozšíření není pro tuto stránku povoleno", "disallowed": "Rozšíření není pro tuto stránku povoleno",
"disallowedAction": "Povolit rozšíření", "disallowedAction": "Povolit rozšíření",

View File

@ -57,6 +57,8 @@
}, },
"host": "Du verbindest dich mit <0>{{hostname}}</0> - stelle sicher das du dem Server vertraust, bevor du ein Konto erstellst", "host": "Du verbindest dich mit <0>{{hostname}}</0> - stelle sicher das du dem Server vertraust, bevor du ein Konto erstellst",
"no": "Zurück", "no": "Zurück",
"noHost": "Da der Server nicht eingerichtet wurde, kannst du keinen Account erstellen",
"noHostTitle": "Server nicht eingerichtet!",
"title": "Vertraust du diesem Server?", "title": "Vertraust du diesem Server?",
"yes": "Ich vertraue diesem Server" "yes": "Ich vertraue diesem Server"
}, },
@ -118,7 +120,12 @@
"noResults": "Wir haben nichts gefunden!", "noResults": "Wir haben nichts gefunden!",
"placeholder": { "placeholder": {
"default": "Was möchtest du schauen?", "default": "Was möchtest du schauen?",
"extra": [] "extra": [
"Was möchtest du entdecken?",
"Was ist auf deiner Merkliste?",
"Was ist dein Lieblingsfilm?",
"Was ist deine Lieblingsserie?"
]
}, },
"sectionTitle": "Suchergebnisse" "sectionTitle": "Suchergebnisse"
}, },
@ -131,11 +138,15 @@
}, },
"morning": { "morning": {
"default": "Was würdest du diesen Morgen gerne schauen?", "default": "Was würdest du diesen Morgen gerne schauen?",
"extra": ["Before Sunrise soll gut sein"] "extra": [
"Before Sunrise soll gut sein"
]
}, },
"night": { "night": {
"default": "Was möchtest du diesen Abend gerne schauen?", "default": "Was möchtest du diesen Abend gerne schauen?",
"extra": ["Müde? Ich hab gehört The Exorcist soll gut sein."] "extra": [
"Müde? Ich hab gehört The Exorcist soll gut sein."
]
} }
} }
}, },
@ -241,6 +252,7 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "HLS-Playlist Link kopieren",
"disclaimer": "Videos werden direkt vom Provider heruntergeladen. movie-web hat keinen Einfluss darauf, wie Downloads bereitgestellt werden.", "disclaimer": "Videos werden direkt vom Provider heruntergeladen. movie-web hat keinen Einfluss darauf, wie Downloads bereitgestellt werden.",
"downloadSubtitle": "Aktuelle Untertitel herunterladen", "downloadSubtitle": "Aktuelle Untertitel herunterladen",
"downloadVideo": "Video herunterladen", "downloadVideo": "Video herunterladen",
@ -524,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Hintergrundunschärfe",
"backgroundLabel": "Hintergrunddeckkraft", "backgroundLabel": "Hintergrunddeckkraft",
"colorLabel": "Farbe", "colorLabel": "Farbe",
"previewQuote": "Das Gras wächst nicht schneller, wenn man daran zieht.", "previewQuote": "Das Gras wächst nicht schneller, wenn man daran zieht.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "تاری پس زمینه",
"backgroundLabel": "شفافیت پس‌زمینه", "backgroundLabel": "شفافیت پس‌زمینه",
"colorLabel": "رنگ", "colorLabel": "رنگ",
"previewQuote": "نباید بترسم، ترس قاتل ذهن است.", "previewQuote": "نباید بترسم، ترس قاتل ذهن است.",

View File

@ -57,6 +57,8 @@
}, },
"host": "Vous êtes en train de vous connecter à <0>{{hostname}}</0> - veuillez confirmer que vous lui faites confiance avant de créer un compte", "host": "Vous êtes en train de vous connecter à <0>{{hostname}}</0> - veuillez confirmer que vous lui faites confiance avant de créer un compte",
"no": "Retour", "no": "Retour",
"noHost": "Le serveur n'a pas été configuré, vous ne pouvez donc pas créer de compte",
"noHostTitle": "Serveur non configuré !",
"title": "Avez-vous confiance en ce serveur ?", "title": "Avez-vous confiance en ce serveur ?",
"yes": "Je fais confiance à ce serveur" "yes": "Je fais confiance à ce serveur"
}, },
@ -117,7 +119,13 @@
"loading": "Chargement...", "loading": "Chargement...",
"noResults": "Nous n'avons rien trouvé!", "noResults": "Nous n'avons rien trouvé!",
"placeholder": { "placeholder": {
"default": "Que voulez-vous voir?" "default": "Que voulez-vous voir?",
"extra": [
"Que voulez-vous explorer ?",
"Que y a-t-il dans votre liste de lecture?",
"Quel est votre film préféré ?",
"Quelle est votre série préférée ?"
]
}, },
"sectionTitle": "Résultats de la recherche" "sectionTitle": "Résultats de la recherche"
}, },
@ -528,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Flou d'arrière-plan",
"backgroundLabel": "Opacité du fond", "backgroundLabel": "Opacité du fond",
"colorLabel": "Couleur", "colorLabel": "Couleur",
"previewQuote": "Plus l'obscurité est profonde, plus la lumière brille.", "previewQuote": "Plus l'obscurité est profonde, plus la lumière brille.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Sfocatura di sfondo",
"backgroundLabel": "Opacità di sfondo", "backgroundLabel": "Opacità di sfondo",
"colorLabel": "Colore", "colorLabel": "Colore",
"previewQuote": "Cantami o Diva del pelide Achille l'ira funesta.", "previewQuote": "Cantami o Diva del pelide Achille l'ira funesta.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Achtergrondvervaging",
"backgroundLabel": "Achtergrond dekking", "backgroundLabel": "Achtergrond dekking",
"colorLabel": "Kleur", "colorLabel": "Kleur",
"previewQuote": "Ik mag niet bang zijn. Angst doodt de geest.", "previewQuote": "Ik mag niet bang zijn. Angst doodt de geest.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Размытие фона",
"backgroundLabel": "Прозрачность фона", "backgroundLabel": "Прозрачность фона",
"colorLabel": "Цвет", "colorLabel": "Цвет",
"previewQuote": "Я не должен бояться. Страх убивает разум.", "previewQuote": "Я не должен бояться. Страх убивает разум.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Zameglitev ozadja",
"backgroundLabel": "Motnost ozadja", "backgroundLabel": "Motnost ozadja",
"colorLabel": "Barva", "colorLabel": "Barva",
"previewQuote": "Ne smem se bati. Strah je ubijalec misli.", "previewQuote": "Ne smem se bati. Strah je ubijalec misli.",

View File

@ -57,6 +57,8 @@
}, },
"host": "Ви під’єднуєтеся до <0>{{hostname}}</0> підтвердьте, що довіряєте йому, перш ніж створювати обліковий запис", "host": "Ви під’єднуєтеся до <0>{{hostname}}</0> підтвердьте, що довіряєте йому, перш ніж створювати обліковий запис",
"no": "Повернутися назад", "no": "Повернутися назад",
"noHost": "Сервер не був налаштований, тому ви не можете створити обліковий запис",
"noHostTitle": "Сервер не налаштований!",
"title": "Чи довіряєте ви цьому серверу?", "title": "Чи довіряєте ви цьому серверу?",
"yes": "Я довіряю цьому серверу" "yes": "Я довіряю цьому серверу"
}, },
@ -118,7 +120,12 @@
"noResults": "Ми не змогли знайти нічого!", "noResults": "Ми не змогли знайти нічого!",
"placeholder": { "placeholder": {
"default": "Що ви хочете подивитися?", "default": "Що ви хочете подивитися?",
"extra": [] "extra": [
"Що ви бажаєте дослідити?",
"Що у вашому списку спостереження?",
"Який ваш улюблений фільм?",
"Який ваш улюблений серіал?"
]
}, },
"sectionTitle": "Результати пошуку" "sectionTitle": "Результати пошуку"
}, },
@ -131,11 +138,15 @@
}, },
"morning": { "morning": {
"default": "Що б ви хотіли подивитися сьогодні вранці?", "default": "Що б ви хотіли подивитися сьогодні вранці?",
"extra": ["Я чув, що \"Перед сходом сонця\" гарний"] "extra": [
"Я чув, що \"Перед сходом сонця\" гарний"
]
}, },
"night": { "night": {
"default": "Що б ви хотіли подивитися сьогодні ввечері?", "default": "Що б ви хотіли подивитися сьогодні ввечері?",
"extra": ["Втомився? Я чув, що \"Екзорцист\" хороший."] "extra": [
"Втомився? Я чув, що \"Екзорцист\" хороший."
]
} }
} }
}, },
@ -241,6 +252,7 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Копіювати посилання на плейлист HLS",
"disclaimer": "Завантаження беруться безпосередньо від провайдера. У movie-web немає контролю над тим, як надаються завантаження.", "disclaimer": "Завантаження беруться безпосередньо від провайдера. У movie-web немає контролю над тим, як надаються завантаження.",
"downloadSubtitle": "Завантажити поточні субтитри", "downloadSubtitle": "Завантажити поточні субтитри",
"downloadVideo": "Завантажити відео", "downloadVideo": "Завантажити відео",
@ -524,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Розмиття фону",
"backgroundLabel": "Прозорість фону", "backgroundLabel": "Прозорість фону",
"colorLabel": "Колір", "colorLabel": "Колір",
"previewQuote": "Я не повинен боятися. Страх вбиває розум.", "previewQuote": "Я не повинен боятися. Страх вбиває розум.",

View File

@ -536,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "背景模糊",
"backgroundLabel": "背景不透明度", "backgroundLabel": "背景不透明度",
"colorLabel": "颜色", "colorLabel": "颜色",
"previewQuote": "我不能害怕。恐惧是心灵的杀手。", "previewQuote": "我不能害怕。恐惧是心灵的杀手。",

View File

@ -231,7 +231,7 @@ export function CaptionSettingsView({ id }: { id: string }) {
<Menu.BackLink onClick={() => router.navigate("/captions")}> <Menu.BackLink onClick={() => router.navigate("/captions")}>
{t("player.menus.subtitles.settings.backlink")} {t("player.menus.subtitles.settings.backlink")}
</Menu.BackLink> </Menu.BackLink>
<Menu.Section className="space-y-6"> <Menu.Section className="space-y-6 pb-5">
<CaptionSetting <CaptionSetting
label={t("player.menus.subtitles.settings.delay")} label={t("player.menus.subtitles.settings.delay")}
max={10} max={10}

View File

@ -1,3 +1,4 @@
import merge from "lodash.merge";
import { create } from "zustand"; import { create } from "zustand";
import { persist } from "zustand/middleware"; import { persist } from "zustand/middleware";
import { immer } from "zustand/middleware/immer"; import { immer } from "zustand/middleware/immer";
@ -33,6 +34,7 @@ export const useQualityStore = create(
})), })),
{ {
name: "__MW::quality", name: "__MW::quality",
merge: (persisted, current) => merge({}, current, persisted),
}, },
), ),
); );

View File

@ -1,3 +1,4 @@
import merge from "lodash.merge";
import { create } from "zustand"; import { create } from "zustand";
import { persist } from "zustand/middleware"; import { persist } from "zustand/middleware";
import { immer } from "zustand/middleware/immer"; import { immer } from "zustand/middleware/immer";
@ -67,13 +68,19 @@ export const useSubtitleStore = create(
updateStyling(newStyling) { updateStyling(newStyling) {
set((s) => { set((s) => {
if (newStyling.backgroundOpacity !== undefined) if (newStyling.backgroundOpacity !== undefined)
s.styling.backgroundOpacity = newStyling.backgroundOpacity; s.styling.backgroundOpacity = Math.min(
1,
Math.max(0, newStyling.backgroundOpacity),
);
if (newStyling.backgroundBlur !== undefined) if (newStyling.backgroundBlur !== undefined)
s.styling.backgroundBlur = newStyling.backgroundBlur; s.styling.backgroundBlur = Math.min(
1,
Math.max(0, newStyling.backgroundBlur),
);
if (newStyling.color !== undefined) if (newStyling.color !== undefined)
s.styling.color = newStyling.color.toLowerCase(); s.styling.color = newStyling.color.toLowerCase();
if (newStyling.size !== undefined) if (newStyling.size !== undefined)
s.styling.size = Math.min(2, Math.max(0.01, newStyling.size)); s.styling.size = Math.min(10, Math.max(0.01, newStyling.size));
}); });
}, },
setLanguage(lang) { setLanguage(lang) {
@ -107,6 +114,7 @@ export const useSubtitleStore = create(
})), })),
{ {
name: "__MW::subtitles", name: "__MW::subtitles",
merge: (persisted, current) => merge({}, current, persisted),
}, },
), ),
); );