Compare commits

..

614 Commits
4.2.3 ... 4.6.1

Author SHA1 Message Date
William Oldham
fe9c2591e1 Merge pull request #1004 from movie-web/dev
Version 4.6.1: Fix subtitle settings and add translations
2024-03-11 20:51:24 +00:00
William Oldham
28cb9243bc Merge branch 'master' into dev 2024-03-11 20:36:26 +00:00
William Oldham
7d0563b236 Merge pull request #1002 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-03-11 20:12:55 +00:00
Mehdi
85ddf7680f Translated using Weblate (Persian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-03-11 19:27:04 +00:00
Denys Savin
808191c42e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-03-11 19:27:03 +00:00
blikje
ae90d3d873 Translated using Weblate (Dutch)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-03-11 19:27:03 +00:00
Jamie Poznanski
cff06d7591 Translated using Weblate (Italian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-03-11 19:27:03 +00:00
Origaming
83853a3814 Translated using Weblate (French)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fr/
Author: Origaming <mabarleycorne@gmail.com>
2024-03-11 19:27:03 +00:00
teaishealthy
da2472ac5d Translated using Weblate (German)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/de/
Author: teaishealthy <teaishealthy@protonmail.com>
2024-03-11 19:27:03 +00:00
thehairy
0aac489417 Translated using Weblate (German)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/de/
Author: thehairy <soeren.stabenow@outlook.com>
2024-03-11 19:27:03 +00:00
Ninguart
c928a8093d Translated using Weblate (Czech)
Currently translated at 98.4% (323 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-03-11 19:27:03 +00:00
Alja Slenc
11df7450b0 Translated using Weblate (Slovenian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/sl/
Author: Alja Slenc <alja.slenc@gmail.com>
2024-03-11 18:55:52 +00:00
Alex
8fd409fa1f Translated using Weblate (Russian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-03-11 18:55:52 +00:00
Raymond Nee
5d25977ba8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-03-11 18:55:52 +00:00
William Oldham
0e2e7abf53 Bump version 2024-03-11 18:55:27 +00:00
William Oldham
c470c34ea8 Merge pull request #999 from qtchaos/fix/subtitles
Update maximums of subtitle settings and add padding
2024-03-11 18:53:26 +00:00
William Oldham
d33faf370f Bump padding to pb-5 to match top of card 2024-03-11 18:48:52 +00:00
William Oldham
64c0a6b7a8 Use deep merge on store to ensure settings are defaulted correctly 2024-03-11 18:46:09 +00:00
qtchaos
7c5c5daf5c fix: add minimums & maximums for other settings 2024-03-11 17:59:55 +02:00
qtchaos
35c9c85b86 fix: increase maximum subtitle size, set background blur max to 100% and increase padding on the bottom of captions view 2024-03-11 17:46:47 +02:00
William Oldham
59958487d2 Merge pull request #973 from movie-web/dev
Version 4.6
2024-03-10 23:19:06 +00:00
William Oldham
1fd3e37fa4 Merge branch 'master' into dev 2024-03-10 23:16:25 +00:00
William Oldham
d5ac1d5db2 Merge pull request #976 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-03-10 23:16:12 +00:00
admin
cfaf2130e4 Deleted translation using Weblate (Albanian)
Author: admin <admin@movie-web.app>
2024-03-10 23:14:11 +00:00
chaos
57a747099e Translated using Weblate (Estonian)
Currently translated at 100.0% (328 of 328 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/et/
Author: chaos <chaos@users.noreply.weblate.movie-web.app>
2024-03-10 23:09:21 +00:00
Jimin
3cab6ab3c3 Translated using Weblate (Korean)
Currently translated at 99.6% (326 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ko/
Author: Jimin <jiminlee102@gmail.com>
2024-03-10 23:09:21 +00:00
Alex
dd0b9f60c9 Translated using Weblate (Russian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-03-10 23:09:21 +00:00
Matias Bubello
5754215725 Translated using Weblate (Spanish)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/es/
Author: Matias Bubello <matt.bubello@gmail.com>
2024-03-10 23:09:21 +00:00
aryiu
7ffb904f9e Translated using Weblate (Valencian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ca@valencia/
Author: aryiu <aryiu@users.noreply.weblate.476328473.xyz>
2024-03-10 23:09:21 +00:00
chaos
90e1d3c369 Translated using Weblate (Estonian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/et/
Author: chaos <chaos@users.noreply.weblate.movie-web.app>
2024-03-10 23:09:21 +00:00
Juled Zaganjori
27297227e6 Added translation using Weblate (Albanian)
Author: Juled Zaganjori <zaganjorijuled@gmail.com>
2024-03-10 23:09:21 +00:00
William Oldham
9cb6147017 Bump version to 4.6 2024-03-10 23:09:09 +00:00
chaos
3d333dcb03 Merge pull request #993 from ssssobek/dev
Add blurred background option for subtitles
2024-03-11 01:05:50 +02:00
ssssobek
67af11fd85 Set the default background blur to 50% 2024-03-10 23:56:06 +01:00
ssssobek
ca180ab9ea Go back to using percentages instead of pixels 2024-03-10 23:10:25 +01:00
ssssobek
e09c04b57b Add blurred backgroud for subtitles 2024-03-10 20:14:48 +01:00
William Oldham
9409922efd Merge pull request #721 from qtchaos/mediasession
Implement MediaSession support
2024-03-07 15:54:57 +00:00
William Oldham
425c7beeea Merge branch 'dev' into mediasession 2024-03-07 15:52:35 +00:00
William Oldham
fcee7001ee Merge pull request #985 from zisra/x-button
Make x-button more visible
2024-03-06 17:06:40 +00:00
4a5d537679 Revert all color changes 2024-03-06 11:01:46 -06:00
a652be9a86 Fix 2024-03-06 10:59:29 -06:00
7159b76344 Add onboarding styles to default theme 2024-03-06 10:58:38 -06:00
b74a4cd4c6 Make x-button more visible 2024-03-06 10:56:06 -06:00
qtchaos
256f9f9df9 feat: add season/episode to the start of title 2024-03-05 00:33:31 +02:00
William Oldham
18e9bdbfc5 Merge branch 'dev' into mediasession 2024-03-04 21:42:40 +00:00
William Oldham
89bc201b73 Merge pull request #967 from MovieWebIPFS/patch-1
feat: allow setting 'base' via VITE_BASE_URL
2024-03-04 20:38:28 +00:00
MovieWebIPFS
de2e3e6aed feat: allow setting 'base' via VITE_BASE_URL
this sets the default to `/` which results in this patch not breaking behavior. This is being used to set base as a relative path to enable hosting movie-web at any non-root location
2024-03-04 20:36:39 +00:00
William Oldham
27aff99969 Merge pull request #975 from qtchaos/fix/button-navigate
When navigating to own pages, use `useNavigate()`
2024-03-03 23:20:51 +00:00
qtchaos
f33bc583ea fix: when navigating to own pages, use useNavigate() 2024-03-03 22:47:51 +02:00
William Oldham
bada1d12cf Add Catalan (Valencia) 2024-03-03 19:13:30 +00:00
William Oldham
cf3d9fdc21 Merge pull request #964 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-03-03 18:50:27 +00:00
Mehdi
8a973b1d89 Translated using Weblate (Persian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-03-03 18:48:11 +00:00
aryiu
078777f952 Translated using Weblate (Valencian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ca@valencia/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-03-03 18:48:11 +00:00
aryiu
dc4ce9b91f Translated using Weblate (Catalan)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-03-03 18:48:11 +00:00
Matic Bončina
56413183b6 Translated using Weblate (Slovenian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/sl/
Author: Matic Bončina <github@express.ninja>
2024-03-03 18:48:11 +00:00
aryiu
f89759e9b9 Translated using Weblate (Catalan)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-03-03 18:48:11 +00:00
Fluhfi
9c03cef941 Translated using Weblate (Punjabi)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/pa/
Author: Fluhfi <aseemsharma2992@gmail.com>
2024-03-03 18:48:11 +00:00
Mehdi
49fe07b208 Translated using Weblate (Persian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-03-03 18:48:11 +00:00
aryiu
5e0b434ea7 Added translation using Weblate (Valencian)
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-03-03 18:48:11 +00:00
NidaleNieve
e24697f723 Translated using Weblate (Icelandic)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/is/
Author: NidaleNieve <nidale16@outlook.com>
2024-03-03 18:48:11 +00:00
Mehdi
00700408fb Translated using Weblate (Persian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-03-03 18:48:11 +00:00
Aayush Shah
2a3ae861cc Translated using Weblate (Hindi)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/hi/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-03-03 18:48:11 +00:00
n1ck
2804b2addd Translated using Weblate (Spanish)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/es/
Author: n1ck <n1ck.lim@proton.me>
2024-03-03 18:48:11 +00:00
Aayush Shah
dcfbf6b266 Translated using Weblate (Nepali)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-03-03 18:48:11 +00:00
Raymond Nee
7f859e0bfd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-03-03 18:48:11 +00:00
blikje
05741ed632 Translated using Weblate (Dutch)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-03-03 18:48:11 +00:00
Jamie Poznanski
dc04390172 Translated using Weblate (Italian)
Currently translated at 100.0% (327 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-03-03 18:48:11 +00:00
EPScorp
228ac6fd6c Translated using Weblate (French)
Currently translated at 98.1% (321 of 327 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fr/
Author: EPScorp <robotvolant168@gmail.com>
2024-03-03 18:48:11 +00:00
William Oldham
22cb2a259d Merge pull request #972 from movie-web/config-improvements
Config improvements
2024-03-03 18:48:05 +00:00
William Oldham
fa8548d3c2 Default config.js to not have TMDB set 2024-03-03 18:37:57 +00:00
William Oldham
404d3b885f Handle nullability of config fields 2024-03-03 18:37:43 +00:00
William Oldham
b560445659 Return null values where appr and handle the env being blank 2024-03-03 18:37:28 +00:00
William Oldham
e555354e17 If TMDB key is empty, don't attempt request 2024-03-03 18:36:12 +00:00
William Oldham
95a75f81b1 Merge pull request #961 from binaryoverload/dev
Add vercel config to properly support non-hash router
2024-03-01 19:30:11 +00:00
William Oldham
818e159586 Create vercel.json 2024-03-01 17:17:09 +00:00
William Oldham
a0067cb2f2 Merge pull request #955 from movie-web/dev
Version 4.5.1
2024-02-29 23:31:00 +00:00
William Oldham
9658c61cd0 Merge branch 'dev' of https://github.com/movie-web/movie-web into dev 2024-02-29 23:27:52 +00:00
William Oldham
34cb2bfb36 Bump version to 4.5.1 2024-02-29 23:27:50 +00:00
William Oldham
0f1aab605d Merge branch 'master' into dev 2024-02-29 23:19:07 +00:00
William Oldham
6388ebb8ef Update providers to 2.2.2 2024-02-29 23:18:15 +00:00
William Oldham
5e334246f4 Fix linting 2024-02-29 23:17:52 +00:00
William Oldham
10fa48ba04 Merge pull request #958 from movie-web/965-backend-https-default
Automatically prefix backend url with https:// if not provided
2024-02-29 22:01:49 +00:00
William Oldham
9fc3e9082f feat: automatically prefix backend url with https:// if not provided 2024-02-29 22:00:07 +00:00
William Oldham
d4463cbccd Merge pull request #907 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-02-29 18:55:40 +00:00
Mehdi
ffb468a450 Translated using Weblate (Persian)
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-29 18:51:21 +00:00
Matic Bončina
ceb0c1e35a Translated using Weblate (Slovenian)
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/sl/
Author: Matic Bončina <github@express.ninja>
2024-02-29 18:51:21 +00:00
Matic Boncina
96c5a3387d Translated using Weblate (Slovenian)
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/sl/
Author: Matic Boncina <476328473@express.ninja>
2024-02-29 18:51:21 +00:00
Aayush Shah
dec42deaef Translated using Weblate (Nepali)
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-02-29 18:51:21 +00:00
Jamie Poznanski
866142ac57 Translated using Weblate (Italian)
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-02-29 18:51:21 +00:00
Raymond Nee
204ec6421d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (325 of 325 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-02-29 18:51:21 +00:00
Weblate
3cbffb3981 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-02-29 18:51:21 +00:00
Mehdi
f0e3262a71 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-29 18:51:21 +00:00
Ninguart
5aecb988de Translated using Weblate (Czech)
Currently translated at 98.4% (316 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-02-29 18:51:21 +00:00
Vijay
e34995fa98 Translated using Weblate (Tamil)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ta/
Author: Vijay <vcmvijay@gmail.com>
2024-02-29 18:51:21 +00:00
Mehdi
1c887b132d Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-29 18:51:21 +00:00
Vijay
76cd8847d3 Translated using Weblate (Tamil)
Currently translated at 23.0% (74 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ta/
Author: Vijay <vcmvijay@gmail.com>
2024-02-29 18:51:21 +00:00
Jamie Poznanski
78d1c4f740 Translated using Weblate (Italian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-02-29 18:51:21 +00:00
Mehdi
5ebff1276c Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-29 18:51:21 +00:00
Mehdi
e10463d60a Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-29 18:51:21 +00:00
Raymond Nee
65e6db761d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-02-29 18:51:21 +00:00
Stella Vanella
89929be12c Translated using Weblate (Vietnamese)
Currently translated at 34.2% (110 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Stella Vanella <stellavu2018@gmail.com>
2024-02-29 18:51:21 +00:00
aryiu
a3b2b741c8 Translated using Weblate (Catalan)
Currently translated at 87.5% (281 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-02-29 18:51:21 +00:00
Alex
d28c89eb83 Translated using Weblate (Russian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-29 18:51:21 +00:00
Tauan
2dc7affd94 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_BR/
Author: Tauan <matheus-tauan@hotmail.com>
2024-02-29 18:51:21 +00:00
Alex
ad745eb532 Translated using Weblate (Spanish)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/es/
Author: Alex <alejandroreizq@duck.com>
2024-02-29 18:51:21 +00:00
Raymond Nee
fc4920699b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-02-29 18:51:21 +00:00
Jamie Poznanski
c71c0f6ae7 Translated using Weblate (Italian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-02-29 18:51:21 +00:00
Guillaume
5804838f5e Translated using Weblate (French)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Guillaume <guillaumepeeklo@gmail.com>
2024-02-29 18:51:21 +00:00
chaos
cbb699b767 Merge pull request #947 from movie-web/fix/#905
Extension: Prepare stream for all domains in a hls playlist
2024-02-28 16:58:36 +02:00
chaos
4ec89456ac Merge branch 'dev' into fix/#905 2024-02-28 16:50:46 +02:00
William Oldham
acec24b9b5 Merge pull request #949 from movie-web/feature/#944
Add dismissable banners
2024-02-28 11:31:32 +00:00
Jorrin
5a78e48dfe add dismissable banners 2024-02-28 00:48:49 +01:00
Jorrin
d20ab4be08 double map into one 2024-02-27 23:30:00 +01:00
Jorrin
7af58dd9e8 prepare stream for all domains in a hls playlist 2024-02-27 23:19:40 +01:00
William Oldham
8643b7c584 Merge pull request #946 from Audiosutras/dev
Update Dockerfile and add compose.yaml file
2024-02-27 20:10:20 +00:00
Audiosutras
7b1330f664 Update docker-compose.yaml
Co-authored-by: Timon Klinkert <83671398+DenuxPlays@users.noreply.github.com>
2024-02-27 15:05:22 -05:00
Christopher Dixon
916d15d2f0 add commented out build args to docker-compose.yaml 2024-02-27 15:02:45 -05:00
Christopher Dixon
d92a4de948 peer review feedback 2024-02-27 14:55:05 -05:00
Christopher Dixon
2cfa5acb35 update Dockerfile & add compose.yaml file 2024-02-27 14:38:48 -05:00
William Oldham
1acefd75fa Merge pull request #929 from movie-web/dev
Version 4.5.0
2024-02-26 21:39:25 +00:00
William Oldham
86a3136fd0 Bump version 2024-02-26 21:34:51 +00:00
William Oldham
7c4c02dd83 Fix theme preview 2024-02-26 21:27:45 +00:00
William Oldham
261ef5e6c5 Use quick links 2024-02-26 21:27:31 +00:00
William Oldham
843ec84936 Merge pull request #922 from marcoslor/868-add-appearance-preview
Add appearance preview
2024-02-26 21:13:06 +00:00
William Oldham
ba4713b130 Merge pull request #943 from qtchaos/scroll-volume
Allow users to change volume with scroll wheel
2024-02-26 20:56:30 +00:00
qtchaos
67c86a270e feat: make volume scrollable with your mouse 2024-02-26 22:39:32 +02:00
William Oldham
c1731fdbc9 Merge pull request #942 from qtchaos/google-analytics
Make Google Analytics configurable with VITE_GA_ID
2024-02-26 18:35:05 +00:00
qtchaos
0e72829dd7 feat: make Google Analytics configurable with VITE_GA_ID 2024-02-26 19:40:35 +02:00
William Oldham
02fceb7f8e Merge pull request #941 from qtchaos/fix-download
Fix media download button redirecting to incorrect URL on main tab
2024-02-26 15:09:35 +00:00
qtchaos
5321afe2cd chore: remove useNavigate import 2024-02-26 17:06:35 +02:00
qtchaos
e8d8c16d41 fix: use window.open instead of react-router on href within Button 2024-02-26 16:56:46 +02:00
William Oldham
d1c58041c4 Merge pull request #940 from qtchaos/remove-default-setup
Disable default setup option if no proxies are set, remove extension help once it succeeds
2024-02-26 12:12:03 +00:00
qtchaos
f93e9288b5 feat: remove default VITE_CORS_PROXY_URL 2024-02-26 14:06:33 +02:00
qtchaos
1df0ac000d feat: disable default setup option if no proxies set, remove extension help on OK 2024-02-26 13:48:45 +02:00
William Oldham
0a86c59cfb Merge pull request #939 from qtchaos/admin-update
Update the admin page to run workers in parallel
2024-02-25 22:20:15 +00:00
William Oldham
9e4241e464 Merge pull request #938 from qtchaos/remove-domain
Remove references to official domain
2024-02-25 22:19:14 +00:00
qtchaos
bf6424f75d feat: run worker tests in parallel with 5 sec cooldown 2024-02-25 22:04:47 +02:00
qtchaos
130b4f5cc3 feat: disable creating account when server is not set 2024-02-25 21:31:08 +02:00
qtchaos
fcf42a4e8a fix: change useBackendUrl to possibly be undefined, add checks to avoid useless requests to nonexistent backend 2024-02-24 02:08:01 +02:00
qtchaos
b18269b40e chore: Remove references to official domain 2024-02-23 16:26:17 +02:00
Marcos Rios
ac9d347a26 Remove nonsense ref 2024-02-22 23:55:07 -03:00
William Oldham
c6fe62ae8a Merge branch 'master' into dev 2024-02-21 19:09:16 +00:00
William Oldham
87c6be9a61 Merge pull request #915 from movie-web/fix/#904
route subtitles through extension if installed
2024-02-21 19:07:23 +00:00
William Oldham
f4514b283c Merge branch 'dev' into fix/#904 2024-02-21 19:05:29 +00:00
William Oldham
48a37112c6 Merge pull request #920 from vijaysingh2219/dev
Add dynamic and engaging search bar placeholders
2024-02-21 18:11:06 +00:00
William Oldham
ac119a42a0 Merge branch 'dev' into dev 2024-02-21 18:08:17 +00:00
William Oldham
12274db582 Merge pull request #928 from movie-web/fix/#927
Fix #927 and add build arg for Docker PWA
2024-02-21 18:04:50 +00:00
William Oldham
98d06a6051 Fix #927 and add build arg for Docker PWA 2024-02-21 17:54:01 +00:00
Vijay
446be58478 Fix ESLint warning in HeroPart.tsx 2024-02-20 16:18:36 +05:30
Vijay
60d5c5d05c Updated the extra search placeholder options
- Reduced the number of options for search placeholder
2024-02-20 15:29:44 +05:30
Vijay
b1741a3264 Updated 'placeholder' key structure across all locale files 2024-02-19 18:21:34 +05:30
Marcos Rios
3522f6c038 Fix theme preview not being reset after leaving settings 2024-02-18 17:10:16 -03:00
Marcos Rios
247362a4a9 Add preview theme functionality to SettingsPage 2024-02-18 17:10:16 -03:00
Vijay
f5c1d6eb86 Add dynamic and engaging search bar placeholders
Enhance search bar experience with 15 dynamic placeholders for the movie web app. Provides a mix of engaging questions and suggestions, promoting user interaction and a personalized feel. Shuffled for a random appearance, contributing to a more dynamic user experience.
2024-02-17 23:31:55 +05:30
Jorrin
121a71449f route subtitles through extension if installed 2024-02-15 14:17:57 +01:00
William Oldham
07b5c95607 Merge pull request #909 from movie-web/dev
Version 4.4.2: Fix extension compatibility
2024-02-14 10:20:59 +00:00
William Oldham
90d8d2428f Merge pull request #908 from movie-web/fix-extension-compat
Bump compatibility to caret-style for extension
2024-02-14 10:19:03 +00:00
William Oldham
6a13f0a737 Bump version 2024-02-14 09:27:18 +00:00
William Oldham
31dc7f4967 Bump compatibility to caret-style for extension 2024-02-14 09:20:06 +00:00
William Oldham
eca8e1cff9 Merge pull request #897 from movie-web/dev
Version 4.4.1 - Fix HLS i18n key
2024-02-11 13:51:34 +00:00
William Oldham
12ce1d2993 Fix type in issue template 2024-02-11 12:48:27 +00:00
William Oldham
d5a9687e5e Merge pull request #898 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-02-11 12:37:35 +00:00
Mehdi
b834da02fd Translated using Weblate (Persian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-11 12:26:00 +00:00
jan Kukisulasu
fd66bebdb3 Translated using Weblate (Toki Pona)
Currently translated at 82.5% (264 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tok/
Author: jan Kukisulasu <iam.mcken@gmail.com>
2024-02-11 12:26:00 +00:00
chaos
2ef2c5ac91 Translated using Weblate (Estonian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/et/
Author: chaos <chaos@users.noreply.weblate.movie-web.app>
2024-02-11 12:26:00 +00:00
Hiep Nguyen
f6e15bb665 Translated using Weblate (Vietnamese)
Currently translated at 32.0% (103 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Hiep Nguyen <tanhiep26@gmail.com>
2024-02-11 12:26:00 +00:00
William Oldham
0c19716836 Fix HLS i18n key 2024-02-11 12:23:10 +00:00
mrjvs
c51500ba7a Merge pull request #893 from movie-web/dev
Version 4.4
2024-02-10 21:31:36 +01:00
William Oldham
3e97942941 Update providers to 2.2 2024-02-10 20:15:57 +00:00
William Oldham
2948e74c22 Merge pull request #891 from movie-web/fix/#887
Fix HTTP error 403 on HLS stream after switching source
2024-02-10 19:06:54 +00:00
William Oldham
0778079cfd Merge branch 'dev' into fix/#887 2024-02-10 19:05:31 +00:00
William Oldham
c1997e89ef Bump version to 4.4 2024-02-10 17:50:33 +00:00
William Oldham
4780b20978 Merge branch 'master' into dev 2024-02-10 15:49:21 +00:00
William Oldham
b1bc65c01e Merge pull request #834 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-02-10 15:41:09 +00:00
admin
812afd054d Translated using Weblate (Bulgarian)
Currently translated at 50.3% (161 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/bg/
Author: admin <admin@movie-web.app>
2024-02-10 15:39:41 +00:00
Jorrin
2b402ac5ba Fix HTTP error 403 on HLS stream after switching source 2024-02-09 17:45:48 +01:00
chaos
b129181b6c Merge branch 'dev' into mediasession 2024-02-09 15:52:31 +00:00
qtchaos
761e952ce2 fix: update if conditions to allow for updates after changing episodes 2024-02-09 17:51:47 +02:00
thehairy
296a06ca3f Translated using Weblate (German)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: thehairy <soeren.stabenow@outlook.com>
2024-02-09 09:03:16 +00:00
GuNyangE
a5f69082b4 Translated using Weblate (Korean)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ko/
Author: GuNyangE <noel7145@gmail.com>
2024-02-07 23:30:16 +00:00
alyamanterra
1a4d100c52 Translated using Weblate (Russian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: alyamanterra <sergejsivelev@gmail.com>
2024-02-04 17:59:33 +00:00
Denys Savin
5c85450d09 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-02-04 14:13:54 +00:00
Alex
da40bf2a74 Translated using Weblate (Russian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-04 14:13:54 +00:00
alyamanterra
29ef3a0d32 Translated using Weblate (Russian)
Currently translated at 100.0% (320 of 320 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: alyamanterra <sergejsivelev@gmail.com>
2024-02-04 14:13:54 +00:00
Weblate
658a38be4c Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-02-03 21:32:52 +00:00
n1ck
d60ae7d306 Translated using Weblate (Galician)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-02-03 21:32:50 +00:00
Jamie Poznanski
ade0a642a1 Translated using Weblate (Italian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-02-03 21:32:50 +00:00
Neo
5725e82150 Translated using Weblate (Japanese)
Currently translated at 19.0% (61 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ja/
Author: Neo <kazu3okaoka@gmail.com>
2024-02-03 21:32:50 +00:00
Fluhfi
196691b9e7 Translated using Weblate (Punjabi)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pa/
Author: Fluhfi <aseemsharma2992@gmail.com>
2024-02-03 21:32:50 +00:00
Weblate
0886c0139c Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-02-03 21:32:50 +00:00
admin
38e04c2558 Translated using Weblate (Romanian)
Currently translated at 80.3% (258 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ro/
Author: admin <admin@movie-web.app>
2024-02-03 21:32:50 +00:00
admin
0cbc85e5ef Translated using Weblate (Nepali)
Currently translated at 98.4% (316 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: admin <admin@movie-web.app>
2024-02-03 21:32:50 +00:00
Jimin
cd8e6eb23f Translated using Weblate (Korean)
Currently translated at 74.7% (240 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ko/
Author: Jimin <jiminlee102@gmail.com>
2024-02-03 21:32:50 +00:00
Alex
f608512fd4 Translated using Weblate (Russian)
Currently translated at 87.8% (282 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Alex
65aaad5d1e Translated using Weblate (Russian)
Currently translated at 85.0% (273 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Mehdi
fc43f312c5 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
7ROBE
a0575ed4ac Translated using Weblate (Arabic)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ar/
Author: 7ROBE <7mne152@gmail.com>
2024-02-03 21:32:50 +00:00
Fluhfi
3ac658dee0 Translated using Weblate (Punjabi)
Currently translated at 30.5% (98 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pa/
Author: Fluhfi <aseemsharma2992@gmail.com>
2024-02-03 21:32:50 +00:00
Fluhfi
3afbab8de4 Translated using Weblate (Punjabi)
Currently translated at 17.7% (57 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pa/
Author: Fluhfi <aseemsharma2992@gmail.com>
2024-02-03 21:32:50 +00:00
Mehdi
954d1e941a Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Mehdi
3b98c9ea39 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Alex
d362ab02a4 Translated using Weblate (Russian)
Currently translated at 81.6% (262 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Mehdi
560ba9d1f4 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Alex
b87d73f9cc Translated using Weblate (Russian)
Currently translated at 81.6% (262 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Alex
32a8095db2 Translated using Weblate (Russian)
Currently translated at 77.8% (250 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Alex
e5e9c2b794 Translated using Weblate (Russian)
Currently translated at 74.4% (239 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Mehdi
9dfd91f3ba Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
xemohen233
979dfe8dff Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hant/
Author: xemohen233 <xemohen233@namewok.com>
2024-02-03 21:32:50 +00:00
xemohen233
89f40364ed Translated using Weblate (Chinese (Traditional))
Currently translated at 45.1% (145 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hant/
Author: xemohen233 <xemohen233@namewok.com>
2024-02-03 21:32:50 +00:00
Translator for finish
1e04dfe1a5 Translated using Weblate (Finnish)
Currently translated at 44.5% (143 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fi/
Author: Translator for finish <movie-web-translations.b6jq7@slmail.me>
2024-02-03 21:32:50 +00:00
Hank Dank
dcc3b3842e Translated using Weblate (Turkish)
Currently translated at 79.1% (254 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tr/
Author: Hank Dank <hdank2657@gmail.com>
2024-02-03 21:32:50 +00:00
Raymond Nee
786ef22ff9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-02-03 21:32:50 +00:00
Mehdi
63c3b455a3 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Alex
5784d8a880 Translated using Weblate (Russian)
Currently translated at 73.2% (235 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Mehdi
b5cc801c60 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Mehdi
de818ad677 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-02-03 21:32:50 +00:00
Alex
19f9267fee Translated using Weblate (Russian)
Currently translated at 61.6% (198 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
Alex
98b51a7c98 Translated using Weblate (Russian)
Currently translated at 57.6% (185 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-02-03 21:32:50 +00:00
mrjvs
c8e7f6a02f Merge pull request #860 from ari-party/patch-2
Copy playlist link
2024-02-03 22:32:46 +01:00
mrjvs
e95a681b3c Merge branch 'dev' into patch-2 2024-02-03 22:31:08 +01:00
mrjvs
2b0f1206a6 Merge pull request #874 from boidushya/dev
fix(settings/appearance): Improved 'Active' pill
2024-02-03 22:30:22 +01:00
Astrid
8245353b15 Update copyHlsPlaylist 2024-02-03 22:28:09 +01:00
Boidushya Bhattacharya
d4ba87f95e fix(settings/appearance): Removed inset-shadow & created new theme variable 2024-02-04 02:52:24 +05:30
Astrid
4b26ca1bed Rename 'downloadPlaylist' to 'copyHlsPlaylist' 2024-02-03 22:03:46 +01:00
Boidushya Bhattacharya
aba12370f3 fix(settings/appearance): improved 'Active' pill 2024-02-04 01:19:01 +05:30
Astrid
0ba699d66e useCopyToClipboard 2024-01-31 22:58:38 +01:00
Astrid
cd9cf31066 Modify english locale for 'copy playlist link' 2024-01-31 22:22:46 +01:00
Astrid
71ddbca657 Copy playlist link instead of download playlist 2024-01-31 22:22:26 +01:00
Astrid
a562cbeb25 Proper onClick types and give <a> the callback 2024-01-31 22:22:07 +01:00
mrjvs
a2a3066bc7 Merge branch 'dev' into mediasession 2024-01-31 16:56:36 +01:00
mrjvs
884a429a7c Merge pull request #856 from qtchaos/proxy-sync-fix
Attempt to send proxy to backend during onboarding.
2024-01-31 16:01:28 +01:00
qtchaos
8e22d4f96e Attempt to send proxy to backend during onboarding. 2024-01-31 02:47:31 +02:00
William Oldham
e9e2f3f470 Merge pull request #855 from MemeCornucopia/orderFix
Fixed Sorting Shows
2024-01-30 23:16:39 +00:00
MemeCornucopia
22358112d3 Update src/backend/accounts/user.ts
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
2024-01-30 18:13:11 -05:00
MemeCornucopia
55bb3c4574 Fixed a mistake I made. 2024-01-30 17:33:00 -05:00
MemeCornucopia
893e9e0ae6 Fixed Sorting 2024-01-30 17:12:14 -05:00
mrjvs
81515528cb Merge pull request #825 from RyloRiz/dev
Created an 'x' button to clear search query
2024-01-30 20:50:29 +01:00
mrjvs
3805329339 Merge branch 'dev' into dev 2024-01-30 20:40:28 +01:00
mrjvs
5f4cff8975 Cleanup some styling 2024-01-30 20:39:40 +01:00
RyloRiz
6cf870d246 Reviewed changes & simplified clearing process 2024-01-29 17:58:13 -08:00
mrjvs
d5e0dd02e0 Merge pull request #850 from movie-web/setup-card-mobile
Mobile view for SetupPart
2024-01-28 21:16:04 +01:00
Jip Fr
058a3c41c8 Mobile view for SetupPart 2024-01-28 14:07:52 +01:00
RyloRiz
32c6bf12c7 Removed clear pointer/action when not visible 2024-01-27 21:38:01 -08:00
RyloRiz
2a93804fbd Restyled clear button & visibility 2024-01-27 21:32:04 -08:00
Jip Fr
c33176ff8b Un-reverse onboarding cards 2024-01-28 01:20:11 +01:00
Jip Fr
d8dcdcc09b Swap onboarding cards 2024-01-28 01:18:45 +01:00
RyloRiz
ef9792827a Fixed search query updating on clear 2024-01-27 15:34:33 -08:00
RyloRiz
6a9e135de2 Merge branch 'dev' into dev 2024-01-27 14:35:52 -08:00
William Oldham
427852db74 Merge pull request #833 from movie-web/dev
V4.3.3
2024-01-26 19:20:38 +00:00
William Oldham
f5e719236a Add Navajo language 2024-01-26 19:16:46 +00:00
mrjvs
b329a4a0ee Merge branch 'master' into dev 2024-01-26 19:18:44 +01:00
mrjvs
e78b6d3735 Add finnish and bump version 2024-01-26 19:09:41 +01:00
mrjvs
91ee259a20 Merge pull request #826 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-01-26 19:07:42 +01:00
Kartavya Patel
cf689cc61d Translated using Weblate (Gujarati)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gu/
Author: Kartavya Patel <patelka2211@gmail.com>
2024-01-26 17:23:22 +00:00
Kartavya Patel
7e8f8cb8f3 Translated using Weblate (Hindi)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/hi/
Author: Kartavya Patel <patelka2211@gmail.com>
2024-01-26 17:04:58 +00:00
n1ck
e99ad3c97d Translated using Weblate (Galician)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-01-26 16:39:03 +00:00
n1ck
43cceb889d Translated using Weblate (Galician)
Currently translated at 97.5% (313 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-01-26 16:06:21 +00:00
n1ck
d63649a23f Translated using Weblate (Galician)
Currently translated at 93.7% (301 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-01-26 15:59:18 +00:00
n1ck
957d7b7b82 Translated using Weblate (Galician)
Currently translated at 81.9% (263 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-01-26 15:36:29 +00:00
Mehdi
51e3960016 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-26 15:36:29 +00:00
Yaya
f7c7330672 Translated using Weblate (French)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Yaya <yanismerabet16@gmail.com>
2024-01-26 15:36:29 +00:00
Mehdi
dbb33adad2 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-26 10:39:12 +00:00
Mehdi
ef91398adf Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-26 07:37:23 +00:00
Elma Lísa Eyþórsdóttir
9544d12ed0 Translated using Weblate (Icelandic)
Currently translated at 96.2% (309 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-26 03:52:39 +00:00
teaishealthy
2cd9373e75 Translated using Weblate (German)
Currently translated at 99.0% (318 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: teaishealthy <teaishealthy@protonmail.com>
2024-01-26 03:52:39 +00:00
RyloRiz
ccaa772e1a Merge branch 'dev' into dev 2024-01-25 16:54:09 -08:00
Thais Palmer
0c8711e493 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_BR/
Author: Thais Palmer <eu@thaispalmer.com.br>
2024-01-25 21:37:59 +00:00
67344757f1 Translated using Weblate (pirate (generated) (pirate))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pirate/
Author: Isra <byzkk@protonmail.com>
2024-01-25 21:37:59 +00:00
29a01970b5 Translated using Weblate (German)
Currently translated at 99.0% (318 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: Isra <byzkk@protonmail.com>
2024-01-25 21:37:59 +00:00
a4abb68fcf Translated using Weblate (English)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/en/
Author: Isra <byzkk@protonmail.com>
2024-01-25 21:37:59 +00:00
Emelssi
d538cde637 Translated using Weblate (Finnish)
Currently translated at 30.8% (99 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fi/
Author: Emelssi <lipi.lol.990@gmail.com>
2024-01-25 21:37:59 +00:00
Emelssi
6dc04c1d55 Added translation using Weblate (Finnish)
Author: Emelssi <lipi.lol.990@gmail.com>
2024-01-25 21:37:59 +00:00
Mehdi
33b017e846 Translated using Weblate (Persian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-25 21:37:59 +00:00
Denys Savin
8b9c42cf5d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-25 21:37:59 +00:00
Screeching Bagel
e66c6fce1a Translated using Weblate (Russian)
Currently translated at 54.8% (176 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Screeching Bagel <thescreechingbagel@tutanota.com>
2024-01-25 21:37:59 +00:00
Alex
02dc4fa2b4 Translated using Weblate (Spanish)
Currently translated at 99.6% (320 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/es/
Author: Alex <alejandroreizq@duck.com>
2024-01-25 21:37:59 +00:00
Raymond Nee
387a88eb12 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-01-25 21:37:59 +00:00
5Litt
ecaa89668e Translated using Weblate (Czech)
Currently translated at 98.4% (316 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-25 21:37:59 +00:00
Anton Amos
8f165f64a3 Translated using Weblate (Navaho)
Currently translated at 0.9% (3 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nv/
Author: Anton Amos <eraser.frays0g@icloud.com>
2024-01-25 21:37:59 +00:00
Elma Lísa Eyþórsdóttir
c78eb34b62 Translated using Weblate (Icelandic)
Currently translated at 53.8% (173 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-25 21:37:59 +00:00
Safsalim
14f1ca9338 Translated using Weblate (Hebrew)
Currently translated at 99.3% (319 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/he/
Author: Safsalim <astiltanadom4@gmail.com>
2024-01-25 21:37:59 +00:00
dynosss
e2c08371f2 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.8% (314 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: dynosss <yeeren0308@gmail.com>
2024-01-25 21:37:59 +00:00
b37e81fd72 Translated using Weblate (English)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/en/
Author: Isra <byzkk@protonmail.com>
2024-01-25 21:37:59 +00:00
admin
549c3158c2 Translated using Weblate (English)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/en/
Author: admin <admin@movie-web.app>
2024-01-25 21:37:59 +00:00
mrjvs
a3adba968b Fix compatability 2024-01-25 22:37:51 +01:00
William Oldham
05c9ddf2c6 Merge pull request #828 from movie-web/track-usage-type
Add scrape-tool to reports
2024-01-25 21:28:02 +00:00
mrjvs
ec6119a44c add scrape-tool to reports 2024-01-25 22:19:09 +01:00
mrjvs
c96c61e085 Merge branch 'dev' into dev 2024-01-25 21:24:14 +01:00
mrjvs
e071515d09 Merge pull request #827 from movie-web/feature/#820
Add FormData, URLSearchParams and User-Agent support for extension
2024-01-25 20:39:04 +01:00
mrjvs
77f672d331 Merge branch 'dev' into feature/#820 2024-01-25 20:36:21 +01:00
Jorrin
b5cd297ad8 mr feedback 2024-01-25 19:37:15 +01:00
Jorrin
ad8c6709a1 cleanup 2024-01-25 19:30:28 +01:00
Jorrin
f9a70b196b mr feedback 2024-01-25 19:25:56 +01:00
Jorrin
4202bf8ef3 cleanup 2024-01-25 16:38:35 +01:00
RyloRiz
5be4833b8d Created an 'x' button to clear search query 2024-01-24 18:41:45 -08:00
William Oldham
96e3206b12 Merge pull request #821 from movie-web/dev
v4.3.2 - firefox and fixes
2024-01-24 19:47:40 +00:00
mrjvs
39475e4aae add new languages 2024-01-24 20:44:35 +01:00
William Oldham
10d49b722c Merge pull request #815 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-01-24 19:41:33 +00:00
Mehdi
e76db85cd4 Translated using Weblate (Persian)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:38:54 +00:00
admin
b449db5c24 Translated using Weblate (Spanish)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/es/
Author: admin <admin@movie-web.app>
2024-01-24 19:38:54 +00:00
Jamie Poznanski
3fe3810879 Translated using Weblate (Italian)
Currently translated at 99.6% (320 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:38:54 +00:00
a7277c4587 Translated using Weblate (German)
Currently translated at 87.5% (281 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: Isra <byzkk@protonmail.com>
2024-01-24 19:38:54 +00:00
Mehdi
9ace336418 Translated using Weblate (Persian)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:27:22 +00:00
Aayush Shah
32d95b5a38 Translated using Weblate (Nepali)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-24 19:27:22 +00:00
Jakub Herda
9b9d60f465 Translated using Weblate (Polish)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Jakub Herda <kuba033009@gmail.com>
2024-01-24 19:27:22 +00:00
Jamie Poznanski
9882bdcd94 Translated using Weblate (Italian)
Currently translated at 96.2% (309 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:27:22 +00:00
ee7ddc8bae Translated using Weblate (German)
Currently translated at 87.2% (280 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: Isra <byzkk@protonmail.com>
2024-01-24 19:27:22 +00:00
Mehdi
65cb4e03e9 Translated using Weblate (Persian)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:14:00 +00:00
Aayush Shah
0ffff7c641 Translated using Weblate (Nepali)
Currently translated at 89.4% (287 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-24 19:14:00 +00:00
Jakub Herda
d614664e27 Translated using Weblate (Polish)
Currently translated at 87.8% (282 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Jakub Herda <kuba033009@gmail.com>
2024-01-24 19:14:00 +00:00
admin
178eab9148 Translated using Weblate (Dutch)
Currently translated at 99.6% (320 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: admin <admin@movie-web.app>
2024-01-24 19:14:00 +00:00
Jamie Poznanski
6b6335f35d Translated using Weblate (Italian)
Currently translated at 88.7% (285 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:14:00 +00:00
Aayush Shah
5ec8d22a9d Translated using Weblate (Nepali)
Currently translated at 85.9% (276 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-24 19:14:00 +00:00
Jakub Herda
3afcb30a8c Translated using Weblate (Polish)
Currently translated at 80.6% (259 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Jakub Herda <kuba033009@gmail.com>
2024-01-24 19:14:00 +00:00
Jamie Poznanski
df4f555058 Translated using Weblate (Italian)
Currently translated at 82.2% (264 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:14:00 +00:00
Jamie Poznanski
296ee45d6c Translated using Weblate (Italian)
Currently translated at 81.9% (263 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:14:00 +00:00
Mehdi
c365f025b6 Translated using Weblate (Persian)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:14:00 +00:00
Aayush Shah
183b8afa7a Translated using Weblate (Nepali)
Currently translated at 84.7% (272 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-24 19:13:59 +00:00
Jakub Herda
1ea68d897b Translated using Weblate (Polish)
Currently translated at 79.7% (256 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Jakub Herda <kuba033009@gmail.com>
2024-01-24 19:13:59 +00:00
blikje
c7e17cbd39 Translated using Weblate (Dutch)
Currently translated at 100.0% (321 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-24 19:13:59 +00:00
Jamie Poznanski
5c9a9d9c00 Translated using Weblate (Italian)
Currently translated at 81.6% (262 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-24 19:13:59 +00:00
atomic
4c72593092 Translated using Weblate (French)
Currently translated at 100.0% (316 of 316 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-24 19:13:59 +00:00
Thais Palmer
87e390623b Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.0% (289 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_BR/
Author: Thais Palmer <eu@thaispalmer.com.br>
2024-01-24 19:13:59 +00:00
blikje
3da2d84e68 Translated using Weblate (Dutch)
Currently translated at 92.5% (297 of 321 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-24 19:13:59 +00:00
Anton Amos
a5a693b1f8 Added translation using Weblate (Navaho)
Author: Anton Amos <eraser.frays0g@icloud.com>
2024-01-24 19:13:59 +00:00
Weblate
386d73738d Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-01-24 19:13:59 +00:00
Mehdi
befa508fdd Translated using Weblate (Persian)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:13:59 +00:00
n1ck
65d0c070bd Translated using Weblate (Spanish)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/es/
Author: n1ck <n1ck.lim@proton.me>
2024-01-24 19:13:59 +00:00
blikje
f671569d67 Translated using Weblate (Dutch)
Currently translated at 84.2% (267 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-24 19:13:59 +00:00
Elma Lísa Eyþórsdóttir
d5910c88df Translated using Weblate (Icelandic)
Currently translated at 53.3% (169 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-24 19:13:59 +00:00
Kipoddo
10510edb49 Translated using Weblate (Hebrew)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/he/
Author: Kipoddo <guybusinessk@gmail.com>
2024-01-24 19:13:59 +00:00
Elma Lísa Eyþórsdóttir
c39cd90eb6 Translated using Weblate (Icelandic)
Currently translated at 52.9% (168 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-24 19:13:59 +00:00
Willy Billy
d6e55ea9f5 Translated using Weblate (Romanian)
Currently translated at 81.7% (259 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ro/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-24 19:13:59 +00:00
Raymond Nee
bfcb74a77d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-01-24 19:13:59 +00:00
thehairy
d0571503bf Translated using Weblate (German)
Currently translated at 84.5% (268 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: thehairy <soeren.stabenow@outlook.com>
2024-01-24 19:13:59 +00:00
Weblate
6073256daf Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-01-24 19:13:59 +00:00
Elma Lísa Eyþórsdóttir
56593ce3e8 Translated using Weblate (Icelandic)
Currently translated at 50.7% (161 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-24 19:13:59 +00:00
dynosss
544ad48d7b Translated using Weblate (Chinese (Simplified))
Currently translated at 79.1% (251 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: dynosss <yeeren0308@gmail.com>
2024-01-24 19:13:59 +00:00
Elma Lísa Eyþórsdóttir
aa19d9085b Translated using Weblate (Icelandic)
Currently translated at 0.6% (2 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/is/
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-24 19:13:59 +00:00
Elma Lísa Eyþórsdóttir
fca575f21d Added translation using Weblate (Icelandic)
Author: Elma Lísa Eyþórsdóttir <elmcraft123@gmail.com>
2024-01-24 19:13:59 +00:00
Mehdi
b53886ad50 Translated using Weblate (Persian)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-24 19:13:59 +00:00
mrjvs
44a7d7f59a bump version 2024-01-24 20:13:47 +01:00
Jorrin
bcd77093dd serialize body 2024-01-24 19:40:48 +01:00
mrjvs
da841c65b3 Merge branch 'master' into dev 2024-01-24 17:58:47 +01:00
mrjvs
23550c0e9c Bump version 2024-01-24 17:57:38 +01:00
mrjvs
9dd59479f0 Merge pull request #819 from movie-web/extension-fixes
Small extension fixes
2024-01-24 17:44:10 +01:00
mrjvs
affc1743f5 Add opera 2024-01-24 17:32:57 +01:00
mrjvs
d43adb80d0 Merge branch 'extension-fixes' of https://github.com/movie-web/movie-web into extension-fixes 2024-01-24 15:23:30 +01:00
mrjvs
018360f56d Remove slow docker build from testing CI 2024-01-24 15:23:29 +01:00
mrjvs
bb3f249195 Merge branch 'dev' into extension-fixes 2024-01-24 15:22:51 +01:00
mrjvs
0295dc41ee Merge pull request #816 from movie-web/promise-dot-all
Use Promise.all for simultaneous calls
2024-01-24 15:21:57 +01:00
mrjvs
a87f4cf222 Make download subtitle not automatically crash the tab but only after clicking (if ram is too low) 2024-01-24 15:13:59 +01:00
mrjvs
392c60a9f9 Add a reload page prompt for extension 2024-01-24 15:05:22 +01:00
mrjvs
825a28502d Add config options for extension install links 2024-01-24 14:53:54 +01:00
mrjvs
e1c09225ee Detect browser for extension 2024-01-24 14:51:00 +01:00
mrjvs
8abcd6c43a Mobile responsive onboarding start 2024-01-24 14:17:23 +01:00
mrjvs
a91e2b6e2e adjust setupPart timings and extension message preload 2024-01-24 14:02:35 +01:00
William Oldham
67f3047463 Use Promise.all for simultaneous calls 2024-01-23 23:54:32 +00:00
mrjvs
624149c6ac Merge pull request #814 from movie-web/dev
4.3.1 - Fix provider API interaction with extension
2024-01-23 22:52:31 +01:00
mrjvs
703dfc7434 Merge branch 'master' into dev 2024-01-23 22:50:41 +01:00
mrjvs
6371478d0b Merge pull request #813 from movie-web/hotfix/provider-api
Check for extension in scrape logic
2024-01-23 22:47:35 +01:00
William Oldham
6c88da1b05 Bump version 2024-01-23 21:45:31 +00:00
William Oldham
25ae949995 Check for extension in scrape logic 2024-01-23 21:44:53 +00:00
William Oldham
bb8f0599b3 Merge pull request #812 from movie-web/dev
V4.3.0
2024-01-23 21:07:13 +00:00
William Oldham
e0bbeeee84 Merge pull request #811 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-01-23 21:01:03 +00:00
admin
4198143b34 Translated using Weblate (Czech)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: admin <admin@movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
2d95375750 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
Denys Savin
07e0d42f84 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
5Litt
307324304b Translated using Weblate (Czech)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
eb22253a2a Translated using Weblate (Ukrainian)
Currently translated at 97.4% (309 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
atomic
bc93a6b403 Translated using Weblate (French)
Currently translated at 100.0% (317 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-23 20:59:08 +00:00
5Litt
7d88a435d2 Translated using Weblate (Czech)
Currently translated at 99.0% (314 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
ff23d1b1a3 Translated using Weblate (Czech)
Currently translated at 99.0% (314 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
5Litt
ed5156809f Translated using Weblate (Czech)
Currently translated at 96.5% (306 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
e81fff4e07 Translated using Weblate (Czech)
Currently translated at 96.5% (306 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
e788478f6a Translated using Weblate (Czech)
Currently translated at 94.9% (301 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
1ee4fdb7fc Translated using Weblate (Ukrainian)
Currently translated at 93.6% (297 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
atomic
8b414fa4d4 Translated using Weblate (French)
Currently translated at 99.0% (314 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-23 20:59:08 +00:00
Ninguart
0e95e9c381 Translated using Weblate (Czech)
Currently translated at 94.6% (300 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
5Litt
69b843f85a Translated using Weblate (Czech)
Currently translated at 94.6% (300 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
f8071b4653 Translated using Weblate (Ukrainian)
Currently translated at 90.8% (288 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
atomic
51da00c10e Translated using Weblate (French)
Currently translated at 93.6% (297 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-23 20:59:08 +00:00
5Litt
294ddbd0c9 Translated using Weblate (Czech)
Currently translated at 89.5% (284 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
fe152425af Translated using Weblate (Czech)
Currently translated at 89.5% (284 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
61388e26a2 Translated using Weblate (Ukrainian)
Currently translated at 90.2% (286 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
atomic
a162951769 Translated using Weblate (French)
Currently translated at 91.7% (291 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-23 20:59:08 +00:00
5Litt
d93d8e54a0 Translated using Weblate (Czech)
Currently translated at 88.3% (280 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
9bd053818b Translated using Weblate (Czech)
Currently translated at 88.3% (280 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
fa7ed9bd25 Translated using Weblate (Ukrainian)
Currently translated at 83.2% (264 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
atomic
8b9e657a04 Translated using Weblate (French)
Currently translated at 82.3% (261 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: atomic <atomiclikesmans@gmail.com>
2024-01-23 20:59:08 +00:00
5Litt
b072794a63 Translated using Weblate (Czech)
Currently translated at 82.0% (260 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: 5Litt <5Litt@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Ninguart
fd23044e59 Translated using Weblate (Czech)
Currently translated at 82.0% (260 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Denys Savin
c995aa86c9 Translated using Weblate (Ukrainian)
Currently translated at 80.7% (256 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 20:59:08 +00:00
teaishealthy
835a24508f Translated using Weblate (German)
Currently translated at 82.0% (260 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: teaishealthy <teaishealthy@protonmail.com>
2024-01-23 20:59:08 +00:00
Ninguart
09515cd147 Translated using Weblate (Czech)
Currently translated at 80.4% (255 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-23 20:59:08 +00:00
Weblate
487239b0fe Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-01-23 20:59:08 +00:00
William Oldham
bdfeeaaed3 Merge pull request #809 from movie-web/extension-final-fixes
Extension final fixes
2024-01-23 20:59:01 +00:00
William Oldham
f1d12e1eee Add Portuguese Portugal into imports 2024-01-23 20:45:27 +00:00
William Oldham
dc3fdb5fdd Actually bump version 2024-01-23 20:17:35 +00:00
mrjvs
fe76b9ef12 Merge branch 'master' into dev 2024-01-23 21:14:16 +01:00
William Oldham
77c5b60734 Bump ze version 2024-01-23 20:12:54 +00:00
William Oldham
711cbe39c6 Merge pull request #810 from movie-web/weblate-half-pr
Half of weblate
2024-01-23 20:07:04 +00:00
Anonymous
1cbba83335 Translated using Weblate (Slovenian)
Currently translated at 96.4% (245 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/sl/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
a2ce26e715 Translated using Weblate (Japanese)
Currently translated at 14.1% (45 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ja/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
50c399bf1c Translated using Weblate (Tamil)
Currently translated at 9.7% (31 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ta/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
58582a42f1 Translated using Weblate (Indonesian)
Currently translated at 96.4% (245 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/id/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
f62f13eb81 Translated using Weblate (Chinese (Traditional))
Currently translated at 10.7% (34 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hant/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
429e40ac58 Translated using Weblate (Korean)
Currently translated at 91.3% (232 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ko/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
TFAM_IS_LUV
5468d98089 Translated using Weblate (Korean)
Currently translated at 91.3% (232 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ko/
Author: TFAM_IS_LUV <popop098@outlook.kr>
2024-01-23 19:32:56 +00:00
Anonymous
d5454b4976 Translated using Weblate (Khmer (Central))
Currently translated at 6.3% (20 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/km/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
56495bd653 Translated using Weblate (Russian)
Currently translated at 67.3% (171 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
9d9a0f1cbe Translated using Weblate (Toki Pona)
Currently translated at 89.3% (227 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tok/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
c23f940704 Translated using Weblate (Arabic)
Currently translated at 96.8% (246 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ar/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
ca3d655725 Translated using Weblate (Latvian)
Currently translated at 88.5% (225 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/lv/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
f786b087e5 Translated using Weblate (Swedish)
Currently translated at 88.5% (225 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/sv/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
2ee5f0bbab Translated using Weblate (Thai)
Currently translated at 94.4% (240 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/th/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Anonymous
4ae5a17fb1 Translated using Weblate (Vietnamese)
Currently translated at 27.1% (86 of 317 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Christian Furr
44350360eb Translated using Weblate (pirate (generated) (pirate))
Currently translated at 88.9% (226 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pirate/
Author: Christian Furr <furr.christian@gmail.com>
2024-01-23 19:32:56 +00:00
Anonymous
5bc8fa100e Translated using Weblate (pirate (generated) (pirate))
Currently translated at 88.9% (226 of 254 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pirate/
Author: Anonymous <noreply@weblate.org>
2024-01-23 19:32:56 +00:00
Weblate
dd19e0a2d2 Update translation files
Updated by "Cleanup translation files" hook in Weblate.

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/
2024-01-23 19:32:56 +00:00
Alex
dc6f8be5d8 Translated using Weblate (Russian)
Currently translated at 67.7% (174 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:56 +00:00
Hank Dank
4bb7a5074a Translated using Weblate (Turkish)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tr/
Author: Hank Dank <hdank2657@gmail.com>
2024-01-23 19:32:56 +00:00
Mehdi
adf24115ee Translated using Weblate (Persian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-01-23 19:32:56 +00:00
Jamie Poznanski
4e5043f579 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
aryiu
4d73552174 Translated using Weblate (Catalan)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
Guillaume
44ad219865 Translated using Weblate (French)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Guillaume <guillaumepeeklo@gmail.com>
2024-01-23 19:32:55 +00:00
Alex
682ad93c22 Translated using Weblate (Russian)
Currently translated at 67.3% (173 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
Alex
e0b633df09 Translated using Weblate (Russian)
Currently translated at 65.7% (169 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
Raymond Nee
0e25d9b135 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-01-23 19:32:55 +00:00
Jamie Poznanski
4c75c8e1c1 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
Jamie Poznanski
c2f00d53a3 Translated using Weblate (Italian)
Currently translated at 99.6% (256 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
Alex
909332ae75 Translated using Weblate (Russian)
Currently translated at 64.9% (167 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
Thais Palmer
c1ffe921de Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_BR/
Author: Thais Palmer <eu@thaispalmer.com.br>
2024-01-23 19:32:55 +00:00
Nasir
829bb7d272 Translated using Weblate (French)
Currently translated at 99.6% (256 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Nasir <nasirafzal341@gmail.com>
2024-01-23 19:32:55 +00:00
n1ck
6126299cd6 Translated using Weblate (Galician)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gl/
Author: n1ck <n1ck.lim@proton.me>
2024-01-23 19:32:55 +00:00
n1ck
25df1304be Translated using Weblate (Spanish)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/es/
Author: n1ck <n1ck.lim@proton.me>
2024-01-23 19:32:55 +00:00
Alex
560e793a5d Translated using Weblate (Russian)
Currently translated at 64.2% (165 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
blikje
d7829b2978 Translated using Weblate (Dutch)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-23 19:32:55 +00:00
Denys Savin
2077eafa29 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-23 19:32:55 +00:00
blikje
4f7a2565d1 Translated using Weblate (Dutch)
Currently translated at 99.6% (256 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-23 19:32:55 +00:00
Aayush Shah
8d20d5ba4b Translated using Weblate (Nepali)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-23 19:32:55 +00:00
27f043c9cf Translated using Weblate (German)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: Isra <byzkk@protonmail.com>
2024-01-23 19:32:55 +00:00
aryiu
edb0de12ab Translated using Weblate (Catalan)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
Alex
76a2be9c9c Translated using Weblate (Russian)
Currently translated at 64.2% (165 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
Jakub Herda
3bbb9cf0f6 Translated using Weblate (Polish)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Jakub Herda <kuba033009@gmail.com>
2024-01-23 19:32:55 +00:00
Joydip Roy
b66a310c8a Translated using Weblate (Bengali)
Currently translated at 62.6% (161 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/bn/
Author: Joydip Roy <joydipand@gmail.com>
2024-01-23 19:32:55 +00:00
Alex
9c17ab5fe5 Translated using Weblate (Russian)
Currently translated at 61.4% (158 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-23 19:32:55 +00:00
Stella Vanella
05e1991953 Translated using Weblate (Vietnamese)
Currently translated at 33.4% (86 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Stella Vanella <stellavu2018@gmail.com>
2024-01-23 19:32:55 +00:00
Hank Dank
19de75333b Translated using Weblate (Turkish)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tr/
Author: Hank Dank <hdank2657@gmail.com>
2024-01-23 19:32:55 +00:00
Rafael Queiroz
594b6e38db Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_PT/
Author: Rafael Queiroz <rfl.dqs@proton.me>
2024-01-23 19:32:55 +00:00
aryiu
28bc4dcbbf Translated using Weblate (Catalan)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-01-23 19:32:55 +00:00
jan Kukisulasu
7566084723 Translated using Weblate (Toki Pona)
Currently translated at 89.8% (231 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tok/
Author: jan Kukisulasu <iam.mcken@gmail.com>
2024-01-23 19:32:55 +00:00
cheesethesylv
e50e03d74c Translated using Weblate (Vietnamese)
Currently translated at 30.7% (79 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: cheesethesylv <mtgarryalt@gmail.com>
2024-01-23 19:32:55 +00:00
Hank Dank
2015076e41 Translated using Weblate (Turkish)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/tr/
Author: Hank Dank <hdank2657@gmail.com>
2024-01-23 19:32:55 +00:00
Nasir
a41353cb6c Translated using Weblate (French)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Nasir <nasirafzal341@gmail.com>
2024-01-23 19:32:55 +00:00
Rafael Queiroz
0b4dbc709c Added translation using Weblate (Portuguese)
Author: Rafael Queiroz <rfl.dqs@proton.me>
2024-01-23 19:32:55 +00:00
admin
466cb3ce4d Deleted translation using Weblate (Klingon (pIqaD))
Author: admin <admin@movie-web.app>
2024-01-23 19:32:55 +00:00
Rafael Queiroz
ffdaa1916e Added translation using Weblate (Klingon (pIqaD))
Author: Rafael Queiroz <rfl.dqs@proton.me>
2024-01-23 19:32:55 +00:00
William Oldham
c0241000d0 Add semver extension version checking (#808)
* Add semver extension version checking
2024-01-23 20:32:51 +01:00
William Oldham
a008472a31 Merge pull request #802 from Pyr33x/dev
Backdrop blur for the navigation buttons
2024-01-23 18:59:31 +00:00
mrjvs
dbaba7ff18 Add configurable links to onboarding 2024-01-23 19:57:05 +01:00
mrjvs
e758f32483 Add loading screen for SetupPart checks 2024-01-23 19:48:23 +01:00
William Oldham
d38cb6b632 Merge branch 'dev' into dev 2024-01-22 15:45:38 +00:00
William Oldham
132be80f81 Merge pull request #760 from movie-web/extension
Browser extension & onboarding
2024-01-21 20:43:25 +00:00
mrjvs
d47722d36c onboarding preserve params 2024-01-21 20:41:09 +01:00
mrjvs
20e35d0549 fix linting problem 2024-01-21 20:33:49 +01:00
mrjvs
2064e42bcb handle errors for domain extraction 2024-01-21 20:31:34 +01:00
Mehdi Dara
6010c2bab0 Backdrop blur for the navigation buttons 2024-01-21 21:28:10 +03:30
mrjvs
7a5a9fe6fb Fix typo 2024-01-21 15:33:01 +01:00
mrjvs
4fa500013e Style the extension onboarding 2024-01-21 15:28:46 +01:00
mrjvs
faa58f9ce6 Merge branch 'extension' of https://github.com/movie-web/movie-web into extension 2024-01-20 22:54:23 +01:00
mrjvs
ab9cd9fe4b change “familiar for” to “familiar with” 2024-01-20 22:54:22 +01:00
William Oldham
9157220317 Add i81n strings for MetaPart 2024-01-20 18:13:40 +00:00
William Oldham
1918aa6d9b Extension should only be classed as active/valid when it's allowed on the domain 2024-01-20 17:59:18 +00:00
mrjvs
ff045c95c7 update provider package 2024-01-20 18:28:49 +01:00
mrjvs
61d1d9c95e Merge branch 'dev' into extension 2024-01-20 15:04:20 +01:00
mrjvs
bbee084182 Merge pull request #797 from movie-web/dependabot/npm_and_yarn/vite-5.0.12
Bump vite from 5.0.10 to 5.0.12
2024-01-20 15:04:02 +01:00
mrjvs
cf38e26c5b Merge branch 'extension' of https://github.com/movie-web/movie-web into extension 2024-01-20 14:02:00 +01:00
mrjvs
8a79924abd Merge branch 'dev' into extension 2024-01-20 14:57:40 +01:00
mrjvs
ad69c9381c remove resolved TODO 2024-01-20 14:00:15 +01:00
mrjvs
e4ad8789b9 Add todos and fix some highlights 2024-01-20 13:54:32 +01:00
mrjvs
88b788d831 localize setupPart 2024-01-20 13:47:21 +01:00
mrjvs
8cc6faff09 improve HLS disclaimer 2024-01-20 13:27:58 +01:00
mrjvs
741a35dee8 Style and localize the preference section of settings 2024-01-20 13:20:06 +01:00
mrjvs
f96a0de373 Style the settings onboarding card 2024-01-20 13:09:42 +01:00
mrjvs
de5d47a730 Theme skip setup card 2024-01-20 12:24:02 +01:00
mrjvs
6a81b30585 Localize all onboarding screens 2024-01-20 11:53:24 +01:00
mrjvs
9ec273e78c Style onboarding pages
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
2024-01-20 11:18:16 +01:00
mrjvs
bb147a1367 Fixed flares 2024-01-20 00:24:06 +01:00
dependabot[bot]
2ec8548439 Bump vite from 5.0.10 to 5.0.12
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 22:14:25 +00:00
mrjvs
a362559d9c Add onboarding state to settings 2024-01-19 19:30:25 +01:00
mrjvs
47d680da8a Add some hover effects 2024-01-18 20:37:27 +01:00
mrjvs
b3222b130f Fix some thumbnail scraping setting logic
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:29:58 +01:00
mrjvs
dc95bd7455 Add full layout and styling for the first step in onboarding
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:22:55 +01:00
mrjvs
3b2be31691 Add thumbnail generation as a setting
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:22:39 +01:00
mrjvs
965cc56570 Fix bug where stream freezes without extension
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-18 19:21:43 +01:00
mrjvs
a226f3347c Add onboarding functionality 2024-01-16 22:07:21 +01:00
mrjvs
925f3dff19 Basic onboarding structure 2024-01-16 20:28:33 +01:00
mrjvs
7a7d1b1b24 Merge pull request #768 from zisra/dev
Instructions
2024-01-15 21:04:26 +01:00
Jorrin
fa2b610ea6 fix permission check on domain level 2024-01-14 22:33:46 +01:00
Jorrin
9488437698 check if extension has permissions 2024-01-14 18:19:38 +01:00
Jorrin
a4b925dc1b revert back to makeRequest 2024-01-12 18:46:51 +01:00
Jorrin
ccbf888946 firefox support (kinda with manual permission set) 2024-01-11 23:45:33 +01:00
zisra
97b50d8460 Merge branch 'movie-web:dev' into dev 2024-01-11 15:11:15 -06:00
chaos
224d823eb6 Merge branch 'dev' into mediasession 2024-01-11 22:25:07 +02:00
mrjvs
34600f1fe9 Merge pull request #725 from CelestialLemon/dev
fixed #614 multiple captions of the same language all appeared as selected when selecting only one
2024-01-11 21:20:21 +01:00
mrjvs
6c7f1acece Remove requestDomain 2024-01-11 19:16:22 +01:00
mrjvs
72f6960c60 Merge branch 'dev' into dev 2024-01-11 19:02:30 +01:00
mrjvs
3704dfba10 Fix styling bugs, fix player not switching source after error, fix allowed state in extension, add ip locked sourced for extension
Co-authored-by: Jip Frijlink <JipFr@users.noreply.github.com>
2024-01-10 22:04:21 +01:00
Jorrin
d32ef6ed9a fix extension not preparing stream on embed selection 2024-01-10 19:43:54 +01:00
mrjvs
e1be30dde9 Request messaging 2024-01-10 18:20:51 +01:00
b11a7016be Actual links 2024-01-09 21:18:41 -06:00
caa82e15a3 Instructions 2024-01-09 21:14:03 -06:00
Jorrin
4bdb95ed0f fix 2024-01-09 23:35:23 +01:00
Jorrin
52bc66e7dd improve typings 2024-01-09 23:00:54 +01:00
William Oldham
755be9dd99 Merge pull request #763 from movie-web/remove-arm
Remove ARM-32 bit from Docker build
2024-01-09 21:36:48 +00:00
William Oldham
ffea08f3d9 Remove ARM-32 bit from Docker build 2024-01-09 21:02:39 +00:00
mrjvs
421186cb54 Version checking + preparing streams 2024-01-09 21:56:39 +01:00
mrjvs
869e0713c8 Merge pull request #762 from robertsspaceindustries/dev
Fix buttons still having the `cursor: pointer` property when disabled
2024-01-09 21:00:19 +01:00
Astrid
dec967418b Mark cursor-not-allowed as important so that cursor-pointer gets overridden 2024-01-09 20:50:45 +01:00
Astrid
dc67ef0c3a remove unused vars 2024-01-09 20:50:27 +01:00
mrjvs
f70d13f2c9 Clean up extension code 2024-01-09 20:07:22 +01:00
Ashutosh Shinde
ab550554ee Merge branch 'dev' into dev 2024-01-09 10:44:05 +05:30
Ashutosh Shinde
803668b492 added return value of selectCaptionById from selectLanguage function 2024-01-09 10:43:20 +05:30
Jorrin
ef85c217f7 first mvp extension 2024-01-08 17:06:27 +01:00
William Oldham
fbb5ef7115 Merge pull request #747 from movie-web/binaryoverload-patch-1
Update and Fix GitHub Actions
2024-01-07 17:14:47 +00:00
William Oldham
93d8f7263e Remove ARM 32-bit from testing 2024-01-07 17:05:59 +00:00
William Oldham
75a2c31800 Add Docker build to test workflow 2024-01-07 16:56:49 +00:00
William Oldham
dcac368468 Use @rollup/wasm-node to allow building on ARM 2024-01-07 16:43:22 +00:00
Ashutosh Shinde
65efb65bc8 Merge branch 'dev' into dev 2024-01-07 18:58:28 +05:30
William Oldham
a62c029514 Rename dockerfile to have capital D 2024-01-07 13:10:59 +00:00
William Oldham
ff8661a644 Update dockerfile to use Node 20 2024-01-07 13:09:45 +00:00
William Oldham
bb7f19fbae Update action and Node versions for linting and testing 2024-01-07 13:08:01 +00:00
William Oldham
d71d082ed1 Update deploying.yml 2024-01-07 13:05:38 +00:00
William Oldham
5908a1736f Merge pull request #740 from movie-web/dev
V4.2.5
2024-01-06 21:28:12 +00:00
mrjvs
2ef843bc8f Merge branch 'master' into dev 2024-01-06 21:59:46 +01:00
mrjvs
6169a02741 Bump provider version + movie-web version 2024-01-06 21:58:58 +01:00
Ashutosh Shinde
f09a185335 updated selectLanguage callback to call selectCaptionById after searching for correct caption 2024-01-06 23:19:06 +05:30
Ashutosh Shinde
32dd68c90e updated CaptionOption key to use caption id instead of index and url in CaptionView 2024-01-06 23:18:54 +05:30
qtchaos
c6f359d4ea Remove unused import in MediaSession.ts 2024-01-06 19:31:05 +02:00
chaos
b952d0a4d0 Merge branch 'dev' into mediasession 2024-01-06 18:44:37 +02:00
qtchaos
fb68efa522 Rework MediaSession to be less bad 2024-01-06 18:43:42 +02:00
William Oldham
8492af9c18 Merge pull request #736 from movie-web/dev
Add Catalan Language
2024-01-06 16:07:36 +00:00
mrjvs
e4e1f6e0f6 Merge branch 'master' into dev 2024-01-06 17:05:41 +01:00
William Oldham
9a5f7b3c7a Merge pull request #735 from movie-web/add-catalan
Add catalan language
2024-01-06 16:04:40 +00:00
William Oldham
c66084ab2f Apparently catalan is not Spain but Andorra 2024-01-06 15:59:12 +00:00
William Oldham
9155167b08 Add catalan language 2024-01-06 15:56:14 +00:00
William Oldham
5805bc7672 Merge pull request #734 from movie-web/dev
V4.2.4
2024-01-06 15:51:49 +00:00
William Oldham
2e86d5b9bb Merge pull request #708 from gh-movie-web/weblate-movie-web-website
Translations update from movie-web weblate
2024-01-06 15:47:07 +00:00
Alex
0ed513e59f Translated using Weblate (Russian)
Currently translated at 59.1% (152 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-06 15:46:54 +00:00
aryiu
f830cd6ba2 Translated using Weblate (Catalan)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: aryiu <aryiu@users.noreply.weblate.movie-web.app>
2024-01-06 15:46:54 +00:00
Willy Billy
2bc7937568 Translated using Weblate (Greek)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/el/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Willy Billy
13df0be2d1 Translated using Weblate (Russian)
Currently translated at 58.7% (151 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Willy Billy
6421aebb8f Translated using Weblate (minion (generated) (minion))
Currently translated at 99.6% (256 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/minion/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Willy Billy
e1448e013c Translated using Weblate (Polish)
Currently translated at 98.4% (253 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pl/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Alex
001293f057 Translated using Weblate (Russian)
Currently translated at 58.3% (150 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-06 15:46:54 +00:00
Aayush Shah
74b0afe06d Translated using Weblate (Nepali)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ne/
Author: Aayush Shah <shahaayush999@gmail.com>
2024-01-06 15:46:54 +00:00
Kipoddo
baef568679 Translated using Weblate (Hebrew)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/he/
Author: Kipoddo <guybusinessk@gmail.com>
2024-01-06 15:46:54 +00:00
Stella Vanella
ba3c92d893 Translated using Weblate (Vietnamese)
Currently translated at 23.7% (61 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Stella Vanella <stellavu2018@gmail.com>
2024-01-06 15:46:54 +00:00
blikje
9adc819d2f Translated using Weblate (Dutch)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/nl/
Author: blikje <Blikje7up@gmail.com>
2024-01-06 15:46:54 +00:00
Jamie Poznanski
034dee0a57 Translated using Weblate (Italian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/it/
Author: Jamie Poznanski <enby_jamie@users.noreply.weblate.movie-web.app>
2024-01-06 15:46:54 +00:00
Ninguart
812c9cc37a Translated using Weblate (Czech)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/cs/
Author: Ninguart <ninguart@users.noreply.weblate.movie-web.app>
2024-01-06 15:46:54 +00:00
Kartavya Patel
fb270642b8 Translated using Weblate (Gujarati)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gu/
Author: Kartavya Patel <patelka2211@gmail.com>
2024-01-06 15:46:54 +00:00
Stella Vanella
fe954a0010 Translated using Weblate (Vietnamese)
Currently translated at 22.9% (59 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Stella Vanella <stellavu2018@gmail.com>
2024-01-06 15:46:54 +00:00
areyouben
c7ba330db9 Translated using Weblate (Catalan)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: areyouben <holarubenf@gmail.com>
2024-01-06 15:46:54 +00:00
Fluffy
384d705f6b Translated using Weblate (Punjabi)
Currently translated at 9.7% (25 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pa/
Author: Fluffy <aseemsharma2992@gmail.com>
2024-01-06 15:46:54 +00:00
Willy Billy
1536ca9cb3 Translated using Weblate (Romanian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ro/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Kartavya Patel
90c361c8ec Translated using Weblate (Gujarati)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/gu/
Author: Kartavya Patel <patelka2211@gmail.com>
2024-01-06 15:46:54 +00:00
Kartavya Patel
888564011c Translated using Weblate (Hindi)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/hi/
Author: Kartavya Patel <patelka2211@gmail.com>
2024-01-06 15:46:54 +00:00
Sopanha Kok
105fc716db Translated using Weblate (Khmer (Central))
Currently translated at 7.7% (20 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/km/
Author: Sopanha Kok <sopanhakok@gmail.com>
2024-01-06 15:46:54 +00:00
Denys Savin
d1139e81f6 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/uk/
Author: Denys Savin <dxnsav@gmail.com>
2024-01-06 15:46:54 +00:00
Alex
21f9ff3857 Translated using Weblate (Russian)
Currently translated at 57.9% (149 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-06 15:46:54 +00:00
Willy Billy
b18c47f96a Translated using Weblate (Russian)
Currently translated at 57.9% (149 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Thais Palmer
e2c5b8e1a5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pt_BR/
Author: Thais Palmer <eu@thaispalmer.com.br>
2024-01-06 15:46:54 +00:00
Willy Billy
a8013ddc75 Translated using Weblate (minion (generated) (minion))
Currently translated at 99.2% (255 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/minion/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Raymond Nee
9ed689a8f4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-01-06 15:46:54 +00:00
Stella Vanella
c744b9e6b1 Translated using Weblate (Vietnamese)
Currently translated at 12.0% (31 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/vi/
Author: Stella Vanella <stellavu2018@gmail.com>
2024-01-06 15:46:54 +00:00
Willy Billy
ac8bbc448c Translated using Weblate (pirate (generated) (pirate))
Currently translated at 89.8% (231 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/pirate/
Author: Willy Billy <billywillyyourmadre@gmail.com>
2024-01-06 15:46:54 +00:00
Guillaume
3638e06e39 Translated using Weblate (French)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/fr/
Author: Guillaume <guillaumepeeklo@gmail.com>
2024-01-06 15:46:54 +00:00
areyouben
f2fb0bd4af Translated using Weblate (Catalan)
Currently translated at 56.4% (145 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: areyouben <holarubenf@gmail.com>
2024-01-06 15:46:53 +00:00
areyouben
2e3d53de57 Translated using Weblate (Catalan)
Currently translated at 56.0% (144 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ca/
Author: areyouben <holarubenf@gmail.com>
2024-01-06 15:46:53 +00:00
Alex
ba3975e654 Translated using Weblate (Russian)
Currently translated at 52.5% (135 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-01-06 15:46:53 +00:00
thehairy
3b6f872ed4 Translated using Weblate (German)
Currently translated at 100.0% (257 of 257 strings)

Translation: movie-web/website
Translate-URL: https://weblate.movie-web.app/projects/movie-web/website/de/
Author: thehairy <soeren.stabenow@outlook.com>
2024-01-06 15:46:53 +00:00
areyouben
3cab2d9400 Added translation using Weblate (Catalan)
Author: areyouben <holarubenf@gmail.com>
2024-01-06 15:46:53 +00:00
mrjvs
d8445bad9a Merge branch 'master' into dev 2024-01-06 16:46:50 +01:00
William Oldham
2231070ae7 Merge pull request #733 from movie-web/new-providers-update
New providers update
2024-01-06 15:20:18 +00:00
mrjvs
21f942dd91 Merge branch 'dev' into new-providers-update 2024-01-06 16:19:03 +01:00
William Oldham
d13eb07bb6 Merge pull request #730 from robertsspaceindustries/dev
Add profile picture preview
2024-01-06 15:15:21 +00:00
mrjvs
74ed360981 Bump version 2024-01-06 16:15:17 +01:00
mrjvs
c7f8551657 Update provider package 2024-01-06 16:14:58 +01:00
Astrid
24e3cc739c add register avatar preview 2024-01-06 16:12:15 +01:00
Astrid
acfd34a60b Add profile picture preview 2024-01-06 16:01:31 +01:00
mrjvs
949cc216c7 Merge branch 'dev' into mediasession 2024-01-06 15:31:01 +01:00
mrjvs
ec4b2f73f3 Merge branch 'dev' into dev 2024-01-06 14:40:19 +01:00
William Oldham
88bc1aa644 Merge pull request #726 from movie-web/language-code-fixes
Language code fixes
2024-01-06 12:44:02 +00:00
William Oldham
4c3528892f Sort default language codes for neatness 2024-01-06 12:36:59 +00:00
William Oldham
86e81dcd05 Use populate language code for country code method 2024-01-06 12:31:22 +00:00
William Oldham
d8c96f2b6d Use priority ahead of region 2024-01-06 10:48:48 +00:00
William Oldham
8a7e277d1c Update language readme 2024-01-06 10:48:48 +00:00
William Oldham
eec1e28e8e Update language util to get region from the locale code where available 2024-01-06 10:48:48 +00:00
William Oldham
04906f1f87 Merge pull request #722 from sweenu/dev
Push Docker image to registry after release
2024-01-06 10:44:39 +00:00
Bruno Inec
19143be583 Push Docker image to registry after release 2024-01-06 10:49:54 +01:00
Ashutosh Shinde
cd02f6d7a3 fixed #614 multiple captions of the same language all appeared as selected when selecting only one 2024-01-06 13:40:04 +05:30
qtchaos
00066ba788 somewhat ok mediasession implementation 2024-01-05 21:19:59 +02:00
William Oldham
9e61ec2758 Merge pull request #718 from zisra/dev
Fix language fallback
2024-01-05 10:00:50 +00:00
ca4437f86a Fix language fallback 2024-01-05 10:54:40 +01:00
William Oldham
1d8d555578 Merge pull request #713 from movie-web/galician-flag
Galician flag
2024-01-04 20:49:28 +00:00
William Oldham
d0ef78020a Add Galician Flag 2024-01-04 20:44:11 +00:00
William Oldham
d1fb06c0e8 en-US shouldn't have the British flag... 2024-01-04 20:43:22 +00:00
William Oldham
38fe8df228 Move flags into flag directory 2024-01-04 20:43:05 +00:00
mrjvs
1912af065f Merge pull request #710 from movie-web/warningpart
Create WarningPart for in-player use
2024-01-04 01:51:09 +01:00
mrjvs
67de5030db Merge pull request #709 from movie-web/make-web-app-cable
Fix splash screens not showing up
2024-01-04 01:50:40 +01:00
Jip Fr
44740aed6a Create WarningPart for in-player use 2024-01-04 00:55:24 +01:00
Jip Fr
0b4f642242 Add web-app-capable tag 2024-01-04 00:47:55 +01:00
170 changed files with 10917 additions and 1345 deletions

View File

@@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at reported to the community leaders responsible for enforcement at
codeofconduct@movie-web.app. our [Discord](https://movie-web.github.io/links/discord).
All complaints will be reviewed and investigated promptly and fairly. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the All community leaders are obligated to respect the privacy and security of the

View File

@@ -1,6 +1,6 @@
# Contributing Guidelines for movie-web # Contributing Guidelines for movie-web
Thank you for investing your time in contributing to our project! Your contribution will be reflected on [movie-web.app](https://movie-web.app). Thank you for investing your time in contributing to our project! Your contribution will be reflected on all of the community hosted instances that are on the latest version.
Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable.
@@ -33,7 +33,7 @@ There are two places where to request features or report bugs:
### Discord Server ### Discord Server
If you do not have a GitHub account or want to discuss a feature or bug with us before making an issue, you can join our Discord server. If you do not have a GitHub account or want to discuss a feature or bug with us before making an issue, you can join our Discord server.
<a href="https://discord.movie-web.app"><img src="https://discord.com/api/guilds/871713465100816424/widget.png?style=banner2" alt="Discord Server"></a> <a href="https://movie-web.github.io/links/discord"><img src="https://discord.com/api/guilds/871713465100816424/widget.png?style=banner2" alt="Discord Server"></a>
### GitHub Issues ### GitHub Issues
To make a GitHub issue for movie-web, please visit the [new issue page](https://github.com/movie-web/movie-web/issues/new/choose) where you can pick either the "Bug Report" or "Feature Request" template. To make a GitHub issue for movie-web, please visit the [new issue page](https://github.com/movie-web/movie-web/issues/new/choose) where you can pick either the "Bug Report" or "Feature Request" template.
@@ -85,7 +85,8 @@ Here are some tips to make sure that your pull requests are :pinched_fingers: fi
### Language Contributions ### Language Contributions
Language contributions help movie-web massively, allowing people worldwide to use our app! Language contributions help movie-web massively, allowing people worldwide to use our app!
We use weblate for crowdsourcing our translations. [Click here to go to our translation tool.](https://weblate.movie-web.app/projects/movie-web/website/) We use Weblate for crowdsourcing our translations. [Click here to go to our translation tool.](https://movie-web.github.io/links/weblate)
1. First make sure you make an account. (click the link above) 1. First make sure you make an account. (click the link above)
2. Click the language you want to help translate, if it's not listed you can click the plus top left to add a new language. 2. Click the language you want to help translate, if it's not listed you can click the plus top left to add a new language.

View File

@@ -21,6 +21,6 @@ body:
- type: textarea - type: textarea
id: other-details id: other-details
attributes: attributes:
label: Anything other details to share? label: Any other details to share?
validations: validations:
required: false required: false

9
.github/SECURITY.md vendored
View File

@@ -2,12 +2,9 @@
## Supported Versions ## Supported Versions
The movie-web maintainers only support the latest version of movie-web published at https://movie-web.app. The latest version of movie-web is the only version that is supported, as it is the only version that is being actively developed.
Support is not provided for any forks or mirrors of movie-web.
## Reporting a Vulnerability ## Reporting a Vulnerability
There are two ways you can contact the movie-web maintainers to report a vulnerability: You can contact the movie-web maintainers to report a vulnerability:
- Email [security@movie-web.app](mailto:security@movie-web.app) - Report the vulnerability in the [movie-web Discord server](https://movie-web.github.io/links/discord)
- Report the vulnerability in the [movie-web Discord server](https://discord.movie-web.app)

View File

@@ -12,16 +12,16 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v2
with: with:
version: 8 version: 8
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
cache: 'pnpm' cache: 'pnpm'
- name: Install pnpm packages - name: Install pnpm packages
@@ -31,7 +31,7 @@ jobs:
run: pnpm run build:pwa run: pnpm run build:pwa
- name: Upload production-ready build files - name: Upload production-ready build files
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: pwa name: pwa
path: ./dist path: ./dist
@@ -42,16 +42,16 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v2
with: with:
version: 8 version: 8
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
cache: 'pnpm' cache: 'pnpm'
- name: Install pnpm packages - name: Install pnpm packages
@@ -61,7 +61,7 @@ jobs:
run: pnpm run build run: pnpm run build
- name: Upload production-ready build files - name: Upload production-ready build files
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: normal name: normal
path: ./dist path: ./dist
@@ -73,10 +73,10 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Download PWA artifact - name: Download PWA artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: pwa name: pwa
path: ./dist_pwa path: ./dist_pwa
@@ -85,7 +85,7 @@ jobs:
run: cd dist_pwa && zip -r ../movie-web.pwa.zip . run: cd dist_pwa && zip -r ../movie-web.pwa.zip .
- name: Download normal artifact - name: Download normal artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: normal name: normal
path: ./dist_normal path: ./dist_normal
@@ -127,3 +127,55 @@ jobs:
asset_path: ./movie-web.zip asset_path: ./movie-web.zip
asset_name: movie-web.zip asset_name: movie-web.zip
asset_content_type: application/zip asset_content_type: application/zip
registry:
name: Push to registry
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Get version
id: package-version
uses: martinbeentjes/npm-get-version-action@main
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=auto
tags: |
type=semver,pattern={{version}},value=v${{ steps.package-version.outputs.current-version }}
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@v5
with:
push: true
platforms: linux/amd64,linux/arm64
context: .
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -14,16 +14,16 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v2
with: with:
version: 8 version: 8
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
cache: 'pnpm' cache: 'pnpm'
- name: Install pnpm packages - name: Install pnpm packages
@@ -38,16 +38,16 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
- uses: pnpm/action-setup@v2 - uses: pnpm/action-setup@v2
with: with:
version: 8 version: 8
- name: Install Node.js - name: Install Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
cache: 'pnpm' cache: 'pnpm'
- name: Install pnpm packages - name: Install pnpm packages
@@ -55,3 +55,20 @@ jobs:
- name: Build Project - name: Build Project
run: pnpm run build run: pnpm run build
docker:
name: Build Docker
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
uses: docker/build-push-action@v5
with:
push: false
context: .

50
Dockerfile Normal file
View File

@@ -0,0 +1,50 @@
FROM node:20-alpine as build
WORKDIR /app
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY package.json ./
COPY pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
ARG PWA_ENABLED="false"
ARG GA_ID
ARG APP_DOMAIN
ARG OPENSEARCH_ENABLED="false"
ARG TMDB_READ_API_KEY
ARG CORS_PROXY_URL
ARG DMCA_EMAIL
ARG NORMAL_ROUTER="false"
ARG BACKEND_URL
ARG HAS_ONBOARDING="false"
ARG ONBOARDING_CHROME_EXTENSION_INSTALL_LINK
ARG ONBOARDING_PROXY_INSTALL_LINK
ARG DISALLOWED_IDS
ARG CDN_REPLACEMENTS
ARG TURNSTILE_KEY
ENV VITE_PWA_ENABLED=${PWA_ENABLED}
ENV VITE_GA_ID=${GA_ID}
ENV VITE_APP_DOMAIN=${APP_DOMAIN}
ENV VITE_OPENSEARCH_ENABLED=${OPENSEARCH_ENABLED}
ENV VITE_TMDB_READ_API_KEY=${TMDB_READ_API_KEY}
ENV VITE_CORS_PROXY_URL=${CORS_PROXY_URL}
ENV VITE_DMCA_EMAIL=${DMCA_EMAIL}
ENV VITE_NORMAL_ROUTER=${NORMAL_ROUTER}
ENV VITE_BACKEND_URL=${BACKEND_URL}
ENV VITE_HAS_ONBOARDING=${HAS_ONBOARDING}
ENV VITE_ONBOARDING_CHROME_EXTENSION_INSTALL_LINK=${ONBOARDING_CHROME_EXTENSION_INSTALL_LINK}
ENV VITE_ONBOARDING_PROXY_INSTALL_LINK=${ONBOARDING_PROXY_INSTALL_LINK}
ENV VITE_DISALLOWED_IDS=${DISALLOWED_IDS}
ENV VITE_CDN_REPLACEMENTS=${CDN_REPLACEMENTS}
ENV VITE_TURNSTILE_KEY=${TURNSTILE_KEY}
COPY . ./
RUN pnpm run build
# production environment
FROM nginx:stable-alpine
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -4,13 +4,13 @@
<p align="center"> <p align="center">
<img src="https://skillicons.dev/icons?i=react,vite,ts" /> <img src="https://skillicons.dev/icons?i=react,vite,ts" />
<br/> <br/>
<a href="https://discord.movie-web.app"><kbd>🔵 discord</kbd></a> <a href="https://movie-web.app"><kbd>🟢 website</kbd></a> <a href="https://movie-web.github.io/links/discord"><kbd>🔵 discord</kbd></a> <a href="https://movie-web.github.io/docs"><kbd>🟢 docs</kbd></a>
</p> </p>
<br/><br/> <br/><br/>
# ⚡What is movie-web? # ⚡What is movie-web?
movie-web is a web app for watching movies easily. Check it out at <a href="https://movie-web.app"><kbd>movie-web.app</kbd></a>. movie-web is a web app for watching movies easily.
This service works by displaying video files from third-party providers inside an intuitive and aesthetic user interface. This service works by displaying video files from third-party providers inside an intuitive and aesthetic user interface.
@@ -57,7 +57,7 @@ pnpm build
A simple guide has been written to assist in hosting your own instance of movie-web. Check it out below A simple guide has been written to assist in hosting your own instance of movie-web. Check it out below
|[Selfhosting guide](https://docs.movie-web.app)| |[Selfhosting guide](https://movie-web.github.io/docs)|
|---| |---|
## 🤝 Thanks to all Contributors ## 🤝 Thanks to all Contributors

26
docker-compose.yaml Normal file
View File

@@ -0,0 +1,26 @@
version: "3.8"
services:
movieweb:
build:
context: .
# args:
# PWA_ENABLED: "false"
# GA_ID: ""
# APP_DOMAIN: ""
# OPENSEARCH_ENABLED: "false"
# TMDB_READ_API_KEY: ""
# CORS_PROXY_URL: ""
# DMCA_EMAIL: ""
# NORMAL_ROUTER: "false"
# BACKEND_URL: ""
# HAS_ONBOARDING: "false"
# ONBOARDING_CHROME_EXTENSION_INSTALL_LINK: ""
# ONBOARDING_PROXY_INSTALL_LINK: ""
# DISALLOWED_IDS: ""
# CDN_REPLACEMENTS: ""
# TURNSTILE_KEY: ""
ports:
- "80:80"
restart: unless-stopped

View File

@@ -1,18 +0,0 @@
FROM node:16.15-alpine as build
WORKDIR /app
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY package.json ./
COPY pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
COPY . ./
RUN pnpm run build
# production environment
FROM nginx:stable-alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -15,6 +15,7 @@
<meta name="msapplication-TileColor" content="#120f1d" /> <meta name="msapplication-TileColor" content="#120f1d" />
<meta name="theme-color" content="#120f1d" /> <meta name="theme-color" content="#120f1d" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-startup-image" <link rel="apple-touch-startup-image"
media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)"
href="/splash_screens/iPhone_15_Pro_Max__iPhone_15_Plus__iPhone_14_Pro_Max_landscape.png"> href="/splash_screens/iPhone_15_Pro_Max__iPhone_15_Plus__iPhone_14_Pro_Max_landscape.png">

View File

@@ -1,8 +1,8 @@
{ {
"name": "movie-web", "name": "movie-web",
"version": "4.2.3", "version": "4.6.1",
"private": true, "private": true,
"homepage": "https://movie-web.app", "homepage": "https://github.com/movie-web/movie-web",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
@@ -29,14 +29,16 @@
"@formkit/auto-animate": "^0.8.1", "@formkit/auto-animate": "^0.8.1",
"@headlessui/react": "^1.7.17", "@headlessui/react": "^1.7.17",
"@ladjs/country-language": "^1.0.3", "@ladjs/country-language": "^1.0.3",
"@movie-web/providers": "^2.0.2", "@movie-web/providers": "^2.2.2",
"@noble/hashes": "^1.3.3", "@noble/hashes": "^1.3.3",
"@plasmohq/messaging": "^0.6.1",
"@react-spring/web": "^9.7.3", "@react-spring/web": "^9.7.3",
"@scure/bip39": "^1.2.2", "@scure/bip39": "^1.2.2",
"@sozialhelden/ietf-language-tags": "^5.4.2", "@sozialhelden/ietf-language-tags": "^5.4.2",
"@types/node-forge": "^1.3.10", "@types/node-forge": "^1.3.10",
"classnames": "^2.3.2", "classnames": "^2.3.2",
"core-js": "^3.34.0", "core-js": "^3.34.0",
"detect-browser": "^5.3.0",
"dompurify": "^3.0.6", "dompurify": "^3.0.6",
"flag-icons": "^7.1.0", "flag-icons": "^7.1.0",
"focus-trap-react": "^10.2.3", "focus-trap-react": "^10.2.3",
@@ -47,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",
@@ -62,6 +65,7 @@
"react-sticky-el": "^2.1.0", "react-sticky-el": "^2.1.0",
"react-turnstile": "^1.1.2", "react-turnstile": "^1.1.2",
"react-use": "^17.4.2", "react-use": "^17.4.2",
"semver": "^7.5.4",
"slugify": "^1.6.6", "slugify": "^1.6.6",
"subsrt-ts": "^2.1.2", "subsrt-ts": "^2.1.2",
"zustand": "^4.4.7" "zustand": "^4.4.7"
@@ -70,11 +74,13 @@
"@babel/core": "^7.23.6", "@babel/core": "^7.23.6",
"@babel/preset-env": "^7.23.6", "@babel/preset-env": "^7.23.6",
"@babel/preset-typescript": "^7.23.3", "@babel/preset-typescript": "^7.23.3",
"@rollup/wasm-node": "^4.9.4",
"@types/chromecast-caf-sender": "^1.0.8", "@types/chromecast-caf-sender": "^1.0.8",
"@types/crypto-js": "^4.2.1", "@types/crypto-js": "^4.2.1",
"@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",
@@ -85,6 +91,7 @@
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"@types/react-stickynode": "^4.0.3", "@types/react-stickynode": "^4.0.3",
"@types/react-transition-group": "^4.4.10", "@types/react-transition-group": "^4.4.10",
"@types/semver": "^7.5.6",
"@typescript-eslint/eslint-plugin": "^6.15.0", "@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0", "@typescript-eslint/parser": "^6.15.0",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
@@ -113,19 +120,21 @@
"tailwindcss-themer": "^4.0.0", "tailwindcss-themer": "^4.0.0",
"type-fest": "^4.8.3", "type-fest": "^4.8.3",
"typescript": "^5.3.3", "typescript": "^5.3.3",
"vite": "^5.0.10", "vite": "^5.0.12",
"vite-plugin-checker": "^0.6.2", "vite-plugin-checker": "^0.6.2",
"vite-plugin-package-version": "^1.1.0", "vite-plugin-package-version": "^1.1.0",
"vite-plugin-pwa": "^0.17.4", "vite-plugin-pwa": "^0.17.4",
"vite-plugin-static-copy": "^1.0.0", "vite-plugin-static-copy": "^1.0.0",
"vitest": "^1.1.0" "vitest": "^1.1.0",
"workbox-window": "^7.0.0"
}, },
"pnpm": { "pnpm": {
"overrides": { "overrides": {
"get-func-name@<2.0.1": ">=2.0.1", "get-func-name@<2.0.1": ">=2.0.1",
"postcss@<8.4.31": ">=8.4.31", "postcss@<8.4.31": ">=8.4.31",
"@babel/traverse@<7.23.2": ">=7.23.2", "@babel/traverse@<7.23.2": ">=7.23.2",
"crypto-js@<4.2.0": ">=4.2.0" "crypto-js@<4.2.0": ">=4.2.0",
"rollup": "npm:@rollup/wasm-node"
} }
} }
} }

347
pnpm-lock.yaml generated
View File

@@ -9,6 +9,7 @@ overrides:
postcss@<8.4.31: '>=8.4.31' postcss@<8.4.31: '>=8.4.31'
'@babel/traverse@<7.23.2': '>=7.23.2' '@babel/traverse@<7.23.2': '>=7.23.2'
crypto-js@<4.2.0: '>=4.2.0' crypto-js@<4.2.0: '>=4.2.0'
rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@formkit/auto-animate': '@formkit/auto-animate':
@@ -21,11 +22,14 @@ dependencies:
specifier: ^1.0.3 specifier: ^1.0.3
version: 1.0.3 version: 1.0.3
'@movie-web/providers': '@movie-web/providers':
specifier: ^2.0.2 specifier: ^2.2.2
version: 2.0.3 version: 2.2.2
'@noble/hashes': '@noble/hashes':
specifier: ^1.3.3 specifier: ^1.3.3
version: 1.3.3 version: 1.3.3
'@plasmohq/messaging':
specifier: ^0.6.1
version: 0.6.1(react@18.2.0)
'@react-spring/web': '@react-spring/web':
specifier: ^9.7.3 specifier: ^9.7.3
version: 9.7.3(react-dom@18.2.0)(react@18.2.0) version: 9.7.3(react-dom@18.2.0)(react@18.2.0)
@@ -44,6 +48,9 @@ dependencies:
core-js: core-js:
specifier: ^3.34.0 specifier: ^3.34.0
version: 3.34.0 version: 3.34.0
detect-browser:
specifier: ^5.3.0
version: 5.3.0
dompurify: dompurify:
specifier: ^3.0.6 specifier: ^3.0.6
version: 3.0.6 version: 3.0.6
@@ -74,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
@@ -119,6 +129,9 @@ dependencies:
react-use: react-use:
specifier: ^17.4.2 specifier: ^17.4.2
version: 17.4.2(react-dom@18.2.0)(react@18.2.0) version: 17.4.2(react-dom@18.2.0)(react@18.2.0)
semver:
specifier: ^7.5.4
version: 7.5.4
slugify: slugify:
specifier: ^1.6.6 specifier: ^1.6.6
version: 1.6.6 version: 1.6.6
@@ -139,6 +152,9 @@ devDependencies:
'@babel/preset-typescript': '@babel/preset-typescript':
specifier: ^7.23.3 specifier: ^7.23.3
version: 7.23.3(@babel/core@7.23.6) version: 7.23.3(@babel/core@7.23.6)
'@rollup/wasm-node':
specifier: ^4.9.4
version: 4.9.4
'@types/chromecast-caf-sender': '@types/chromecast-caf-sender':
specifier: ^1.0.8 specifier: ^1.0.8
version: 1.0.8 version: 1.0.8
@@ -154,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
@@ -184,6 +203,9 @@ devDependencies:
'@types/react-transition-group': '@types/react-transition-group':
specifier: ^4.4.10 specifier: ^4.4.10
version: 4.4.10 version: 4.4.10
'@types/semver':
specifier: ^7.5.6
version: 7.5.6
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^6.15.0 specifier: ^6.15.0
version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3) version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3)
@@ -192,7 +214,7 @@ devDependencies:
version: 6.15.0(eslint@8.56.0)(typescript@5.3.3) version: 6.15.0(eslint@8.56.0)(typescript@5.3.3)
'@vitejs/plugin-react': '@vitejs/plugin-react':
specifier: ^4.2.1 specifier: ^4.2.1
version: 4.2.1(vite@5.0.10) version: 4.2.1(vite@5.0.12)
autoprefixer: autoprefixer:
specifier: ^10.4.16 specifier: ^10.4.16
version: 10.4.16(postcss@8.4.32) version: 10.4.16(postcss@8.4.32)
@@ -252,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@2.79.1) 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)
@@ -269,23 +291,26 @@ devDependencies:
specifier: ^5.3.3 specifier: ^5.3.3
version: 5.3.3 version: 5.3.3
vite: vite:
specifier: ^5.0.10 specifier: ^5.0.12
version: 5.0.10(@types/node@20.10.5) version: 5.0.12(@types/node@20.10.5)
vite-plugin-checker: vite-plugin-checker:
specifier: ^0.6.2 specifier: ^0.6.2
version: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.10) version: 0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.12)
vite-plugin-package-version: vite-plugin-package-version:
specifier: ^1.1.0 specifier: ^1.1.0
version: 1.1.0(vite@5.0.10) version: 1.1.0(vite@5.0.12)
vite-plugin-pwa: vite-plugin-pwa:
specifier: ^0.17.4 specifier: ^0.17.4
version: 0.17.4(vite@5.0.10)(workbox-build@7.0.0)(workbox-window@7.0.0) version: 0.17.4(vite@5.0.12)(workbox-build@7.0.0)(workbox-window@7.0.0)
vite-plugin-static-copy: vite-plugin-static-copy:
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0(vite@5.0.10) version: 1.0.0(vite@5.0.12)
vitest: vitest:
specifier: ^1.1.0 specifier: ^1.1.0
version: 1.1.0(@types/node@20.10.5)(jsdom@23.0.1) version: 1.1.0(@types/node@20.10.5)(jsdom@23.0.1)
workbox-window:
specifier: ^7.0.0
version: 7.0.0
packages: packages:
@@ -1917,15 +1942,17 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dev: false dev: false
/@movie-web/providers@2.0.3: /@movie-web/providers@2.2.2:
resolution: {integrity: sha512-6UNk5EebiNjGoFTuyHuu0eZZTreRYv0cdsn52CVYjm6CXG63w4dMbx8ybxcvMUrDF3o8bWlqnlovG142sdOmNw==} resolution: {integrity: sha512-pTlErE5bdu+b68mUW2YAKOJKz2hwSx63auGAfTkGQ+0SHDMlCV9QQ8S8O9IoSsvdXps7/YlWJWOMX8pmKuYbPQ==}
dependencies: dependencies:
cheerio: 1.0.0-rc.12 cheerio: 1.0.0-rc.12
cookie: 0.6.0
crypto-js: 4.2.0 crypto-js: 4.2.0
form-data: 4.0.0 form-data: 4.0.0
iso-639-1: 3.1.0 iso-639-1: 3.1.0
nanoid: 3.3.7 nanoid: 3.3.7
node-fetch: 2.7.0 node-fetch: 2.7.0
set-cookie-parser: 2.6.0
unpacker: 1.0.1 unpacker: 1.0.1
transitivePeerDependencies: transitivePeerDependencies:
- encoding - encoding
@@ -1976,6 +2003,18 @@ packages:
tslib: 2.6.2 tslib: 2.6.2
dev: true dev: true
/@plasmohq/messaging@0.6.1(react@18.2.0):
resolution: {integrity: sha512-/nn1k8SG5z++o/NnZu+byHWcC9MhPLxfmvj+AP3buqMn7uwfYDcYWURLuMW2Knw08HBg+wku2v1Ltt4evN0nzA==}
peerDependencies:
react: ^16.8.6 || ^17 || ^18
peerDependenciesMeta:
react:
optional: true
dependencies:
nanoid: 5.0.3
react: 18.2.0
dev: false
/@react-spring/animated@9.7.3(react@18.2.0): /@react-spring/animated@9.7.3(react@18.2.0):
resolution: {integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==} resolution: {integrity: sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==}
peerDependencies: peerDependencies:
@@ -2029,163 +2068,78 @@ 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@2.79.1): /@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:
'@babel/core': ^7.0.0 '@babel/core': ^7.0.0
'@types/babel__core': ^7.1.9 '@types/babel__core': ^7.1.9
rollup: ^1.20.0||^2.0.0 rollup: npm:@rollup/wasm-node
peerDependenciesMeta: peerDependenciesMeta:
'@types/babel__core': '@types/babel__core':
optional: true optional: true
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@2.79.1) '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1)
rollup: 2.79.1 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): /@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: ^1.20.0||^2.0.0 rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@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: 2.79.1 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/plugin-replace@2.4.2(rollup@2.79.1): /@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: ^1.20.0 || ^2.0.0 rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1)
magic-string: 0.25.9 magic-string: 0.25.9
rollup: 2.79.1 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/pluginutils@3.1.0(rollup@2.79.1): /@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:
rollup: ^1.20.0||^2.0.0 rollup: npm:@rollup/wasm-node
dependencies: dependencies:
'@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: 2.79.1 rollup: /@rollup/wasm-node@4.12.1
dev: true dev: true
/@rollup/rollup-android-arm-eabi@4.9.1: /@rollup/wasm-node@4.12.1:
resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} resolution: {integrity: sha512-5j3BVQEccCzCb8fkl++IbDgAsnlsKBPz049C4C//j5s3pFKxKGlybl63QApdJKl1fNLr7HIwQEJcBImQtA3ZHg==}
cpu: [arm] engines: {node: '>=18.0.0', npm: '>=8.0.0'}
os: [android] hasBin: true
requiresBuild: true dependencies:
dev: true '@types/estree': 1.0.5
optional: true optionalDependencies:
fsevents: 2.3.3
/@rollup/rollup-android-arm64@4.9.1: /@rollup/wasm-node@4.9.4:
resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} resolution: {integrity: sha512-K9ZPYMCxP7sBElj5du0En/zpbhXTQxpWI7RlF+8bNpLUozhzg2Pcx2h3cBCzV7xtiUt0dc+pF2Ib3/Sg8R0JMA==}
cpu: [arm64] engines: {node: '>=18.0.0', npm: '>=8.0.0'}
os: [android] hasBin: true
requiresBuild: true dependencies:
'@types/estree': 1.0.5
optionalDependencies:
fsevents: 2.3.3
dev: true dev: true
optional: true
/@rollup/rollup-darwin-arm64@4.9.1:
resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-darwin-x64@4.9.1:
resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.9.1:
resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-gnu@4.9.1:
resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-arm64-musl@4.9.1:
resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-riscv64-gnu@4.9.1:
resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.9.1:
resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-musl@4.9.1:
resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-arm64-msvc@4.9.1:
resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-ia32-msvc@4.9.1:
resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-win32-x64-msvc@4.9.1:
resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@scure/base@1.1.5: /@scure/base@1.1.5:
resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==}
@@ -2274,6 +2228,9 @@ packages:
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
dev: true dev: true
/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
/@types/filesystem@0.0.32: /@types/filesystem@0.0.32:
resolution: {integrity: sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==} resolution: {integrity: sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==}
dependencies: dependencies:
@@ -2311,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:
@@ -2397,8 +2360,8 @@ packages:
/@types/scheduler@0.16.3: /@types/scheduler@0.16.3:
resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
/@types/semver@7.5.1: /@types/semver@7.5.6:
resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
dev: true dev: true
/@types/trusted-types@2.0.3: /@types/trusted-types@2.0.3:
@@ -2517,7 +2480,7 @@ packages:
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@types/json-schema': 7.0.12 '@types/json-schema': 7.0.12
'@types/semver': 7.5.1 '@types/semver': 7.5.6
'@typescript-eslint/scope-manager': 6.15.0 '@typescript-eslint/scope-manager': 6.15.0
'@typescript-eslint/types': 6.15.0 '@typescript-eslint/types': 6.15.0
'@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3)
@@ -2540,7 +2503,7 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true dev: true
/@vitejs/plugin-react@4.2.1(vite@5.0.10): /@vitejs/plugin-react@4.2.1(vite@5.0.12):
resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
@@ -2551,7 +2514,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6)
'@types/babel__core': 7.20.5 '@types/babel__core': 7.20.5
react-refresh: 0.14.0 react-refresh: 0.14.0
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@@ -3180,6 +3143,11 @@ packages:
/convert-source-map@2.0.0: /convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
/cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
dev: false
/copy-to-clipboard@3.3.3: /copy-to-clipboard@3.3.3:
resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
dependencies: dependencies:
@@ -3395,6 +3363,10 @@ packages:
resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==}
dev: false dev: false
/detect-browser@5.3.0:
resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==}
dev: false
/didyoumean@1.2.2: /didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
dev: true dev: true
@@ -5044,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==}
@@ -5096,7 +5067,6 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
dev: true
/magic-string@0.25.9: /magic-string@0.25.9:
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
@@ -5142,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: 3.29.4 rollup: /@rollup/wasm-node@4.12.1
unplugin: 1.5.1 unplugin: 1.5.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -5244,6 +5214,12 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
/nanoid@5.0.3:
resolution: {integrity: sha512-I7X2b22cxA4LIHXPSqbBCEQSL+1wv8TuoefejsX4HFWyC6jc5JG7CEaxOltiKjc1M+YCS2YkrZZcj4+dytw9GA==}
engines: {node: ^18 || >=20}
hasBin: true
dev: false
/nanoid@5.0.4: /nanoid@5.0.4:
resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==} resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==}
engines: {node: ^18 || >=20} engines: {node: ^18 || >=20}
@@ -6064,73 +6040,36 @@ packages:
glob: 7.2.3 glob: 7.2.3
dev: true dev: true
/rollup-plugin-terser@7.0.2(rollup@2.79.1): /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:
rollup: ^2.0.0 rollup: npm:@rollup/wasm-node
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: 2.79.1 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@2.79.1): /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
peerDependencies: peerDependencies:
rollup: 2.x || 3.x || 4.x rollup: npm:@rollup/wasm-node
peerDependenciesMeta: peerDependenciesMeta:
rollup: rollup:
optional: true optional: true
dependencies: dependencies:
open: 8.4.2 open: 8.4.2
picomatch: 2.3.1 picomatch: 2.3.1
rollup: 2.79.1 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
/rollup@2.79.1:
resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.3
dev: true
/rollup@3.29.4:
resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.3
dev: false
/rollup@4.9.1:
resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.9.1
'@rollup/rollup-android-arm64': 4.9.1
'@rollup/rollup-darwin-arm64': 4.9.1
'@rollup/rollup-darwin-x64': 4.9.1
'@rollup/rollup-linux-arm-gnueabihf': 4.9.1
'@rollup/rollup-linux-arm64-gnu': 4.9.1
'@rollup/rollup-linux-arm64-musl': 4.9.1
'@rollup/rollup-linux-riscv64-gnu': 4.9.1
'@rollup/rollup-linux-x64-gnu': 4.9.1
'@rollup/rollup-linux-x64-musl': 4.9.1
'@rollup/rollup-win32-arm64-msvc': 4.9.1
'@rollup/rollup-win32-ia32-msvc': 4.9.1
'@rollup/rollup-win32-x64-msvc': 4.9.1
fsevents: 2.3.3
dev: true
/rrweb-cssom@0.6.0: /rrweb-cssom@0.6.0:
resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
dev: true dev: true
@@ -6240,7 +6179,6 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
lru-cache: 6.0.0 lru-cache: 6.0.0
dev: true
/serialize-javascript@4.0.0: /serialize-javascript@4.0.0:
resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
@@ -6248,6 +6186,10 @@ packages:
randombytes: 2.1.0 randombytes: 2.1.0
dev: true dev: true
/set-cookie-parser@2.6.0:
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
dev: false
/set-function-name@2.0.1: /set-function-name@2.0.1:
resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -6974,7 +6916,7 @@ packages:
debug: 4.3.4 debug: 4.3.4
pathe: 1.1.1 pathe: 1.1.1
picocolors: 1.0.0 picocolors: 1.0.0
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- less - less
@@ -6986,7 +6928,7 @@ packages:
- terser - terser
dev: true dev: true
/vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.10): /vite-plugin-checker@0.6.2(eslint@8.56.0)(typescript@5.3.3)(vite@5.0.12):
resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
peerDependencies: peerDependencies:
@@ -7032,22 +6974,22 @@ packages:
strip-ansi: 6.0.1 strip-ansi: 6.0.1
tiny-invariant: 1.3.1 tiny-invariant: 1.3.1
typescript: 5.3.3 typescript: 5.3.3
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
vscode-languageclient: 7.0.0 vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0 vscode-languageserver: 7.0.0
vscode-languageserver-textdocument: 1.0.8 vscode-languageserver-textdocument: 1.0.8
vscode-uri: 3.0.7 vscode-uri: 3.0.7
dev: true dev: true
/vite-plugin-package-version@1.1.0(vite@5.0.10): /vite-plugin-package-version@1.1.0(vite@5.0.12):
resolution: {integrity: sha512-TPoFZXNanzcaKCIrC3e2L/TVRkkRLB6l4RPN/S7KbG7rWfyLcCEGsnXvxn6qR7fyZwXalnnSN/I9d6pSFjHpEA==} resolution: {integrity: sha512-TPoFZXNanzcaKCIrC3e2L/TVRkkRLB6l4RPN/S7KbG7rWfyLcCEGsnXvxn6qR7fyZwXalnnSN/I9d6pSFjHpEA==}
peerDependencies: peerDependencies:
vite: '>=2.0.0-beta.69' vite: '>=2.0.0-beta.69'
dependencies: dependencies:
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
dev: true dev: true
/vite-plugin-pwa@0.17.4(vite@5.0.10)(workbox-build@7.0.0)(workbox-window@7.0.0): /vite-plugin-pwa@0.17.4(vite@5.0.12)(workbox-build@7.0.0)(workbox-window@7.0.0):
resolution: {integrity: sha512-j9iiyinFOYyof4Zk3Q+DtmYyDVBDAi6PuMGNGq6uGI0pw7E+LNm9e+nQ2ep9obMP/kjdWwzilqUrlfVRj9OobA==} resolution: {integrity: sha512-j9iiyinFOYyof4Zk3Q+DtmYyDVBDAi6PuMGNGq6uGI0pw7E+LNm9e+nQ2ep9obMP/kjdWwzilqUrlfVRj9OobA==}
engines: {node: '>=16.0.0'} engines: {node: '>=16.0.0'}
peerDependencies: peerDependencies:
@@ -7058,14 +7000,14 @@ packages:
debug: 4.3.4 debug: 4.3.4
fast-glob: 3.3.2 fast-glob: 3.3.2
pretty-bytes: 6.1.1 pretty-bytes: 6.1.1
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
workbox-build: 7.0.0 workbox-build: 7.0.0
workbox-window: 7.0.0 workbox-window: 7.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/vite-plugin-static-copy@1.0.0(vite@5.0.10): /vite-plugin-static-copy@1.0.0(vite@5.0.12):
resolution: {integrity: sha512-kMlrB3WDtC5GzFedNIPkpjnOAr8M11PfWOiUaONrUZ3AqogTsOmIhTt6w7Fh311wl8pN81ld7sfuOEogFJ9N8A==} resolution: {integrity: sha512-kMlrB3WDtC5GzFedNIPkpjnOAr8M11PfWOiUaONrUZ3AqogTsOmIhTt6w7Fh311wl8pN81ld7sfuOEogFJ9N8A==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies: peerDependencies:
@@ -7075,11 +7017,11 @@ packages:
fast-glob: 3.3.1 fast-glob: 3.3.1
fs-extra: 11.1.1 fs-extra: 11.1.1
picocolors: 1.0.0 picocolors: 1.0.0
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
dev: true dev: true
/vite@5.0.10(@types/node@20.10.5): /vite@5.0.12(@types/node@20.10.5):
resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -7109,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: 4.9.1 rollup: /@rollup/wasm-node@4.12.1
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
dev: true dev: true
@@ -7159,7 +7101,7 @@ packages:
strip-literal: 1.3.0 strip-literal: 1.3.0
tinybench: 2.5.1 tinybench: 2.5.1
tinypool: 0.8.1 tinypool: 0.8.1
vite: 5.0.10(@types/node@20.10.5) vite: 5.0.12(@types/node@20.10.5)
vite-node: 1.1.0(@types/node@20.10.5) vite-node: 1.1.0(@types/node@20.10.5)
why-is-node-running: 2.2.2 why-is-node-running: 2.2.2
transitivePeerDependencies: transitivePeerDependencies:
@@ -7371,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@2.79.1) '@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@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.12.1)
'@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@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
@@ -7382,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: 2.79.1 rollup: /@rollup/wasm-node@4.12.1
rollup-plugin-terser: 7.0.2(rollup@2.79.1) 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
@@ -7550,7 +7492,6 @@ packages:
/yallist@4.0.0: /yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true
/yaml@2.3.2: /yaml@2.3.2:
resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==}

View File

@@ -1,9 +1,10 @@
window.__CONFIG__ = { window.__CONFIG__ = {
// The URL for the CORS proxy, the URL must NOT end with a slash! // The URL for the CORS proxy, the URL must NOT end with a slash!
VITE_CORS_PROXY_URL: "CHANGEME", // If not specified, the onboarding will not allow a "default setup". The user will have to use the extension or set up a proxy themselves
VITE_CORS_PROXY_URL: "",
// The READ API key to access TMDB // The READ API key to access TMDB
VITE_TMDB_READ_API_KEY: "CHANGEME", VITE_TMDB_READ_API_KEY: "",
// The DMCA email displayed in the footer, null to hide the DMCA link // The DMCA email displayed in the footer, null to hide the DMCA link
VITE_DMCA_EMAIL: null, VITE_DMCA_EMAIL: null,
@@ -11,9 +12,9 @@ window.__CONFIG__ = {
// Whether to disable hash-based routing, leave this as false if you don't know what this is // Whether to disable hash-based routing, leave this as false if you don't know what this is
VITE_NORMAL_ROUTER: false, VITE_NORMAL_ROUTER: false,
// The backend URL to communicate with, defaults to the movie-web hosted one at backend.movie-web.app // The backend URL to communicate with
VITE_BACKEND_URL: null, VITE_BACKEND_URL: null,
// A comma separated list of disallowed IDs in the case of a DMCA claim - in the format "series-<id>" and "movie-<id>" // A comma separated list of disallowed IDs in the case of a DMCA claim - in the format "series-<id>" and "movie-<id>"
VITE_DISALLOWED_IDS: "" VITE_DISALLOWED_IDS: "",
}; };

199
public/flags/galicia.svg Normal file
View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg sodipodi:docbase="F:\Mis Documentos - Miaj Dokumentoj\Mis imágenes\++Wiki\Sullpukuna\SVG" sodipodi:docname="Flag_of_Galicia.svg" sodipodi:version="0.32" version="1.0" viewBox="0 0 600 400" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview/>
<g transform="matrix(1 0 0 1.0001 -.04 -96.055)">
<rect x=".040048" y="96.048" width="600" height="399.97" fill="#fff" fill-rule="evenodd" stroke-width="1pt"/>
<path d="m600.04 437.8-513.97-341.75h-86.03v56.935l515.9 343.03h84.104v-58.22" fill="#09c"/>
</g>
<g transform="matrix(1 0 0 1.0001 -.04 -96.055)">
<path d="m296.65 401.23c-60.134 0-58.181-56.575-58.181-56.575v-86.833h116.36v86.833s2.0369 56.575-58.179 56.575" fill="#005bbf"/>
<path d="m296.65 401.23c-60.134 0-58.181-56.575-58.181-56.575v-86.833h116.36v86.833s2.0369 56.575-58.179 56.575z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.14 203.18s-12.406-6.0358-24.142 2.851c0 0-21.118-3.0479-22.672 17.18-0.06245 0.81902-0.18975 2.3274 0.18736 2.7669 0.37712 0.43954 0.75423 1.2586 0.75423 1.8206 0 0.56683 0.37712 0.88146 0.50443 1.1312 0.12489 0.25219 0.43955 0.62928 0.50201 1.6981 0.06245 1.0688-0.12491 1.5708 0.88154 2.6396 1.004 1.0688 1.0665 4.1503 1.0665 5.0294 0 0.87906 0.62933 3.3313 1.0689 3.8357 0.43957 0.50197 1.1938 1.7581 1.1938 2.8269 0 1.0688 0.43957 4.023 0.24981 4.7748-0.18735 0.75417 1.1313 1.6981 2.3275 2.0752 1.1938 0.37709 16.031 5.2167 37.656 4.8396 21.628-0.37708 29.415-1.5276 38.35-4.7772 1.3812-0.50199 1.6334-1.6332 1.5085-2.2625-0.12731-0.62686 0-2.6372 0.37711-3.1416 0.37711-0.50197 2.892-4.525 2.3876-5.2792-0.50202-0.75417-0.50202-2.3898 0-3.0167 0.50442-0.62928 2.0777-3.6532 2.3876-4.9045 0.31226-1.2537 0.35309-2.7309 0.92957-3.168 0.57888-0.43713 0.77344-1.8542 0.88394-2.1496 0.11288-0.29782 0.53324-1.2201 1.1193-1.6404 0 0 1.0905-5.111 0.41794-7.6234-0.66775-2.5147-4.4413-13.328-19.78-11.063 0 0-11.4-8.6345-28.163-4.4434" fill="#d81126"/>
<path d="m296.14 203.18s-12.406-6.0358-24.142 2.851c0 0-21.118-3.0479-22.672 17.18-0.06245 0.81902-0.18975 2.3274 0.18736 2.7669 0.37712 0.43954 0.75423 1.2586 0.75423 1.8206 0 0.56683 0.37712 0.88146 0.50443 1.1312 0.12489 0.25219 0.43955 0.62928 0.50201 1.6981 0.06245 1.0688-0.12491 1.5708 0.88154 2.6396 1.004 1.0688 1.0665 4.1503 1.0665 5.0294 0 0.87906 0.62933 3.3313 1.0689 3.8357 0.43957 0.50197 1.1938 1.7581 1.1938 2.8269 0 1.0688 0.43957 4.023 0.24981 4.7748-0.18735 0.75417 1.1313 1.6981 2.3275 2.0752 1.1938 0.37709 16.031 5.2167 37.656 4.8396 21.628-0.37708 29.415-1.5276 38.35-4.7772 1.3812-0.50199 1.6334-1.6332 1.5085-2.2625-0.12731-0.62686 0-2.6372 0.37711-3.1416 0.37711-0.50197 2.892-4.525 2.3876-5.2792-0.50202-0.75417-0.50202-2.3898 0-3.0167 0.50442-0.62928 2.0777-3.6532 2.3876-4.9045 0.31226-1.2537 0.35309-2.7309 0.92957-3.168 0.57888-0.43713 0.77344-1.8542 0.88394-2.1496 0.11288-0.29782 0.53324-1.2201 1.1193-1.6404 0 0 1.0905-5.111 0.41794-7.6234-0.66775-2.5147-4.4413-13.328-19.78-11.063 0 0-11.4-8.6345-28.163-4.4434h0.0048z" fill="none" stroke="#000" stroke-width="1.5084"/>
<path d="m337.64 240.83c-47.108-14.92-83.414-0.73976-83.414-0.73976s0.33627 1.6452 0.75422 2.1472c0.42035 0.50198 1.0064 1.6765 1.0064 2.5579 0 0.87906 0.08407 2.1376 0.08407 2.8077 0 0.6677-0.51403 3.6748 2.1738 3.6388 0 0 32.742-12.842 75.377 0.6605 0 0 1.1674-1.0472 1.2106-2.5555 0.04083-1.5083 0.29064-3.1007 0.87912-3.939 0.58609-0.83823 1.9264-3.4562 1.9264-4.5779" fill="#bcac0b"/>
<path d="m293.97 319.35h-20.453s-2.0129 18.271 13.747 23.804v1.6765h3.3532v2.1784s-5.784 5.1951-0.75663 11.147v1.8446h0.8407v2.9326h0.91996v4.7748s-0.75423 17.058-17.477 25.229v1.0064h44.651v-1.0064c-16.72-8.171-17.477-25.229-17.477-25.229v-4.7748h0.91996v-2.9326h0.8383v-1.8446c5.0298-5.9517-0.75423-11.147-0.75423-11.147v-2.1784h3.3532v-1.6765c15.76-5.5338 13.747-23.804 13.747-23.804h-25.454" fill="#c8b100" fill-opacity=".94118"/>
<path d="m293.97 319.35h-20.453s-2.0129 18.271 13.747 23.804v1.6765h3.3532v2.1784s-5.784 5.1951-0.75663 11.147v1.8446h0.8407v2.9326h0.91996v4.7748s-0.75423 17.058-17.477 25.229v1.0064h44.651v-1.0064c-16.72-8.171-17.477-25.229-17.477-25.229v-4.7748h0.91996v-2.9326h0.8383v-1.8446c5.0298-5.9517-0.75423-11.147-0.75423-11.147v-2.1784h3.3532v-1.6765c15.76-5.5338 13.747-23.804 13.747-23.804h-25.454 0.0024z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m286.59 342.9h19.742m-19.069 1.5083h18.399m-15.046 2.5147h11.568m-12.325 11.44h13.204m-12.322 1.4051h11.527m-11.527 2.851h11.484m-18.524 23.153h25.524m-32.732 5.9085h39.984m-41.492 0.87906h43.041" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m296.64 318.27c7.2012 0 13.04-5.8388 13.04-13.039 0-7.2006-5.8393-13.039-13.04-13.039-7.2012 0-13.04 5.8388-13.04 13.039 0 7.2006 5.8392 13.039 13.04 13.039" fill="#ccc"/>
<path d="m296.64 318.27c7.2012 0 13.04-5.8388 13.04-13.039 0-7.2006-5.8393-13.039-13.04-13.039-7.2012 0-13.04 5.8388-13.04 13.039 0 7.2006 5.8392 13.039 13.04 13.039z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m266.29 279.96h-8.1308v-8.1326h-7.2084v8.1326h-8.1308v7.2054h8.1308v8.1302h7.2084v-8.1302h8.1308v-7.2054" fill="#ccc"/>
<path d="m266.29 279.96h-8.1308v-8.1326h-7.2084v8.1326h-8.1308v7.2054h8.1308v8.1302h7.2084v-8.1302h8.1308v-7.2054" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m350.8 279.96h-8.1308v-8.1326h-7.2108v8.1326h-8.1284v7.2054h8.1284v8.1302h7.2108v-8.1302h8.1308v-7.2054" fill="#ccc"/>
<path d="m350.8 279.96h-8.1308v-8.1326h-7.2108v8.1326h-8.1284v7.2054h8.1284v8.1302h7.2108v-8.1302h8.1308v-7.2054" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m307.98 269.74h-8.1308v-8.1301h-7.2084v8.1301h-8.1308v7.2078h8.1308v8.1301h7.2084v-8.1301h8.1308v-7.2078" fill="#ccc"/>
<path d="m307.98 269.74h-8.1308v-8.1301h-7.2084v8.1301h-8.1308v7.2078h8.1308v8.1301h7.2084v-8.1301h8.1308v-7.2078" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m266.29 315.16h-8.1308v-8.1301h-7.2084v8.1301h-8.1308v7.2078h8.1308v8.1301h7.2084v-8.1301h8.1308v-7.2078" fill="#ccc"/>
<path d="m266.29 315.16h-8.1308v-8.1301h-7.2084v8.1301h-8.1308v7.2078h8.1308v8.1301h7.2084v-8.1301h8.1308v-7.2078" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m350.8 315.16h-8.1308v-8.1301h-7.2108v8.1301h-8.1284v7.2078h8.1284v8.1301h7.2108v-8.1301h8.1308v-7.2078" fill="#ccc"/>
<path d="m350.8 315.16h-8.1308v-8.1301h-7.2108v8.1301h-8.1284v7.2078h8.1284v8.1301h7.2108v-8.1301h8.1308v-7.2078" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m266.29 350.71h-8.1308v-8.1325h-7.2084v8.1325h-8.1308v7.2078h8.1308v8.1277h7.2084v-8.1277h8.1308v-7.2078" fill="#ccc"/>
<path d="m266.29 350.71h-8.1308v-8.1325h-7.2084v8.1325h-8.1308v7.2078h8.1308v8.1277h7.2084v-8.1277h8.1308v-7.2078" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m350.8 350.71h-8.1308v-8.1325h-7.2108v8.1325h-8.1284v7.2078h8.1284v8.1277h7.2108v-8.1277h8.1308v-7.2078" fill="#ccc"/>
<path d="m350.8 350.71h-8.1308v-8.1325h-7.2108v8.1325h-8.1284v7.2078h8.1284v8.1277h7.2108v-8.1277h8.1308v-7.2078" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.53 185.77c4.3212 0 7.8257-3.5018 7.8257-7.8227 0-4.3209-3.5045-7.8227-7.8257-7.8227-4.3212 0-7.8233 3.5018-7.8233 7.8227 0 4.3209 3.5021 7.8227 7.8233 7.8227" fill="#005bbf"/>
<path d="m296.53 185.77c4.3212 0 7.8257-3.5018 7.8257-7.8227 0-4.3209-3.5045-7.8227-7.8257-7.8227-4.3212 0-7.8233 3.5018-7.8233 7.8227 0 4.3209 3.5021 7.8227 7.8233 7.8227z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m303.83 176.57h-6.4133v-10.371h2.45v-2.0752h-2.45v-2.4523h-2.0753v2.4523h-2.4524v2.0752h2.4524v10.371h-6.0987v1.3834h6.0987v0.06245h2.0753v-0.06245h6.4133v-1.3834" fill="#fc0"/>
<path d="m303.83 176.57h-6.4133v-10.371h2.45v-2.0752h-2.45v-2.4523h-2.0753v2.4523h-2.4524v2.0752h2.4524v10.371h-6.0987v1.3834h6.0987v0.06245h2.0753v-0.06245h6.4133v-1.3834" fill="#bcac0b" stroke="#000" stroke-width=".502"/>
<path d="m265.21 195.13s5.784-0.6701 9.1348 0.67011c0 0-3.8408 4.3689-3.0169 10.14 0.42034 2.935 1.0064 4.4434 1.8447 5.8676 0.8383 1.4267 1.7583 4.3593 1.2562 6.7058h1.0905s1.0905-4.7772-0.75423-7.46c-1.8447-2.6804-2.7671-6.3696-0.92236-10.225 1.8423-3.8549 4.5254-5.3632 4.5254-5.3632 3.101 1.2562 9.6416 0.08166 11.484-1.2585 1.8423-1.3426 2.7647-3.1848-0.67015-3.3529-3.4349-0.16812-9.303-0.08406-13.326 2.935 0 0-2.0969-2.433-12.574-1.2586-10.478 1.1745-18.051 5.6491-20.369 15.088-1.1722 4.7772 3.2691 14.834 7.3765 17.264 0 0-0.12491-1.6332 0.29305-2.8077 0 0-6.9994-7.8371-4.9025-15.129 2.0946-7.2919 10.478-12.069 19.531-11.817" fill="#fc0"/>
<path d="m265.21 195.13s5.784-0.6701 9.1348 0.67011c0 0-3.8408 4.3689-3.0169 10.14 0.42034 2.935 1.0064 4.4434 1.8447 5.8676 0.8383 1.4267 1.7583 4.3593 1.2562 6.7058h1.0905s1.0905-4.7772-0.75423-7.46c-1.8447-2.6804-2.7671-6.3696-0.92236-10.225 1.8423-3.8549 4.5254-5.3632 4.5254-5.3632 3.101 1.2562 9.6416 0.08166 11.484-1.2585 1.8423-1.3426 2.7647-3.1848-0.67015-3.3529-3.4349-0.16812-9.303-0.08406-13.326 2.935 0 0-2.0969-2.433-12.574-1.2586-10.478 1.1745-18.051 5.6491-20.369 15.088-1.1722 4.7772 3.2691 14.834 7.3765 17.264 0 0-0.12491-1.6332 0.29305-2.8077 0 0-6.9994-7.8371-4.9025-15.129 2.0946-7.2919 10.478-12.069 19.531-11.817z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m284.9 193.69c1.8111-0.14651 3.2619-0.46114 3.2427-0.70853-0.01922-0.24259-1.5036-0.32425-3.3148-0.17774s-3.2619 0.46355-3.2427 0.70854c0.01922 0.24498 1.5036 0.32424 3.3148 0.17773" fill="#fff"/>
<path d="m278.3 195.43s-2.0729 1.9479 0 0c2.0753-1.9479 6.4133-3.2689 8.8658-2.702 2.45 0.56443-0.44197 0.87906-1.2586 0.94151s-2.4524 0.37709-4.84 0" fill="none" stroke="#000" stroke-width=".65332"/>
<path d="m327.74 195.76s-5.7816-0.6677-9.1348 0.67251c0 0 3.8432 4.3665 3.0169 10.14-0.41795 2.935-1.004 4.4434-1.8423 5.8676-0.84071 1.4219-1.7607 4.3593-1.2587 6.7059h-1.0905s-1.0881-4.7772 0.75422-7.46c1.8448-2.6828 2.7671-6.3696 0.92237-10.225-1.8423-3.8573-4.5254-5.3656-4.5254-5.3656-3.101 1.2586-9.6392 0.08406-11.484-1.2562-1.8399-1.3426-2.7647-3.1848 0.67016-3.3529 3.4373-0.16813 9.3053-0.08406 13.329 2.9326 0 0 2.0946-2.4306 12.572-1.2561 10.48 1.1721 18.051 5.6491 20.369 15.086 1.1746 4.7772-3.2691 14.836-7.3765 17.267 0 0 0.12729-1.6332-0.29305-2.8077 0 0 6.9994-7.8371 4.9049-15.129-2.097-7.2919-10.478-12.069-19.533-11.819" fill="#fc0"/>
<path d="m327.74 195.76s-5.7816-0.6677-9.1348 0.67251c0 0 3.8432 4.3665 3.0169 10.14-0.41795 2.935-1.004 4.4434-1.8423 5.8676-0.84071 1.4219-1.7607 4.3593-1.2587 6.7059h-1.0905s-1.0881-4.7772 0.75422-7.46c1.8448-2.6828 2.7671-6.3696 0.92237-10.225-1.8423-3.8573-4.5254-5.3656-4.5254-5.3656-3.101 1.2586-9.6392 0.08406-11.484-1.2562-1.8399-1.3426-2.7647-3.1848 0.67016-3.3529 3.4373-0.16813 9.3053-0.08406 13.329 2.9326 0 0 2.0946-2.4306 12.572-1.2561 10.48 1.1721 18.051 5.6491 20.369 15.086 1.1746 4.7772-3.2691 14.836-7.3765 17.267 0 0 0.12729-1.6332-0.29305-2.8077 0 0 6.9994-7.8371 4.9049-15.129-2.097-7.2919-10.478-12.069-19.533-11.819z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m308.04 194.32c-1.8087-0.14651-3.2619-0.46355-3.2427-0.70853 0.02162-0.24498 1.5036-0.32425 3.3148-0.17773 1.8111 0.14651 3.2643 0.46355 3.2451 0.70854-0.02162 0.24497-1.506 0.32424-3.3172 0.17772" fill="#fff"/>
<path d="m314.64 196.05s2.0753 1.9479 0 0c-2.0729-1.9503-6.4109-3.2689-8.8634-2.7044-2.4524 0.56683 0.43957 0.88147 1.2562 0.94392 0.81908 0.06245 2.4524 0.37708 4.8424 0" fill="none" stroke="#000" stroke-width=".65332"/>
<path d="m291.11 189.35v22.296c-0.25221 2.1784 2.6806 5.2792 4.7776 6.2015 0 0 4.9457-1.6765 5.2796-6.2015v-23.555h-1.6766v20.367c-0.08168 2.0968-1.4244 5.8676-3.2691 6.4561 0 0-3.603-0.58845-3.7711-6.372v-19.861l-1.3403 0.6677" fill="#fc0"/>
<path d="m291.11 189.35v22.296c-0.25221 2.1784 2.6806 5.2792 4.7776 6.2015 0 0 4.9457-1.6765 5.2796-6.2015v-23.555h-1.6766v20.367c-0.08168 2.0968-1.4244 5.8676-3.2691 6.4561 0 0-3.603-0.58845-3.7711-6.372v-19.861l-1.3403 0.6677" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m241.78 219.84c1.4724 0 2.6662-1.1937 2.6662-2.666 0-1.4699-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m241.78 219.84c1.4724 0 2.6662-1.1937 2.6662-2.666 0-1.4699-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m240.11 213.71c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m240.11 213.71c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m240.99 206.3c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m240.99 206.3c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m245.14 200.14c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m245.14 200.14c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m250.04 195.64c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666s-2.6686 1.1937-2.6686 2.666c0 1.4747 1.1962 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m250.04 195.64c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666s-2.6686 1.1937-2.6686 2.666c0 1.4747 1.1962 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m256.36 193.13c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m256.36 193.13c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m262.96 191.93c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m262.96 191.93c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m269.25 191.56c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4723 1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m269.25 191.56c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4723 1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m274.91 192.06c1.4724 0 2.6662-1.1937 2.6662-2.666 0-1.4747-1.1938-2.6684-2.6662-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m274.91 192.06c1.4724 0 2.6662-1.1937 2.6662-2.666 0-1.4747-1.1938-2.6684-2.6662-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m291.04 190.05c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m291.04 190.05c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.19 191.43c1.4724 0 2.6686-1.1937 2.6686-2.666s-1.1962-2.666-2.6686-2.666-2.6662 1.1937-2.6662 2.666 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m296.19 191.43c1.4724 0 2.6686-1.1937 2.6686-2.666s-1.1962-2.666-2.6686-2.666-2.6662 1.1937-2.6662 2.666 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.19 211.17c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m296.19 211.17c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m351.33 221.54c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4747 1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m351.33 221.54c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4747 1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m352.71 214.91c1.4748 0 2.6686-1.1937 2.6686-2.666s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m352.71 214.91c1.4748 0 2.6686-1.1937 2.6686-2.666s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m351.58 207.99c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4723-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m351.58 207.99c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4723-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m348.69 201.46c1.4748 0 2.6686-1.1961 2.6686-2.6684 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m348.69 201.46c1.4748 0 2.6686-1.1961 2.6686-2.6684 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m343.78 196.93c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6686 1.1937-2.6686 2.666s1.1962 2.666 2.6686 2.666" fill="#fff"/>
<path d="m343.78 196.93c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6686 1.1937-2.6686 2.666s1.1962 2.666 2.6686 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m337.87 194.04c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.666 2.6686 2.666" fill="#fff"/>
<path d="m337.87 194.04c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.666 2.6686 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m331.15 192.5c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m331.15 192.5c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m324.98 192c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m324.98 192c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4699-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m319.4 191.26c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m319.4 191.26c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1938-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m323.01 213.09c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m323.01 213.09c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m324.39 207.93c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.666 2.6686 2.666" fill="#fff"/>
<path d="m324.39 207.93c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.666 2.6686 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m301.98 190.86c1.4748 0 2.6686-1.1961 2.6686-2.6684s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m301.98 190.86c1.4748 0 2.6686-1.1961 2.6686-2.6684s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m288.93 190.14c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4699-1.1938-2.6636-2.6686-2.6636-1.4724 0-2.6662 1.1913-2.6662 2.6636 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m288.93 190.14c1.4748 0 2.6686-1.1937 2.6686-2.6684 0-1.4699-1.1938-2.6636-2.6686-2.6636-1.4724 0-2.6662 1.1913-2.6662 2.6636 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m285.78 190.01c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m285.78 190.01c1.4724 0 2.6662-1.1937 2.6662-2.666s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m268.84 213.15c1.4724 0 2.6686-1.1937 2.6686-2.6684 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m268.84 213.15c1.4724 0 2.6686-1.1937 2.6686-2.6684 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4747 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m268.06 206.77c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m268.06 206.77c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m269.94 200.61c1.4748 0 2.6686-1.1937 2.6686-2.666s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m269.94 200.61c1.4748 0 2.6686-1.1937 2.6686-2.666s-1.1938-2.666-2.6686-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m281.66 190.61c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m281.66 190.61c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m277.23 192.44c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m277.23 192.44c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m272.99 196.02c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4723 1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m272.99 196.02c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4723 1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.19 194.45c1.4724 0 2.6686-1.1961 2.6686-2.6684 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m296.19 194.45c1.4724 0 2.6686-1.1961 2.6686-2.6684 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.19 199.48c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m296.19 199.48c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.19 204.88c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m296.19 204.88c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4699-1.1962-2.666-2.6686-2.666s-2.6662 1.1937-2.6662 2.666c0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m305.43 190.17c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m305.43 190.17c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m309.08 189.42c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m309.08 189.42c1.4724 0 2.6662-1.1961 2.6662-2.6684 0-1.4699-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666s1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m313.2 190.08c1.4724 0 2.6662-1.1961 2.6662-2.6684s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684" fill="#fff"/>
<path d="m313.2 190.08c1.4724 0 2.6662-1.1961 2.6662-2.6684s-1.1938-2.666-2.6662-2.666c-1.4724 0-2.6662 1.1937-2.6662 2.666s1.1938 2.6684 2.6662 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m323.51 201.39c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m323.51 201.39c1.4724 0 2.6686-1.1937 2.6686-2.666 0-1.4723-1.1962-2.666-2.6686-2.666-1.4724 0-2.6662 1.1937-2.6662 2.666 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m317.35 192.47c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666" fill="#fff"/>
<path d="m317.35 192.47c1.4748 0 2.6686-1.1937 2.6686-2.666 0-1.4747-1.1938-2.6684-2.6686-2.6684-1.4724 0-2.6662 1.1937-2.6662 2.6684 0 1.4723 1.1938 2.666 2.6662 2.666z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m321.12 196.11c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4747 1.1938 2.6684 2.6686 2.6684" fill="#fff"/>
<path d="m321.12 196.11c1.4724 0 2.6662-1.1937 2.6662-2.6684 0-1.4723-1.1938-2.666-2.6662-2.666-1.4748 0-2.6686 1.1937-2.6686 2.666 0 1.4747 1.1938 2.6684 2.6686 2.6684z" fill="none" stroke="#000" stroke-width="1.0064"/>
<path d="m296.02 236.05-7.0403 3.521 6.3365 3.9894 7.511-3.754-6.8073-3.7564" fill="#fff"/>
<path d="m296.02 236.05-7.0403 3.521 6.3365 3.9894 7.511-3.754-6.8073-3.7564" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m280.63 236.79-10.562 1.6332s-0.1273 5.6587 0.37711 7.0421l10.811-1.5107s0.50442-5.2792-0.62692-7.1646" fill="#fff"/>
<path d="m280.63 236.79-10.562 1.6332s-0.1273 5.6587 0.37711 7.0421l10.811-1.5107s0.50442-5.2792-0.62692-7.1646z" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m279.45 238.8s-6.3701 0.58604-7.9626 1.1745l0.08408 3.8549s4.1915-0.75418 8.0467-1.0904l-0.16814-3.939" fill="#058e6e" fill-opacity=".94118"/>
<path d="m279.45 238.8s-6.3701 0.58604-7.9626 1.1745l0.08408 3.8549s4.1915-0.75418 8.0467-1.0904l-0.16814-3.939" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m310.74 237.09 10.559 1.6356s0.12731 5.6563-0.37711 7.0397l-10.811-1.5083s-0.50442-5.2816 0.62932-7.167" fill="#fff"/>
<path d="m310.74 237.09 10.559 1.6356s0.12731 5.6563-0.37711 7.0397l-10.811-1.5083s-0.50442-5.2816 0.62932-7.167z" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m311.92 239.11s6.3701 0.58605 7.9626 1.1721l-0.08407 3.8549s-4.1915-0.75416-8.0467-1.088l0.16813-3.939" fill="#058e6e" fill-opacity=".94118"/>
<path d="m311.92 239.11s6.3701 0.58605 7.9626 1.1721l-0.08407 3.8549s-4.1915-0.75416-8.0467-1.088l0.16813-3.939" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m254.22 241.82s37.048-13.758 84.159 1.1625m-82.65 6.7563s35.835-13.402 80.03 0.59566m-79.862-9.0188 7.2084 2.0944-5.0298 5.3657" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m256.07 247.77 4.1074-3.437-4.6935-0.9223s0.63893 0.72535 0.50682 1.3907c-0.12971 0.6653 0.03843 2.3826 0.07926 2.9686" fill="#f00"/>
<path d="m256.07 247.77 4.1074-3.437-4.6935-0.9223s0.63893 0.72535 0.50682 1.3907c-0.12971 0.6653 0.03843 2.3826 0.07926 2.9686z" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m337.59 242.7-7.6696 1.3834 5.1547 6.0334" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m335.32 247.98-2.892-3.0191 4.1482-0.37709s-1.1313 0.75417-1.1313 1.3834c0 0.62927 0.12731 1.5083-0.1249 2.0127" fill="#f00"/>
<path d="m335.32 247.98-2.892-3.0191 4.1482-0.37709s-1.1313 0.75417-1.1313 1.3834c0 0.62927 0.12731 1.5083-0.1249 2.0127z" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m265.29 241.85c0.65335 0 1.1842-0.42511 1.1842-0.95111 0-0.52119-0.53084-0.94632-1.1842-0.94632-0.65574 0-1.1866 0.42513-1.1866 0.94632 0 0.526 0.53084 0.95111 1.1866 0.95111zm20.607-2.349c0.65575 0 1.1866-0.42512 1.1866-0.94631 0-0.526-0.53084-0.94872-1.1866-0.94872-0.65334 0-1.1842 0.42272-1.1842 0.94872 0 0.52119 0.53084 0.94631 1.1842 0.94631zm0 3.3529c0.65575 0 1.1866-0.42513 1.1866-0.94872 0-0.5236-0.53084-0.94631-1.1866-0.94631-0.65334 0-1.1842 0.42271-1.1842 0.94631 0 0.52359 0.53084 0.94872 1.1842 0.94872zm20.285-3.1848c0.65574 0 1.1866-0.42272 1.1866-0.94872 0-0.52119-0.53084-0.94631-1.1866-0.94631-0.65334 0-1.1842 0.42271-1.1842 0.94631 0 0.526 0.53084 0.94872 1.1842 0.94872zm20.117 3.6892c0.65575 0 1.1866-0.42511 1.1866-0.95111 0-0.5212-0.53084-0.94632-1.1866-0.94632-0.65334 0-1.1842 0.42512-1.1842 0.94632 0 0.526 0.53084 0.95111 1.1842 0.95111zm-0.33387 2.6804c0.65574 0 1.1866-0.42512 1.1866-0.94632 0-0.52119-0.53084-0.95112-1.1866-0.95112-0.65575 0-1.1866 0.42753-1.1866 0.95112 0 0.5212 0.53085 0.94632 1.1866 0.94632zm-19.783-3.0167c0.65574 0 1.1866-0.42512 1.1866-0.94871 0-0.5212-0.53084-0.94632-1.1866-0.94632-0.65334 0-1.1842 0.42272-1.1842 0.94632 0 0.52359 0.53084 0.94871 1.1842 0.94871zm-39.897 3.0167c0.65334 0 1.1842-0.42512 1.1842-0.94632 0-0.52119-0.53085-0.95112-1.1842-0.95112-0.65575 0-1.1866 0.42753-1.1866 0.95112 0 0.5212 0.53084 0.94632 1.1866 0.94632z" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m253.55 231.01s0.16814 7.2078 4.8616 6.2015c4.6935-1.0064 4.1915-6.874 4.5278-7.2078 0.33388-0.33626 0.8359-0.33626 0.8359-0.33626s0.67015 5.6995 5.0274 5.0294c4.3596-0.67011 4.1915-7.7098 3.6895-8.8843l1.0064-0.33625s1.6742 8.2142 6.704 7.0421c5.0298-1.1745 4.5278-6.3696 4.5278-6.3696h0.38672s1.1218 5.5314 5.1451 5.1951c4.021-0.33385 4.8616-1.6765 4.3572-7.2078l2.683-0.50198s-1.0064 8.0461 3.8528 7.878c4.864-0.16813 5.0298-4.023 5.3661-4.6931h0.73261s0.27383 5.6995 4.2972 5.6995c4.0233 0 4.8592-4.8613 4.8592-6.7059l3.9297 0.17534s-4.0954 7.5369 1.9408 8.5432c6.0338 1.004 6.202-4.8637 6.202-4.8637h1.1722s-0.16813 7.5441 3.1851 7.7122c3.3508 0.16812 5.3637-1.0064 5.6975-6.5377l1.8448 0.67011s-1.5997 8.942-7.8786 7.3736c-3.3532-0.83583-4.3596-4.6907-4.1915-5.6971 0 0-2.3444 4.1888-6.8721 2.8486-4.5254-1.3402-4.0233-4.525-4.0233-5.5314 0 0-2.7215 4.9982-6.5382 3.8525-3.3508-1.004-4.6935-2.1784-4.6935-4.525 0 0-1.6766 3.8549-5.0298 3.6892-3.3532-0.16813-5.0274-2.1808-5.1955-4.023 0 0-0.66536 3.6027-5.1979 3.8549-3.0169 0.16813-4.6935-1.3378-5.3637-3.3529 0 0-0.86712 3.6508-5.1955 4.1912-2.6806 0.33625-5.3637-1.1721-6.0362-3.6868 0 0-0.66775 4.8589-5.0274 5.5314-4.3596 0.6701-5.3661-2.3466-5.3661-2.3466s-0.8359 3.8573-4.3572 4.6932c-3.5213 0.83823-5.8681-0.6677-6.7064-4.1888-0.83829-3.5211-0.50201-5.0294-0.50201-5.0294l1.3403 1.8422" fill="#fc0"/>
<path d="m253.55 231.01s0.16814 7.2078 4.8616 6.2015c4.6935-1.0064 4.1915-6.874 4.5278-7.2078 0.33388-0.33626 0.8359-0.33626 0.8359-0.33626s0.67015 5.6995 5.0274 5.0294c4.3596-0.67011 4.1915-7.7098 3.6895-8.8843l1.0064-0.33625s1.6742 8.2142 6.704 7.0421c5.0298-1.1745 4.5278-6.3696 4.5278-6.3696h0.38672s1.1218 5.5314 5.1451 5.1951c4.021-0.33385 4.8616-1.6765 4.3572-7.2078l2.683-0.50198s-1.0064 8.0461 3.8528 7.878c4.864-0.16813 5.0298-4.023 5.3661-4.6931h0.73261s0.27383 5.6995 4.2972 5.6995c4.0233 0 4.8592-4.8613 4.8592-6.7059l3.9297 0.17534s-4.0954 7.5369 1.9408 8.5432c6.0338 1.004 6.202-4.8637 6.202-4.8637h1.1722s-0.16813 7.5441 3.1851 7.7122c3.3508 0.16812 5.3637-1.0064 5.6975-6.5377l1.8448 0.67011s-1.5997 8.942-7.8786 7.3736c-3.3532-0.83583-4.3596-4.6907-4.1915-5.6971 0 0-2.3444 4.1888-6.8721 2.8486-4.5254-1.3402-4.0233-4.525-4.0233-5.5314 0 0-2.7215 4.9982-6.5382 3.8525-3.3508-1.004-4.6935-2.1784-4.6935-4.525 0 0-1.6766 3.8549-5.0298 3.6892-3.3532-0.16813-5.0274-2.1808-5.1955-4.023 0 0-0.66536 3.6027-5.1979 3.8549-3.0169 0.16813-4.6935-1.3378-5.3637-3.3529 0 0-0.86712 3.6508-5.1955 4.1912-2.6806 0.33625-5.3637-1.1721-6.0362-3.6868 0 0-0.66775 4.8589-5.0274 5.5314-4.3596 0.6701-5.3661-2.3466-5.3661-2.3466s-0.8359 3.8573-4.3572 4.6932c-3.5213 0.83823-5.8681-0.6677-6.7064-4.1888-0.83829-3.5211-0.50201-5.0294-0.50201-5.0294l1.3403 1.8422 0.0024 0.0024z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m263.28 231.32c0.91756 0 1.6598-0.74216 1.6598-1.6597 0-0.91509-0.74222-1.6596-1.6598-1.6596-0.91757 0-1.6598 0.74456-1.6598 1.6596 0 0.9175 0.74221 1.6597 1.6598 1.6597" fill="#fc0"/>
<path d="m263.28 231.32c0.91756 0 1.6598-0.74216 1.6598-1.6597 0-0.91509-0.74222-1.6596-1.6598-1.6596-0.91757 0-1.6598 0.74456-1.6598 1.6596 0 0.9175 0.74221 1.6597 1.6598 1.6597z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m285.12 227.83c0.91756 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74222-1.6597-1.6598-1.6597-0.91757 0-1.6598 0.74217-1.6598 1.6597 0 0.91509 0.74221 1.6596 1.6598 1.6596" fill="#fc0"/>
<path d="m285.12 227.83c0.91756 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74222-1.6597-1.6598-1.6597-0.91757 0-1.6598 0.74217-1.6598 1.6597 0 0.91509 0.74221 1.6596 1.6598 1.6596z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m307.26 228.47c0.91757 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74221-1.6597-1.6598-1.6597-0.91756 0-1.6598 0.74217-1.6598 1.6597 0 0.91509 0.74222 1.6596 1.6598 1.6596" fill="#fc0"/>
<path d="m307.26 228.47c0.91757 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74221-1.6597-1.6598-1.6597-0.91756 0-1.6598 0.74217-1.6598 1.6597 0 0.91509 0.74222 1.6596 1.6598 1.6596z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m329.23 232.01c0.91756 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74221-1.6597-1.6598-1.6597-0.91517 0-1.6574 0.74217-1.6574 1.6597 0 0.91509 0.74222 1.6596 1.6574 1.6596" fill="#fc0"/>
<path d="m329.23 232.01c0.91756 0 1.6598-0.74456 1.6598-1.6596 0-0.91749-0.74221-1.6597-1.6598-1.6597-0.91517 0-1.6574 0.74217-1.6574 1.6597 0 0.91509 0.74222 1.6596 1.6574 1.6596z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m295.21 225.98h-1.5084c-0.37712 1.5083-3.5838 2.4523-3.5838 2.4523-0.37712-1.1937 0.43957-2.8918 0.43957-2.8918-3.7087-0.94391-3.7087-2.2649-3.7087-2.2649 0.56447-1.2562 3.9609-1.4435 3.9609-1.4435-0.88154-1.1312-0.69178-2.9542-0.69178-2.9542 2.2627 0.1273 4.1482 2.3874 4.1482 2.3874s-2.2627-1.1289-2.0105-5.1543c0 0 1.2562-0.06004 2.0105 0.75417 0 0 0-4.3353 1.8231-4.8372h0.18735c1.8231 0.50198 1.8231 4.8372 1.8231 4.8372 0.75423-0.81421 2.0105-0.75417 2.0105-0.75417 0.25221 4.023-2.0105 5.1543-2.0105 5.1543s1.8856-2.2601 4.1482-2.3874c0 0 0.18976 1.8206-0.69178 2.9542 0 0 3.3964 0.18734 3.9609 1.4435 0 0 0 1.321-3.7087 2.2649 0 0 0.81669 1.6981 0.43957 2.8918 0 0-3.2067-0.94392-3.5838-2.4523h-3.4565" fill="#fc0"/>
<path d="m295.21 225.98h-1.5084c-0.37712 1.5083-3.5838 2.4523-3.5838 2.4523-0.37712-1.1937 0.43957-2.8918 0.43957-2.8918-3.7087-0.94391-3.7087-2.2649-3.7087-2.2649 0.56447-1.2562 3.9609-1.4435 3.9609-1.4435-0.88154-1.1312-0.69178-2.9542-0.69178-2.9542 2.2627 0.1273 4.1482 2.3874 4.1482 2.3874s-2.2627-1.1289-2.0105-5.1543c0 0 1.2562-0.06004 2.0105 0.75417 0 0 0-4.3353 1.8231-4.8372h0.18735c1.8231 0.50198 1.8231 4.8372 1.8231 4.8372 0.75423-0.81421 2.0105-0.75417 2.0105-0.75417 0.25221 4.023-2.0105 5.1543-2.0105 5.1543s1.8856-2.2601 4.1482-2.3874c0 0 0.18976 1.8206-0.69178 2.9542 0 0 3.3964 0.18734 3.9609 1.4435 0 0 0 1.321-3.7087 2.2649 0 0 0.81669 1.6981 0.43957 2.8918 0 0-3.2067-0.94392-3.5838-2.4523h-3.4565 0.0024z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m296.07 226.83c1.679 0 3.0385-1.3594 3.0385-3.0383 0-1.6765-1.3595-3.0359-3.0385-3.0359-1.6766 0-3.0361 1.3594-3.0361 3.0359 0 1.6789 1.3595 3.0383 3.0361 3.0383" fill="#fff"/>
<path d="m296.07 226.83c1.679 0 3.0385-1.3594 3.0385-3.0383 0-1.6765-1.3595-3.0359-3.0385-3.0359-1.6766 0-3.0361 1.3594-3.0361 3.0359 0 1.6789 1.3595 3.0383 3.0361 3.0383z" fill="none" stroke="#000" stroke-width=".40352"/>
<path d="m296.07 225.46c0.91756 0 1.6622-0.74216 1.6622-1.6597 0-0.91509-0.74463-1.6572-1.6622-1.6572-0.91516 0-1.6574 0.74216-1.6574 1.6572 0 0.9175 0.74222 1.6597 1.6574 1.6597" fill="#fff"/>
<path d="m296.07 225.46c0.91756 0 1.6622-0.74216 1.6622-1.6597 0-0.91509-0.74463-1.6572-1.6622-1.6572-0.91516 0-1.6574 0.74216-1.6574 1.6572 0 0.9175 0.74222 1.6597 1.6574 1.6597z" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m319.11 227.94 1.4748 0.31944c0.04564 1.554 2.9857 3.1512 2.9857 3.1512 0.61731-1.088 0.17775-2.9182 0.17775-2.9182 3.824-0.13931 4.1002-1.4291 4.1002-1.4291-0.28583-1.3498-3.5646-2.2505-3.5646-2.2505 1.0977-0.9199 1.2995-2.7429 1.2995-2.7429-2.2387-0.35306-4.5614 1.4603-4.5614 1.4603s2.4524-0.62686 3.0553-4.6139c0 0-1.2178-0.32425-2.1234 0.31222 0 0 0.91276-4.2392-0.76143-5.1134l-0.18495-0.04084c-1.888 0.10809-2.8031 4.3473-2.8031 4.3473-0.56448-0.95833-1.8063-1.1625-1.8063-1.1625-1.0953 3.8789 0.87913 5.4641 0.87913 5.4641s-1.3667-2.6108-3.5526-3.2112c0 0-0.56928 1.7413 0.05284 3.0335 0 0-3.358-0.5308-4.1771 0.57884 0 0-0.27624 1.2898 3.149 2.9951 0 0-1.1578 1.4867-1.0401 2.7333 0 0 3.334-0.24499 4.021-1.6404l1.4724 0.31704 1.9072 0.41071" fill="#fc0"/>
<path d="m319.11 227.94 1.4748 0.31944c0.04564 1.554 2.9857 3.1512 2.9857 3.1512 0.61731-1.088 0.17775-2.9182 0.17775-2.9182 3.824-0.13931 4.1002-1.4291 4.1002-1.4291-0.28583-1.3498-3.5646-2.2505-3.5646-2.2505 1.0977-0.9199 1.2995-2.7429 1.2995-2.7429-2.2387-0.35306-4.5614 1.4603-4.5614 1.4603s2.4524-0.62686 3.0553-4.6139c0 0-1.2178-0.32425-2.1234 0.31222 0 0 0.91276-4.2392-0.76143-5.1134l-0.18495-0.04084c-1.888 0.10809-2.8031 4.3473-2.8031 4.3473-0.56448-0.95833-1.8063-1.1625-1.8063-1.1625-1.0953 3.8789 0.87913 5.4641 0.87913 5.4641s-1.3667-2.6108-3.5526-3.2112c0 0-0.56928 1.7413 0.05284 3.0335 0 0-3.358-0.5308-4.1771 0.57884 0 0-0.27624 1.2898 3.149 2.9951 0 0-1.1578 1.4867-1.0401 2.7333 0 0 3.334-0.24499 4.021-1.6404l1.4724 0.31704 1.9072 0.41071" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m318.08 228.6c-1.6382-0.35306-2.6806-1.9695-2.3275-3.6099 0.35309-1.638 1.9696-2.6828 3.6102-2.3274 1.6406 0.35307 2.683 1.9695 2.3299 3.6099-0.35549 1.638-1.972 2.6828-3.6126 2.3274" fill="#fff"/>
<path d="m318.08 228.6c-1.6382-0.35306-2.6806-1.9695-2.3275-3.6099 0.35309-1.638 1.9696-2.6828 3.6102-2.3274 1.6406 0.35307 2.683 1.9695 2.3299 3.6099-0.35549 1.638-1.972 2.6828-3.6126 2.3274z" fill="none" stroke="#000" stroke-width=".40352"/>
<path d="m318.38 227.25c-0.89835-0.19214-1.4676-1.076-1.2731-1.9719 0.19216-0.89347 1.0761-1.4651 1.972-1.2706 0.89595 0.19215 1.4652 1.0784 1.2731 1.9719-0.19456 0.89588-1.0785 1.4651-1.972 1.2706" fill="#fff"/>
<path d="m318.38 227.25c-0.89835-0.19214-1.4676-1.076-1.2731-1.9719 0.19216-0.89347 1.0761-1.4651 1.972-1.2706 0.89595 0.19215 1.4652 1.0784 1.2731 1.9719-0.19456 0.89588-1.0785 1.4651-1.972 1.2706z" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m272.27 227.65-1.4964 0.19695c-0.17534 1.5468-3.2307 2.9038-3.2307 2.9038-0.53084-1.1337 0.05525-2.923 0.05525-2.923-3.8-0.44674-3.9753-1.7557-3.9753-1.7557 0.39633-1.3186 3.7351-1.9551 3.7351-1.9551-1.0208-1.004-1.0737-2.8365-1.0737-2.8365 2.2603-0.17054 4.4293 1.8206 4.4293 1.8206s-2.3924-0.82382-2.6734-4.8445c0 0 1.2394-0.22817 2.0945 0.48277 0 0-0.57167-4.2992 1.165-5.039l0.18736-0.02162c1.8736 0.25459 2.4452 4.5562 2.4452 4.5562 0.64133-0.90788 1.8952-1.0136 1.8952-1.0136 0.78065 3.9558-1.3139 5.3729-1.3139 5.3729s1.5709-2.4883 3.7976-2.911c0 0 0.42755 1.7798-0.29545 3.0167 0 0 3.3892-0.2618 4.117 0.91029 0 0 0.17295 1.309-3.3796 2.7333 0 0 1.0352 1.5732 0.81907 2.8077 0 0-3.3027-0.51158-3.8768-1.9575l-3.4252 0.45635" fill="#fc0"/>
<path d="m272.27 227.65-1.4964 0.19695c-0.17534 1.5468-3.2307 2.9038-3.2307 2.9038-0.53084-1.1337 0.05525-2.923 0.05525-2.923-3.8-0.44674-3.9753-1.7557-3.9753-1.7557 0.39633-1.3186 3.7351-1.9551 3.7351-1.9551-1.0208-1.004-1.0737-2.8365-1.0737-2.8365 2.2603-0.17054 4.4293 1.8206 4.4293 1.8206s-2.3924-0.82382-2.6734-4.8445c0 0 1.2394-0.22817 2.0945 0.48277 0 0-0.57167-4.2992 1.165-5.039l0.18736-0.02162c1.8736 0.25459 2.4452 4.5562 2.4452 4.5562 0.64133-0.90788 1.8952-1.0136 1.8952-1.0136 0.78065 3.9558-1.3139 5.3729-1.3139 5.3729s1.5709-2.4883 3.7976-2.911c0 0 0.42755 1.7798-0.29545 3.0167 0 0 3.3892-0.2618 4.117 0.91029 0 0 0.17295 1.309-3.3796 2.7333 0 0 1.0352 1.5732 0.81907 2.8077 0 0-3.3027-0.51158-3.8768-1.9575l-3.4252 0.45635" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m273.23 228.39c1.6646-0.22097 2.8344-1.7485 2.611-3.413-0.22098-1.6621-1.7486-2.8317-3.4108-2.6084-1.6646 0.22096-2.832 1.7485-2.611 3.4106 0.22098 1.662 1.7486 2.8317 3.4108 2.6108" fill="#fff"/>
<path d="m273.23 228.39c1.6646-0.22097 2.8344-1.7485 2.611-3.413-0.22098-1.6621-1.7486-2.8317-3.4108-2.6084-1.6646 0.22096-2.832 1.7485-2.611 3.4106 0.22098 1.662 1.7486 2.8317 3.4108 2.6108z" fill="none" stroke="#000" stroke-width=".40352"/>
<path d="m273.05 227.02c0.90796-0.12009 1.5469-0.95352 1.4244-1.8638-0.12011-0.90789-0.9536-1.5444-1.8616-1.4267-0.91035 0.12249-1.5493 0.95593-1.4268 1.8638 0.1201 0.91029 0.95599 1.5468 1.864 1.4267" fill="#fff"/>
<path d="m273.05 227.02c0.90796-0.12009 1.5469-0.95352 1.4244-1.8638-0.12011-0.90789-0.9536-1.5444-1.8616-1.4267-0.91035 0.12249-1.5493 0.95593-1.4268 1.8638 0.1201 0.91029 0.95599 1.5468 1.864 1.4267z" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m340.16 234.1s-0.76142-1.9983-2.4428-1.2802c-1.6814 0.71815-1.5084 0.97994-3.0121 0.88868 0 0-0.58609-1.7966 0.15372-2.5724 0 0-2.402-0.89828-2.9064-3.0071 0 0 1.2875-1.4939 4.338-0.9367 0 0-0.09609-1.5156 0.32186-2.1833 0 0 3.2763 1.0136 3.2931 2.8414 0 0-0.98242-3.5859 0.74703-6.1895 0 0 1.5349 0.6581 1.4364 2.2913 0 0 0.70619-3.3601 5.2484-2.4571 0 0-2.462 2.1832-2.5845 3.1824-0.1225 0.99916-2.1762 2.702-2.2122 3.2689-0.03123 0.56443-0.28104 1.5564-0.88394 2.1496-0.6029 0.59324-0.66295 1.5996-0.61491 1.9142 0.04083 0.31943-0.10329 1.6957-0.88154 2.0896" fill="#fc0"/>
<path d="m340.16 234.1s-0.76142-1.9983-2.4428-1.2802c-1.6814 0.71815-1.5084 0.97994-3.0121 0.88868 0 0-0.58609-1.7966 0.15372-2.5724 0 0-2.402-0.89828-2.9064-3.0071 0 0 1.2875-1.4939 4.338-0.9367 0 0-0.09609-1.5156 0.32186-2.1833 0 0 3.2763 1.0136 3.2931 2.8414 0 0-0.98242-3.5859 0.74703-6.1895 0 0 1.5349 0.6581 1.4364 2.2913 0 0 0.70619-3.3601 5.2484-2.4571 0 0-2.462 2.1832-2.5845 3.1824-0.1225 0.99916-2.1762 2.702-2.2122 3.2689-0.03123 0.56443-0.28104 1.5564-0.88394 2.1496-0.6029 0.59324-0.66295 1.5996-0.61491 1.9142 0.04083 0.31943-0.10329 1.6957-0.88154 2.0896z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m337.7 230.12c0.32186-1.6452 1.9168-2.7212 3.5622-2.3994 0.46839 0.08886 0.88634 0.28581 1.2418 0.55482-0.09127 0.56923-0.34588 1.3354-0.8455 1.8278-0.6029 0.59324-0.66295 1.5996-0.61731 1.9142 0.03362 0.24978-0.05525 1.1481-0.46839 1.7173-0.15613-0.0072-0.31466-0.02161-0.4708-0.05284-1.643-0.31944-2.719-1.9142-2.402-3.5619" fill="#fff"/>
<path d="m337.7 230.12c0.32186-1.6452 1.9168-2.7212 3.5622-2.3994 0.46839 0.08886 0.88634 0.28581 1.2418 0.55482-0.09127 0.56923-0.34588 1.3354-0.8455 1.8278-0.6029 0.59324-0.66295 1.5996-0.61731 1.9142 0.03362 0.24978-0.05525 1.1481-0.46839 1.7173-0.15613-0.0072-0.31466-0.02161-0.4708-0.05284-1.643-0.31944-2.719-1.9142-2.402-3.5619z" fill="none" stroke="#000" stroke-width=".40352"/>
<path d="m339.06 230.38c0.17295-0.89827 1.0449-1.4867 1.9456-1.3114 0.40834 0.07926 0.74703 0.30743 0.98722 0.61487-0.09607 0.1489-0.20417 0.29301-0.32907 0.41551-0.6029 0.59324-0.66295 1.5996-0.61731 1.9142 0.00721 0.06485 0.00721 0.17532-0.0048 0.30502-0.21379 0.04564-0.44197 0.05284-0.67017 0.00721-0.90074-0.17533-1.4868-1.0448-1.3115-1.9455" fill="#fff"/>
<path d="m339.06 230.38c0.17295-0.89827 1.0449-1.4867 1.9456-1.3114 0.40834 0.07926 0.74703 0.30743 0.98722 0.61487-0.09607 0.1489-0.20417 0.29301-0.32907 0.41551-0.6029 0.59324-0.66295 1.5996-0.61731 1.9142 0.00721 0.06485 0.00721 0.17532-0.0048 0.30502-0.21379 0.04564-0.44197 0.05284-0.67017 0.00721-0.90074-0.17533-1.4868-1.0448-1.3115-1.9455z" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m252.15 233.27s0.87912-1.9479 2.5125-1.1313c1.6358 0.81662 1.446 1.0688 2.9569 1.0688 0 0 0.68937-1.7605 0-2.5772 0 0 2.45-0.75416 3.0794-2.8293 0 0-1.1938-1.5708-4.2756-1.1937 0 0 0.18975-1.5108-0.18736-2.2001 0 0-3.3316 0.81661-3.4589 2.6396 0 0 1.1962-3.5211-0.37711-6.2231 0 0-1.5709 0.56443-1.5709 2.2001 0 0-0.50201-3.3962-5.0922-2.7669 0 0 2.3251 2.3274 2.39 3.3313 0.06246 1.0064 2.0105 2.8293 2.0105 3.3962 0 0.56443 0.18976 1.5708 0.75422 2.2001 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.06245 0.31223 0 1.6957 0.75664 2.1376" fill="#fc0"/>
<path d="m252.15 233.27s0.87912-1.9479 2.5125-1.1313c1.6358 0.81662 1.446 1.0688 2.9569 1.0688 0 0 0.68937-1.7605 0-2.5772 0 0 2.45-0.75416 3.0794-2.8293 0 0-1.1938-1.5708-4.2756-1.1937 0 0 0.18975-1.5108-0.18736-2.2001 0 0-3.3316 0.81661-3.4589 2.6396 0 0 1.1962-3.5211-0.37711-6.2231 0 0-1.5709 0.56443-1.5709 2.2001 0 0-0.50201-3.3962-5.0922-2.7669 0 0 2.3251 2.3274 2.39 3.3313 0.06246 1.0064 2.0105 2.8293 2.0105 3.3962 0 0.56443 0.18976 1.5708 0.75422 2.2001 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.06245 0.31223 0 1.6957 0.75664 2.1376z" fill="#bcac0b" stroke="#000" stroke-width=".65332"/>
<path d="m254.84 229.44c-0.22098-1.6645-1.7462-2.8317-3.4108-2.6108-0.4708 0.06244-0.90076 0.23298-1.2731 0.48035 0.05765 0.57404 0.26422 1.3522 0.73501 1.8758 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.04804 0.24498-0.01441 1.1481 0.36751 1.7389 0.15373 0.0024 0.31226 0 0.47079-0.02162 1.6622-0.22096 2.832-1.7485 2.6086-3.4106" fill="#fff"/>
<path d="m254.84 229.44c-0.22098-1.6645-1.7462-2.8317-3.4108-2.6108-0.4708 0.06244-0.90076 0.23298-1.2731 0.48035 0.05765 0.57404 0.26422 1.3522 0.73501 1.8758 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.04804 0.24498-0.01441 1.1481 0.36751 1.7389 0.15373 0.0024 0.31226 0 0.47079-0.02162 1.6622-0.22096 2.832-1.7485 2.6086-3.4106z" fill="none" stroke="#000" stroke-width=".40352"/>
<path d="m253.48 229.62c-0.12011-0.90788-0.956-1.5468-1.864-1.4267-0.41554 0.05764-0.76623 0.2642-1.0232 0.55481 0.08887 0.15612 0.18495 0.30503 0.30264 0.43713 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.01201 0.06244-0.01681 0.17053-0.01441 0.30263 0.21138 0.06004 0.43957 0.07926 0.67016 0.05043 0.90795-0.12249 1.5469-0.95592 1.4268-1.8662" fill="#fff"/>
<path d="m253.48 229.62c-0.12011-0.90788-0.956-1.5468-1.864-1.4267-0.41554 0.05764-0.76623 0.2642-1.0232 0.55481 0.08887 0.15612 0.18495 0.30503 0.30264 0.43713 0.56688 0.62928 0.56688 1.6332 0.50202 1.9479-0.01201 0.06244-0.01681 0.17053-0.01441 0.30263 0.21138 0.06004 0.43957 0.07926 0.67016 0.05043 0.90795-0.12249 1.5469-0.95592 1.4268-1.8662z" fill="none" stroke="#000" stroke-width=".2522"/>
<path d="m257.24 251.62s33.748-13.22 76.384 0.28342" fill="none" stroke="#000" stroke-width="1.5084"/>
<path d="m338.38 241.1c-47.11-14.92-84.661-0.83823-84.661-0.83823" fill="none" stroke="#000" stroke-width=".502"/>
<path d="m295.97 237.8-3.7735 1.8854 3.3964 2.1376 4.0234-2.0127-3.6462-2.0103" fill="#f00"/>
<path d="m295.97 237.8-3.7735 1.8854 3.3964 2.1376 4.0234-2.0127-3.6462-2.0103" fill="none" stroke="#000" stroke-width=".502"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 49 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -3,7 +3,7 @@
Locales are difficult, here is some guidance. Locales are difficult, here is some guidance.
## Process on adding new languages ## Process on adding new languages
1. Use weblate to add translations, see contributing guidelines. 1. Use Weblate to add translations, see contributing guidelines.
2. Add your language to `@/assets/languages.ts`. Must be in ISO format (ISO-639 for language and ISO-3166 for country/region). For joke languages, use any format. 2. Add your language to `@/assets/languages.ts`. Must be in ISO format (ISO-639 for language and ISO-3166 for country/region). For joke languages, use any format.
3. If your language doesn't have a region specified (Such as in `pt-BR`, `BR` being the region). Add a default region in `@/utils/language.ts` at `defaultLanguageCodes` 3. If the language code doesn't have a region specified (Such as in `pt-BR`, `BR` being the region), add a default region in `@/utils/language.ts` at `defaultLanguageCodes`
4. If the flag in the language dropdown doesn't match the correct one. Add a default country in `@/utils/language.ts` at `countryPriority`. 4. If the language code doesn't contain a region (Such as in `zh-Hant`), add a default country in `@/utils/language.ts` at `countryPriority`.

View File

@@ -1,6 +1,8 @@
import ar from "@/assets/locales/ar.json"; import ar from "@/assets/locales/ar.json";
import bg from "@/assets/locales/bg.json"; import bg from "@/assets/locales/bg.json";
import bn from "@/assets/locales/bn.json"; import bn from "@/assets/locales/bn.json";
import ca from "@/assets/locales/ca.json";
import caVl from "@/assets/locales/ca@valencia.json";
import cs from "@/assets/locales/cs.json"; import cs from "@/assets/locales/cs.json";
import de from "@/assets/locales/de.json"; import de from "@/assets/locales/de.json";
import el from "@/assets/locales/el.json"; import el from "@/assets/locales/el.json";
@@ -8,12 +10,14 @@ import en from "@/assets/locales/en.json";
import es from "@/assets/locales/es.json"; import es from "@/assets/locales/es.json";
import et from "@/assets/locales/et.json"; import et from "@/assets/locales/et.json";
import fa from "@/assets/locales/fa.json"; import fa from "@/assets/locales/fa.json";
import fi from "@/assets/locales/fi-FI.json";
import fr from "@/assets/locales/fr.json"; import fr from "@/assets/locales/fr.json";
import gl from "@/assets/locales/gl.json"; import gl from "@/assets/locales/gl.json";
import gu from "@/assets/locales/gu.json"; import gu from "@/assets/locales/gu.json";
import he from "@/assets/locales/he.json"; import he from "@/assets/locales/he.json";
import hi from "@/assets/locales/hi.json"; import hi from "@/assets/locales/hi.json";
import id from "@/assets/locales/id.json"; import id from "@/assets/locales/id.json";
import is from "@/assets/locales/is-IS.json";
import it from "@/assets/locales/it.json"; import it from "@/assets/locales/it.json";
import ja from "@/assets/locales/ja.json"; import ja from "@/assets/locales/ja.json";
import ko from "@/assets/locales/ko.json"; import ko from "@/assets/locales/ko.json";
@@ -21,10 +25,12 @@ import lv from "@/assets/locales/lv.json";
import minion from "@/assets/locales/minion.json"; import minion from "@/assets/locales/minion.json";
import ne from "@/assets/locales/ne.json"; import ne from "@/assets/locales/ne.json";
import nl from "@/assets/locales/nl.json"; import nl from "@/assets/locales/nl.json";
import nv from "@/assets/locales/nv.json";
import pa from "@/assets/locales/pa.json"; import pa from "@/assets/locales/pa.json";
import pirate from "@/assets/locales/pirate.json"; import pirate from "@/assets/locales/pirate.json";
import pl from "@/assets/locales/pl.json"; import pl from "@/assets/locales/pl.json";
import ptbr from "@/assets/locales/pt-BR.json"; import ptbr from "@/assets/locales/pt-BR.json";
import ptpt from "@/assets/locales/pt-PT.json";
import ro from "@/assets/locales/ro.json"; import ro from "@/assets/locales/ro.json";
import ru from "@/assets/locales/ru.json"; import ru from "@/assets/locales/ru.json";
import sl from "@/assets/locales/sl.json"; import sl from "@/assets/locales/sl.json";
@@ -40,6 +46,8 @@ import zh from "@/assets/locales/zh.json";
export const locales = { export const locales = {
en, en,
ca,
"ca-ES": caVl,
cs, cs,
de, de,
fr, fr,
@@ -62,6 +70,7 @@ export const locales = {
tok, tok,
hi, hi,
"pt-BR": ptbr, "pt-BR": ptbr,
"pt-PT": ptpt,
uk, uk,
bg, bg,
bn, bn,
@@ -74,9 +83,13 @@ export const locales = {
sl, sl,
ta, ta,
"zh-HANT": zhhant, "zh-HANT": zhhant,
is,
ru, ru,
gl, gl,
pa, pa,
ro, ro,
fi,
nv,
}; };
export type Locales = keyof typeof locales; export type Locales = keyof typeof locales;

View File

@@ -95,6 +95,7 @@
"about": "حَول", "about": "حَول",
"dmca": "DMCA", "dmca": "DMCA",
"login": "تسجيل الدخول", "login": "تسجيل الدخول",
"onboarding": "إعداد",
"pagetitle": "\"{{title}} - movie-web\"", "pagetitle": "\"{{title}} - movie-web\"",
"register": "إنشاء حساب", "register": "إنشاء حساب",
"settings": "الإعدادات" "settings": "الإعدادات"
@@ -115,27 +116,24 @@
"failed": "تعذر العثور على الوسائط، حاول مجددا!", "failed": "تعذر العثور على الوسائط، حاول مجددا!",
"loading": "جار التحميل...", "loading": "جار التحميل...",
"noResults": "لم نتمكن من العثور على أي شيء!", "noResults": "لم نتمكن من العثور على أي شيء!",
"placeholder": "ماذا تريد أن تشاهد؟", "placeholder": {
"default": "ماذا تريد أن تشاهد؟",
"extra": []
},
"sectionTitle": "نتائج البحث" "sectionTitle": "نتائج البحث"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "ماذا تريد أن تشاهد في هذه الظهيرة؟", "default": "ماذا تريد أن تشاهد في هذه الظهيرة؟",
"extra": [ "extra": ["متشوق للمغامرة؟ قد يكون Jurassic Park خيارًا مثاليًا لك."]
"متشوق للمغامرة؟ قد يكون Jurassic Park خيارًا مثاليًا لك."
]
}, },
"morning": { "morning": {
"default": "ماذا تريد أن تشاهد في هذا الصباح؟", "default": "ماذا تريد أن تشاهد في هذا الصباح؟",
"extra": [ "extra": ["سمعت أن فلم \"Before Sunrise\" جيد"]
"سمعت أن فلم \"Before Sunrise\" جيد"
]
}, },
"night": { "night": {
"default": "ماذا تريد أن تشاهد في هذه الليلة؟", "default": "ماذا تريد أن تشاهد في هذه الليلة؟",
"extra": [ "extra": ["مُرهَق؟ سمعت أن فيلم \"The Exorcist\" جيد."]
"مُرهَق؟ سمعت أن فيلم \"The Exorcist\" جيد."
]
} }
} }
}, },
@@ -143,7 +141,7 @@
"episodeDisplay": "\"S{{season}} E{{episode}}\"", "episodeDisplay": "\"S{{season}} E{{episode}}\"",
"types": { "types": {
"movie": "فِلم", "movie": "فِلم",
"show": ِلسلة" "show": "مُسلسل"
} }
}, },
"navigation": { "navigation": {
@@ -165,6 +163,69 @@
"message": "بحثنا في كل مكان: في الخزانة وحتى تحت الصناديق، ومع ذلك لم نعثر عن الصفحة التي طلبتَها.", "message": "بحثنا في كل مكان: في الخزانة وحتى تحت الصناديق، ومع ذلك لم نعثر عن الصفحة التي طلبتَها.",
"title": "تعذر العثور على هذه الصفحة" "title": "تعذر العثور على هذه الصفحة"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "إلغاء",
"confirm": "استخدم الإعداد الإفتراضي",
"description": "لا يحتوي الإعداد الافتراضي على أفضل التدفقات ويمكن أن يكون بطيئًا بشكل لا يحتمل.",
"title": "هل انت متأكد؟"
},
"extension": {
"back": "ارجع",
"explainer": "باستخدام إضافةالمتصفح، يمكنك الحصول على أفضل البثوث التي نقدمها. فقط ثبت الإضافة.",
"explainerIos": "لسوء الحظ، لا يتم دعم الإضافة على iOS، اضغط<bold>ارجع </bold> لاختيار خيار آخر.",
"extensionHelp": "إذا قمت بتثبيت الإضافة ولكن لم يتم اكتشافه، <bold> افتح الإضافةمن خلال قائمة إضافات المتصفح </bold> واتبع الخطوات على الشاشة.",
"linkChrome": "تثبيت إضافة Chrome",
"linkFirefox": "تثبيت إضافة Firefox",
"notDetecting": "تم تثبيته على Chrome، لكن الموقع لا يكتشفه ؟ حاول إعادة تحميل الصفحة!",
"notDetectingAction": "إعادة تحميل الصفحة",
"status": {
"disallowed": "الإضافة غير مفعلة لهذه الصفحة",
"disallowedAction": "فعل الإضافة",
"failed": "فشل ارسل الحالة",
"loading": "في انتظارك لتثبيت الإضافة",
"outdated": "إصدار الإضافة قديم",
"success": "الإضافة تعمل كما هو متوقع!"
},
"submit": "أكمال",
"title": "لنبدا بإضافة"
},
"proxy": {
"back": "ارجع",
"explainer": "باستخدام طريقة الوكيل، يمكنك الحصول على بثوث عالية الجودة من خلال عمل وكيل خدمة ذاتية.",
"input": {
"errorConnection": "لايمكن الاتصال بالوكيل",
"errorInvalidUrl": "رابط غير صالح",
"errorNotProxy": "توقعنا وكيل ولكن حصلنا على موقع",
"label": "رابط الوكيل",
"placeholder": "https://"
},
"link": "تعلم كيف تصنع وكيل",
"submit": "تأكيد الوكيل",
"title": "دعنا نصنع وكيل جديد"
},
"start": {
"explainer": "للحصول على أفضل بثوث ممكنة، ستحتاج إلى اختيار طريقة البث التي تريد استخدامها.",
"options": {
"default": {
"text": "لا أريد بثوث ذات جودة جيدة، < 0/> < 1 > استخدم الإعداد الافتراضي </1 >"
},
"extension": {
"action": "ثبت الإضافة",
"description": "قم بتثبيت إضافة المتصفح والوصول إلى أفضل المصادر.",
"quality": "افضل جودة",
"title": "إضافة المتصفح"
},
"proxy": {
"action": "إعداد وكيل",
"description": "قم بإعداد وكيل في 5 دقائق فقط والوصول إلى مصادر رائعة.",
"quality": "جودة جيدة",
"title": "وكيل مخصص"
}
},
"title": "دعونا نحصل على إعداد مع movie-web"
}
},
"overlays": { "overlays": {
"close": "إغلاق" "close": "إغلاق"
}, },
@@ -179,10 +240,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "يتم أخذ التنزيلات مباشرةً من قبل مقدم الخدمة. movie-web لاسيطرة له على كيفية توفير تلك التنزيلات.", "disclaimer": "يتم أخذ التنزيلات مباشرةً من قبل مقدم الخدمة. movie-web لاسيطرة له على كيفية توفير تلك التنزيلات.",
"downloadPlaylist": "تنزيل قائمة التشغيل",
"downloadSubtitle": "تنزيل مقاطع الترجمة الحالية", "downloadSubtitle": "تنزيل مقاطع الترجمة الحالية",
"downloadVideo": "تنزيل الفيديو", "downloadVideo": "تنزيل الفيديو",
"hlsDisclaimer": "يتم أخذ التنزيلات مباشرة من مزود الخدمة. movie-web ليس المتحكم في كيفية توفير التنزيلات. يرجى ملاحظة أنك تقوم بتنزيل قائمة تشغيل HLS، وهذا أمر يتطلب ان تكون على دراية بتقنيات متقدمة لبث الوسائط.", "hlsDisclaimer": "يتم أخذ التنزيلات مباشرة من المزود. لا تتحكم movie-web في كيفية توفير التنزيلات.<br /><br />يرجى ملاحظة أنك تقوم بتنزيل قائمة تشغيل HLS،<bold> لا ينصح بالتنزيل إذا لم تكن على دراية بتنسيقات البث المتقدمة</bold>. جرب مصادر مختلفة لتنسيقات مختلفة.",
"onAndroid": { "onAndroid": {
"1": "للتنزيل على أندرويد، أنقر زر التنزيل وفي الصفحة الموالية <bold>إضغط باستمرار</bold> على الفيديو، وبعدها اختر <bold>حفظ</bold>.", "1": "للتنزيل على أندرويد، أنقر زر التنزيل وفي الصفحة الموالية <bold>إضغط باستمرار</bold> على الفيديو، وبعدها اختر <bold>حفظ</bold>.",
"shortTitle": "تنزيل / Android", "shortTitle": "تنزيل / Android",
@@ -259,6 +319,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "لا يمكن تحميل البيانات الوصفية لواجهة برمجة التطبيقات، يرجى التحقق من اتصال الإنترنت الخاص بك.",
"title": "فشل في تحميل البيانات الوصفية لواجهة برمجة التطبيقات"
},
"dmca": {
"badge": "حذف",
"text": "لم تعد هذه الوسائط متاحة بسبب إشعار الإزالة أو مطالبة حقوق النشر.",
"title": "الوسائط محذوفه"
},
"extensionPermission": {
"badge": "التصريح مفقود",
"button": "استخدم الإضافة",
"text": "الإضافة مثبتة, ولكن تحتاج الى تصريح للبدء إستخدام الإضافة.",
"title": "تعديل الإضافة"
},
"failed": { "failed": {
"badge": "فشل", "badge": "فشل",
"homeButton": "عُدْ للصفحة الرئيسية", "homeButton": "عُدْ للصفحة الرئيسية",
@@ -308,6 +383,12 @@
"remaining": "باقٍ {{timeLeft}} • سينتهي مع {{timeFinished, datetime}}", "remaining": "باقٍ {{timeLeft}} • سينتهي مع {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "الرجاء التحقق اذا كنت إنسان بإكمال الكابتشا على يمين. هذا لاستمرارية movie-web آمن!",
"error": "فشل التحقق. الرجاء إعادة المحاولة.",
"title": "نريد التحقق انك لست روبوت.",
"verifyingHumanity": "التحقق انك لست روبوت.."
} }
}, },
"screens": { "screens": {
@@ -380,24 +461,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "إذا كنت ترغب في الاتصال بخادم خلفي مخصص لتخزين بياناتك، قم بتفعيل هذا ووفر الرابط.", "description": "إذا كنت ترغب في الاتصال بخادم خلفي مخصص لتخزين بياناتك، قم بتفعيل هذا ووفر الرابط.<0>Instructions.</0>",
"label": "خادم مُخصص", "label": "خادم مُخصص",
"urlLabel": "رابط الخادم المخصص" "urlLabel": "رابط الخادم المخصص"
}, },
"setup": {
"doSetup": "إعداد",
"errorStatus": {
"description": "يبدو أن عنصرًا أو أكثر في هذا الإعداد يحتاج إلى انتباهك.",
"title": "شيء ما يحتاج إلى انتباهك"
},
"itemError": "هناك شيء خاطئ في هذا الإعداد. اذهب من خلال إعداد مرة أخرى لإصلاحه.",
"items": {
"default": "الإعداد الافتراضي",
"extension": "اضافة",
"proxy": "وكيل مخصص"
},
"redoSetup": "إرجاع الإعداد",
"successStatus": {
"description": "كل شيء موجود لبدء مشاهدة أفلامك ومسلسلاتك المفضلة.",
"title": "تم إعداد كل شيء!"
},
"unsetStatus": {
"description": "يرجى النقر على الزر إلى اليمين لبدء عملية الإعداد.",
"title": "أنت لم تمر من خلال الإعداد"
}
},
"title": "الاتصالات", "title": "الاتصالات",
"workers": { "workers": {
"addButton": "إضافة وكيل جديد", "addButton": "إضافة وكيل جديد",
"description": "لتشغيل التطبيق، يتم توجيه كل الاتصالات عبر وكلاء البروكسي. قم بتمكين هذا إذا كنت ترغب في استخدام خوادم العمل الخاصة بك.", "description": "لتشغيل التطبيق، يتم توجيه كل الاتصالات عبر وكلاء البروكسي. قم بتمكين هذا إذا كنت ترغب في استخدام خوادم العمل الخاصة بك.<0>Instructions.</0>",
"emptyState": "لا يوجد وكلاء حتى الآن، أضف واحدًا أدناه", "emptyState": "لا يوجد وكلاء حتى الآن، أضف واحدًا أدناه",
"label": "استخدام وكلاء مُخصصين", "label": "استخدام وكلاء مُخصصين",
"urlLabel": "روابط الوكلاء", "urlLabel": "روابط الوكلاء",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "لغة التطبيق", "language": "لغة الموقع",
"languageDescription": "اللغة المطبقة على كامل التطبيق.", "languageDescription": "تم تطبيق اللغة على الموقع.",
"title": "اللغة" "thumbnail": "إنشاء صور مصغرة",
"thumbnailDescription": "في معظم الأوقات، لا تحتوي مقاطع الفيديو على صور مصغرة. يمكنك تمكين هذا الإعداد من توليدها بسرعة ولكن يمكنها جعل الفيديو الخاص بك أبطأ.",
"thumbnailLabel": "إنشاء صور مصغرة",
"title": "تفضيلات"
}, },
"reset": "إعادة تعيين", "reset": "إعادة تعيين",
"save": "حفظ", "save": "حفظ",

View File

@@ -26,25 +26,25 @@
"deviceNamePlaceholder": "Личен телефон", "deviceNamePlaceholder": "Личен телефон",
"generate": { "generate": {
"description": "Вашата паролна фраза служи като потребителско име и парола. Уверете се, че я пазите в безопасност, тъй като ще трябва да я въведете, за да влезете в своя акаунт.", "description": "Вашата паролна фраза служи като потребителско име и парола. Уверете се, че я пазите в безопасност, тъй като ще трябва да я въведете, за да влезете в своя акаунт.",
"next": "Запазих паролната си фраза.", "next": "Запазих паролната си фраза",
"passphraseFrameLabel": "Паролна фраза", "passphraseFrameLabel": "Паролна фраза",
"title": "Вашата паролна фраза" "title": "Вашата паролна фраза"
}, },
"hasAccount": "Вече имате акаунт? <0>Влезте тук.</0>", "hasAccount": "Вече имате акаунт? <0>Влезте тук.</0>",
"login": { "login": {
"description": "Моля, въведете своята паролна фраза, за да влезете в своя акаунт.", "description": "Моля, въведете своята паролна фраза, за да влезете в своя акаунт",
"deviceLengthError": "Моля, въведете името на устройството.", "deviceLengthError": "Моля, въведете името на устройството",
"passphraseLabel": "12-думена паролна фраза", "passphraseLabel": "12-думена паролна фраза",
"passphrasePlaceholder": "Паролна фраза", "passphrasePlaceholder": "Паролна фраза",
"submit": "Вход", "submit": "Вход",
"title": "Влезте в своя акаунт.", "title": "Влезте в своя акаунт",
"validationError": "Некоректна или непълна паролна фраза." "validationError": "Некоректна или непълна паролна фраза"
}, },
"register": { "register": {
"information": { "information": {
"color1": "Профилен цвят едно", "color1": "Профилен цвят едно",
"color2": "Профилен цвят две", "color2": "Профилен цвят две",
"header": "Въведете име за устройството си и изберете цветове и потребителска икона по ваш избор.", "header": "Въведете име за устройството си и изберете цветове и потребителска икона по ваш избор",
"icon": "Потребителска икона", "icon": "Потребителска икона",
"next": "Напред", "next": "Напред",
"title": "Информация за акаунта" "title": "Информация за акаунта"
@@ -55,25 +55,25 @@
"text": "Конфигурирахте ли го правилно?", "text": "Конфигурирахте ли го правилно?",
"title": "Неуспешно свързване със сървъра" "title": "Неуспешно свързване със сървъра"
}, },
"host": "Вие се свързвате към <0>{{hostname}}</0> - моля, потвърдете, че му вярвате, преди да създадете акаунт.", "host": "Вие се свързвате към <0>{{hostname}}</0> - моля, потвърдете, че му вярвате, преди да създадете акаунт",
"no": "Върнете се назад", "no": "Върнете се назад",
"title": "Вярвате ли на този сървър?", "title": "Вярвате ли на този сървър?",
"yes": "Вярвам на този сървър." "yes": "Вярвам на този сървър"
}, },
"verify": { "verify": {
"description": "Моля, въведете паролната фраза от по-рано, за да потвърдите, че сте я запазили, и за да създадете своя акаунт.", "description": "Моля, въведете паролната фраза от по-рано, за да потвърдите, че сте я запазили, и за да създадете своя акаунт",
"invalidData": "Данните не са валидни.", "invalidData": "Данните не са валидни",
"noMatch": "Паролната фраза не съвпада.", "noMatch": "Паролната фраза не съвпада",
"passphraseLabel": "Вашата 12-думена паролна фраза", "passphraseLabel": "Вашата 12-думена паролна фраза",
"recaptchaFailed": "Валидацията на ReCaptcha не беше успешна.", "recaptchaFailed": "Валидацията на ReCaptcha не беше успешна",
"register": "Създаване на акаунт", "register": "Създаване на акаунт",
"title": "Потвърдете вашата паролна фраза." "title": "Потвърдете вашата паролна фраза"
} }
}, },
"errors": { "errors": {
"badge": "Счупи се", "badge": "Счупи се",
"details": "Детайли за грешката", "details": "Детайли за грешката",
"reloadPage": "Презаредете страницата.", "reloadPage": "Презаредете страницата",
"showError": "Покажи детайлите за грешката", "showError": "Покажи детайлите за грешката",
"title": "Сблъскахме се с грешка!" "title": "Сблъскахме се с грешка!"
}, },
@@ -115,7 +115,10 @@
"failed": "Неуспешно намиране на медия, опитайте отново!", "failed": "Неуспешно намиране на медия, опитайте отново!",
"loading": "Зареждане...", "loading": "Зареждане...",
"noResults": "Не успяхме да намерим нищо!", "noResults": "Не успяхме да намерим нищо!",
"placeholder": "Какво искате да гледате?", "placeholder": {
"default": "Какво искате да гледате?",
"extra": []
},
"sectionTitle": "Резултати от търсенето" "sectionTitle": "Резултати от търсенето"
}, },
"titles": { "titles": {
@@ -127,15 +130,11 @@
}, },
"morning": { "morning": {
"default": "Какво бихте искали да гледате тази сутрин?", "default": "Какво бихте искали да гледате тази сутрин?",
"extra": [ "extra": ["Чух, че Before Sunrise е добър"]
"Чух, че Before Sunrise е добър"
]
}, },
"night": { "night": {
"default": "Какво бихте искали да гледате тази вечер?", "default": "Какво бихте искали да гледате тази вечер?",
"extra": [ "extra": ["Изморен? Чух, че Екзорсистът е добър."]
"Изморен? Чух, че Екзорсистът е добър."
]
} }
} }
}, },
@@ -179,7 +178,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Изтеглянията се вземат директно от доставчика. movie-web няма контрол върху това как се предоставят изтеглянията.", "disclaimer": "Изтеглянията се вземат директно от доставчика. movie-web няма контрол върху това как се предоставят изтеглянията.",
"downloadPlaylist": "Изтегляне на плейлист",
"downloadSubtitle": "Изтеглете текущите субтитри", "downloadSubtitle": "Изтеглете текущите субтитри",
"downloadVideo": "Изтегляне на видео", "downloadVideo": "Изтегляне на видео",
"hlsDisclaimer": "Изтеглянията се вземат директно от доставчика. movie-web няма контрол върху това как се предоставят изтеглянията. Моля, имайте предвид, че изтегляте HLS плейлист, това е предназначено за потребители, запознати с усъвършенствано мултимедийно поточно предаване.", "hlsDisclaimer": "Изтеглянията се вземат директно от доставчика. movie-web няма контрол върху това как се предоставят изтеглянията. Моля, имайте предвид, че изтегляте HLS плейлист, това е предназначено за потребители, запознати с усъвършенствано мултимедийно поточно предаване.",

View File

@@ -115,27 +115,24 @@
"failed": "মিডিয়া খুঁজে পেতে ব্যর্থ, আবার চেষ্টা করুন!", "failed": "মিডিয়া খুঁজে পেতে ব্যর্থ, আবার চেষ্টা করুন!",
"loading": "লোড হচ্ছে..।", "loading": "লোড হচ্ছে..।",
"noResults": "আমরা কিছুই খুঁজে পাইনি!", "noResults": "আমরা কিছুই খুঁজে পাইনি!",
"placeholder": "আপনি কি দেখতে চান?", "placeholder": {
"default": "আপনি কি দেখতে চান?",
"extra": []
},
"sectionTitle": "অনুসন্ধান ফলাফল" "sectionTitle": "অনুসন্ধান ফলাফল"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "আপনি এই বিকেলে কি দেখতে চান?", "default": "আপনি এই বিকেলে কি দেখতে চান?",
"extra": [ "extra": ["দুঃসাহসিক বোধ করছেন? জুরাসিক পার্ক নিখুঁত পছন্দ হতে পারে।"]
"দুঃসাহসিক বোধ করছেন? জুরাসিক পার্ক নিখুঁত পছন্দ হতে পারে।"
]
}, },
"morning": { "morning": {
"default": "আপনি এই সকালে কি দেখতে চান?", "default": "আপনি এই সকালে কি দেখতে চান?",
"extra": [ "extra": ["শুনি সূর্যোদয়ের আগে ভালো"]
"শুনি সূর্যোদয়ের আগে ভালো"
]
}, },
"night": { "night": {
"default": "আপনি আজ রাতে কি দেখতে চান?", "default": "আপনি আজ রাতে কি দেখতে চান?",
"extra": [ "extra": ["ক্লান্ত? আমি শুনেছি দ্য এক্সরসিস্ট ভাল।"]
"ক্লান্ত? আমি শুনেছি দ্য এক্সরসিস্ট ভাল।"
]
} }
} }
}, },
@@ -179,16 +176,44 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "ডাউনলোড সরাসরি প্রদানকারী থেকে নেওয়া হয়. কিভাবে ডাউনলোড দেওয়া হয় তার উপর মুভি-ওয়েবের নিয়ন্ত্রণ নেই।", "disclaimer": "ডাউনলোড সরাসরি প্রদানকারী থেকে নেওয়া হয়. কিভাবে ডাউনলোড দেওয়া হয় তার উপর মুভি-ওয়েবের নিয়ন্ত্রণ নেই।",
"downloadPlaylist": "প্লেলিস্ট ডাউনলোড করুন",
"downloadSubtitle": "বর্তমান সাবটাইটেল ডাউনলোড করুন", "downloadSubtitle": "বর্তমান সাবটাইটেল ডাউনলোড করুন",
"downloadVideo": "ভিডিও ডাউনলোড" "downloadVideo": "ভিডিও ডাউনলোড",
"hlsDisclaimer": "ডাউনলোড সরাসরি প্রদানকারী থেকে নেওয়া হয়. কিভাবে ডাউনলোড দেওয়া হয় তার উপর মুভি-ওয়েবের নিয়ন্ত্রণ নেই। অনুগ্রহ করে মনে রাখবেন যে আপনি একটি HLS প্লেলিস্ট ডাউনলোড করছেন, এটি উন্নত মাল্টিমিডিয়া স্ট্রিমিংয়ের সাথে পরিচিত ব্যবহারকারীদের জন্য।",
"onAndroid": {
"1": "অ্যান্ড্রয়েডে ডাউনলোড করতে, ডাউনলোড বোতামে ক্লিক করুন তারপর, নতুন পৃষ্ঠায়, ভিডিওতে <bold>ট্যাপ করুন এবং ধরে রাখুন</bold>, তারপরে <bold>সংরক্ষণ করুন</bold> নির্বাচন করুন।",
"shortTitle": "ডাউনলোড/অ্যান্ড্রয়েড",
"title": "অ্যান্ড্রয়েডে ডাউনলোড হচ্ছে"
},
"onIos": {
"1": "iOS-এ ডাউনলোড করতে, ডাউনলোড বোতামে ক্লিক করুন তারপর, নতুন পৃষ্ঠায়, <bold><ios_share /></bold>-এ ক্লিক করুন, তারপর <bold>ফাইলে সংরক্ষণ করুন <ios_files /></bold>।",
"shortTitle": "ডাউনলোড / iOS",
"title": "iOS এ ডাউনলোড হচ্ছে"
},
"onPc": {
"1": "পিসিতে, ডাউনলোড বোতামে ক্লিক করুন তারপর, নতুন পৃষ্ঠায়, ভিডিওটিতে ডান ক্লিক করুন এবং <bold>ভিডিওটিকে এই হিসাবে সংরক্ষণ করুন</bold> নির্বাচন করুন",
"shortTitle": "ডাউনলোড/পিসি",
"title": "পিসিতে ডাউনলোড হচ্ছে"
},
"title": "ডাউনলোড করুন"
}, },
"episodes": { "episodes": {
"button": "পর্বগুলি", "button": "পর্বগুলি",
"emptyState": "এই মরসুমে কোন পর্ব নেই, পরে আবার চেক করুন!", "emptyState": "এই মরসুমে কোন পর্ব নেই, পরে আবার চেক করুন!",
"episodeBadge": "E{{episode}}",
"loadingError": "ঋতু লোড করার সময় ত্রুটি৷", "loadingError": "ঋতু লোড করার সময় ত্রুটি৷",
"loadingList": "লোড হচ্ছে..।", "loadingList": "লোড হচ্ছে..।",
"loadingTitle": "লোড হচ্ছে..।" "loadingTitle": "লোড হচ্ছে..।",
"unairedEpisodes": "এই সিজনের এক বা একাধিক পর্ব অক্ষম করা হয়েছে কারণ সেগুলি এখনও সম্প্রচার করা হয়নি।"
},
"playback": {
"speedLabel": "প্লেব্যাক গতি",
"title": "প্লেব্যাক সেটিংস"
},
"quality": {
"automaticLabel": "স্বয়ংক্রিয় গুণমান",
"hint": "আপনি বিভিন্ন গুণমানের বিকল্প পেতে <0>উৎস পরিবর্তন</0> করে দেখতে পারেন।",
"iosNoQuality": "অ্যাপল-সংজ্ঞায়িত সীমাবদ্ধতার কারণে, এই উৎসের জন্য গুণমান নির্বাচন iOS-এ উপলব্ধ নয়। বিভিন্ন মানের বিকল্প পেতে আপনি <0>অন্য উৎসে স্যুইচ করার</0> চেষ্টা করতে পারেন।",
"title": "গুণমান"
}, },
"settings": { "settings": {
"downloadItem": "ডাউনলোড করুন", "downloadItem": "ডাউনলোড করুন",
@@ -228,6 +253,29 @@
"title": "সাবটাইটেল", "title": "সাবটাইটেল",
"unknownLanguage": "অজানা" "unknownLanguage": "অজানা"
} }
},
"metadata": {
"api": {
"text": "API মেটাডেটা লোড করা যায়নি, অনুগ্রহ করে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন।",
"title": "API মেটাডেটা লোড করতে ব্যর্থ হয়েছে"
},
"failed": {
"badge": "ব্যর্থ",
"homeButton": "বাড়িতে যেতে",
"text": "TMDB থেকে মিডিয়ার মেটাডেটা লোড করা যায়নি। আপনার ইন্টারনেট সংযোগে TMDB ডাউন বা ব্লক করা আছে কিনা তা অনুগ্রহ করে চেক করুন।",
"title": "মেটাডেটা লোড করতে ব্যর্থ হয়েছে"
},
"notFound": {
"badge": "পাওয়া যায়নি",
"homeButton": "বাড়িতে ফিরে যাও",
"text": "আপনার অনুরোধ করা মিডিয়া আমরা খুঁজে পাইনি। হয় এটি সরানো হয়েছে অথবা আপনি URL-এর সাথে হেরফের করেছেন।"
}
},
"turnstile": {
"description": "ডানদিকে ক্যাপচা সম্পূর্ণ করে আপনি যে মানুষ তা যাচাই করুন। সিনেমা-ওয়েবকে নিরাপদ রাখতেই এই!",
"error": "আপনার মানবতা যাচাই করতে ব্যর্থ হয়েছে. অনুগ্রহপূর্বক আবার চেষ্টা করুন।",
"title": "আপনি যে মানুষ তা আমাদের যাচাই করতে হবে।",
"verifyingHumanity": "আপনার মানবতা যাচাই করা হচ্ছে..।"
} }
} }
} }

547
src/assets/locales/ca.json Normal file
View File

@@ -0,0 +1,547 @@
{
"about": {
"description": "movie-web és una aplicació web que cerca fluxos a internet. L'equip té com a objectiu un enfocament majoritàriament minimalista del consum de contingut.",
"faqTitle": "Preguntes freqüents",
"q1": {
"body": "movie-web no allotja cap contingut. Quan feu clic a un contingut per a mirar-lo, es busca a Internet (a la pantalla de càrrega i a la pestanya «Fonts de vídeo» podeu veure quina font utilitzeu). movie-web mai hi puja contingut, tot és a través d'aquest mecanisme de cerca.",
"title": "D'on prové el contingut?"
},
"q2": {
"body": "No és possible sol·licitar un programa o una pel·lícula, movie-web no gestiona cap contingut. Tot el contingut es visualitza a través de fonts a internet.",
"title": "On puc sol·licitar un programa o una pel·lícula?"
},
"q3": {
"body": "Els resultats de cerca funcionen amb The Movie Database (TMDB) i es mostren independentment de si les nostres fonts realment tenen el contingut.",
"title": "Els resultats de la cerca mostren el programa o la pel·lícula, per què no puc reproduir-lo?"
},
"title": "Sobre movie-web"
},
"actions": {
"copied": "S'ha copiat",
"copy": "Copia"
},
"auth": {
"createAccount": "Encara no teniu un compte? <0>Creeu un compte.</0>",
"deviceNameLabel": "Nom del dispositiu",
"deviceNamePlaceholder": "Telèfon personal",
"generate": {
"description": "La frase de contrasenya actua com a nom d'usuari i contrasenya. Assegureu-vos de mantenir-la segura, ja que haureu d'introduir-la per a iniciar la sessió al vostre compte",
"next": "He desat la frase de contrasenya",
"passphraseFrameLabel": "Frase de contrasenya",
"title": "La vostra frase de contrasenya"
},
"hasAccount": "Ja teniu un compte? <0>Inicieu sessió aquí.</0>",
"login": {
"description": "Introduïu la vostra frase de contrasenya per a iniciar sessió al vostre compte",
"deviceLengthError": "Introduïu un nom per al dispositiu",
"passphraseLabel": "Frase de contrasenya de 12 paraules",
"passphrasePlaceholder": "Frase de contrasenya",
"submit": "Inicia sessió",
"title": "Inicieu sessió al vostre compte",
"validationError": "Frase de contrasenya incorrecta o incompleta"
},
"register": {
"information": {
"color1": "Color de perfil 1",
"color2": "Color de perfil 2",
"header": "Introduïu un nom per al dispositiu i trieu els colors i la icona d'usuari que vulgueu",
"icon": "Icona d'usuari",
"next": "Següent",
"title": "Informació del compte"
}
},
"trust": {
"failed": {
"text": "L'heu configurada correctament?",
"title": "No s'ha pogut accedir al servidor"
},
"host": "Us esteu connectant a <0>{{hostname}}</0>. Confirmeu que hi confieu abans de crear un compte",
"no": "Torna",
"noHost": "El servidor no s'ha configurat, per tant, no es pot crear un compte",
"noHostTitle": "El servidor no està configurat!",
"title": "Confieu en aquest servidor?",
"yes": "Confie en aquest servidor"
},
"verify": {
"description": "Introduïu la vostra frase de contrasenya anterior per a confirmar que l'heu desat, i crear el compte",
"invalidData": "La data no és vàlida",
"noMatch": "La frase de contrasenya no coincideix",
"passphraseLabel": "Frase de contrasenya de 12 paraules",
"recaptchaFailed": "Ha fallat la validació de ReCaptcha",
"register": "Crea el compte",
"title": "Confirmeu la frase de contrasenya"
}
},
"errors": {
"badge": "S'ha trencat",
"details": "Detalls de l'error",
"reloadPage": "Recarrega la pàgina",
"showError": "Mostra els detalls de l'error",
"title": "Hem trobat un error!"
},
"footer": {
"legal": {
"disclaimer": "Avís d'exempció de responsabilitat",
"disclaimerText": "movie-web no allotja cap fitxer, només enllaça a serveis de tercers. Els problemes legals s'han d'abordar amb qui allotja i els proveïdors de fitxers. movie-web no es fa responsable del contingut mostrat pels proveïdors de vídeo."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Mireu els vostres programes i pel·lícules preferits amb aquesta aplicació de codi obert de reproducció en temps real."
},
"global": {
"name": "movie-web",
"pages": {
"about": "Quant a",
"dmca": "DMCA",
"login": "Inicia sessió",
"onboarding": "Configura",
"pagetitle": "{{title}} - movie-web",
"register": "Registra",
"settings": "Configuració"
}
},
"home": {
"bookmarks": {
"sectionTitle": "Marcadors"
},
"continueWatching": {
"sectionTitle": "Continueu mirant"
},
"mediaList": {
"stopEditing": "Deixa d'editar"
},
"search": {
"allResults": "Això és tot el que tenim!",
"failed": "No s'ha pogut trobar cap contingut, torneu-ho a provar!",
"loading": "S'està carregant…",
"noResults": "No hem pogut trobar res!",
"placeholder": {
"default": "Què voleu mirar?",
"extra": [
"Què voleu explorar?",
"Què hi ha a la vostra llista de seguiment?",
"Quina és la vostra pel·lícula preferida?",
"Quina és la vostra sèrie preferida?"
]
},
"sectionTitle": "Resultats de la cerca"
},
"titles": {
"day": {
"default": "Què us agradaria mirar aquesta vesprada/tarda?",
"extra": [
"Voleu aventura? Jurassic Park podria ser l'elecció perfecta."
]
},
"morning": {
"default": "Què us agradaria mirar aquest matí?",
"extra": [
"He sentit que «Abans de l'alba» és bona"
]
},
"night": {
"default": "Què us agradaria mirar aquesta nit?",
"extra": [
"Esteu cansat? He sentit que «L'exorcista» és bona."
]
}
}
},
"media": {
"episodeDisplay": "T{{season}} E{{episode}}",
"types": {
"movie": "Pel·lícula",
"show": "Sèrie/Programa"
}
},
"navigation": {
"banner": {
"offline": "Comproveu la connexió a internet"
},
"menu": {
"about": "Quant a nosaltres",
"donation": "Feu una donació",
"logout": "Tanca la sessió",
"register": "Sincronitza al núvol",
"settings": "Configuració",
"support": "Ajuda"
}
},
"notFound": {
"badge": "No s'ha trobat",
"goHome": "Torna a l'inici",
"message": "Hem mirat per tot arreu: davall de les papereres, a l'armari, darrere del servidor intermediari, però al remat no hem pogut trobar la pàgina que busqueu.",
"title": "No s'ha pogut trobar la pàgina"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Cancel·la",
"confirm": "Usa la configuració per defecte",
"description": "La configuració per defecte no té els millors fluxos i pot ser insuportablement lenta.",
"title": "Segur?"
},
"extension": {
"back": "Torna",
"explainer": "Mitjançant l'extensió del navegador, podeu obtenir els millors fluxos que oferim. Amb només una simple instal·lació.",
"explainerIos": "Lamentablement, l'extensió del navegador no és compatible amb iOS, premeu <bold>Torna</bold> per a triar una altra opció.",
"extensionHelp": "Si heu instal·lat l'extensió, però no es detecta, <bold>obriu l'extensió al menú d'extensions del navegador</bold> i seguiu els passos en pantalla.",
"linkChrome": "Instal·la l'extensió de Chrome",
"linkFirefox": "Instal·la l'extensió de Firefox",
"notDetecting": "S'ha instal·lat a Chrome, però el lloc no el detecta? Proveu de recarregar la pàgina.",
"notDetectingAction": "Recarrega la pàgina",
"status": {
"disallowed": "L'extensió no està activada per a aquesta pàgina",
"disallowedAction": "Activa l'extensió",
"failed": "No s'ha pogut sol·licitar l'estat",
"loading": "Esperant que instal·leu l'extensió",
"outdated": "La versió de l'extensió és massa antiga",
"success": "L'extensió funciona com s'esperava!"
},
"submit": "Continua",
"title": "Comencem amb una extensió"
},
"proxy": {
"back": "Torna",
"explainer": "Amb el mètode del servidor intermediari, podeu obtenir fluxos d'alta qualitat fent un servidor intermediari propi.",
"input": {
"errorConnection": "No s'ha pogut connectar al servidor intermediari",
"errorInvalidUrl": "URL no vàlid",
"errorNotProxy": "S'esperava un servidor intermediari, però és un lloc web",
"label": "URL del servidor intermediari",
"placeholder": "https://"
},
"link": "Com fer un servidor intermediari",
"submit": "Envia el servidor intermediari",
"title": "Fem un nou servidor intermediari"
},
"start": {
"explainer": "Per a obtenir els millors fluxos possibles, haureu de triar quin mètode de transmissió voleu utilitzar.",
"options": {
"default": {
"text": "No vull fluxos de bona qualitat,<0 /> <1>utilitza la configuració per defecte</1>"
},
"extension": {
"action": "Instal·la l'extensió",
"description": "Instal·leu l'extensió del navegador i accediu a les millors fonts.",
"quality": "Millor qualitat",
"title": "Extensió del navegador"
},
"proxy": {
"action": "Configura el servidor intermediari",
"description": "Configureu un servidor intermediari en només 5 minuts i accediu a bones fonts.",
"quality": "Bona qualitat",
"title": "Servidor intermediari personalitzat"
}
},
"title": "Configurem el movie-web"
}
},
"overlays": {
"close": "Tanca"
},
"player": {
"back": {
"default": "Torna a l'inici",
"short": "Torna"
},
"casting": {
"enabled": "S'està emetent al dispositiu…"
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Copia l'enllaç de la llista HLS",
"disclaimer": "Les baixades s'obtenen directament del proveïdor. movie-web no té control sobre com es proporcionen les baixades.",
"downloadSubtitle": "Baixa els subtítols actuals",
"downloadVideo": "Baixa el vídeo",
"hlsDisclaimer": "Les baixades s'obtenen directament del proveïdor. movie-web no té control sobre com es proporcionen les baixades. <br /><br />Tingueu en compte que esteu baixant una llista de reproducció HLS, <bold>no es recomana baixar-la si no esteu familiaritzat amb formats de transmissió avançats</bold>. Proveu diferents fonts per a diferents formats.",
"onAndroid": {
"1": "Per a baixar-lo a Android, feu clic al botó de baixada i, a la pàgina nova, <bold>manteniu premut</bold> el vídeo i, a continuació, seleccioneu <bold>Desa</bold>.",
"shortTitle": "Baixa / Android",
"title": "Baixada a Android"
},
"onIos": {
"1": "Per a baixar a iOS, feu clic al botó de baixada i, a la pàgina nova, feu clic a <bold><ios_share /></bold> /> i, a continuació, <bold>Desa als Arxius <ios_files /></bold>.",
"shortTitle": "Baixa / iOS",
"title": "Baixada a iOS"
},
"onPc": {
"1": "En un PC, feu clic al botó de baixada i, a la pàgina nova, feu clic amb el botó dret al vídeo i seleccioneu <bold>Anomena i desa el vídeo</bold>",
"shortTitle": "Baixa / PC",
"title": "Baixada a un PC"
},
"title": "Baixa"
},
"episodes": {
"button": "Episodi",
"emptyState": "No hi ha episodis en aquesta temporada, torneu-ho a comprovar més tard!",
"episodeBadge": "E{{episode}}",
"loadingError": "Error en carregar la temporada",
"loadingList": "S'està carregant…",
"loadingTitle": "S'està carregant…",
"unairedEpisodes": "Un o més episodis d'aquesta temporada s'han desactivat perquè encara no s'han emés."
},
"playback": {
"speedLabel": "Velocitat de la reproducció",
"title": "Configuració de la reproducció"
},
"quality": {
"automaticLabel": "Qualitat automàtica",
"hint": "Podeu provar a <0>canviar la font</0> per a obtenir diferents opcions de qualitat.",
"iosNoQuality": "A causa de les limitacions definides per Apple, la selecció de qualitat no està disponible a iOS per a aquesta font. Podeu provar a <0>canviar a una altra font</0> per a obtenir diferents opcions de qualitat.",
"title": "Qualitat"
},
"settings": {
"downloadItem": "Baixa",
"enableSubtitles": "Activa els subtítols",
"experienceSection": "Experiència de visualització",
"playbackItem": "Configuració de la reproducció",
"qualityItem": "Qualitat",
"sourceItem": "Fonts de vídeo",
"subtitleItem": "Configuració dels subtítols",
"videoSection": "Configuració de vídeo"
},
"sources": {
"failed": {
"text": "S'ha produït un error en intentar trobar vídeos, proveu una font diferent.",
"title": "No s'ha pogut obtenir"
},
"noEmbeds": {
"text": "No hem pogut trobar cap incrustat, proveu una font diferent.",
"title": "No s'ha trobat cap incrustació"
},
"noStream": {
"text": "Aquesta font no té fluxos per a aquesta pel·lícula o programa.",
"title": "Cap flux"
},
"title": "Fonts",
"unknownOption": "Desconeguda"
},
"subtitles": {
"customChoice": "Selecciona un fitxer de subtítols",
"customizeLabel": "Personalitza",
"offChoice": "Desactivats",
"settings": {
"backlink": "Subtítols personalitzats",
"delay": "Retard dels subtítols",
"fixCapitals": "Corregeix les majúscules/minúscules"
},
"title": "Subtítols",
"unknownLanguage": "Desconeguda"
}
},
"metadata": {
"api": {
"text": "No s'han pogut carregar les metadades de l'API, comproveu la connexió a Internet.",
"title": "No s'han pogut carregar les metadades de l'API"
},
"dmca": {
"badge": "Eliminat",
"text": "Aquest contingut ja no està disponible a causa d'un avís de retirada o d'una reclamació de drets d'autor.",
"title": "El contingut s'ha eliminat"
},
"extensionPermission": {
"badge": "Falta el permís",
"button": "Utilitza l'extensió",
"text": "Teniu l'extensió del navegador, però necessitem el vostre permís per a començar a utilitzar l'extensió.",
"title": "Configureu l'extensió"
},
"failed": {
"badge": "Ha fallat",
"homeButton": "Vés a l'inici",
"text": "No s'han pogut carregar les metadades del contingut des de TMDB. Comproveu si TMDB no funciona o està bloquejat a la vostra connexió a Internet.",
"title": "Ha fallat la càrrega de les metadades"
},
"notFound": {
"badge": "No s'ha trobat",
"homeButton": "Torna a l'inici",
"text": "No hem pogut trobar el contingut sol·licitat. O bé s'ha eliminat o bé heu alterat l'URL.",
"title": "No s'ha trobat el contingut."
}
},
"nextEpisode": {
"cancel": "Cancel·la",
"next": "Episodi següent"
},
"playbackError": {
"badge": "Error en la reproducció",
"errors": {
"errorAborted": "S'ha interromput l'obtenció del contingut per petició de l'usuari.",
"errorDecode": "Tot i haver-se determinat prèviament que era utilitzable, s'ha produït un error en intentar descodificar el recurs multimèdia.",
"errorGenericMedia": "S'ha produït un error desconegut al contingut.",
"errorNetwork": "S'ha produït algun tipus d'error de xarxa que ha impedit que el contingut s'obtinga correctament, tot i haver estat disponibles prèviament.",
"errorNotSupported": "El contingut o el proveïdor del contingut no és compatible."
},
"homeButton": "Torna a l'inici",
"text": "S'ha produït un error en intentar reproduir el contingut. Torneu-ho a provar.",
"title": "No s'ha pogut reproduir el vídeo!"
},
"scraping": {
"items": {
"failure": "S'ha produït un error",
"notFound": "No té el vídeo",
"pending": "S'estan cercant vídeos…"
},
"notFound": {
"badge": "No s'ha trobat",
"detailsButton": "Mostra els detalls",
"homeButton": "Torna a l'inici",
"text": "Hem buscat a través dels nostres proveïdors i no trobem el contingut que busqueu! No allotgem contingut i no tenim control sobre què hi ha disponible. Feu clic a «Mostra els detalls» a continuació per a més informació.",
"title": "No s'ha pogut trobar"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} restants • Acaba a les {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Verifiqueu que sou humà completant el Captcha de la dreta. Ho fem per a mantenir segura movie-web!",
"error": "No s'ha pogut verificar la humanitat. Torneu-ho a provar.",
"title": "Necessitem verificar que sou humà.",
"verifyingHumanity": "Verificant la vostra humanitat…"
}
},
"screens": {
"dmca": {
"text": "Us donem la benvinguda a la pàgina de contacte DMCA de movie-web! Respectem els drets de propietat intel·lectual i volem resoldre qualsevol problema de drets d'autor ràpidament. Si creieu que la vostra obra protegida per drets d'autor s'ha utilitzat incorrectament a la nostra plataforma, envieu un avís detallat de la DMCA al correu electrònic següent. Incloeu una descripció del material protegit per drets d'autor, les vostres dades de contacte i una declaració de creença de bona fe. Ens comprometem a resoldre aquests assumptes amb agilitat i agraïm la vostra col·laboració per a mantenir movie-web en un lloc que respecta la creativitat i els drets d'autor.",
"title": "DMCA"
},
"loadingApp": "S'està carregant l'aplicació",
"loadingUser": "S'està carregant el perfil",
"loadingUserError": {
"logout": "Tanca la sessió",
"reset": "Restableix el servidor personalitzat",
"text": "Ha fallat la càrrega del perfil",
"textWithReset": "Error en carregar el vostre perfil des del servidor personalitzat, voleu restablir el servidor per defecte?"
},
"migration": {
"failed": "La migració de les dades ha fallat.",
"inProgress": "Espereu, estem migrant les vostres dades. No hauria de tardar massa."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Nom del dispositiu",
"deviceNamePlaceholder": "Telèfon personal",
"editProfile": "Edita",
"logoutButton": "Tanca la sessió"
},
"actions": {
"delete": {
"button": "Elimina el compte",
"confirmButton": "Elimina el compte",
"confirmDescription": "Segur que voleu eliminar el compte? Es perdran totes les dades!",
"confirmTitle": "Segur?",
"text": "Aquesta acció és irreversible. Totes les dades s'eliminaran i no es podrà recuperar res.",
"title": "Elimina el compte"
},
"title": "Accions"
},
"devices": {
"deviceNameLabel": "Nom del dispositiu",
"failed": "La càrrega de sessions ha fallat",
"removeDevice": "Elimina",
"title": "Dispositiu"
},
"profile": {
"finish": "Finalitza l'edició",
"firstColor": "Color de perfil 1",
"secondColor": "Color de perfil dos",
"title": "Edita la foto de perfil",
"userIcon": "Icona d'usuari"
},
"register": {
"cta": "Comença",
"text": "Compartiu el progrés de la visualització entre dispositius i manteniu-los sincronitzats.",
"title": "Sincronització amb el núvol"
},
"title": "Compte"
},
"appearance": {
"activeTheme": "Actiu",
"themes": {
"blue": "Blau",
"default": "Per defecte",
"gray": "Gris",
"red": "Vermell",
"teal": "Verd blavós"
},
"title": "Aparença"
},
"connections": {
"server": {
"description": "Si voleu connectar-vos a un rerefons personalitzat per a emmagatzemar les vostres dades, activeu-ho i proporcioneu l'URL. <0>Instruccions.</0>",
"label": "Servidor personalitzat",
"urlLabel": "URL del servidor personalitzat"
},
"setup": {
"doSetup": "Configura",
"errorStatus": {
"description": "Sembla que heu de revisar un o més elements de la configuració.",
"title": "S'ha de revisar algun element"
},
"itemError": "Hi ha alguna cosa malament en la configuració. Torneu a fer la configuració per a solucionar-ho.",
"items": {
"default": "Configuració per defecte",
"extension": "Extensió",
"proxy": "Servidor personalitzat"
},
"redoSetup": "Reconfigura",
"successStatus": {
"description": "Tot està preparat perquè comenceu a mirar el vostre contingut preferit.",
"title": "Tot està configurat!"
},
"unsetStatus": {
"description": "Feu clic al botó de la dreta per a iniciar el procés de configuració.",
"title": "No heu fet la configuració"
}
},
"title": "Connexions",
"workers": {
"addButton": "Afegeix un «worker»",
"description": "Per fer funcionar l'aplicació, tot el trànsit s'encamina a través de servidors intermediaris. Activeu-ho si voleu portar els vostres propis «workers». <0>Instruccions.</0>",
"emptyState": "Encara no hi ha «workers», afegiu-ne un a continuació",
"label": "Utilitza «workers» intermediaris personalitzats",
"urlLabel": "URL dels «workers»",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Llengua de l'aplicació",
"languageDescription": "La llengua s'aplica a tota l'aplicació.",
"thumbnail": "Genera miniatures",
"thumbnailDescription": "Majoritàriament, els vídeos no tenen miniatures. Podeu activar aquesta opció per a generar-les sobre la marxa, però poden alentir el vídeo.",
"thumbnailLabel": "Genera miniatures",
"title": "Configuració"
},
"reset": "Restableix",
"save": "Desa",
"sidebar": {
"info": {
"appVersion": "Versió de l'aplicació",
"backendUrl": "URL del rerefons",
"backendVersion": "Versió del rerefons",
"hostname": "Nom de l'amfitrió",
"insecure": "Insegur",
"notLoggedIn": "No heu iniciat sessió",
"secure": "Segur",
"title": "Informació de l'aplicació",
"unknownVersion": "Desconeguda",
"userId": "ID d'usuari"
}
},
"subtitles": {
"backgroundLabel": "Opacitat del fons",
"colorLabel": "Color",
"previewQuote": "No he de tenir por. La por és l'assassina de la ment.",
"textSizeLabel": "Grandària del text",
"title": "Subtítols"
},
"unsaved": "Hi ha canvis sense desar"
}
}

View File

@@ -0,0 +1,547 @@
{
"about": {
"description": "movie-web és una aplicació web que cerca fluxos a internet. L'equip té com a objectiu un enfocament majoritàriament minimalista del consum de contingut.",
"faqTitle": "Preguntes freqüents",
"q1": {
"body": "movie-web no allotja cap contingut. Quan feu clic en un contingut per a mirar-lo, es busca a Internet (a la pantalla de càrrega i a la pestanya «Fonts de vídeo» podeu mirar quina font utilitzeu). movie-web mai puja contingut, tot és a través del mecanisme de cerca.",
"title": "D'on prové el contingut?"
},
"q2": {
"body": "No és possible sol·licitar un programa o una pel·lícula, movie-web no gestiona cap contingut. Tot el contingut es visualitza a través de fonts a internet.",
"title": "On puc sol·licitar un programa o una pel·lícula?"
},
"q3": {
"body": "Els resultats de cerca funcionen amb The Movie Database (TMDB) i es mostren independentment de si les nostres fonts realment tenen el contingut.",
"title": "Els resultats de la cerca mostren el programa o la pel·lícula, per què no puc reproduir-lo?"
},
"title": "Sobre movie-web"
},
"actions": {
"copied": "S'ha copiat",
"copy": "Copia"
},
"auth": {
"createAccount": "Encara no teniu un compte? <0>Creeu un compte.</0>",
"deviceNameLabel": "Nom del dispositiu",
"deviceNamePlaceholder": "Telèfon personal",
"generate": {
"description": "La frase de contrasenya actua com a nom d'usuari i contrasenya. Assegureu-vos de mantindre-la segura, ja que haureu d'introduir-la per a iniciar la sessió al vostre compte",
"next": "He desat la frase de contrasenya",
"passphraseFrameLabel": "Frase de contrasenya",
"title": "La vostra frase de contrasenya"
},
"hasAccount": "Ja teniu un compte? <0>Inicieu sessió ací.</0>",
"login": {
"description": "Introduïu la vostra frase de contrasenya per a iniciar sessió al vostre compte",
"deviceLengthError": "Introduïu un nom per al dispositiu",
"passphraseLabel": "Frase de contrasenya de 12 paraules",
"passphrasePlaceholder": "Frase de contrasenya",
"submit": "Inicia sessió",
"title": "Inicieu sessió al vostre compte",
"validationError": "Frase de contrasenya incorrecta o incompleta"
},
"register": {
"information": {
"color1": "Color de perfil 1",
"color2": "Color de perfil 2",
"header": "Introduïu un nom per al dispositiu i trieu els colors i la icona d'usuari que vulgueu",
"icon": "Icona d'usuari",
"next": "Següent",
"title": "Informació del compte"
}
},
"trust": {
"failed": {
"text": "L'heu configurada correctament?",
"title": "No s'ha pogut accedir al servidor"
},
"host": "Esteu connectant-vos a <0>{{hostname}}</0>. Confirmeu que hi confieu abans de crear un compte",
"no": "Torna",
"noHost": "El servidor no s'ha configurat, per tant, no es pot crear un compte",
"noHostTitle": "El servidor no està configurat!",
"title": "Confieu en este servidor?",
"yes": "Confie en este servidor"
},
"verify": {
"description": "Introduïu la vostra frase de contrasenya anterior per a confirmar que l'heu desat, i crear el compte",
"invalidData": "La data no és vàlida",
"noMatch": "La frase de contrasenya no coincideix",
"passphraseLabel": "Frase de contrasenya de 12 paraules",
"recaptchaFailed": "Ha fallat la validació de ReCaptcha",
"register": "Crea el compte",
"title": "Confirmeu la frase de contrasenya"
}
},
"errors": {
"badge": "S'ha trencat",
"details": "Detalls de l'error",
"reloadPage": "Recarrega la pàgina",
"showError": "Mostra els detalls de l'error",
"title": "Hem trobat un error!"
},
"footer": {
"legal": {
"disclaimer": "Avís d'exempció de responsabilitat",
"disclaimerText": "movie-web no allotja cap fitxer, només enllaça a serveis de tercers. Els problemes legals s'han d'abordar amb qui allotja i els proveïdors de fitxers. movie-web no es fa responsable del contingut mostrat pels proveïdors de vídeo."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Mireu els vostres programes i pel·lícules preferits amb esta aplicació de codi obert de reproducció en temps real."
},
"global": {
"name": "movie-web",
"pages": {
"about": "Quant a",
"dmca": "DMCA",
"login": "Inicia sessió",
"onboarding": "Configura",
"pagetitle": "{{title}} - movie-web",
"register": "Registra",
"settings": "Configuració"
}
},
"home": {
"bookmarks": {
"sectionTitle": "Marcadors"
},
"continueWatching": {
"sectionTitle": "Continueu mirant"
},
"mediaList": {
"stopEditing": "Deixa d'editar"
},
"search": {
"allResults": "Això és tot el que tenim!",
"failed": "No s'ha pogut trobar cap contingut, torneu-ho a provar!",
"loading": "S'està carregant…",
"noResults": "No hem pogut trobar res!",
"placeholder": {
"default": "Què voleu mirar?",
"extra": [
"Què voleu explorar?",
"Què hi ha a la vostra llista de seguiment?",
"Quina és la vostra pel·lícula preferida?",
"Quina és la vostra sèrie preferida?"
]
},
"sectionTitle": "Resultats de la cerca"
},
"titles": {
"day": {
"default": "Què vos agradaria mirar esta vesprada?",
"extra": [
"Voleu aventura? Jurassic Park podria ser l'elecció perfecta."
]
},
"morning": {
"default": "Què vos agradaria mirar este matí?",
"extra": [
"He sentit que «Abans de l'alba» és bona"
]
},
"night": {
"default": "Què vos agradaria mirar esta nit?",
"extra": [
"Esteu cansat? He sentit que «L'exorcista» és bona."
]
}
}
},
"media": {
"episodeDisplay": "T{{season}} E{{episode}}",
"types": {
"movie": "Pel·lícula",
"show": "Sèrie/Programa"
}
},
"navigation": {
"banner": {
"offline": "Comproveu la connexió a internet"
},
"menu": {
"about": "Quant a nosaltres",
"donation": "Feu una donació",
"logout": "Tanca la sessió",
"register": "Sincronitza al núvol",
"settings": "Configuració",
"support": "Ajuda"
}
},
"notFound": {
"badge": "No s'ha trobat",
"goHome": "Torna a l'inici",
"message": "Hem mirat per tot arreu: davall de les papereres, a l'armari, darrere del servidor intermediari, però al remat no hem pogut trobar la pàgina que busqueu.",
"title": "No s'ha pogut trobar la pàgina"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Cancel·la",
"confirm": "Usa la configuració per defecte",
"description": "La configuració per defecte no té els millors fluxos i pot ser insuportablement lenta.",
"title": "Segur?"
},
"extension": {
"back": "Torna",
"explainer": "Mitjançant l'extensió del navegador, podeu obtindre els millors fluxos que oferim. Amb només una simple instal·lació.",
"explainerIos": "Lamentablement, l'extensió del navegador no és compatible amb iOS, premeu <bold>Torna</bold> per a triar una altra opció.",
"extensionHelp": "Si heu instal·lat l'extensió, però no es detecta, <bold>obriu l'extensió al menú d'extensions del navegador</bold> i seguiu els passos en pantalla.",
"linkChrome": "Instal·la l'extensió de Chrome",
"linkFirefox": "Instal·la l'extensió de Firefox",
"notDetecting": "S'ha instal·lat a Chrome, però el lloc no el detecta? Proveu de recarregar la pàgina.",
"notDetectingAction": "Recarrega la pàgina",
"status": {
"disallowed": "L'extensió no està activada per a esta pàgina",
"disallowedAction": "Activa l'extensió",
"failed": "No s'ha pogut sol·licitar l'estat",
"loading": "Esperant que instal·leu l'extensió",
"outdated": "La versió de l'extensió és massa antiga",
"success": "L'extensió funciona com s'esperava!"
},
"submit": "Continua",
"title": "Comencem amb una extensió"
},
"proxy": {
"back": "Torna",
"explainer": "Amb el mètode del servidor intermediari, podeu obtindre fluxos d'alta qualitat fent un servidor intermediari propi.",
"input": {
"errorConnection": "No s'ha pogut connectar al servidor intermediari",
"errorInvalidUrl": "URL no vàlid",
"errorNotProxy": "S'esperava un servidor intermediari, però és un lloc web",
"label": "URL del servidor intermediari",
"placeholder": "https://"
},
"link": "Com fer un servidor intermediari",
"submit": "Envia el servidor intermediari",
"title": "Fem un nou servidor intermediari"
},
"start": {
"explainer": "Per a obtindre els millors fluxos possibles, haureu de triar quin mètode de transmissió voleu utilitzar.",
"options": {
"default": {
"text": "No vull fluxos de bona qualitat,<0 /> <1>utilitza la configuració per defecte</1>"
},
"extension": {
"action": "Instal·la l'extensió",
"description": "Instal·leu l'extensió del navegador i accediu a les millors fonts.",
"quality": "Millor qualitat",
"title": "Extensió del navegador"
},
"proxy": {
"action": "Configura el servidor intermediari",
"description": "Configureu un servidor intermediari en només 5 minuts i accediu a bones fonts.",
"quality": "Bona qualitat",
"title": "Servidor intermediari personalitzat"
}
},
"title": "Configurem el movie-web"
}
},
"overlays": {
"close": "Tanca"
},
"player": {
"back": {
"default": "Torna a l'inici",
"short": "Torna"
},
"casting": {
"enabled": "S'està emetent al dispositiu…"
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Copia l'enllaç de la llista HLS",
"disclaimer": "Les baixades s'obtenen directament del proveïdor. movie-web no té control sobre com es proporcionen les baixades.",
"downloadSubtitle": "Baixa els subtítols actuals",
"downloadVideo": "Baixa el vídeo",
"hlsDisclaimer": "Les baixades s'obtenen directament del proveïdor. movie-web no té control sobre com es proporcionen les baixades. <br /><br />Tingueu en compte que esteu baixant una llista de reproducció HLS, <bold>no es recomana baixar-la si no esteu familiaritzat amb formats de transmissió avançats</bold>. Proveu diferents fonts per a diferents formats.",
"onAndroid": {
"1": "Per a baixar-lo a Android, feu clic al botó de baixada i, a la pàgina nova, <bold>manteniu premut</bold> el vídeo i, a continuació, seleccioneu <bold>Desa</bold>.",
"shortTitle": "Baixa / Android",
"title": "Baixada a Android"
},
"onIos": {
"1": "Per a baixar a iOS, feu clic al botó de baixada i, a la pàgina nova, feu clic a <bold><ios_share /></bold> /> i, a continuació, <bold>Desa als Arxius <ios_files /></bold>.",
"shortTitle": "Baixa / iOS",
"title": "Baixada a iOS"
},
"onPc": {
"1": "En un PC, feu clic al botó de baixada i, a la pàgina nova, feu clic amb el botó dret al vídeo i seleccioneu <bold>Anomena i desa el vídeo</bold>",
"shortTitle": "Baixa / PC",
"title": "Baixada a un PC"
},
"title": "Baixa"
},
"episodes": {
"button": "Episodi",
"emptyState": "No hi ha episodis en esta temporada, torneu-ho a comprovar més tard!",
"episodeBadge": "E{{episode}}",
"loadingError": "Error en carregar la temporada",
"loadingList": "S'està carregant…",
"loadingTitle": "S'està carregant…",
"unairedEpisodes": "Un o més episodis d'esta temporada s'han desactivat perquè encara no s'han emés."
},
"playback": {
"speedLabel": "Velocitat de la reproducció",
"title": "Configuració de la reproducció"
},
"quality": {
"automaticLabel": "Qualitat automàtica",
"hint": "Podeu provar a <0>canviar la font</0> per a obtindre diferents opcions de qualitat.",
"iosNoQuality": "A causa de les limitacions definides per Apple, la selecció de qualitat no està disponible a iOS per a esta font. Podeu provar a <0>canviar a una altra font</0> per a obtindre diferents opcions de qualitat.",
"title": "Qualitat"
},
"settings": {
"downloadItem": "Baixa",
"enableSubtitles": "Activa els subtítols",
"experienceSection": "Experiència de visualització",
"playbackItem": "Configuració de la reproducció",
"qualityItem": "Qualitat",
"sourceItem": "Fonts de vídeo",
"subtitleItem": "Configuració dels subtítols",
"videoSection": "Configuració de vídeo"
},
"sources": {
"failed": {
"text": "S'ha produït un error en intentar trobar vídeos, proveu una font diferent.",
"title": "No s'ha pogut obtindre"
},
"noEmbeds": {
"text": "No hem pogut trobar cap incrustat, proveu una font diferent.",
"title": "No s'ha trobat cap incrustació"
},
"noStream": {
"text": "esta font no té fluxos per a esta pel·lícula o programa.",
"title": "Cap flux"
},
"title": "Fonts",
"unknownOption": "Desconeguda"
},
"subtitles": {
"customChoice": "Selecciona un fitxer de subtítols",
"customizeLabel": "Personalitza",
"offChoice": "Desactivats",
"settings": {
"backlink": "Subtítols personalitzats",
"delay": "Retard dels subtítols",
"fixCapitals": "Corregeix les majúscules/minúscules"
},
"title": "Subtítols",
"unknownLanguage": "Desconeguda"
}
},
"metadata": {
"api": {
"text": "No s'han pogut carregar les metadades de l'API, comproveu la connexió a Internet.",
"title": "No s'han pogut carregar les metadades de l'API"
},
"dmca": {
"badge": "Eliminat",
"text": "este contingut ja no està disponible a causa d'un avís de retirada o d'una reclamació de drets d'autor.",
"title": "El contingut s'ha eliminat"
},
"extensionPermission": {
"badge": "Falta el permís",
"button": "Utilitza l'extensió",
"text": "Teniu l'extensió del navegador, però necessitem el vostre permís per a començar a utilitzar l'extensió.",
"title": "Configureu l'extensió"
},
"failed": {
"badge": "Ha fallat",
"homeButton": "Vés a l'inici",
"text": "No s'han pogut carregar les metadades del contingut des de TMDB. Comproveu si TMDB no funciona o està bloquejat a la vostra connexió a Internet.",
"title": "Ha fallat la càrrega de les metadades"
},
"notFound": {
"badge": "No s'ha trobat",
"homeButton": "Torna a l'inici",
"text": "No hem pogut trobar el contingut sol·licitat. O bé s'ha eliminat o bé heu alterat l'URL.",
"title": "No s'ha trobat el contingut."
}
},
"nextEpisode": {
"cancel": "Cancel·la",
"next": "Episodi següent"
},
"playbackError": {
"badge": "Error en la reproducció",
"errors": {
"errorAborted": "S'ha interromput l'obtenció del contingut per petició de l'usuari.",
"errorDecode": "Tot i haver-se determinat prèviament que era utilitzable, s'ha produït un error en intentar descodificar el recurs multimèdia.",
"errorGenericMedia": "S'ha produït un error desconegut al contingut.",
"errorNetwork": "S'ha produït algun tipus d'error de xarxa que ha impedit que el contingut s'obtinga correctament, tot i haver estat disponibles prèviament.",
"errorNotSupported": "El contingut o el proveïdor del contingut no és compatible."
},
"homeButton": "Torna a l'inici",
"text": "S'ha produït un error en intentar reproduir el contingut. Torneu-ho a provar.",
"title": "No s'ha pogut reproduir el vídeo!"
},
"scraping": {
"items": {
"failure": "S'ha produït un error",
"notFound": "No té el vídeo",
"pending": "S'estan cercant vídeos…"
},
"notFound": {
"badge": "No s'ha trobat",
"detailsButton": "Mostra els detalls",
"homeButton": "Torna a l'inici",
"text": "Hem buscat a través dels nostres proveïdors i no trobem el contingut que busqueu! No allotgem contingut i no tenim control sobre què hi ha disponible. Feu clic a «Mostra els detalls» a continuació per a més informació.",
"title": "No s'ha pogut trobar"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} restants • Acaba a les {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Verifiqueu que sou humà completant el Captcha de la dreta. Ho fem per a mantindre segura movie-web!",
"error": "No s'ha pogut verificar la humanitat. Torneu-ho a provar.",
"title": "Necessitem verificar que sou humà.",
"verifyingHumanity": "Verificant la vostra humanitat…"
}
},
"screens": {
"dmca": {
"text": "Vos donem la benvinguda a la pàgina de contacte DMCA de movie-web! Respectem els drets de propietat intel·lectual i volem resoldre qualsevol problema de drets d'autor ràpidament. Si creieu que la vostra obra protegida per drets d'autor s'ha utilitzat incorrectament a la nostra plataforma, envieu un avís detallat de la DMCA al correu electrònic següent. Incloeu una descripció del material protegit per drets d'autor, les vostres dades de contacte i una declaració de creença de bona fe. Ens comprometem a resoldre estes assumptes amb agilitat i agraïm la vostra col·laboració per a mantindre movie-web en un lloc que respecta la creativitat i els drets d'autor.",
"title": "DMCA"
},
"loadingApp": "S'està carregant l'aplicació",
"loadingUser": "S'està carregant el perfil",
"loadingUserError": {
"logout": "Tanca la sessió",
"reset": "Restableix el servidor personalitzat",
"text": "Ha fallat la càrrega del perfil",
"textWithReset": "Error en carregar el vostre perfil des del servidor personalitzat, voleu restablir el servidor per defecte?"
},
"migration": {
"failed": "La migració de les dades ha fallat.",
"inProgress": "Espereu, estem migrant les vostres dades. No hauria de tardar massa."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Nom del dispositiu",
"deviceNamePlaceholder": "Telèfon personal",
"editProfile": "Edita",
"logoutButton": "Tanca la sessió"
},
"actions": {
"delete": {
"button": "Elimina el compte",
"confirmButton": "Elimina el compte",
"confirmDescription": "Segur que voleu eliminar el compte? Es perdran totes les dades!",
"confirmTitle": "Segur?",
"text": "Esta acció és irreversible. Totes les dades s'eliminaran i no es podrà recuperar res.",
"title": "Elimina el compte"
},
"title": "Accions"
},
"devices": {
"deviceNameLabel": "Nom del dispositiu",
"failed": "La càrrega de sessions ha fallat",
"removeDevice": "Elimina",
"title": "Dispositiu"
},
"profile": {
"finish": "Finalitza l'edició",
"firstColor": "Color de perfil 1",
"secondColor": "Color de perfil dos",
"title": "Edita la foto de perfil",
"userIcon": "Icona d'usuari"
},
"register": {
"cta": "Comença",
"text": "Compartiu el progrés de la visualització entre dispositius i manteniu-los sincronitzats.",
"title": "Sincronització amb el núvol"
},
"title": "Compte"
},
"appearance": {
"activeTheme": "Actiu",
"themes": {
"blue": "Blau",
"default": "Per defecte",
"gray": "Gris",
"red": "Vermell",
"teal": "Verd blavós"
},
"title": "Aparença"
},
"connections": {
"server": {
"description": "Si voleu connectar-vos a un rerefons personalitzat per a emmagatzemar les vostres dades, activeu-ho i proporcioneu l'URL. <0>Instruccions.</0>",
"label": "Servidor personalitzat",
"urlLabel": "URL del servidor personalitzat"
},
"setup": {
"doSetup": "Configura",
"errorStatus": {
"description": "Sembla que heu de revisar un o més elements de la configuració.",
"title": "S'ha de revisar algun element"
},
"itemError": "Hi ha alguna cosa malament en la configuració. Torneu a fer la configuració per a solucionar-ho.",
"items": {
"default": "Configuració per defecte",
"extension": "Extensió",
"proxy": "Servidor personalitzat"
},
"redoSetup": "Reconfigura",
"successStatus": {
"description": "Tot està preparat perquè comenceu a mirar el vostre contingut preferit.",
"title": "Tot està configurat!"
},
"unsetStatus": {
"description": "Feu clic al botó de la dreta per a iniciar el procés de configuració.",
"title": "No heu fet la configuració"
}
},
"title": "Connexions",
"workers": {
"addButton": "Afig un «worker»",
"description": "Per fer funcionar l'aplicació, tot el trànsit s'encamina a través de servidors intermediaris. Activeu-ho si voleu portar els vostres propis «workers». <0>Instruccions.</0>",
"emptyState": "Encara no hi ha «workers», afegiu-ne un a continuació",
"label": "Utilitza «workers» intermediaris personalitzats",
"urlLabel": "URL dels «workers»",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Llengua de l'aplicació",
"languageDescription": "La llengua s'aplica a tota l'aplicació.",
"thumbnail": "Genera miniatures",
"thumbnailDescription": "Majoritàriament, els vídeos no tenen miniatures. Podeu activar esta opció per a generar-les sobre la marxa, però poden alentir el vídeo.",
"thumbnailLabel": "Genera miniatures",
"title": "Configuració"
},
"reset": "Restableix",
"save": "Desa",
"sidebar": {
"info": {
"appVersion": "Versió de l'aplicació",
"backendUrl": "URL del rerefons",
"backendVersion": "Versió del rerefons",
"hostname": "Nom de l'amfitrió",
"insecure": "Insegur",
"notLoggedIn": "No heu iniciat sessió",
"secure": "Segur",
"title": "Informació de l'aplicació",
"unknownVersion": "Desconeguda",
"userId": "ID d'usuari"
}
},
"subtitles": {
"backgroundLabel": "Opacitat del fons",
"colorLabel": "Color",
"previewQuote": "No he de tindre por. La por és l'assassina de la ment.",
"textSizeLabel": "Grandària del text",
"title": "Subtítols"
},
"unsaved": "Hi ha canvis sense desar"
}
}

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"
}, },
@@ -95,6 +97,7 @@
"about": "O nás", "about": "O nás",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Přihlásit se", "login": "Přihlásit se",
"onboarding": "Nastavení",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Zaregistrovat se", "register": "Zaregistrovat se",
"settings": "Nastavení" "settings": "Nastavení"
@@ -115,7 +118,15 @@
"failed": "Nepodařilo se najít média, zkuste to znovu!", "failed": "Nepodařilo se najít média, zkuste to znovu!",
"loading": "Načítání...", "loading": "Načítání...",
"noResults": "Nemohli jsme nic najít!", "noResults": "Nemohli jsme nic najít!",
"placeholder": "Co si přejete sledovat?", "placeholder": {
"default": "Co si přejete sledovat?",
"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": {
@@ -165,6 +176,68 @@
"message": "Dívali jsme se všude: pod koši, ve skříni, za proxy, ale nakonec jsme nemohli najít stránku, kterou hledáte.", "message": "Dívali jsme se všude: pod koši, ve skříni, za proxy, ale nakonec jsme nemohli najít stránku, kterou hledáte.",
"title": "Tuto stránku se nepodařilo najít" "title": "Tuto stránku se nepodařilo najít"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Zrušit",
"confirm": "Použít výchozí nastavení",
"description": "Výchozí nastavení nemá nejlepší streamy a může být strašně pomalá.",
"title": "Jste si jist?"
},
"extension": {
"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.",
"linkChrome": "Instalovat rozšíření pro Chrome",
"linkFirefox": "Instalovat rozšíření pro Firefox",
"notDetectingAction": "Obnovit stránku",
"status": {
"disallowed": "Rozšíření není pro tuto stránku povoleno",
"disallowedAction": "Povolit rozšíření",
"failed": "Nezdařilo se získávání stavu",
"loading": "Čekání na instalaci rozšíření",
"outdated": "Verze rozšíření je příliš stará",
"success": "Rozšíření funguje podle očekávání!"
},
"submit": "Pokračovat",
"title": "Začněme s rozšířením"
},
"proxy": {
"back": "Zpět",
"explainer": "Pomocí metody proxy můžete získat streamy ve skvělé kvalitě vytvořením proxy serveru.",
"input": {
"errorConnection": "Nelze se připojit k proxy",
"errorInvalidUrl": "Adresa URL není platná",
"errorNotProxy": "Byla očekávaná proxy, ale byla předána webová stránka",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Naučit se vytvořit proxy",
"submit": "Předložit proxy",
"title": "Pojďme uďelat novou proxy"
},
"start": {
"explainer": "Abyste získali co nejlepší streamy, musíte zvolit, kterou streamovací metodu chcete použít.",
"options": {
"default": {
"text": "Nechci zdroje s dobrou kvalitou,<0 /> <1>použít výchozí nastavení</1>"
},
"extension": {
"action": "Nainstalujte si rozšíření",
"description": "Nainstalujte si rozšíření prohlížeče a získejte přístup k nejlepším zdrojům.",
"quality": "Nejlepší kvalita",
"title": "Rozšíření prohlížeče"
},
"proxy": {
"action": "Nastavit proxy",
"description": "Nastavte si proxy během 5 minut, pro získání přístupu k skvělým zdrojům.",
"quality": "Dobrá kvalita",
"title": "Vlastní proxy"
}
},
"title": "Pojďme vám nastavit movie-web"
}
},
"overlays": { "overlays": {
"close": "Zavřít" "close": "Zavřít"
}, },
@@ -179,10 +252,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Stahování probíhá přímo u poskytovatele. movie-web nemá kontrolu nad tím, jak jsou stahování poskytovány.", "disclaimer": "Stahování probíhá přímo u poskytovatele. movie-web nemá kontrolu nad tím, jak jsou stahování poskytovány.",
"downloadPlaylist": "Stáhnout playlist",
"downloadSubtitle": "Stáhnout aktuální titulky", "downloadSubtitle": "Stáhnout aktuální titulky",
"downloadVideo": "Stáhnout video", "downloadVideo": "Stáhnout video",
"hlsDisclaimer": "Stahování probíhá přímo u poskytovatele. movie-web nemá kontrolu nad tím, jak jsou stahování poskytovány. Vezměte prosím na vědomí, že stahujete HLS playlist, který je určen pro uživatele obeznámené s pokročilým streamováním médií.", "hlsDisclaimer": "Stahování probíhá přímo u poskytovatele. movie-web nemá kontrolu nad tím, jak jsou stahování poskytovány.<br /><br />Vezměte prosím na vědomí, že stahujete HLS playlist,<bold> který není doporučen stahovat pokud nejste obeznámeni s pokročilým streamováním médií</bold>. Raději skuste jiný zdroj pro jiný formát.",
"onAndroid": { "onAndroid": {
"1": "Na Androidu klikněte na tlačítko stahování, poté na nové stránce <bold>klepněte a podržte</bold> na videu a poté vyberte <bold>uložit</bold>.", "1": "Na Androidu klikněte na tlačítko stahování, poté na nové stránce <bold>klepněte a podržte</bold> na videu a poté vyberte <bold>uložit</bold>.",
"shortTitle": "Stahování / Android", "shortTitle": "Stahování / Android",
@@ -259,6 +331,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Metadata API nelze načíst, zkontrolujte prosím vaše připojení k internetu.",
"title": "Nepodařilo se načíst API metadata"
},
"dmca": {
"badge": "Odstraněno",
"text": "Toto média není dostupné, kvůli oznámení o zastavení šíření nebo nároku na autorská práva.",
"title": "Média byla odstraněna"
},
"extensionPermission": {
"badge": "Chybí povolení",
"button": "Použít rozšíření",
"text": "Máte rozšíření, ale k jeho použití potřebujeme vaše povolení.",
"title": "Konfigurace rozšíření"
},
"failed": { "failed": {
"badge": "Neúspěšný", "badge": "Neúspěšný",
"homeButton": "Jít domů", "homeButton": "Jít domů",
@@ -308,6 +395,12 @@
"remaining": "{{timeLeft}} zbývá • Dokončeno v {{timeFinished, datetime}}", "remaining": "{{timeLeft}} zbývá • Dokončeno v {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Ověřte, prosím, že jste člověk, vyplněním Captchy napravo. Toto je pro zajištění bezpečnosti movie-web!",
"error": "Nepodařilo se ověřit vaši lidskost. Zkuste to prosím znovu.",
"title": "Potřebujeme ověřit, zda jste člověk.",
"verifyingHumanity": "Ověřování vaši lidskosti..."
} }
}, },
"screens": { "screens": {
@@ -380,24 +473,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Pokud se chcete připojit k vlastnímu backendu pr ukládání dat, povolte toto a zadejte URL adresu.", "description": "Pokud se chcete připojit k vlastnímu backendu pro ukládání dat, povolte toto a zadejte URL adresu. <0>Instrukce.</0>",
"label": "Vlastní server", "label": "Vlastní server",
"urlLabel": "URL adresa vlastního serveru" "urlLabel": "URL adresa vlastního serveru"
}, },
"setup": {
"doSetup": "Proveďte nastavení",
"errorStatus": {
"description": "Vypadá to, že jedna nebo více položek v tomto nastavení potřebuje vaši pozornost.",
"title": "Něco potřebuje vaši pozornost"
},
"itemError": "S tímto nastavením je něco špatně. Projděte znovu nastavením abyste to opravili.",
"items": {
"default": "Výchozí nastavení",
"extension": "Rozšíření",
"proxy": "Vlastní proxy"
},
"redoSetup": "Proveďte znovu nastavení",
"successStatus": {
"description": "Všechny věci jsou připraveny, abyste mohli začít sledovat svá oblíbená média.",
"title": "Všechno je nastaveno!"
},
"unsetStatus": {
"description": "Prosím klikněte na vedlejší tlačítko abyste začali proces nastavování.",
"title": "Neprošli jste nastavením"
}
},
"title": "Spojení", "title": "Spojení",
"workers": { "workers": {
"addButton": "Přidat nového pracovníka", "addButton": "Přidat nového pracovníka",
"description": "Aby byla aplikace funkční, veškerá trafika prochází přes proxy. Povolte toto, pokud chcete používat svoje vlastní pracovníky.", "description": "Aby byla aplikace funkční, veškerá trafika prochází přes proxy. Povolte toto, pokud chcete používat svoje vlastní pracovníky. <0>Instrukce.</0>",
"emptyState": "Zatím žádní pracovníci, přidej jednoho dolů", "emptyState": "Zatím žádní pracovníci, přidej jednoho dolů",
"label": "Použít vlastní proxy pracovníky", "label": "Použít vlastní proxy pracovníky",
"urlLabel": "URL adresy pracovníků", "urlLabel": "URL adresy pracovníků",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Jazyk aplikace", "language": "Jazyk aplikace",
"languageDescription": "Jazyk použitý na celou aplikaci.", "languageDescription": "Jazyk aplikován na celou aplikaci.",
"title": "Lokální" "thumbnail": "Generovat miniatury",
"thumbnailDescription": "Videa většinou nemají miniatury. Toto nastavení můžete povolit, ale mohou zpomalit vaše video.",
"thumbnailLabel": "Generovat miniatury",
"title": "Preference"
}, },
"reset": "Resetovat", "reset": "Resetovat",
"save": "Uložit", "save": "Uložit",

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"
}, },
@@ -95,6 +97,7 @@
"about": "Über", "about": "Über",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Anmelden", "login": "Anmelden",
"onboarding": "Einrichtung",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registrieren", "register": "Registrieren",
"settings": "Einstellungen" "settings": "Einstellungen"
@@ -115,7 +118,15 @@
"failed": "Das Medium wurde nicht gefunden, bitte versuchen Sie es erneut!", "failed": "Das Medium wurde nicht gefunden, bitte versuchen Sie es erneut!",
"loading": "Wird geladen...", "loading": "Wird geladen...",
"noResults": "Wir haben nichts gefunden!", "noResults": "Wir haben nichts gefunden!",
"placeholder": "Was möchtest du schauen?", "placeholder": {
"default": "Was möchtest du schauen?",
"extra": [
"Was möchtest du entdecken?",
"Was ist auf deiner Merkliste?",
"Was ist dein Lieblingsfilm?",
"Was ist deine Lieblingsserie?"
]
},
"sectionTitle": "Suchergebnisse" "sectionTitle": "Suchergebnisse"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "Wir haben überall gesucht: Unter den Eimern, im Schrank, hinter dem Proxy. Wir konnten die gesuchte Seite nicht finden.", "message": "Wir haben überall gesucht: Unter den Eimern, im Schrank, hinter dem Proxy. Wir konnten die gesuchte Seite nicht finden.",
"title": "Diese Seite wurde nicht gefunden" "title": "Diese Seite wurde nicht gefunden"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Abbrechen",
"confirm": "Standard-Setup verwenden",
"description": "Das Standard-Setup verfügt nicht über die besten Streams und kann unerträglich langsam sein.",
"title": "Sicher?"
},
"extension": {
"back": "Zurück gehen",
"explainer": "Mit der Browser-Erweiterung kannst du die besten Streams benutzen, die wir zu bieten haben. Mit nur einer einfachen Installation.",
"explainerIos": "Leider ist die Browser-Extension unter iOS nicht unterstützt. Klicken Sie auf <bold>Zurück</bold>, um eine andere Option auszuwählen.",
"extensionHelp": "Falls du die Erweiterung installiert hast, aber sie aber nicht erkannt wird, <bold>öffne die Erweiterung über das Erweiterungsmenü Ihres Browsers</bold> und befolge die Schritte auf dem Bildschirm.",
"linkChrome": "Chrome Erweiterung installieren",
"linkFirefox": "Firefox Erweiterung installieren",
"notDetecting": "Auf Chrome Installiert, aber die Website erkennt es nicht? Versuche, die Seite wieder zu laden!",
"notDetectingAction": "Seite neuladen",
"status": {
"disallowed": "Browser-Erweiterung ist für diese Website nicht aktiviert",
"disallowedAction": "Browser-Erweiterung aktivieren",
"failed": "Statusanforderung fehlgeschlagen",
"loading": "Wartet dass du die Erweiterung installierst",
"outdated": "Erweiterungsversion zu alt",
"success": "Die Browser-Erweiterung funktioniert wie erwartet!"
},
"submit": "Weiter",
"title": "Lass uns mit einer Erweiterung starten"
},
"proxy": {
"back": "Zurück gehen",
"explainer": "Mit der Proxy-Methode kannst du Streams mit guter Qualität benutzen, indem du einen eigenen Proxy einstellst.",
"input": {
"errorConnection": "Es konnte keine Verbindung zum Proxy hergestellt werden",
"errorInvalidUrl": "Keine gültige URL",
"errorNotProxy": "Ein Proxy wurde erwartet, aber eine Website wurde eingegeben",
"label": "Proxy-URL",
"placeholder": "https://"
},
"link": "Erfahre, wie man einen Proxy einstellt",
"submit": "Proxy einreichen",
"title": "Lass uns eine neue Proxy erstellen"
},
"start": {
"explainer": "Um die bestmöglichen Streams zu erhalten, müssen Sie auswählen, welche Streaming-Methode Sie verwenden möchten.",
"options": {
"default": {
"text": "Ich möchte keine Streams mit guter Qualität. <0 /> <1>Standardeinstellung benutzen</1>"
},
"extension": {
"action": "Browser-Erweitung installieren",
"description": "Installiere die Browser-Erweitung, um Zugriff auf die besten Quellen zu bekommen.",
"quality": "Beste Qualität",
"title": "Browser extension"
},
"proxy": {
"action": "Proxy einstellen",
"description": "Richte in nur 5 Minuten einen Proxy ein und erhalte Zugriff auf großartige Quellen.",
"quality": "Gute Qualität",
"title": "Eigene Proxy"
}
},
"title": "Lass uns mit der Einrichtung von movie-web starten"
}
},
"overlays": { "overlays": {
"close": "Schließen" "close": "Schließen"
}, },
@@ -178,11 +252,11 @@
}, },
"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.",
"downloadPlaylist": "Playlist herunterladen",
"downloadSubtitle": "Aktuelle Untertitel herunterladen", "downloadSubtitle": "Aktuelle Untertitel herunterladen",
"downloadVideo": "Video herunterladen", "downloadVideo": "Video herunterladen",
"hlsDisclaimer": "movie-web hat keinen Einfluss darauf, wie Downloads bereitgestellt werden. Downloads werden direkt vom Anbieter bezogen. Bitte beachte, dass du eine HLS-Wiedergabeliste herunterlädst, diese ist für Nutzer gedacht, die mit fortgeschrittenem Multimedia-Streaming vertraut sind.", "hlsDisclaimer": "movie-web hat keinen Einfluss darauf, wie Downloads bereitgestellt werden. Downloads werden direkt vom Anbieter bezogen. <br /><br />Bitte beachte, dass du eine HLS-Wiedergabeliste herunterlädst, <bold>dies ist nicht empfohlen für Nutzer die nicht mit Erweiterten Streaming Formaten vertraut sind</bold>. Probiere andere Anbieter für andere Formate.",
"onAndroid": { "onAndroid": {
"1": "Um auf Android Herunterzuladen, tippe auf den Download-Button, <bold>tippe und halte</bold> auf der neuen Seite auf das Video und wähle <bold>Speichern</bold> aus.", "1": "Um auf Android Herunterzuladen, tippe auf den Download-Button, <bold>tippe und halte</bold> auf der neuen Seite auf das Video und wähle <bold>Speichern</bold> aus.",
"shortTitle": "Download / Android", "shortTitle": "Download / Android",
@@ -259,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "API Metadaten konnten nicht geladen werden, überprüfe deine Netzwerkverbindung.",
"title": "API Metadaten konnten nicht geladen werden"
},
"dmca": {
"badge": "Entfernt",
"text": "Das Video ist aufgrund einer Takedown-Anfrage oder eines Urheberrechtsanspruchs nicht mehr verfügbar.",
"title": "Video wurde entfernt"
},
"extensionPermission": {
"badge": "Berechtigung fehlt",
"button": "Verwende Erweiterung",
"text": "Du hast die Browser-Erweiterung, aber wir brauchen deine Berechtigung um mit der Erweiterung zu starten.",
"title": "Konfiguriere die Erweiterung"
},
"failed": { "failed": {
"badge": "Fehlgeschlagen", "badge": "Fehlgeschlagen",
"homeButton": "Zurück zur Startseite", "homeButton": "Zurück zur Startseite",
@@ -308,6 +397,12 @@
"remaining": "{{timeLeft}} übrig • Fertig um {{timeFinished, datetime}}", "remaining": "{{timeLeft}} übrig • Fertig um {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Bitte verifiziere deine Menschlichkeit mit dem Captcha auf der Rechten Seite. Dies ist um movie-web sicher zu halten!",
"error": "Menschlichkeit konnte nicht verifiziert werden. Bitte versuche es erneut.",
"title": "Wir müssen sicherstellen, dass du Menschlich bist.",
"verifyingHumanity": "Verifiziere deine Menschlichkeit..."
} }
}, },
"screens": { "screens": {
@@ -380,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Falls du dich mit einem anderen Server verbinden willst, um deine Daten zu speichern. Aktiviere dies und gebe die URL an.", "description": "Falls du dich mit einem anderen Server verbinden willst, um deine Daten zu speichern. Aktiviere dies und gebe die URL an. <0>Anweisungen.</0>",
"label": "Eigener Server", "label": "Eigener Server",
"urlLabel": "Eigene Server-URL" "urlLabel": "Eigene Server-URL"
}, },
"setup": {
"doSetup": "Einrichten",
"errorStatus": {
"description": "Es scheint so, als bräuchte eine oder mehrere Schritte in dieser Einrichtung deine Aufmerksamkeit.",
"title": "Etwas braucht deine Aufmerksamkeit"
},
"itemError": "Mit diesem Setup stimmt etwas nicht. Führen Sie das Setup erneut durch, um das Problem zu beheben.",
"items": {
"default": "Standard Einstellungen",
"extension": "Erweiterung",
"proxy": "Eigene Proxy"
},
"redoSetup": "Erneut einrichten",
"successStatus": {
"description": "Alles ist bereit, damit du deine Lieblingsserien und Filme ansehen kannst.",
"title": "Alles eingerichtet!"
},
"unsetStatus": {
"description": "Klicken Sie bitte auf den Button rechts, um die Setup zu starten.",
"title": "Du hast das Setup noch nicht durchgeführt"
}
},
"title": "Verbindung", "title": "Verbindung",
"workers": { "workers": {
"addButton": "Neuen Worker hinzufügen", "addButton": "Neuen Worker hinzufügen",
"description": "Damit die App funktioniert werden alle Anfrage durch einen Proxy geleitet. Aktiviere dies, falls du deinen eigenen Worker verwenden willst.", "description": "Damit die App funktioniert werden alle Anfrage durch einen Proxy geleitet. Aktiviere dies, falls du deinen eigenen Worker verwenden willst. <0>Anweisungen.</0>",
"emptyState": "Keine Worker vorhanden, füge einen unten hinzu", "emptyState": "Keine Worker vorhanden, füge einen unten hinzu",
"label": "Verwenden deinen eigenen Worker-Proxys", "label": "Verwenden deinen eigenen Worker-Proxys",
"urlLabel": "Worker-URLs", "urlLabel": "Worker-URLs",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "App-Sprache", "language": "App-Sprache",
"languageDescription": "Sprache für die ganze App.", "languageDescription": "Sprache für die ganze App.",
"title": "Sprache" "thumbnail": "Miniaturansichten generieren",
"thumbnailDescription": "Meistens haben Videos keine Miniaturansicht. Du kannst diese Einstellung anmachen, um sie automatisch zu generieren, aber sie können dein Video langsamer machen.",
"thumbnailLabel": "Miniaturansichten generieren",
"title": "Einstellungen"
}, },
"reset": "Zurücksetzen", "reset": "Zurücksetzen",
"save": "Speichern", "save": "Speichern",
@@ -416,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

@@ -115,7 +115,10 @@
"failed": "Απέτυχε η εύρεση πολυμέσων, δοκιμάστε ξανά!", "failed": "Απέτυχε η εύρεση πολυμέσων, δοκιμάστε ξανά!",
"loading": "Φόρτωση...", "loading": "Φόρτωση...",
"noResults": "Δεν μπορέσαμε να βρούμε τίποτα!", "noResults": "Δεν μπορέσαμε να βρούμε τίποτα!",
"placeholder": "Τι θέλετε να παρακολουθήσετε;", "placeholder": {
"default": "Τι θέλετε να παρακολουθήσετε;",
"extra": []
},
"sectionTitle": "Αποτελέσματα αναζήτησης" "sectionTitle": "Αποτελέσματα αναζήτησης"
}, },
"titles": { "titles": {
@@ -127,15 +130,11 @@
}, },
"morning": { "morning": {
"default": "Τι θα θέλατε να παρακολουθήσετε σήμερα το πρωί;", "default": "Τι θα θέλατε να παρακολουθήσετε σήμερα το πρωί;",
"extra": [ "extra": ["Έχω ακούσει ότι το Before Sunrise είναι καλό"]
"Έχω ακούσει ότι το Before Sunrise είναι καλό"
]
}, },
"night": { "night": {
"default": "Τι θα θέλατε να παρακολουθήσετε απόψε;", "default": "Τι θα θέλατε να παρακολουθήσετε απόψε;",
"extra": [ "extra": ["Κούραση; Έχω ακούσει ότι ο Εξορκιστής είναι καλός."]
"Κούραση; Έχω ακούσει ότι ο Εξορκιστής είναι καλός."
]
} }
} }
}, },
@@ -179,7 +178,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Οι λήψεις προέρχονται απευθείας από τον πάροχο. Το movie-web δεν ελέγχει τον τρόπο με τον οποίο παρέχονται οι λήψεις.", "disclaimer": "Οι λήψεις προέρχονται απευθείας από τον πάροχο. Το movie-web δεν ελέγχει τον τρόπο με τον οποίο παρέχονται οι λήψεις.",
"downloadPlaylist": "Λήψη λίστας αναπαραγωγής",
"downloadSubtitle": "Κατέβασμα τρέχοντος υπότιτλου", "downloadSubtitle": "Κατέβασμα τρέχοντος υπότιτλου",
"downloadVideo": "Λήψη βίντεο", "downloadVideo": "Λήψη βίντεο",
"hlsDisclaimer": "Οι λήψεις προέρχονται απευθείας από τον πάροχο. Το movie-web δεν ελέγχει τον τρόπο με τον οποίο παρέχονται οι λήψεις. Παρακαλώ λάβετε υπόψη ότι κατεβάζετε μια λίστα αναπαραγωγής HLS, η οποία προορίζεται για χρήστες που είναι εξοικειωμένοι με την προηγμένη ροή πολυμέσων.", "hlsDisclaimer": "Οι λήψεις προέρχονται απευθείας από τον πάροχο. Το movie-web δεν ελέγχει τον τρόπο με τον οποίο παρέχονται οι λήψεις. Παρακαλώ λάβετε υπόψη ότι κατεβάζετε μια λίστα αναπαραγωγής HLS, η οποία προορίζεται για χρήστες που είναι εξοικειωμένοι με την προηγμένη ροή πολυμέσων.",
@@ -206,7 +204,8 @@
"episodeBadge": "Ε{{episode}}", "episodeBadge": "Ε{{episode}}",
"loadingError": "Σφάλμα φόρτωσης της σεζόν", "loadingError": "Σφάλμα φόρτωσης της σεζόν",
"loadingList": "Φόρτωση...", "loadingList": "Φόρτωση...",
"loadingTitle": "Φόρτωση..." "loadingTitle": "Φόρτωση...",
"unairedEpisodes": "Ένα ή περισσότερα επεισόδια αυτής της σεζόν έχουν απενεργοποιηθεί επειδή δεν έχουν προβληθεί ακόμα."
}, },
"playback": { "playback": {
"speedLabel": "Ταχύτητα αναπαραγωγής", "speedLabel": "Ταχύτητα αναπαραγωγής",
@@ -258,6 +257,10 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Δεν ήταν δυνατή η φόρτωση των μεταδεδομένων του API, ελέγξτε τη σύνδεσή σας στο διαδίκτυο.",
"title": "Αποτυχία φόρτωσης μεταδεδομένων API"
},
"failed": { "failed": {
"badge": "Απέτυχε", "badge": "Απέτυχε",
"homeButton": "Επιστοφή στην αρχική", "homeButton": "Επιστοφή στην αρχική",
@@ -307,6 +310,12 @@
"remaining": "{{timeLeft}} απέμεινε • Ολοκλήρωση στις {{timeFinished, datetime}}", "remaining": "{{timeLeft}} απέμεινε • Ολοκλήρωση στις {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Επαληθεύστε ότι είστε άνθρωπος συμπληρώνοντας το Captcha στα δεξιά. Αυτό γίνεται για να διατηρηθεί ο ιστός της ταινίας ασφαλής!",
"error": "Αποτυχία επαλήθευσης της ανθρωπιάς σας. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα.",
"title": "Πρέπει να επαληθεύσουμε ότι είστε άνθρωπος.",
"verifyingHumanity": "Επαλήθευση της ανθρωπιάς σας..."
} }
}, },
"screens": { "screens": {
@@ -393,11 +402,6 @@
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "Γλώσσα εφαρμογής",
"languageDescription": "Γλώσσα που εφαρμόζεται σε ολόκληρη την εφαρμογή.",
"title": "Τοποθεσία"
},
"reset": "Επαναφορά", "reset": "Επαναφορά",
"save": "Αποθήκευση", "save": "Αποθήκευση",
"sidebar": { "sidebar": {

View File

@@ -55,6 +55,8 @@
"text": "Did you configure it correctly?", "text": "Did you configure it correctly?",
"title": "Failed to reach server" "title": "Failed to reach server"
}, },
"noHostTitle": "Server not configured!",
"noHost": "The server has not been configured, therefore you cannot create an account",
"host": "You are connecting to <0>{{hostname}}</0> - please confirm you trust it before making an account", "host": "You are connecting to <0>{{hostname}}</0> - please confirm you trust it before making an account",
"no": "Go back", "no": "Go back",
"title": "Do you trust this server?", "title": "Do you trust this server?",
@@ -95,6 +97,7 @@
"about": "About", "about": "About",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Login", "login": "Login",
"onboarding": "Setup",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Register", "register": "Register",
"settings": "Settings" "settings": "Settings"
@@ -115,7 +118,15 @@
"failed": "Failed to find media, try again!", "failed": "Failed to find media, try again!",
"loading": "Loading...", "loading": "Loading...",
"noResults": "We couldn't find anything!", "noResults": "We couldn't find anything!",
"placeholder": "What do you want to watch?", "placeholder": {
"default": "What do you want to watch?",
"extra": [
"What do you want to explore?",
"What's on your watchlist?",
"What's your favorite movie?",
"What's your favorite series?"
]
},
"sectionTitle": "Search results" "sectionTitle": "Search results"
}, },
"titles": { "titles": {
@@ -161,16 +172,73 @@
"message": "We looked everywhere: under the bins, in the closet, behind the proxy but ultimately couldn't find the page you are looking for.", "message": "We looked everywhere: under the bins, in the closet, behind the proxy but ultimately couldn't find the page you are looking for.",
"title": "Couldn't find that page" "title": "Couldn't find that page"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Cancel",
"confirm": "Use default setup",
"description": "The default setup does not have the best streams and can be unbearably slow.",
"title": "Are you sure?"
},
"extension": {
"back": "Go back",
"explainer": "Using the browser extension, you can get the best streams we have to offer. With just a simple install.",
"explainerIos": "Unfortunately, the browser extension is not supported on iOS, Press <bold>Go back</bold> to choose another option.",
"extensionHelp": "If you've installed the extension but it's not detected, <bold>open the extension through your browsers extension menu</bold> and follow the steps on screen.",
"linkChrome": "Install Chrome extension",
"linkFirefox": "Install Firefox extension",
"notDetecting": "Installed on Chrome, but the site isn't detecting it? Try reloading the page!",
"notDetectingAction": "Reload page",
"status": {
"disallowed": "Extension is not enabled for this page",
"disallowedAction": "Enable extension",
"failed": "Failed to request status",
"loading": "Waiting for you to install the extension",
"outdated": "Extension version too old",
"success": "Extension is working as expected!"
},
"submit": "Continue",
"title": "Let's start with an extension"
},
"proxy": {
"back": "Go back",
"explainer": "With the proxy method, you can get great quality streams by making a self-service proxy.",
"input": {
"errorConnection": "Could not connect to proxy",
"errorInvalidUrl": "Not a valid URL",
"errorNotProxy": "Expected a proxy but got a website",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Learn how to make a proxy",
"submit": "Submit proxy",
"title": "Let's make a new proxy"
},
"start": {
"explainer": "To get the best streams possible, you will need to choose which streaming method you want to use.",
"options": {
"default": {
"text": "I don't want good quality streams,<0 /> <1>use the default setup</1>"
},
"extension": {
"action": "Install extension",
"description": "Install browser extension and gain access to the best sources.",
"quality": "Best quality",
"title": "Browser extension"
},
"proxy": {
"action": "Setup proxy",
"description": "Setup a proxy in just 5 minutes and gain access to great sources.",
"quality": "Good quality",
"title": "Custom proxy"
}
},
"title": "Let's get you setup with movie-web"
}
},
"overlays": { "overlays": {
"close": "Close" "close": "Close"
}, },
"player": { "player": {
"turnstile": {
"verifyingHumanity": "Verifying your humanity...",
"title": "We need to verify that you're human.",
"description": "Please verify that you are human by completing the Captcha on the right. This is to keep movie-web safe!",
"error": "Failed to verify your humanity. Please try again."
},
"back": { "back": {
"default": "Back to home", "default": "Back to home",
"short": "Back" "short": "Back"
@@ -179,59 +247,12 @@
"enabled": "Casting to device..." "enabled": "Casting to device..."
}, },
"menus": { "menus": {
"settings": {
"videoSection": "Video settings",
"experienceSection": "Viewing experience",
"enableSubtitles": "Enable Subtitles",
"subtitleItem": "Subtitle settings",
"sourceItem": "Video sources",
"playbackItem": "Playback settings",
"downloadItem": "Download",
"qualityItem": "Quality"
},
"episodes": {
"button": "Episodes",
"loadingTitle": "Loading...",
"loadingList": "Loading...",
"loadingError": "Error loading season",
"emptyState": "There are no episodes in this season, check back later!",
"episodeBadge": "E{{episode}}",
"unairedEpisodes": "One or more episodes in this season have been disabled because they haven't been aired yet."
},
"sources": {
"title": "Sources",
"unknownOption": "Unknown",
"noStream": {
"title": "No stream",
"text": "This source has no streams for this movie or show."
},
"noEmbeds": {
"title": "No embeds found",
"text": "We were unable to find any embeds, please try a different source."
},
"failed": {
"title": "Failed to scrape",
"text": "There was an error while trying to find any videos, please try a different source."
}
},
"subtitles": {
"title": "Subtitles",
"customizeLabel": "Customize",
"settings": {
"fixCapitals": "Fix capitalization",
"delay": "Subtitle delay",
"backlink": "Custom subtitles"
},
"customChoice": "Select subtitle from file",
"offChoice": "Off",
"unknownLanguage": "Unknown"
},
"downloads": { "downloads": {
"disclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided.", "disclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided.",
"copyHlsPlaylist": "Copy HLS playlist link",
"downloadSubtitle": "Download current subtitle", "downloadSubtitle": "Download current subtitle",
"downloadPlaylist": "Download playlist",
"downloadVideo": "Download video", "downloadVideo": "Download video",
"hlsDisclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided. Please note that you are downloading an HLS playlist, this is intended for users familiar with advanced multimedia streaming.", "hlsDisclaimer": "Downloads are taken directly from the provider. movie-web does not have control over how the downloads are provided.<br /><br />Please note that you are downloading an HLS playlist, <bold>it is not recommended to download if you are not familiar with advanced streaming formats</bold>. Try different sources for different formats.",
"onAndroid": { "onAndroid": {
"1": "To download on Android, click the download button then, on the new page, <bold>tap and hold</bold> on the video, then select <bold>save</bold>.", "1": "To download on Android, click the download button then, on the new page, <bold>tap and hold</bold> on the video, then select <bold>save</bold>.",
"shortTitle": "Download / Android", "shortTitle": "Download / Android",
@@ -249,6 +270,15 @@
}, },
"title": "Download" "title": "Download"
}, },
"episodes": {
"button": "Episodes",
"emptyState": "There are no episodes in this season, check back later!",
"episodeBadge": "E{{episode}}",
"loadingError": "Error loading season",
"loadingList": "Loading...",
"loadingTitle": "Loading...",
"unairedEpisodes": "One or more episodes in this season have been disabled because they haven't been aired yet."
},
"playback": { "playback": {
"speedLabel": "Playback speed", "speedLabel": "Playback speed",
"title": "Playback settings" "title": "Playback settings"
@@ -258,19 +288,68 @@
"hint": "You can try <0>switching source</0> to get different quality options.", "hint": "You can try <0>switching source</0> to get different quality options.",
"iosNoQuality": "Due to Apple-defined limitations, quality selection is not available on iOS for this source. You can try <0>switching to another source</0> to get different quality options.", "iosNoQuality": "Due to Apple-defined limitations, quality selection is not available on iOS for this source. You can try <0>switching to another source</0> to get different quality options.",
"title": "Quality" "title": "Quality"
},
"settings": {
"downloadItem": "Download",
"enableSubtitles": "Enable Subtitles",
"experienceSection": "Viewing experience",
"playbackItem": "Playback settings",
"qualityItem": "Quality",
"sourceItem": "Video sources",
"subtitleItem": "Subtitle settings",
"videoSection": "Video settings"
},
"sources": {
"failed": {
"text": "There was an error while trying to find any videos, please try a different source.",
"title": "Failed to scrape"
},
"noEmbeds": {
"text": "We were unable to find any embeds, please try a different source.",
"title": "No embeds found"
},
"noStream": {
"text": "This source has no streams for this movie or show.",
"title": "No stream"
},
"title": "Sources",
"unknownOption": "Unknown"
},
"subtitles": {
"customChoice": "Select subtitle from file",
"customizeLabel": "Customize",
"offChoice": "Off",
"settings": {
"backlink": "Custom subtitles",
"delay": "Subtitle delay",
"fixCapitals": "Fix capitalization"
},
"title": "Subtitles",
"unknownLanguage": "Unknown"
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Could not load API metadata, please check your internet connection.",
"title": "Failed to load API metadata"
},
"dmca": {
"badge": "Removed",
"text": "This media is no longer available due to a takedown notice or copyright claim.",
"title": "Media has been removed"
},
"extensionPermission": {
"badge": "Permission Missing",
"button": "Use extension",
"text": "You have the browser extension, but we need your permission to get started using the extension.",
"title": "Configure the extension"
},
"failed": { "failed": {
"badge": "Failed", "badge": "Failed",
"homeButton": "Go home", "homeButton": "Go home",
"text": "Could not load the media's metadata from TMDB. Please check whether TMDB is down or blocked on your internet connection.", "text": "Could not load the media's metadata from TMDB. Please check whether TMDB is down or blocked on your internet connection.",
"title": "Failed to load metadata" "title": "Failed to load metadata"
}, },
"api": {
"text": "Could not load API metadata, please check your internet connection.",
"title": "Failed to load API metadata"
},
"notFound": { "notFound": {
"badge": "Not found", "badge": "Not found",
"homeButton": "Back to home", "homeButton": "Back to home",
@@ -314,6 +393,12 @@
"remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}", "remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Please verify that you are human by completing the Captcha on the right. This is to keep movie-web safe!",
"error": "Failed to verify your humanity. Please try again.",
"title": "We need to verify that you're human.",
"verifyingHumanity": "Verifying your humanity..."
} }
}, },
"screens": { "screens": {
@@ -384,33 +469,51 @@
}, },
"title": "Appearance" "title": "Appearance"
}, },
"subtitles": {
"title": "Subtitles",
"previewQuote": "I must not fear. Fear is the mind-killer.",
"textSizeLabel": "Text size",
"backgroundLabel": "Background opacity",
"colorLabel": "Color"
},
"connections": { "connections": {
"server": { "server": {
"description": "If you would like to connect to a custom backend to store your data, enable this and provide the URL.", "description": "If you would like to connect to a custom backend to store your data, enable this and provide the URL. <0>Instructions.</0>",
"label": "Custom server", "label": "Custom server",
"urlLabel": "Custom server URL" "urlLabel": "Custom server URL"
}, },
"setup": {
"doSetup": "Do setup",
"errorStatus": {
"description": "It seems that one or more items in this setup need your attention.",
"title": "Something needs your attention"
},
"itemError": "There is something wrong with this setting. Go through setup again to fix it.",
"items": {
"default": "Default setup",
"extension": "Extension",
"proxy": "Custom proxy"
},
"redoSetup": "Redo setup",
"successStatus": {
"description": "All things are in place for you to start watching your favourite media.",
"title": "Everything is set up!"
},
"unsetStatus": {
"description": "Please click the button to the right to start the setup process.",
"title": "You haven't gone through setup"
}
},
"title": "Connections", "title": "Connections",
"workers": { "workers": {
"addButton": "Add new worker", "addButton": "Add new worker",
"description": "To make the application function, all traffic is routed through proxies. Enable this if you want to bring your own workers.", "description": "To make the application function, all traffic is routed through proxies. Enable this if you want to bring your own workers. <0>Instructions.</0>",
"emptyState": "No workers yet, add one below", "emptyState": "No workers yet, add one below",
"label": "Use custom proxy workers", "label": "Use custom proxy workers",
"urlLabel": "Worker URLs", "urlLabel": "Worker URLs",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Application language", "language": "Application language",
"languageDescription": "Language applied to the entire application.", "languageDescription": "Language applied to the entire application.",
"title": "Locale" "thumbnail": "Generate thumbnails",
"thumbnailDescription": "Most of the time, videos don't have thumbnails. You can enable this setting to generate them on the fly but they can make your video slower.",
"thumbnailLabel": "Generate thumbnails",
"title": "Preferences"
}, },
"reset": "Reset", "reset": "Reset",
"save": "Save", "save": "Save",
@@ -428,6 +531,14 @@
"userId": "User ID" "userId": "User ID"
} }
}, },
"subtitles": {
"backgroundLabel": "Background opacity",
"backgroundBlurLabel": "Background blur",
"colorLabel": "Color",
"previewQuote": "I must not fear. Fear is the mind-killer.",
"textSizeLabel": "Text size",
"title": "Subtitles"
},
"unsaved": "You have unsaved changes" "unsaved": "You have unsaved changes"
} }
} }

View File

@@ -12,7 +12,7 @@
}, },
"q3": { "q3": {
"body": "Nuestros resultados de búsqueda están alimentados por The Movie Database (TMDB) y se muestran independientemente de si nuestras fuentes realmente tienen el contenido.", "body": "Nuestros resultados de búsqueda están alimentados por The Movie Database (TMDB) y se muestran independientemente de si nuestras fuentes realmente tienen el contenido.",
"title": "Los resultados de búsqueda muestran la serie o película, ¿por qué no puedo reproducirla?" "title": "Los resultados de búsqueda muestran la serie o película, ¿Por qué no puedo reproducirla?"
}, },
"title": "Acerca de movie-web" "title": "Acerca de movie-web"
}, },
@@ -57,6 +57,8 @@
}, },
"host": "Te estás conectando a <0>{{hostname}}</0> - por favor, confirma si confías en este antes de crear una cuenta", "host": "Te estás conectando a <0>{{hostname}}</0> - por favor, confirma si confías en este antes de crear una cuenta",
"no": "Regresar", "no": "Regresar",
"noHost": "El servidor no se ha configurado, por lo tanto, no puede crear una cuenta",
"noHostTitle": "¡El servidor no está configurado!",
"title": "¿Confías en este servidor?", "title": "¿Confías en este servidor?",
"yes": "Confío en este servidor" "yes": "Confío en este servidor"
}, },
@@ -95,6 +97,7 @@
"about": "Acerca de", "about": "Acerca de",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Iniciar sesión", "login": "Iniciar sesión",
"onboarding": "Configurar",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registrarse", "register": "Registrarse",
"settings": "Configuración" "settings": "Configuración"
@@ -115,7 +118,15 @@
"failed": "¡Error al encontrar contenido, inténtalo de nuevo!", "failed": "¡Error al encontrar contenido, inténtalo de nuevo!",
"loading": "Cargando...", "loading": "Cargando...",
"noResults": "¡No pudimos encontrar nada!", "noResults": "¡No pudimos encontrar nada!",
"placeholder": "¿Qué te gustaría ver?", "placeholder": {
"default": "¿Qué te gustaría ver?",
"extra": [
"¿Qué quieres explorar?",
"¿Qué hay en tu lista de reproducción?",
"¿Cuál es tu película favorita?",
"¿Cuál es tu serie favorita?"
]
},
"sectionTitle": "Resultados de búsqueda" "sectionTitle": "Resultados de búsqueda"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "Buscamos en todas partes: debajo de los contenedores, en el armario, detrás del proxy, pero al final no pudimos encontrar la página que estás buscando.", "message": "Buscamos en todas partes: debajo de los contenedores, en el armario, detrás del proxy, pero al final no pudimos encontrar la página que estás buscando.",
"title": "No se puede encontrar esa página" "title": "No se puede encontrar esa página"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Cancelar",
"confirm": "Usar configuración por defecto",
"description": "La configuración predeterminada no tiene las mejores transmisiones y puede ser insoportablemente lenta.",
"title": "¿Estás seguro?"
},
"extension": {
"back": "Volver atrás",
"explainer": "Usando la extensión de navegador, puedes obtener las mejores transiciones que ofrecemos. Simplemente con una simple instalación.",
"explainerIos": "Desafortunadamente, la extensión para el navegador no es compatible con IOS. Pulsa <bold>ir atrás</bold> para elegir otra opción.",
"extensionHelp": "Si has instalado la extensión pero no es detectada, <bold>abre la extensión desde la sección en el menú de extensiones</bold> y sigue los pasos de la pantalla.",
"linkChrome": "Instalar extensión para Chrome",
"linkFirefox": "Instalar extensión para Firefox",
"notDetecting": "Instalada en Chrome, pero la página no la está detectado. ¡Prueba a recargar la web!",
"notDetectingAction": "Recargar página",
"status": {
"disallowed": "La extensión no está activada para esta página",
"disallowedAction": "Activar extensión",
"failed": "No se pudo solicitar el estado",
"loading": "Esperando que instales la extensión",
"outdated": "La versión de la extensión es muy antigua",
"success": "¡La extensión está funcionando como se esperaba!"
},
"submit": "Continuar",
"title": "Vamos a empezar con la extensión"
},
"proxy": {
"back": "Volver atrás",
"explainer": "Con el método de proxy, puede obtener una my buena calidad de las transmisiones creando un proxy propio.",
"input": {
"errorConnection": "No se pudo conectar al proxy",
"errorInvalidUrl": "URL no válida",
"errorNotProxy": "Esperaba un proxy pero obtuve un sitio web",
"label": "URL del Proxy",
"placeholder": "https://"
},
"link": "Aprender a crear un proxy",
"submit": "Enviar proxy",
"title": "Vamos a crear un nuevo proxy"
},
"start": {
"explainer": "Para conseguir las mejores transmisiones, necesitarás elegir que método de transmisión quieres usar.",
"options": {
"default": {
"text": "No quiero buena calidad en las transmisiones,<0 /> <1>usar la configuración por defecto</1>"
},
"extension": {
"action": "Instalar extensión",
"description": "Instala la extensión de navegador y gana acceso a las mejore fuentes.",
"quality": "La mejor calidad",
"title": "Extensión de navegador"
},
"proxy": {
"action": "Configurar proxy",
"description": "Configura un proxy en tan solo 5 minutos y obtén acceso a buenas fuentes.",
"quality": "Buena calidad",
"title": "Proxy personalizado"
}
},
"title": "Vamos a configurar movie-web"
}
},
"overlays": { "overlays": {
"close": "Cerrar" "close": "Cerrar"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Copiar enlace de reproducción HLS",
"disclaimer": "Las descargas se realizan directamente desde el proveedor. movie-web no tiene control sobre cómo se proporcionan las descargas.", "disclaimer": "Las descargas se realizan directamente desde el proveedor. movie-web no tiene control sobre cómo se proporcionan las descargas.",
"downloadPlaylist": "Descargar lista de reproducción",
"downloadSubtitle": "Descargar subtítulo actual", "downloadSubtitle": "Descargar subtítulo actual",
"downloadVideo": "Descargar vídeo", "downloadVideo": "Descargar vídeo",
"hlsDisclaimer": "Las descargas se realizan directamente del proveedor. movie-web no tiene control sobre cómo se proporcionan las descargas. Tenga en cuenta que está descargando una lista de reproducción HLS, dirigida a usuarios familiarizados con la transmisión multimedia avanzada.", "hlsDisclaimer": "Las descargas se realizan directamente del proveedor. movie-web no tiene control sobre cómo se proporcionan las descargas. <br /><br />Tenga en cuenta que está descargando una lista de reproducción HLS, <bold>dirigida a usuarios familiarizados con la transmisión multimedia avanzada.</bold> Prueba con diferentes fuentes para diferentes formatos.",
"onAndroid": { "onAndroid": {
"1": "Para descargar en Android, haz clic en el botón de descarga y luego, en la nueva página, <bold>mantén presionado</bold> el vídeo y selecciona <bold>guardar</bold>.", "1": "Para descargar en Android, haz clic en el botón de descarga y luego, en la nueva página, <bold>mantén presionado</bold> el vídeo y selecciona <bold>guardar</bold>.",
"shortTitle": "Descargar / Android", "shortTitle": "Descargar / Android",
@@ -263,6 +337,17 @@
"text": "No ha sido posible cargar la metadata de la API, por favor, comprueba tu conexión a internet.", "text": "No ha sido posible cargar la metadata de la API, por favor, comprueba tu conexión a internet.",
"title": "No ha sido posible cargar los metadatos de la API" "title": "No ha sido posible cargar los metadatos de la API"
}, },
"dmca": {
"badge": "Eliminado",
"text": "Este contenido no va a estar disponible debido a un aviso de eliminación o un reclamo de derechos de autor.",
"title": "El contenido ha sido eliminado"
},
"extensionPermission": {
"badge": "Permisos insuficientes",
"button": "Usar extensión",
"text": "Tienes la extensión de navegador, pero necesitamos tu permiso para empezar a usarla.",
"title": "Configura la extensión"
},
"failed": { "failed": {
"badge": "Error", "badge": "Error",
"homeButton": "Ir al inicio", "homeButton": "Ir al inicio",
@@ -314,7 +399,7 @@
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
}, },
"turnstile": { "turnstile": {
"description": "Por favor, confirma que eres humano completando el Captcha. Esto es para mantener movie-web seguro!", "description": "Por favor, confirma que eres humano completando el Captcha. ¡Esto es para mantener movie-web seguro!",
"error": "Ha habido un error al verificar tu humanidad. Por favor, prueba de nuevo.", "error": "Ha habido un error al verificar tu humanidad. Por favor, prueba de nuevo.",
"title": "Necesitamos verificar que eres humano.", "title": "Necesitamos verificar que eres humano.",
"verifyingHumanity": "Verificando tu hunanidad…" "verifyingHumanity": "Verificando tu hunanidad…"
@@ -390,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Si deseas conectarte a un backend personalizado para almacenar tus datos, habilita esto y proporciona la URL.", "description": "Si deseas conectarte a un backend personalizado para almacenar tus datos, habilita esto y proporciona la URL. <0>Instrucciones.</0>",
"label": "Servidor personalizado", "label": "Servidor personalizado",
"urlLabel": "URL del servidor personalizado" "urlLabel": "URL del servidor personalizado"
}, },
"setup": {
"doSetup": "Configurar",
"errorStatus": {
"description": "Parece que hay uno o más items en esta configuración que requieren de tu atención.",
"title": "Algo necesita de tu atención"
},
"itemError": "Hay algo que no fue bien con esta configuración. Ve otra vez a la configuración para solucionarlo.",
"items": {
"default": "Configuración por defecto",
"extension": "Extensión",
"proxy": "Proxy personalizado"
},
"redoSetup": "Rehacer configuración",
"successStatus": {
"description": "Todo lo necesario está en su sitio para que empieces a ver tu contenido favorito.",
"title": "¡Todo está configurado!"
},
"unsetStatus": {
"description": "Haga clic en el botón a la derecha para iniciar el proceso de configuración.",
"title": "No has pasado por la configuración"
}
},
"title": "Conexiones", "title": "Conexiones",
"workers": { "workers": {
"addButton": "Agregar nuevo worker", "addButton": "Agregar nuevo worker",
"description": "Para que la aplicación funcione, todo el tráfico se enruta a través de proxies. Habilita esto si quieres usar tus propios workers.", "description": "Para que la aplicación funcione, todo el tráfico se enruta a través de proxies. Habilita esto si quieres usar tus propios workers. <0>Instrucciones.</0>",
"emptyState": "Aún no hay workers, agrega uno a continuación", "emptyState": "Aún no hay workers, agrega uno a continuación",
"label": "Usar proxy workers personalizados", "label": "Usar proxy workers personalizados",
"urlLabel": "URL de los workers", "urlLabel": "URL de los workers",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Idioma de la aplicación", "language": "Idioma de la aplicación",
"languageDescription": "Idioma aplicado a toda la aplicación.", "languageDescription": "Idioma aplicado a toda la aplicación.",
"title": "Idioma" "thumbnail": "Generar miniaturas",
"thumbnailDescription": "La mayor parte del tiempo, los videos no tienen miniaturas. Puedes activar esta configuración para generarlas sobre la marcha, pero pueden realentizar tu video.",
"thumbnailLabel": "Generar miniaturas",
"title": "Preferencias"
}, },
"reset": "Restablecer", "reset": "Restablecer",
"save": "Guardar", "save": "Guardar",

View File

@@ -1,6 +1,6 @@
{ {
"about": { "about": {
"description": "movie-web on veebirakendus, mis otsib internetti voogude jaoks. Meeskonna eesmärk on enamasti minimalistlik lähenemine sisu tarbimisele.", "description": "movie-web on veebirakendus, mis otsib internetti striimide jaoks. Meie eesmärk on enamasti minimalistlik lähenemine sisu tarbimisele.",
"faqTitle": "Tihti küsitud küsimused", "faqTitle": "Tihti küsitud küsimused",
"q1": { "q1": {
"body": "movie-web ei hoiusta enda sisu. Kui klõpsate, et midagi vaadata, otsitakse valitud meediat internetist (laadimisekraanil ja vahekaardil \"videoallikad\" näete, millist allikat te kasutate). Meediat ei lae movie-web kunagi üles, kõik toimub selle otsingumehhanismi kaudu.", "body": "movie-web ei hoiusta enda sisu. Kui klõpsate, et midagi vaadata, otsitakse valitud meediat internetist (laadimisekraanil ja vahekaardil \"videoallikad\" näete, millist allikat te kasutate). Meediat ei lae movie-web kunagi üles, kõik toimub selle otsingumehhanismi kaudu.",
@@ -57,6 +57,8 @@
}, },
"host": "Ühendate <0>{{hostname}}</0> - enne konto tegemist kinnitage, et usaldate seda", "host": "Ühendate <0>{{hostname}}</0> - enne konto tegemist kinnitage, et usaldate seda",
"no": "Tagasi", "no": "Tagasi",
"noHost": "Server ei ole konfigureeritud, seega ei saa kontot luua",
"noHostTitle": "Server ei ole konfigureeritud!",
"title": "Kas usaldate seda serverit?", "title": "Kas usaldate seda serverit?",
"yes": "Usaldan seda serverit" "yes": "Usaldan seda serverit"
}, },
@@ -87,7 +89,7 @@
"dmca": "DMCA", "dmca": "DMCA",
"github": "GitHub" "github": "GitHub"
}, },
"tagline": "Vaadake selle avatud lähtekoodiga voogesituse rakendusega oma lemmiksaateid ja -filme." "tagline": "Vaadake selle avatud lähtekoodiga striimimis rakendusega oma lemmiksaateid ja -filme."
}, },
"global": { "global": {
"name": "movie-web", "name": "movie-web",
@@ -95,6 +97,7 @@
"about": "Meist", "about": "Meist",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Logi sisse", "login": "Logi sisse",
"onboarding": "Seadistamine",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registreeri", "register": "Registreeri",
"settings": "Sätted" "settings": "Sätted"
@@ -115,7 +118,15 @@
"failed": "Meedia leidmine ebaõnnestus, proovige uuesti!", "failed": "Meedia leidmine ebaõnnestus, proovige uuesti!",
"loading": "Laadimine....", "loading": "Laadimine....",
"noResults": "Me ei leidnud midagi!", "noResults": "Me ei leidnud midagi!",
"placeholder": "Mida tahate vaadata?", "placeholder": {
"default": "Mida tahate vaadata?",
"extra": [
"Mida soovite uurida?",
"Mis on teie nimekirjas?",
"Milline on teie lemmikfilm?",
"Milline on teie lemmiksari?"
]
},
"sectionTitle": "Otsingutulemused" "sectionTitle": "Otsingutulemused"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "Otsisime kõikjalt: prügikastide alt, kapist, proksi tagant, kuid lõpuks ei leidnud otsitud lehte.", "message": "Otsisime kõikjalt: prügikastide alt, kapist, proksi tagant, kuid lõpuks ei leidnud otsitud lehte.",
"title": "Ei leidnud seda lehekülge" "title": "Ei leidnud seda lehekülge"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Tühista",
"confirm": "Kasuta tavalist seadistust",
"description": "Tavalises seadistuses ei ole parimad striimid ja see võib olla talumatult aeglane.",
"title": "Oled kindel?"
},
"extension": {
"back": "Mine tagasi",
"explainer": "Kasutades brauserilaiendust, saate parimaid striime, mida meil on pakkuda. Seda saab paigaldada vaid paari hetkega.",
"explainerIos": "Kahjuks ei toeta iOS meie brauserilaiendust, Vajutage <bold>Minge tagasi</bold>, et valida teine valik.",
"extensionHelp": "Kui olete laienduse paigaldanud, kuid seda ei tuvastata, <bold> avage laiendus oma brauseri laienduste menüüst</bold> ja järgige ekraanil olevaid juhendeid.",
"linkChrome": "Paigalda Chrome laiendus",
"linkFirefox": "Paigalda Firefox'i laiendus",
"notDetecting": "Paigaldasite laienduse Chrome'ile, kuid sait ei tuvasta seda? Proovige lehte värskendada!",
"notDetectingAction": "Värskenda leht",
"status": {
"disallowed": "Laiendus ei ole lubatud sellel lehel",
"disallowedAction": "Laienduse lubamine",
"failed": "Päring staatuse saamiseks ei õnnestunud",
"loading": "Ootame, et paigaldaksite laienduse",
"outdated": "Laienduse versioon liiga vana",
"success": "Laiendus töötab ootuspäraselt!"
},
"submit": "Jätka",
"title": "Alustame laiendusega"
},
"proxy": {
"back": "Mine tagasi",
"explainer": "Proksi abiga saate suurepärase kvaliteediga striime.",
"input": {
"errorConnection": "Ei saanud proksiga ühendatud",
"errorInvalidUrl": "Ei ole kehtiv URL",
"errorNotProxy": "Oodati proksit, kuid saadi veebileht",
"label": "Proksi URL",
"placeholder": "https://"
},
"link": "Õpi kuidas teha proksi",
"submit": "Esita proksi",
"title": "Teeme uue proksi"
},
"start": {
"explainer": "Parimate võimalike striimide saamiseks peate valima, millist striimimismeetodit soovite kasutada.",
"options": {
"default": {
"text": "Ma ei taha hea kvaliteediga striimi, <0 /> <1>kasuta tavalist seadistust</1>"
},
"extension": {
"action": "Paigalda laiendus",
"description": "Paigaldage brauseri laiendus ja saage ligi parimatele allikatele.",
"quality": "Parim kvaliteet",
"title": "Brauseri laiendus"
},
"proxy": {
"action": "Proxy seadistamine",
"description": "Seadistage proksi kõigest 5 minutiga ja pääsete ligi suurepärastele allikatele.",
"quality": "Hea kvaliteet",
"title": "Kohandatud proxy"
}
},
"title": "Teeme algust movie-webi kasutamisega"
}
},
"overlays": { "overlays": {
"close": "Sulge" "close": "Sulge"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Kopeeri HLS esitusloendi link",
"disclaimer": "Allalaadimine toimub otse teenusepakkujalt. movie-web ei saa kontrollida, kuidas allalaadimine toimub.", "disclaimer": "Allalaadimine toimub otse teenusepakkujalt. movie-web ei saa kontrollida, kuidas allalaadimine toimub.",
"downloadPlaylist": "Laadige esitusloend alla",
"downloadSubtitle": "Laadige alla praegune subtiiter", "downloadSubtitle": "Laadige alla praegune subtiiter",
"downloadVideo": "Lae alla video", "downloadVideo": "Lae alla video",
"hlsDisclaimer": "Allalaadimised võetakse otse teenusepakkujalt. movie-web ei kontrolli, kuidas allalaadimisi pakutakse. Pange tähele, et laadite alla HLS-i esitusloendit, see on mõeldud kasutajatele, kes on tuttavad multimeediumi voogesitusega.", "hlsDisclaimer": "Allalaadimised võetakse otse teenusepakkujalt. movie-web ei kontrolli, kuidas allalaadimisi pakutakse. <br /><br /><bold>Pange tähele, et laadite alla HLS-i esitusloendit, see on mõeldud kasutajatele, kes on tuttavad multimeediumi striimimisega</bold>.",
"onAndroid": { "onAndroid": {
"1": "Et allalaadida Androidi telefonil, vajuta allalaadimise nupule, siis uuel leheküljel <bold>vajuta ja hoia</bold> video peal, siis vali <bold>salvesta</bold>.", "1": "Et allalaadida Androidi telefonil, vajuta allalaadimise nupule, siis uuel leheküljel <bold>vajuta ja hoia</bold> video peal, siis vali <bold>salvesta</bold>.",
"shortTitle": "Allalaadimine / Android", "shortTitle": "Allalaadimine / Android",
@@ -239,8 +313,8 @@
"title": "Ei leitud manuseid" "title": "Ei leitud manuseid"
}, },
"noStream": { "noStream": {
"text": "Sellel allikal ei ole selle filmi või seriaali jaoks ühtegi voogedastust.", "text": "Sellel allikal ei ole selle filmi või seriaali jaoks ühtegi striimi.",
"title": "Puudub voog" "title": "Puudub striim"
}, },
"title": "Allikad", "title": "Allikad",
"unknownOption": "Teadmata" "unknownOption": "Teadmata"
@@ -263,6 +337,17 @@
"text": "API metaandmete laadimine ebaõnnestus, palun kontrollige oma internetiühendust.", "text": "API metaandmete laadimine ebaõnnestus, palun kontrollige oma internetiühendust.",
"title": "API metaandmete laadimine ebaõnnestus" "title": "API metaandmete laadimine ebaõnnestus"
}, },
"dmca": {
"badge": "Eemaldatud",
"text": "See meedia pole enam saadaval kas eemaldamisteate või autoriõiguse nõue tõttu.",
"title": "Meedia on eemaldatud"
},
"extensionPermission": {
"badge": "Luba puudub",
"button": "Kasuta laiendust",
"text": "Sul on meie laiendus aga meil on vaja sinu luba, et saaksid alustada laienduse kasutamist.",
"title": "Seadistage laiendus"
},
"failed": { "failed": {
"badge": "Ebaōnnestus", "badge": "Ebaōnnestus",
"homeButton": "Mine koju", "homeButton": "Mine koju",
@@ -390,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Kui soovite kohandatud backend'i kasutada oma andmete hoidmiseks, siis lubage see ja varustage URL.", "description": "Kui soovite kohandatud backend'i kasutada oma andmete hoidmiseks, siis lubage see ja varustage URL. <o>Juhised.</0>",
"label": "Kohandatud server", "label": "Kohandatud server",
"urlLabel": "Kohandatud serveri URL" "urlLabel": "Kohandatud serveri URL"
}, },
"setup": {
"doSetup": "Seadista",
"errorStatus": {
"description": "Üks või mitu selle seadistuse üksust vajavad teie tähelepanu.",
"title": "Midagi vajab teie tähelepanu"
},
"itemError": "Midagi on valesti selle sättega. Selle parandamiseks läbige seadistus uuesti.",
"items": {
"default": "Tavaline seadistamine",
"extension": "Laiendus",
"proxy": "Kohandatud proksi"
},
"redoSetup": "Seadista uuesti",
"successStatus": {
"description": "Kõik on paigas, et saaksite enda lemmikmeediat nautima hakata.",
"title": "Kõik on seadistatud!"
},
"unsetStatus": {
"description": "Seadistusprotsessi alustamiseks klõpsake paremal asuvat nuppu.",
"title": "Te pole seadistamist läbinud"
}
},
"title": "Ühendused", "title": "Ühendused",
"workers": { "workers": {
"addButton": "Lisa uus töötaja", "addButton": "Lisa uus töötaja",
"description": "Rakenduse toimimiseks suunatakse kogu liiklus puhverserverite kaudu. Lubage see, kui soovite oma puhverserverit kasutada.", "description": "Rakenduse toimimiseks suunatakse kogu liiklus puhverserverite kaudu. Lubage see, kui soovite oma puhverserverit kasutada. <0>Juhised.</0>",
"emptyState": "Töötajaid pole veel, lisage üks", "emptyState": "Töötajaid pole veel, lisage üks",
"label": "Kasutage kohandatud puhverserveri töötajaid", "label": "Kasutage kohandatud puhverserveri töötajaid",
"urlLabel": "Töötajate URL-id", "urlLabel": "Töötajate URL-id",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Rakenduse keel", "language": "Rakenduse keel",
"languageDescription": "Keel on rakendatud kogu rakendusele.", "languageDescription": "Keel, mis on rakendatud tervele rakendusele.",
"title": "Lokaal" "thumbnail": "Genereeri pisipilte",
"thumbnailDescription": "Enamasti pole videodel pisipilte. Selle sätte lubamisega genereeritakse pispildid vaatamise ajal, kuid need võivad teie video aeglasemaks muuta.",
"thumbnailLabel": "Genereeri pisipilte",
"title": "Eelistused"
}, },
"reset": "Lähtesta", "reset": "Lähtesta",
"save": "Salvesta", "save": "Salvesta",
@@ -426,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Tausta hägusus",
"backgroundLabel": "Tausta läbipaistmatus", "backgroundLabel": "Tausta läbipaistmatus",
"colorLabel": "Värv", "colorLabel": "Värv",
"previewQuote": "Ma ei tohi karta. Hirm on meelemõrvar.", "previewQuote": "Ma ei tohi karta. Hirm on meelemõrvar.",

View File

@@ -3,16 +3,16 @@
"description": "مووی-وب یک برنامه تحت وب است که در اینترنت به دنبال استریم ها می‌گردد. هدف تیم تجربه‌ای ساده برای استفاده از محتوا است.", "description": "مووی-وب یک برنامه تحت وب است که در اینترنت به دنبال استریم ها می‌گردد. هدف تیم تجربه‌ای ساده برای استفاده از محتوا است.",
"faqTitle": "سوالات متداول", "faqTitle": "سوالات متداول",
"q1": { "q1": {
"body": "مووی-وب هیچ محتوایی را میزبانی نمی‌کند. وقتی برای تماشا روی یک چیز کلیک می‌کنید، ما در اینترنت به دنبال محتوای مورد نظر شما می‌گردیم (در صفحه دانلود و در تب 'منابع ویدیو' می‌توانید ببینید که از کدام منبع استفاده می‌کنید). محتوا هرگز در مووی-وب آپلود نمی‌شود، همه چیز از طریق این مکانیزم جستجو اتفاق می‌افتد.", "body": "مووی-وب هیچ محتوایی را میزبانی نمی‌کند. وقتی برای تماشا روی چیزی کلیک می‌کنید، ما در اینترنت به دنبال محتوای مورد نظر شما می‌گردیم (در صفحه دانلود و در برگه 'منابع ویدیو' می‌توانید ببینید که از کدام منبع استفاده می‌کنید). محتوا هرگز در مووی-وب آپلود نمی‌شود، همه چیز از طریق این مکانیزم جستجو اتفاق می‌افتد.",
"title": "فیلم ها از کجا می‌آیند؟" "title": "فیلم ها از کجا می‌آیند؟"
}, },
"q2": { "q2": {
"body": "از آنجایی که محتوا ها توسط مووی-وب مدیریت نمی‌شوند، امکان درخواست فیلم وجود ندارد. تمام محتوا از طریق منابع در اینترنت به شما نشان داده می‌شوند.", "body": "از آنجایی که محتوا ها توسط مووی-وب مدیریت نمی‌شوند، امکان درخواست فیلم وجود ندارد. تمام محتوا از طریق منابع در اینترنت به شما نشان داده می‌شوند.",
"title": "از کجا میتوانم درخواست فیلم کنم؟" "title": "از کجا میتونم درخواست فیلم کنم؟"
}, },
"q3": { "q3": {
"body": "نتایج جستجوی ما توسط پایگاه داده فیلم (TMDB) تامین می‌شوند و نمایش داده می‌شوند، بدون اینکه مهم باشد که منابع ما واقعاً محتوا را داشته باشند یا خیر.", "body": "نتایج جستجوی ما توسط پایگاه داده فیلم (TMDB) تامین می‌شوند و نمایش داده می‌شوند، بدون اینکه مهم باشد که منابع ما واقعاً محتوا را داشته باشند یا خیر.",
"title": "نتایج جستجو وجود دارد، اما چرا فیلم پخش نمی‌شود؟" "title": "جستجو همراه با نتیجه است، اما چرا فیلم پخش نمی‌شود؟"
}, },
"title": "درباره مووی-وب" "title": "درباره مووی-وب"
}, },
@@ -21,24 +21,24 @@
"copy": "کپی" "copy": "کپی"
}, },
"auth": { "auth": {
"createAccount": "هنوز حساب کاربری ندارید؟ <0>ثبت نام کنید.</0>", "createAccount": "آیا هنوز حساب کاربری ندارید؟ <0>حساب ایجاد کنید.</0>",
"deviceNameLabel": "نام دستگاه", "deviceNameLabel": "نام دستگاه",
"deviceNamePlaceholder": "تلفن شخصی", "deviceNamePlaceholder": "تلفن شخصی",
"generate": { "generate": {
"description": "جمله امنیتی شما به عنوان نام کاربری و رمز عبور عمل می‌کند. آن را در جایی ذخیره کنید چون برای ورود به آن نیاز دارید", "description": "عبارت عبور شما به عنوان نام کاربری و رمز عبور عمل می‌کند. آن را در جایی ذخیره کنید چون برای ورود به آن نیاز دارید",
"next": "جمله امنیتی خود را ذخیره کرده‌ام", "next": "عبارت عبور امنیتی خود را ذخیره کرده‌ام",
"passphraseFrameLabel": "جمله امنیتی", "passphraseFrameLabel": "عبارت عبور امنیتی",
"title": "جمله امنیتی شما" "title": "عبارت عبور امنیتی شما"
}, },
"hasAccount": "حساب کاربری دارید؟ <0>اینجا وارد شوید.</0>", "hasAccount": "حساب کاربری دارید؟ <0>اینجا وارد شوید.</0>",
"login": { "login": {
"description": "لطفاً جمله امنیتی خود را وارد کنید تا وارد حساب کاربری شوید", "description": "لطفاً عبارت عبور امنیتی خود را وارد کنید تا وارد حساب کاربری شوید",
"deviceLengthError": "لطفا نامی برای دستگاه انتخاب کنید", "deviceLengthError": "لطفا نامی برای دستگاه انتخاب کنید",
"passphraseLabel": "جمله امنیتی 12 کلمه‌ای", "passphraseLabel": "عبارت عبور 12 کلمه‌ای",
"passphrasePlaceholder": "جمله امنیتی", "passphrasePlaceholder": "عبارت عبور امنیتی",
"submit": "ورود", "submit": "ورود",
"title": "ورود به حساب کاربری", "title": "ورود به حساب کاربری",
"validationError": "جمله امنیتی نادرست یا ناقص است" "validationError": "عبارت عبور امنیتی نادرست یا ناقص است"
}, },
"register": { "register": {
"information": { "information": {
@@ -52,49 +52,52 @@
}, },
"trust": { "trust": {
"failed": { "failed": {
"text": "آیا از صحت تنظیمات مطمئن هستید؟", "text": "درست پیکربندیش کردی؟",
"title": "مشکلی در ارتباط با سرور رخ داده" "title": "مشکلی در ارتباط با سرور رخ داده"
}, },
"host": "شما در حال اتصال به <0>{{hostname}}</0> هستید - لطفا قبل از ایجاد حساب کاربری خود از اعتماد به آن اطمینان حاصل کنید", "host": "شما در حال اتصال به <0>{{hostname}}</0> هستید - لطفا قبل از ایجاد حساب کاربری خود از اعتماد به آن اطمینان حاصل کنید",
"no": "بازگشت", "no": "بازگشت",
"noHost": "سرور پیکربندی نشده، بنابرین نمیتوانید حسابی ایجاد کنید",
"noHostTitle": "سرور پیکر بندی نشده!",
"title": "آیا به این سرور اعتماد دارید؟", "title": "آیا به این سرور اعتماد دارید؟",
"yes": "بله اعتماد دارم" "yes": "بله اعتماد دارم"
}, },
"verify": { "verify": {
"description": "لطفا جمله امنیتی که به شما داده شده را مجدد وارد تا کنید تا حساب کاربری ساخته شود", "description": "لطفا عبارت عبور که به شما داده شده را مجدد وارد تا کنید تا حساب کاربری ساخته شود",
"invalidData": "اطلاعات نادرست است", "invalidData": "داده نامعتبر است",
"noMatch": "جمله امنیتی مطابقت ندارد", "noMatch": "عبارت عبور مطابقت ندارد",
"passphraseLabel": "جمله امنیتی 12 کلمه ای شما", "passphraseLabel": "عبارت عبور 12 کلمه ای شما",
"recaptchaFailed": "اعتبارسنجی ReCaptcha ناموفق بود", "recaptchaFailed": "اعتبارسنجی ReCaptcha ناموفق بود",
"register": "ساخت حساب کاربری", "register": "ساخت حساب کاربری",
"title": "جمله امنیتی خود را تایید کنید" "title": "عبارت عبور خود را تایید کنید"
} }
}, },
"errors": { "errors": {
"badge": "مشکلی پیش آمده", "badge": "مشکلی رخ داده",
"details": "جزئیات خطا", "details": "جزئیات خطا",
"reloadPage": "صفحه را ریلود کنید", "reloadPage": "صفحه را دوباره بارگذاری کنید",
"showError": "نمایش جزئیات خطا", "showError": "نمایش جزئیات خطا",
"title": "مشکلی پیش آمده!" "title": "با خطا مواجه شدیم!"
}, },
"footer": { "footer": {
"legal": { "legal": {
"disclaimer": "سلب مسئولیت", "disclaimer": "سلب مسئولیت",
"disclaimerText": "مووی-وب هیچ فایلی را میزبانی نمی‌کند، صرفاً به سرویس‌های شخص ثالث لینک می‌دهد. مسائل قانونی باید با میزبان‌ها و ارائه‌دهندگان فایل مطرح شود. مووی-وب مسئولیتی در قبال هیچ فایل رسانه‌ای که توسط ارائه‌دهندگان ویدیو نشان داده می‌شود ندارد." "disclaimerText": "مووی-وب هیچ فایلی را میزبانی نمی‌کند، صرفاً به سرویس‌های ثالث لینک می‌دهد. مسائل قانونی باید با میزبان‌ها و ارائه‌دهندگان فایل مطرح شود. مووی-وب مسئولیتی در قبال هیچ فایل محتوایی که توسط ارائه‌دهندگان ویدیو نشان داده می‌شود ندارد."
}, },
"links": { "links": {
"discord": "دیسکورد", "discord": "دیسکورد",
"dmca": "DMCA", "dmca": "DMCA",
"github": "گیت هاب" "github": "گیت هاب"
}, },
"tagline": "فیلم و سریال مورد علاقه‌تان را با این برنامه استریم منبع باز تماشا کنید." "tagline": "فیلم و سریال مورد علاقه‌تان را با این برنامه استریم متن باز تماشا کنید."
}, },
"global": { "global": {
"name": "مووی-وب", "name": "مووی-وب",
"pages": { "pages": {
"about": "درباره ما", "about": "درباره",
"dmca": "DMCA", "dmca": "DMCA",
"login": "ورود", "login": "ورود",
"onboarding": "راه اندازی",
"pagetitle": "{{title}} - مووی-وب", "pagetitle": "{{title}} - مووی-وب",
"register": "ثبت نام", "register": "ثبت نام",
"settings": "تنظیمات" "settings": "تنظیمات"
@@ -105,36 +108,44 @@
"sectionTitle": "علاقه مندی ها" "sectionTitle": "علاقه مندی ها"
}, },
"continueWatching": { "continueWatching": {
"sectionTitle": "ادامه تماشا" "sectionTitle": "به تماشا ادامه دهید"
}, },
"mediaList": { "mediaList": {
"stopEditing": "توقف ویرایش" "stopEditing": "ویرایش را متوقف کنید"
}, },
"search": { "search": {
"allResults": "همه چیزی بود که داشتیم!", "allResults": "همه چیزی بود که داشتیم!",
"failed": "چیزی پیدا نشد، دوباره تلاش کنید!", "failed": "چیزی پیدا نشد، دوباره تلاش کنید!",
"loading": "در حال جستجو...", "loading": "در حال بارگذاری...",
"noResults": "متاسفانه چیزی پیدا نکردیم!", "noResults": "نتونستیم چیزی پیدا کنیم!",
"placeholder": "چه می‌خواهید تماشا کنید؟", "placeholder": {
"sectionTitle": "نمایش نتایج" "default": "چه می‌خواهید تماشا کنید؟",
"extra": [
"دنبال چی میگردی؟",
"چی تو لیست تماشات داری؟",
"فیلم مورد علاقت چیه؟",
"سریال مورد علاقت چیه؟"
]
},
"sectionTitle": "نتایج جستجو"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "امروز چه می‌خواهید تماشا کنید؟", "default": "دوست دارید امروز بعدازظهر چه چیزی تماشا کنید؟",
"extra": [ "extra": [
"به دنبال ماجراجویی هستید؟ \"ژوراسیک پارک\" انتخابی عالی است." "به دنبال ماجراجویی هستید؟ \"پارک ژوراسیک\" انتخابی عالی است."
] ]
}, },
"morning": { "morning": {
"default": "امروز چه می‌خواهید تماشا کنید؟", "default": "دوست دارید امروز صبح چه چیزی تماشا کنید؟",
"extra": [ "extra": [
"فیلم \"پیش از طلوع\" رو می‌توانم پیشنهاد کنم" "شنیدم فیلم \"پیش از طلوع\" عالیه"
] ]
}, },
"night": { "night": {
"default": "امشب چه می‌خواهید تماشا کنید؟", "default": "دوست دارید امشب چه چیزی تماشا کنید؟",
"extra": [ "extra": [
"روز سختی را گذرانده اید؟ شنیده ام که \"جن گیر\" فیلم خوبی است." "خسته اید؟ شنیده ام که \"جن گیر\" فیلم خوبی است."
] ]
} }
} }
@@ -165,6 +176,69 @@
"message": "همه جا را جستجو کردیم: زیر سطل‌ها، در کمد، پشت پروکسی، اما در نهایت نتوانستیم صفحه‌ای که به دنبال آن هستید را پیدا کنیم.", "message": "همه جا را جستجو کردیم: زیر سطل‌ها، در کمد، پشت پروکسی، اما در نهایت نتوانستیم صفحه‌ای که به دنبال آن هستید را پیدا کنیم.",
"title": "نتواستیم صفحه را پیدا کنیم" "title": "نتواستیم صفحه را پیدا کنیم"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "لغو کنید",
"confirm": "از تنظیمات پیش فرض استفاده کنید",
"description": "راه‌اندازی پیش‌فرض بهترین جریان‌ها را ندارد و می‌تواند به طور غیرقابل تحملی کند باشد.",
"title": "مطمئنی؟"
},
"extension": {
"back": "برگرد",
"explainer": "با استفاده از افزونه مرورگر، می‌توانید بهترین جریان‌های ارائه شده را دریافت کنید. فقط با یک نصب ساده.",
"explainerIos": "متأسفانه افزونه مرورگر در iOS پشتیبانی نمی‌شود، برای انتخاب گزینه دیگری <bold>Go back</bold> را فشار دهید.",
"extensionHelp": "اگر برنامه افزودنی را نصب کرده اید اما شناسایی نشده است.، <bold>افزونه را از طریق منوی افزونه مرورگر خود باز کنید</bold> و مراحل روی صفحه را دنبال کنید.",
"linkChrome": "افزونه کروم را نصب کنید",
"linkFirefox": "افزونه فایرفاکس را نصب کنید",
"notDetecting": "روی کروم نصب شده است، اما سایت آن را شناسایی نمی کند؟ سعی کنید صفحه را دوباره بارگیری کنید!",
"notDetectingAction": "بارگذاری مجدد صفحه",
"status": {
"disallowed": "برنامه افزودنی برای این صفحه فعال نیست",
"disallowedAction": "افزونه را فعال کنید",
"failed": "درخواست وضعیت ناموفق بود",
"loading": "منتظر نصب افزونه هستیم",
"outdated": "نسخه افزونه خیلی قدیمی است",
"success": "برنامه افزودنی همانطور که انتظار می رود کار می کند!"
},
"submit": "ادامه دهید",
"title": "بیایید با یک افزونه شروع کنیم"
},
"proxy": {
"back": "برگرد",
"explainer": "با روش پروکسی می توانید با ساخت یک پراکسی سلف سرویس استریم های با کیفیت عالی دریافت کنید.",
"input": {
"errorConnection": "نمی توان به پروکسی وصل شد",
"errorInvalidUrl": "لینک معتبر نیست",
"errorNotProxy": "انتظار یک پروکسی داشتم اما یک وب سایت دریافت کردم",
"label": "لینک پروکسی",
"placeholder": "https://"
},
"link": "آموزش ساخت پروکسی",
"submit": "پروکسی را ثبت کنید",
"title": "بیایید یک پروکسی جدید بسازیم"
},
"start": {
"explainer": "برای دریافت بهترین استریم های ممکن، باید روش پخش جریانی را که می خواهید استفاده کنید، انتخاب کنید.",
"options": {
"default": {
"text": "من پخش جریانی با کیفیت خوب نمی‌خواهم،<0 /> <1>از تنظیمات پیش‌فرض استفاده کنید</1>"
},
"extension": {
"action": "افزونه را نصب کنید",
"description": "افزونه مرورگر را نصب کنید و به بهترین منابع دسترسی پیدا کنید.",
"quality": "بهترین کیفیت",
"title": "افزونه مرورگر"
},
"proxy": {
"action": "راه اندازی پروکسی",
"description": "یک پروکسی را فقط در 5 دقیقه راه اندازی کنید و به منابع عالی دسترسی پیدا کنید.",
"quality": "کیفیت خوب",
"title": "پروکسی سفارشی"
}
},
"title": "بیایید با مووی-وب راه اندازی کنیم"
}
},
"overlays": { "overlays": {
"close": "بستن" "close": "بستن"
}, },
@@ -174,15 +248,15 @@
"short": "بازگشت" "short": "بازگشت"
}, },
"casting": { "casting": {
"enabled": "در حال نمایش روی دستگاه..." "enabled": "ارسال روی دستگاه..."
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "دانلود ها به طور مستقیم از ارائه دهنده گرفته شده است. مووی-وب کنترلی بر نحوه ارائه دانلود ها ندارد.", "copyHlsPlaylist": "لینک HLS لیست پخش را کپی کنید",
"downloadPlaylist": "دانلود لیست پخش", "disclaimer": "دانلود ها به طور مستقیم از ارائه دهنده گرفته می شوند. مووی-وب کنترلی بر نحوه ارائه دانلود ها ندارد.",
"downloadSubtitle": "دانلود زیرنویس فعلی", "downloadSubtitle": "دانلود زیرنویس فعلی",
"downloadVideo": "دانلود ویدیو", "downloadVideo": "دانلود ویدیو",
"hlsDisclaimer": "دانلود ها به طور مستقیم از ارائه دهنده گرفته شده است. مووی-وب کنترلی بر نحوه ارائه دانلود ها ندارد. لطفا توجه داشته باشید که شما در حال دانلود یک لیست پخش HLS هستید، این برای کاربرانی هست که آشنایی بیشتری با استریم رسانه ها دارند.", "hlsDisclaimer": "دانلودها مستقیماً از ارائه دهنده گرفته می شوند. movie-web کنترلی بر نحوه ارائه دانلودها ندارد.<br /><br />لطفاً توجه داشته باشید که در حال دانلود یک لیست پخش HLS هستید، <bold>اگر با فرمت های پخش جریانی پیشرفته آشنایی ندارید، دانلود آن توصیه نمی شود. </bold>. منابع مختلف را برای فرمت های مختلف امتحان کنید.",
"onAndroid": { "onAndroid": {
"1": "برای دانلود در اندروید، روی دکمه دانلود کلیک کنید و سپس در صفحه جدید، روی ویدیو <bold>ضربه بزنید و نگه دارید</bold>، سپس <bold>ذخیره</bold> را انتخاب کنید.", "1": "برای دانلود در اندروید، روی دکمه دانلود کلیک کنید و سپس در صفحه جدید، روی ویدیو <bold>ضربه بزنید و نگه دارید</bold>، سپس <bold>ذخیره</bold> را انتخاب کنید.",
"shortTitle": "دانلود / اندروید", "shortTitle": "دانلود / اندروید",
@@ -194,7 +268,7 @@
"title": "دانلود در iOS" "title": "دانلود در iOS"
}, },
"onPc": { "onPc": {
"1": "در کامپیوتر، روی دکمه دانلود کلیک کنید و سپس در صفحه جدید، روی ویدیو کلیک راست کنید و <bold>Save video as</bold> را انتخاب کنید", "1": "در کامپیوتر، روی دکمه دانلود کلیک کنید و سپس در صفحه جدید، روی ویدیو کلیک راست کنید و <bold>ذخیره ویدیو به عنوان</bold>را انتخاب کنید",
"shortTitle": "دانلود / کامپیوتر", "shortTitle": "دانلود / کامپیوتر",
"title": "دانلود در کامپیوتر" "title": "دانلود در کامپیوتر"
}, },
@@ -202,11 +276,12 @@
}, },
"episodes": { "episodes": {
"button": "قسمت ها", "button": "قسمت ها",
"emptyState": "هنوز هیچ قسمتی در این فصل منتشر نشده، بعدا سر بزنید!", "emptyState": "هنوز هیچ قسمتی در این فصل وجود ندارد، بعدا سر بزنید!",
"episodeBadge": "قسمت {{episode}}", "episodeBadge": "قسمت {{episode}}",
"loadingError": "مشکلی در دریافت قسمت ها پیش آمده", "loadingError": "خطایی در بارگیری فصل رخ داد",
"loadingList": "در حال دریافت...", "loadingList": "در حال بارگذاری...",
"loadingTitle": "در حال دریافت..." "loadingTitle": "در حال بارگذاری...",
"unairedEpisodes": "یک یا چند قسمت در این فصل غیرفعال شده است به دلیل اینکه هنوز پخش نشده است."
}, },
"playback": { "playback": {
"speedLabel": "سرعت پخش", "speedLabel": "سرعت پخش",
@@ -214,13 +289,13 @@
}, },
"quality": { "quality": {
"automaticLabel": "کیفیت خودکار", "automaticLabel": "کیفیت خودکار",
"hint": "شما می توانید با <0>تغییر منبع</0> گزینه های مختلف کیفیت را به دست آورید.", "hint": "شما می توانید با <0>تغییر منبع</0> به گزینه های مختلف کیفیت دسترسی داشته باشید.",
"iosNoQuality": "با توجه به محدودیت های تعریف شده توسط اپل، انتخاب کیفیت در iOS برای این منبع در دسترس نیست. شما می توانید با <0>تغییر منبع</0> گزینه های مختلف کیفیت را به دست آورید.", "iosNoQuality": "با توجه به محدودیت های تعریف شده توسط اپل، انتخاب کیفیت در iOS برای این منبع در دسترس نیست. شما می توانید با <0>تغییر منبع</0> گزینه های مختلف کیفیت را به دست آورید.",
"title": "کیفیت" "title": "کیفیت"
}, },
"settings": { "settings": {
"downloadItem": "دانلود", "downloadItem": "دانلود",
"enableSubtitles": "روشن کردن زیرنویس", "enableSubtitles": "فعال کردن زیرنویس",
"experienceSection": "تجربه مشاهده", "experienceSection": "تجربه مشاهده",
"playbackItem": "تنظیمات پخش", "playbackItem": "تنظیمات پخش",
"qualityItem": "کیفیت", "qualityItem": "کیفیت",
@@ -234,41 +309,56 @@
"title": "دریافت اطلاعات ناموفق بود" "title": "دریافت اطلاعات ناموفق بود"
}, },
"noEmbeds": { "noEmbeds": {
"text": "نتوانستیم اطلاعات را پیدا کنیم، لطفا منبعی دیگر را امتحان کنید.", "text": "نتوانستیم اطلاعات را پیدا کنیم، لطفا منبع دیگری را امتحان کنید.",
"title": "اطلاعات پیدا نشد" "title": "اطلاعات پیدا نشد"
}, },
"noStream": { "noStream": {
"text": "فیلم یا سریال شما در این منبع وجود ندارد.", "text": "فیلم یا سریال شما در این منبع وجود ندارد.",
"title": "استریمی وجود ندارد" "title": "استریمی وجود ندارد"
}, },
"title": "منبع", "title": "منابع",
"unknownOption": "ناشناخته" "unknownOption": "ناشناخته"
}, },
"subtitles": { "subtitles": {
"customChoice": "انتخاب فایل زیرنویس", "customChoice": "انتخاب زیرنویس از فایل",
"customizeLabel": "شخصی سازی", "customizeLabel": "شخصی سازی",
"offChoice": "خاموش", "offChoice": "خاموش",
"settings": { "settings": {
"backlink": "تنظیمات زیرنویس", "backlink": "زیرنویس سفارشی",
"delay": "تاخیر زیرنویس", "delay": "تاخیر زیرنویس",
"fixCapitals": "حروف اول بزرگ (انگلیسی)" "fixCapitals": "تصحیح حروف اول بزرگ (انگلیسی)"
}, },
"title": "زیرنویس ها", "title": "زیرنویس ها",
"unknownLanguage": "ناشناخته" "unknownLanguage": "ناشناخته"
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "داده API بارگیری نشد، لطفا اتصال اینترنت خود را بررسی کنید.",
"title": "داده API بارگیری نشد"
},
"dmca": {
"badge": "حذف شد",
"text": "این محتوا به دلیل اطلاع حذف یا ادعای حق نسخه‌برداری دیگر در دسترس نیست.",
"title": "محتوا حذف شده است"
},
"extensionPermission": {
"badge": "مجوز وجود ندارد",
"button": "از افزونه استفاده کنید",
"text": "شما افزونه مرورگر را دارید، اما برای شروع استفاده از برنامه افزودنی به اجازه شما نیاز داریم.",
"title": "افزونه را پیکربندی کنید"
},
"failed": { "failed": {
"badge": "ناموفق بود", "badge": "ناموفق",
"homeButton": "بازگشت به خانه", "homeButton": "بازگشت به خانه",
"text": "نتوانستیم اطلاعات را از TMDB دریافت کنیم. ممکن است TMDB موقتا غیرفعال باشد یا توسط ارائه دهنده شما فیلتر باشد.", "text": "دریافت اطلاعات از TMDB ناموفق بود، ممکن است TMDB موقتا غیرفعال باشد یا توسط ارائه دهنده شما فیلتر باشد.",
"title": "اطلاعات دریافت نشد" "title": "اطلاعات بارگیری نشد"
}, },
"notFound": { "notFound": {
"badge": "پیدا نشد", "badge": "پیدا نشد",
"homeButton": "بازگشت به خانه", "homeButton": "بازگشت به خانه",
"text": "فیلم یا سریالی که شما به دنبالش هستید رو پیدا نکردیم. ممکن است حذف شده باشد یا لینک این صفحه دستکاری شده باشد.", "text": "محتوایی که شما به دنبالش هستید رو پیدا نکردیم. ممکن است حذف شده باشد یا شما لینک این صفحه دستکاری شده باشید.",
"title": "رسانه ای پیدا نشد." "title": "محتوا ای پیدا نشد."
} }
}, },
"nextEpisode": { "nextEpisode": {
@@ -278,14 +368,14 @@
"playbackError": { "playbackError": {
"badge": "مشکلی در پخش به وجود آمده", "badge": "مشکلی در پخش به وجود آمده",
"errors": { "errors": {
"errorAborted": "دریافت رسانه توسط لغو شد.", "errorAborted": "دریافت محتوا با درخواست کاربر لغو شد.",
"errorDecode": "با وجود اینکه قبلا مشخص شده بود که قابل استفاده است، یک خطا در هنگام تلاش برای رمزگشایی رسانه رخ داد که باعث مشکل شد.", "errorDecode": "با وجود اینکه قبلا مشخص شده بود که قابل استفاده است، یک خطا در هنگام تلاش برای رمزگشایی رسانه رخ داد که باعث مشکل شد.",
"errorGenericMedia": "رسانه ناشناخته است.", "errorGenericMedia": "خطای محتوای ناشناخته رخ داد.",
"errorNetwork": "با وجود اینکه قبلا در دسترس بود، نوعی خطای شبکه رخ داد که مانع از دریافت رسانه ها شد.", "errorNetwork": "با وجود اینکه قبلا در دسترس بود، نوعی خطای شبکه رخ داد که مانع از دریافت محتوا شد.",
"errorNotSupported": "رسانه یا ارائه دهنده رسانه پشتیبانی نمی‌شود." "errorNotSupported": "محتوا یا ارائه دهنده رسانه پشتیبانی نمی‌شود."
}, },
"homeButton": "بازگشت به خانه", "homeButton": "بازگشت به خانه",
"text": "مشکلی در پخش رسانه ها وجود داشت. لطفا دوباره تلاش کنید.", "text": "مشکلی در پخش محتوا وجود داشت. لطفا دوباره تلاش کنید.",
"title": "پخش ویدئو موفقیت آمیز نبود!" "title": "پخش ویدئو موفقیت آمیز نبود!"
}, },
"scraping": { "scraping": {
@@ -298,8 +388,8 @@
"badge": "پیدا نشد", "badge": "پیدا نشد",
"detailsButton": "نمایش جزئیات", "detailsButton": "نمایش جزئیات",
"homeButton": "بازگشت به خانه", "homeButton": "بازگشت به خانه",
"text": "ما در ارائه دهندگان جستجو کرده ایم ولی نمی توانیم رسانه ای را که به دنبال آن را هستید پیدا کنیم! ما رسانه ها را میزبانی نمی کنیم و هیچ کنترلی بر آنچه در دسترس است نداریم. لطفا برای جزئیات بیشتر روی \"نمایش جزئیات\" در زیر کلیک کنید.", "text": "ما در ارائه دهندگان جستجو کرده ایم ولی نمی توانیم محتوایی را که به دنبال آن را هستید پیدا کنیم! ما رسانه ها را میزبانی نمی کنیم و هیچ کنترلی بر آنچه در دسترس است نداریم. لطفا برای جزئیات بیشتر روی \"نمایش جزئیات\" در زیر کلیک کنید.",
"title": "پیدا نشد" "title": "نتونستیم پیداش کنیم"
} }
}, },
"time": { "time": {
@@ -307,6 +397,12 @@
"remaining": "{{timeLeft}} مشاهده شده • {{timeFinished, datetime}} دیگر تمام می‌شود", "remaining": "{{timeLeft}} مشاهده شده • {{timeFinished, datetime}} دیگر تمام می‌شود",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "لطفا انسانیت خود را با تموم کردن چالش های کپچا به طور درست ثابت کنید. برای ایمن نگه داشتن مووی-وب!",
"error": "انسانیت شما تأیید نشد. لطفا دوباره تلاش کنید.",
"title": "ما باید تایید کنیم که شما انسان هستید.",
"verifyingHumanity": "تایید کردن انسانیت شما..."
} }
}, },
"screens": { "screens": {
@@ -314,17 +410,17 @@
"text": "به صفحه تماس DMCA مووی-وب خوش آمدید! ما به حقوق مالکیت معنوی احترام می گذاریم و می خواهیم به سرعت به هر گونه نگرانی کپی رایت رسیدگی کنیم. اگر فکر می کنید کار کپی رایت شما به طور نادرست در پلت فرم ما استفاده شده است، لطفا یک اطلاعیه DMCA دقیق را به ایمیل زیر ارسال کنید. لطفا شرح مواد کپی رایت، جزئیات تماس خود و بیانیه ای از اعتقاد حسن نیت را شامل شوید. ما متعهد به حل و فصل سریع این مسائل هستیم و از همکاری شما در حفظ وب فیلم به عنوان مکانی که به خلاقیت و کپی رایت احترام می گذارند، قدردانی می کنیم.", "text": "به صفحه تماس DMCA مووی-وب خوش آمدید! ما به حقوق مالکیت معنوی احترام می گذاریم و می خواهیم به سرعت به هر گونه نگرانی کپی رایت رسیدگی کنیم. اگر فکر می کنید کار کپی رایت شما به طور نادرست در پلت فرم ما استفاده شده است، لطفا یک اطلاعیه DMCA دقیق را به ایمیل زیر ارسال کنید. لطفا شرح مواد کپی رایت، جزئیات تماس خود و بیانیه ای از اعتقاد حسن نیت را شامل شوید. ما متعهد به حل و فصل سریع این مسائل هستیم و از همکاری شما در حفظ وب فیلم به عنوان مکانی که به خلاقیت و کپی رایت احترام می گذارند، قدردانی می کنیم.",
"title": "DMCA" "title": "DMCA"
}, },
"loadingApp": "در حال اجرای برنامه", "loadingApp": "در حال بارگیری برنامه",
"loadingUser": "در حال دریافت اطلاعات حساب کاربری", "loadingUser": "درحال بارگیری حساب کاربری شما",
"loadingUserError": { "loadingUserError": {
"logout": "خروج", "logout": "خروج",
"reset": "تغییر سرور", "reset": "بازنشانی سرور سفارشی",
"text": "حساب کاربری دریافت نشد", "text": "حساب کاربری شما بارگیری نشد",
"textWithReset": "دریافت حساب کاربری شما از سرور سفارشی شکست خورد، آیا می خواهید به سرور پیش فرض بازگردید؟" "textWithReset": "بارگیری حساب کاربری شما از سرور سفارشی شکست خورد، آیا می خواهید به سرور پیش فرض بازگردید؟"
}, },
"migration": { "migration": {
"failed": "دریافت اطلاعات شکست خورد.", "failed": "انتقال داده های شما انجام نشد.",
"inProgress": "درحال دریافت اطلاعات شما هستیم. خیلی طول نخواهد کشید." "inProgress": "لطفا صبر کنید، ما در حال انتقال داده های شما هستیم. زیاد طول نمیکشد."
} }
}, },
"settings": { "settings": {
@@ -340,8 +436,8 @@
"button": "حذف حساب کاربری", "button": "حذف حساب کاربری",
"confirmButton": "حذف حساب کاربری", "confirmButton": "حذف حساب کاربری",
"confirmDescription": "آیا مطمئن هستید که می خواهید حساب خود را حذف کنید؟ تمام اطلاعات شما از دست خواهد رفت!", "confirmDescription": "آیا مطمئن هستید که می خواهید حساب خود را حذف کنید؟ تمام اطلاعات شما از دست خواهد رفت!",
"confirmTitle": "آیا مطمئن هستید؟", "confirmTitle": "مطمئنی؟",
"text": "این اقدام غیر قابل برگشت است. تمام اطلاعات حذف خواهد شد و هیچ چیز بازگردانی نمی‌شود.", "text": "این اقدام غیر قابل برگشت است. تمام اطلاعات حذف خواهد شد و هیچ چیز دیگر بازگردانی نمی‌شود.",
"title": "حذف حساب کاربری" "title": "حذف حساب کاربری"
}, },
"title": "اقدامات" "title": "اقدامات"
@@ -353,15 +449,15 @@
"title": "دستگاه ها" "title": "دستگاه ها"
}, },
"profile": { "profile": {
"finish": "پایان ویرایش", "finish": "تمام کردن ویرایش",
"firstColor": "رنگ پروفایل اول", "firstColor": "رنگ پروفایل اول",
"secondColor": "رنگ پروفایل دوم", "secondColor": "رنگ پروفایل دوم",
"title": "ویرایش عکس نمایه", "title": "ویرایش عکس نمایه",
"userIcon": "نماد کاربری" "userIcon": "نماد کاربری"
}, },
"register": { "register": {
"cta": "شروع", "cta": "شروع کنید",
"text": "پیشرفت تماشای خود را بین دستگاه‌ها به اشتراک بگذارید و آنها را با یکدیگر همگام کنید.", "text": "پیشرفت تماشای خود را بین دستگاه‌ها به اشتراک بگذارید و آنها را با یکدیگر همگام سازی کنید.",
"title": "همگام سازی" "title": "همگام سازی"
}, },
"title": "حساب کاربری" "title": "حساب کاربری"
@@ -379,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "اگر می خواهید برای ذخیره داده های خود به یک بک-اند سفارشی متصل شوید، این را فعال و لینک را وارد کنید.", "description": "اگر میخواید به یک بک-اند سفارشی برای ذخیره داده متصل شوید، با فعال و ارائه استفاده این لینک ادامه دهید. <0>دستورالعمل ها.</0>",
"label": "سرور سفارشی", "label": "سرور سفارشی",
"urlLabel": "لینک سرور سفارشی" "urlLabel": "لینک سرور سفارشی"
}, },
"setup": {
"doSetup": "راه اندازی کنید",
"errorStatus": {
"description": "به نظر می رسد که یک یا چند مورد در این تنظیم نیاز به توجه شما دارد.",
"title": "چیزی به توجه شما نیاز دارد"
},
"itemError": "مشکلی در این تنظیمات وجود دارد. برای رفع آن دوباره تنظیمات را انجام دهید.",
"items": {
"default": "تنظیم پیش فرض",
"extension": "افزونه",
"proxy": "پروکسی سفارشی"
},
"redoSetup": "تنظیم مجدد",
"successStatus": {
"description": "همه چیز برای شروع تماشای محتوای مورد علاقه‌تان آماده است.",
"title": "همه چیز تنظیم شده است!"
},
"unsetStatus": {
"description": "لطفاً روی دکمه سمت راست کلیک کنید تا فرآیند نصب شروع شود.",
"title": "شما هنوز راه‌اندازی را طی نکرده‌اید"
}
},
"title": "اتصالات", "title": "اتصالات",
"workers": { "workers": {
"addButton": "اضافه کردن worker جدید", "addButton": "اضافه کردن worker جدید",
"description": "برای کار کردن برنامه، تمام ترافیک از طریق پروکسی ها هدایت می شود. این کار را انجام دهید اگر می خواهید از worker های خود استفاده کنید.", "description": "برای ایجاد عملکرد برنامه، تمام ترافیک از طریق پروکسی ها هدایت می شود. اگر میخواید این کار انجام دهید حتما از worker های خودتان استفاده کنید. <0>دستورالعمل ها.</0>",
"emptyState": "هنوز هیچ worker ای وجود ندارد، یکی اضافه کنید", "emptyState": "هنوز هیچ worker ای وجود ندارد، یکی اضافه کنید",
"label": "استفاده از worker های پروکسی سفارشی", "label": "استفاده از worker های پروکسی سفارشی",
"urlLabel": "لینک worker ها", "urlLabel": "لینک worker ها",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "زبان", "language": "زبان برنامه",
"languageDescription": "زبانی در کل برنامه اعمال می‌شود.", "languageDescription": "زبان برای کل برنامه اعمال شد.",
"title": "زبان" "thumbnail": "ایجاد تامبنیل",
"thumbnailDescription": "بیشتر اوقات، ویدیوها تامبنیل ندارند. شما می توانید این تنظیم را فعال کنید تا آنها را در لحظه تولید کنید، اما آنها می توانند ویدیوی شما را کندتر کنند.",
"thumbnailLabel": "ایجاد تامبنیل",
"title": "اولویت ها"
}, },
"reset": "بازنشانی", "reset": "بازنشانی",
"save": "ذخیره", "save": "ذخیره",
@@ -405,7 +526,7 @@
"appVersion": "نسخه برنامه", "appVersion": "نسخه برنامه",
"backendUrl": "لینک بک-اند", "backendUrl": "لینک بک-اند",
"backendVersion": "نسخه بک-اند", "backendVersion": "نسخه بک-اند",
"hostname": "لینک برنامه", "hostname": "نام میزبان",
"insecure": "نا امن", "insecure": "نا امن",
"notLoggedIn": "شما وارد نشده اید", "notLoggedIn": "شما وارد نشده اید",
"secure": "امن", "secure": "امن",
@@ -415,12 +536,13 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "تاری پس زمینه",
"backgroundLabel": "شفافیت پس‌زمینه", "backgroundLabel": "شفافیت پس‌زمینه",
"colorLabel": "رنگ", "colorLabel": "رنگ",
"previewQuote": "نباید بترسم. ترس قاتل ذهن است.", "previewQuote": "نباید بترسم، ترس قاتل ذهن است.",
"textSizeLabel": "اندازه متن", "textSizeLabel": "اندازه متن",
"title": "زیرنویس" "title": "زیرنویس"
}, },
"unsaved": "تغییرات ذخیره نشده دارید" "unsaved": "شما تغییرات ذخیره نشده دارید"
} }
} }

View File

@@ -0,0 +1,289 @@
{
"about": {
"description": "movie-web on verkkosovellus, joka etsii suoratoistoja internetistä. Tiimi pyrkii enimmäkseen minimalistiseen lähestymistapaan sisällön kuluttamiseen.",
"faqTitle": "Yleisiä kysymyksiä",
"q1": {
"body": "movie-web ei isännöi mitään sisältöä. Kun klikkaat jotain katsottavaa, valittua mediaa etsitään internetistä (latausnäytössä ja 'videolähteet'-välilehdellä näet, mitä lähdettä käytät). movie-web ei koskaan lataa mediaa, kaikki tapahtuu tämän hakumekanismin kautta.",
"title": "Mistä sisältö tulee?"
},
"q2": {
"body": "Ohjelmaa tai elokuvaa ei voi pyytää, movie-web ei hallinnoi sisältöä. Kaikki sisältö katsotaan internetin lähteistä.",
"title": "Missä voin pyytää sarjaa tai elokuvaa?"
},
"q3": {
"body": "Hakutuloksemme perustuvat The Movie Database (TMDB) -tietokantaan, ja ne näkyvät riippumatta siitä, onko sisältöä oikeasti lähteissämme.",
"title": "Hakutuloksissa näytetään ohjelma tai elokuva. Miksi en voi toistaa sitä?"
},
"title": "Tietoja movie-webistä"
},
"actions": {
"copied": "Kopioitu",
"copy": "Kopioi"
},
"auth": {
"createAccount": "Eikö sinulla ole vielä tiliä? <0>Luo tili.</0>",
"deviceNameLabel": "Laitteen nimi",
"deviceNamePlaceholder": "Henkilökohtainen puhelin",
"generate": {
"description": "Tunnuslauseesi toimii käyttäjätunnuksena ja salasanana. Varmista, että pidät sen turvassa, sillä sinun on annettava se kirjautuaksesi tilillesi",
"next": "Olen tallentanut tunnuslauseeni",
"passphraseFrameLabel": "Tunnuslause",
"title": "Sinun tunnuslause"
},
"hasAccount": "Onko sinulla jo tili? <0>Kirjaudu sisään tästä.</0>",
"login": {
"description": "Anna tunnuslauseesi kirjautuaksesi tilillesi",
"deviceLengthError": "Anna laitteen nimi",
"passphraseLabel": "12-sanainen tunnuslause",
"passphrasePlaceholder": "Tunnuslause",
"submit": "Kirjaudu sisään",
"title": "Kirjaudu tilillesi",
"validationError": "Väärä tai puutteellinen tunnuslause"
},
"register": {
"information": {
"color1": "Profiilin väri yksi",
"color2": "Profiilin väri kaksi",
"header": "Anna laitteellesi nimi ja valitse haluamasi värit ja käyttäjäkuvake",
"icon": "Käyttäjäkuvake",
"next": "Seuraava",
"title": "Tilitiedot"
}
},
"trust": {
"failed": {
"text": "Oletko määrittänyt sen oikein?",
"title": "Palvelimeen ei saada yhteyttä"
},
"host": "Olet muodostamassa yhteyttä <0>{{hostname}}</0> - vahvista, että luotat siihen ennen kuin luot tilin",
"no": "Mene takaisin",
"title": "Luotatko tähän palvelimeen?",
"yes": "Luotan tähän palvelimeen"
},
"verify": {
"description": "Anna aikaisemmin saamasi tunnuslause vahvistaaksesi, että olet tallentanut sen ja luodaksesi tilisi",
"invalidData": "Tiedot eivät kelpaa",
"noMatch": "Tunnuslause ei täsmää",
"passphraseLabel": "12-sanainen tunnuslauseesi",
"recaptchaFailed": "ReCaptcha-tarkistus epäonnistui",
"register": "Luo tili",
"title": "Vahvista tunnuslauseesi"
}
},
"errors": {
"badge": "Se hajosi",
"details": "Virheen tiedot",
"reloadPage": "Lataa sivu uudelleen",
"showError": "Näytä virheen tiedot",
"title": "Havaitsimme virheen!"
},
"footer": {
"legal": {
"disclaimer": "Vastuuvapauslauseke",
"disclaimerText": "movie-web ei isännöi tiedostoja, se vain linkittää kolmannen osapuolen palveluihin. Lakiasioista tulee ottaa yhteyttä tiedostoisäntään ja palveluntarjoajiin. movie-web ei ole vastuussa videontarjoajien näyttämistä mediatiedostoista."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Katso suosikkiohjelmiasi ja elokuviasi tällä avoimen lähdekoodin suoratoistosovelluksella."
},
"global": {
"name": "movie-web",
"pages": {
"about": "Meistä",
"dmca": "DMCA",
"login": "Kirjaudu sisään",
"onboarding": "asetus",
"pagetitle": "{{title}} - movie-web",
"register": "Rekisteröidy",
"settings": "Asetukset"
}
},
"home": {
"bookmarks": {
"sectionTitle": "Kirjanmerkit"
},
"continueWatching": {
"sectionTitle": "Jatka katselua"
},
"mediaList": {
"stopEditing": "Lopeta muokkaaminen"
},
"search": {
"allResults": "Siinä kaikki mitä meillä on!",
"failed": "Mediaa ei löytynyt, yritä uudelleen!",
"loading": "Ladataan...",
"noResults": "Emme löytäneet mitään!",
"placeholder": {
"default": "Mitä haluat katsoa?",
"extra": []
},
"sectionTitle": "Hakutulokset"
},
"titles": {
"day": {
"default": "Mitä haluaisit katsoa tänä iltapäivänä?",
"extra": [
"Onko seikkailunhaluinen olo? Jurassic Park saattaa olla täydellinen valinta."
]
},
"morning": {
"default": "Mitä haluaisit katsoa tänä aamuna?",
"extra": ["Kuulen, että Rakkautta ennen aamua (Before Sunrise) on hyvä"]
},
"night": {
"default": "Mitä haluaisit katsoa tänä iltana?",
"extra": ["Väsynyt? Kuulin, että Manaaja (The Exorcist) on hyvä."]
}
}
},
"media": {
"episodeDisplay": "K{{season}} J{{episode}}",
"types": {
"movie": "Elokuva",
"show": "Sarja"
}
},
"navigation": {
"banner": {
"offline": "Tarkista Internet-yhteytesi"
},
"menu": {
"about": "Meistä",
"donation": "Lahjoita",
"logout": "Kirjaudu ulos",
"register": "Synkronoi pilveen",
"settings": "Asetukset",
"support": "Tuki"
}
},
"notFound": {
"badge": "Ei löydetty",
"goHome": "Takaisin kotiin",
"message": "Etsimme kaikkialta: roskakorien alta, kaapista, välityspalvelimen takaa, mutta emme lopulta löytäneet etsimääsi sivua.",
"title": "Sivua ei löytynyt"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Peruuta",
"confirm": "Käytä oletuksia",
"description": "Oletuksissa ei ole parhaita suoratoistoja ja se voi olla sietämättömän hidasta.",
"title": "Oletko varma?"
},
"extension": {
"back": "Mene takaisin",
"explainer": "Käyttämällä selainlaajennusta voit saada parhaat tarjoamamme suoratoistot. Yksinkertaisella asennuksella.",
"explainerIos": "Valitettavasti selainlaajennusta ei tueta iOS:ssä. Valitse toinen vaihtoehto painamalla <bold>Palaa</bold>.",
"extensionHelp": "Jos olet asentanut laajennuksen, mutta se ei havaitse sitä, <bold>avaa laajennus selaimen laajennusvalikosta</bold> ja noudata näytön ohjeita.",
"linkChrome": "Asenna Chromen laajennus",
"linkFirefox": "Asenna Firefoxin laajennus",
"notDetecting": "Asensitko sen Chromelle, mutta sivusto ei havaitse sitä? Kokeile ladata sivu uudelleen!",
"notDetectingAction": "Lataa sivu uudelleen",
"status": {
"disallowed": "Laajennus ei ole otettu käyttöön tälle sivulle",
"disallowedAction": "Ota laajennus käyttöön",
"failed": "Pyynnön tilan hakeminen epäonnistui",
"loading": "Odottaa, että asennat laajennuksen",
"outdated": "Laajennuksen versio on liian vanha",
"success": "Laajennus toimii odotetusti!"
},
"submit": "Jatketaan",
"title": "Aloitetaan laajennuksella"
},
"proxy": {
"back": "Mene takaisin",
"explainer": "Proxy-menetelmällä voit saada erinomaisen laadukkaita suoratoistoja luomalla itsepalveluvaltuutetun proxyn.",
"input": {
"errorConnection": "Yhteys proxyn kanssa ei onnistunut",
"errorInvalidUrl": "Ei kelvollinen URL-osoite",
"errorNotProxy": "Odotettiin proxya, mutta saatiinkin verkkosivu",
"label": "Proxyn URL-osoite",
"placeholder": "https://"
},
"link": "Opi luomaan proxy",
"submit": "Toimita proxy",
"title": "Luodaan uusi proxy"
},
"start": {
"explainer": "Parhaiden suoratoistojen saamiseksi sinun täytyy valita, mitä suoratoistomenetelmää haluat käyttää.",
"options": {
"default": {
"text": "En halua hyvälaatuisia suoratoistoja,<0 /> <1>käytä oletusasetusta</1>"
},
"extension": {
"action": "Asenna laajennus",
"description": "Asenna selaimen laajennus ja saa pääsy parhaisiin lähteisiin."
}
},
"title": "Aloitetaan asennus elokuva-webin kanssa"
}
},
"player": {
"menus": {
"episodes": {
"emptyState": "Tässä kaudessa ei ole jaksoja, tarkista myöhemmin!"
},
"quality": {
"hint": "Voit kokeilla <0>vaihtaa lähdettä</0> saadaksesi eri laatuasetuksia."
},
"sources": {
"noEmbeds": {
"text": "Emme löytäneet upotuksia, kokeile toista lähdettä."
},
"noStream": {
"text": "Tässä lähteessä ei ole suoratoistoja tälle elokuvalle tai ohjelmalle."
}
}
},
"metadata": {
"api": {
"text": "API-metatietoja ei voitu ladata, tarkista internet-yhteys.",
"title": "Ei voitu ladata API:n metatietoja."
}
},
"playbackError": {
"errors": {
"errorAborted": "Mediatiedon haku keskeytettiin käyttäjän pyynnöstä.",
"errorNotSupported": "Mediaa tai mediantarjoajaa ei tueta."
},
"text": "Tapahtui virhe yritettäessä toistaa mediaa. Yritä uudelleen."
},
"time": {
"remaining": "{{timeLeft}} jäljellä • Päättyy {{timeFinished, datetime}}"
},
"turnstile": {
"error": "Ei voitu varmistaa inhimillisyyttäsi. Yritä uudelleen.",
"title": "Meidän täytyy varmistaa, että olet ihminen."
}
},
"screens": {
"migration": {
"inProgress": "Pysy hetkisen odotuksessa, siirrämme tietojasi. Tämä ei kestä kauan."
}
},
"settings": {
"account": {
"register": {
"text": "Jaa katseluetenemisesi laitteiden välillä ja pidä ne synkronoituina."
}
},
"connections": {
"setup": {
"unsetStatus": {
"description": "Käynnistä asennusprosessi napsauttamalla oikealla olevaa painiketta."
}
},
"workers": {
"emptyState": "Ei vielä työntekijöitä, lisää yksi alle"
}
},
"preferences": {
"languageDescription": "Kieli sovellettu koko sovellukseen."
},
"subtitles": {
"previewQuote": "Minun ei pidä pelätä. Pelko on mielen tappaja."
}
}
}

View File

@@ -7,12 +7,12 @@
"title": "D'où vient le contenu ?" "title": "D'où vient le contenu ?"
}, },
"q2": { "q2": {
"body": "Il est impossible de solliciter une émission ou un film car movie-web ne gère aucun contenu. Les sources sur Internet sont utilisées pour consulter tous les contenus.", "body": "Il est impossible de demander un film ou une série car movie-web ne gère aucun contenu. Le contenu est récupéré en explorant d'autres sites sur Internet.",
"title": "Où puis-je demander une série ou un film ?" "title": "Où puis-je demander une série ou un film ?"
}, },
"q3": { "q3": {
"body": "Nos résultats de recherche sont fournis et affichés par The Movie Database (TMDB), que nos sources soient propriétaires du contenu ou non.", "body": "Nos résultats de recherche sont alimentés par The Movie Database (TMDB) et s'affichent indépendamment de la disponibilité réelle du contenu dans nos sources.",
"title": "Les résultats de la recherche affichent l'émission ou le film, pourquoi ne puis-je pas le lire ?" "title": "Les résultats de la recherche affichent la série ou le film, pourquoi ne puis-je pas le lire ?"
}, },
"title": "À propos de movie-web" "title": "À propos de movie-web"
}, },
@@ -32,22 +32,22 @@
}, },
"hasAccount": "Avez-vous déjà un compte? <0>Connectez-vous ici.</0>", "hasAccount": "Avez-vous déjà un compte? <0>Connectez-vous ici.</0>",
"login": { "login": {
"description": "Veuillez fournir votre passphrase pour accéder à votre compte", "description": "Veuillez saisir votre passphrase pour accéder à votre compte",
"deviceLengthError": "Veuillez saisir un nom d'appareil", "deviceLengthError": "Veuillez saisir un nom d'appareil",
"passphraseLabel": "Passphrase de 12 mots", "passphraseLabel": "Passphrase de 12 mots",
"passphrasePlaceholder": "Passphrase", "passphrasePlaceholder": "Passphrase",
"submit": "Se connecter", "submit": "Se connecter",
"title": "Se connecter à votre compte", "title": "Connectez-vous à votre compte",
"validationError": "Passphrase incorrecte ou incomplete" "validationError": "Passphrase incorrecte ou incomplète"
}, },
"register": { "register": {
"information": { "information": {
"color1": "Couleur de profile un", "color1": "Première couleur de profil",
"color2": "Couleur de profile deux", "color2": "Seconde couleur de profil",
"header": "Entrez un nom pour votre appareil et choisissez une couleur de profile ainsi qu'une icône d'utilisateur de votre choix", "header": "Veuillez entrer un nom pour votre appareil, choisir une couleur et une icône utilisateur de votre choix",
"icon": "Icône d'utilisateur", "icon": "Icône d'utilisateur",
"next": "Prochain", "next": "Suivant",
"title": "Informations sur le compte" "title": "Informations du compte"
} }
}, },
"trust": { "trust": {
@@ -55,8 +55,10 @@
"text": "L'avez-vous configuré correctement ?", "text": "L'avez-vous configuré correctement ?",
"title": "Échec de la connexion au serveur" "title": "Échec de la connexion au serveur"
}, },
"host": "Vous vous connectez à <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"
}, },
@@ -65,13 +67,13 @@
"invalidData": "Les données ne sont pas valides", "invalidData": "Les données ne sont pas valides",
"noMatch": "La passphrase ne correspond pas", "noMatch": "La passphrase ne correspond pas",
"passphraseLabel": "Votre passphrase de 12 mots", "passphraseLabel": "Votre passphrase de 12 mots",
"recaptchaFailed": "La validation ReCaptcha a échoué", "recaptchaFailed": "La validation ReCaptcha a échouée",
"register": "Créer un compte", "register": "Créer un compte",
"title": "Confirmez votre passphrase" "title": "Resaisissez votre passphrase"
} }
}, },
"errors": { "errors": {
"badge": "Il s'est cassé", "badge": "Tout est cassé",
"details": "Détails de l'erreur", "details": "Détails de l'erreur",
"reloadPage": "Actualiser la page", "reloadPage": "Actualiser la page",
"showError": "Afficher les détails de l'erreur", "showError": "Afficher les détails de l'erreur",
@@ -87,7 +89,7 @@
"dmca": "DMCA", "dmca": "DMCA",
"github": "GitHub" "github": "GitHub"
}, },
"tagline": "Cette application de streaming open source vous permet de regarder vos émissions et films préférés." "tagline": "Regardez vos séries et films préférés avec cette application de streaming open source."
}, },
"global": { "global": {
"name": "movie-web", "name": "movie-web",
@@ -95,6 +97,7 @@
"about": "À propos", "about": "À propos",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Se connecter", "login": "Se connecter",
"onboarding": "Mise en place",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Créer un compte", "register": "Créer un compte",
"settings": "Paramètres" "settings": "Paramètres"
@@ -105,7 +108,7 @@
"sectionTitle": "Favoris" "sectionTitle": "Favoris"
}, },
"continueWatching": { "continueWatching": {
"sectionTitle": "Continuer le visionnage" "sectionTitle": "Reprendre la lecture"
}, },
"mediaList": { "mediaList": {
"stopEditing": "Arrêter l'édition" "stopEditing": "Arrêter l'édition"
@@ -115,7 +118,15 @@
"failed": "Le média n'a pas été trouvé, veuillez réessayez!", "failed": "Le média n'a pas été trouvé, veuillez réessayez!",
"loading": "Chargement...", "loading": "Chargement...",
"noResults": "Nous n'avons rien trouvé!", "noResults": "Nous n'avons rien trouvé!",
"placeholder": "Que voulez-vous voir?", "placeholder": {
"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"
}, },
"titles": { "titles": {
@@ -161,28 +172,91 @@
}, },
"notFound": { "notFound": {
"badge": "Introuvable", "badge": "Introuvable",
"goHome": "Retour à l'accueil", "goHome": "Retourner à l'accueil",
"message": "Nous avons cherché partout : sous les poubelles, dans le placard, derrière le proxy, mais nous n'avons finalement pas trouvé la page que vous cherchez.", "message": "Nous avons cherché partout : sous les poubelles, dans le placard, derrière le proxy, mais nous n'avons finalement pas trouvé la page que vous cherchez.",
"title": "Impossible de trouver cette page" "title": "Impossible de trouver cette page"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Annuler",
"confirm": "Utiliser la configuration par défaut",
"description": "La configuration par défaut n'offre pas les meilleurs flux et peut être insupportablement lente.",
"title": "Êtes-vous sûr ?"
},
"extension": {
"back": "Revenir en arrière",
"explainer": "En utilisant l'extension de navigateur, vous pouvez obtenir les meilleurs flux que nous avons à offrir. Avec juste une simple installation.",
"explainerIos": "Malheureusement, l'extension web n'est pas prise en charge sur iOS, appuyez sur <bold> Revenir en arrière </bold> pour choisir une autre option.",
"extensionHelp": "Si vous avez installé l'extension mais qu'elle n'est pas détectée, <bold>ouvrez l'extension via le menu des extensions de votre navigateur</bold> et suivez les étapes à l'écran.",
"linkChrome": "Installer l'extension Chrome",
"linkFirefox": "Installer l'extension Firefox",
"notDetecting": "L'extension est installée sur Chrome mais le site ne la détecte pas ? Essayez de rafraîchir la page !",
"notDetectingAction": "Rafraîchir la page",
"status": {
"disallowed": "L'extension n'est pas activée pour cette page",
"disallowedAction": "Activer l'extension",
"failed": "Échec de la demande de statut",
"loading": "En attente que vous installiez l'extension",
"outdated": "Version d'extension trop ancienne",
"success": "L'extension fonctionne comme prévu!"
},
"submit": "Continuer",
"title": "Commençons par une extension"
},
"proxy": {
"back": "Revenir en arrière",
"explainer": "Avec la méthode du proxy, vous pouvez obtenir des flux de bonne qualité en créant un proxy en libre-service.",
"input": {
"errorConnection": "Impossible de se connecter au proxy",
"errorInvalidUrl": "URL non valide",
"errorNotProxy": "Je m'attendais à un proxy mais j'ai obtenu un site Web",
"label": "URL du proxy",
"placeholder": "https://"
},
"link": "Apprenez à créer un proxy",
"submit": "Valider le proxy",
"title": "Créons un nouveau proxy"
},
"start": {
"explainer": "Pour obtenir les meilleurs flux possibles, vous devrez choisir la méthode de streaming que vous souhaitez utiliser.",
"options": {
"default": {
"text": "Je ne veux pas de flux de bonne qualité,<0 /> <1>Utiliser le flux par défaut</1>"
},
"extension": {
"action": "Installer l'extension",
"description": "Installez l'extension pour navigateur et accédez aux meilleures sources.",
"quality": "Meilleur qualité",
"title": "Extension du navigateur"
},
"proxy": {
"action": "Configurez le proxy",
"description": "Configurez un proxy en seulement 5 minutes et accédez à d'excellentes sources.",
"quality": "Bonne qualité",
"title": "Proxy personnalisé"
}
},
"title": "Commençons par configurer movie-web"
}
},
"overlays": { "overlays": {
"close": "Fermer" "close": "Fermer"
}, },
"player": { "player": {
"back": { "back": {
"default": "Retour à la page d'accueil", "default": "Revenir à la page d'accueil",
"short": "Retour" "short": "Retour"
}, },
"casting": { "casting": {
"enabled": "Casting à l'appareil..." "enabled": "Casting vers l'appareil..."
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Copier le lien de la playlist HLS",
"disclaimer": "Les téléchargements sont effectués directement par le fournisseur. movie-web n'a aucun contrôle sur la manière dont les téléchargements sont effectués.", "disclaimer": "Les téléchargements sont effectués directement par le fournisseur. movie-web n'a aucun contrôle sur la manière dont les téléchargements sont effectués.",
"downloadPlaylist": "Télécharger la liste de lecture",
"downloadSubtitle": "Télécharger les sous-titres", "downloadSubtitle": "Télécharger les sous-titres",
"downloadVideo": "Télécharger la vidéo", "downloadVideo": "Télécharger la vidéo",
"hlsDisclaimer": "Les téléchargements sont pris directement de la source. Movie-Web n'exerce aucun contrôle sur les méthodes des fournisseurs de téléchargement. Veuillez noter que vous téléchargez une liste de lecture HLS, destinée aux utilisateurs habitués au streaming multimédia avancé.", "hlsDisclaimer": "Les téléchargements sont effectués directement auprès du fournisseur. movie-web n'a aucun contrôle sur la façon dont les téléchargements sont fournis.<br /><br />Veuillez noter que vous téléchargez une liste de lecture HLS, <bold>il n'est pas recommandé de la télécharger si vous n'êtes pas familier avec les formats de streaming avancés. </bold>. Essayez différentes sources pour différents formats.",
"onAndroid": { "onAndroid": {
"1": "Pour télécharger sur Android, cliquez sur le bouton de téléchargement puis, sur la nouvelle page, <bold>tapez et maintenez </bold> sur la vidéo, puis sélectionnez <bold>enregistrer</bold>.", "1": "Pour télécharger sur Android, cliquez sur le bouton de téléchargement puis, sur la nouvelle page, <bold>tapez et maintenez </bold> sur la vidéo, puis sélectionnez <bold>enregistrer</bold>.",
"shortTitle": "Télécharger / Android", "shortTitle": "Télécharger / Android",
@@ -202,9 +276,9 @@
}, },
"episodes": { "episodes": {
"button": "Épisodes", "button": "Épisodes",
"emptyState": "Il n'y a pas d'épisodes dans cette saison, revenez plus tard !", "emptyState": "Cette saison ne contient aucun épisode, revenez plus tard !",
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Erreur de chargement de la saison", "loadingError": "Erreur lors du chargement de la saison",
"loadingList": "Chargement...", "loadingList": "Chargement...",
"loadingTitle": "Chargement...", "loadingTitle": "Chargement...",
"unairedEpisodes": "Un ou plusieurs épisodes de cette saison ont été désactivés car ils n'ont pas encore été diffusés." "unairedEpisodes": "Un ou plusieurs épisodes de cette saison ont été désactivés car ils n'ont pas encore été diffusés."
@@ -215,7 +289,7 @@
}, },
"quality": { "quality": {
"automaticLabel": "Qualité automatique", "automaticLabel": "Qualité automatique",
"hint": "Vous pouvez essayer de <0>changer de fournisseur/0> pour obtenir différentes options de qualité.", "hint": "Vous pouvez essayer de <0>changer de source</0> pour obtenir différentes options de qualité.",
"iosNoQuality": "En raison des limitations définies par Apple, la sélection de la qualité n'est pas disponible sur iOS pour cette source. Vous pouvez essayer <0>de passer à une autre source</0> pour obtenir des options de qualité différentes.", "iosNoQuality": "En raison des limitations définies par Apple, la sélection de la qualité n'est pas disponible sur iOS pour cette source. Vous pouvez essayer <0>de passer à une autre source</0> pour obtenir des options de qualité différentes.",
"title": "Qualité" "title": "Qualité"
}, },
@@ -239,7 +313,7 @@
"title": "Pas d'embeds trouvés" "title": "Pas d'embeds trouvés"
}, },
"noStream": { "noStream": {
"text": "Cette source n'a pas de flux pour ce film ou cette émission.", "text": "Cette source n'a pas de flux pour ce film ou cette série.",
"title": "Pas de flux" "title": "Pas de flux"
}, },
"title": "Sources", "title": "Sources",
@@ -259,15 +333,30 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Impossible de charger les métadonnées de l'API, veuillez vérifier votre connexion Internet.",
"title": "Échec du chargement des métadonnées de l'API"
},
"dmca": {
"badge": "Supprimé",
"text": "Ce média n'est plus disponible en raison d'un avis de retrait ou d'une réclamation pour atteinte aux droits d'auteur.",
"title": "Le média a été supprimé"
},
"extensionPermission": {
"badge": "Autorisation manquante",
"button": "Utiliser l'extension",
"text": "Vous disposez de l'extension de navigateur, mais nous avons besoin de votre autorisation pour commencer à utiliser l'extension.",
"title": "Configurer l'extension"
},
"failed": { "failed": {
"badge": "Échec", "badge": "Échec",
"homeButton": "Retour à la maison", "homeButton": "Revenir à l'accueil",
"text": "Impossible de charger les métadonnées du média à partir de TMDB. Veuillez vérifier si TMDB est en panne ou bloqué sur votre connexion internet.", "text": "Impossible de charger les métadonnées du média à partir de TMDB. Veuillez vérifier si TMDB est en panne ou bloqué sur votre connexion internet.",
"title": "Échec du chargement des métadonnées" "title": "Échec du chargement des métadonnées"
}, },
"notFound": { "notFound": {
"badge": "Introuvable", "badge": "Introuvable",
"homeButton": "Retour à l'accueil", "homeButton": "Revenir à l'accueil",
"text": "Nous n'avons pas trouvé le média que vous avez demandé. Soit il a été supprimé, soit vous avez modifié l'URL.", "text": "Nous n'avons pas trouvé le média que vous avez demandé. Soit il a été supprimé, soit vous avez modifié l'URL.",
"title": "Impossible de trouver ce média." "title": "Impossible de trouver ce média."
} }
@@ -285,7 +374,7 @@
"errorNetwork": "Une erreur de réseau s'est produite qui a empêché la récupération du média, bien qu'il ait été disponible auparavant.", "errorNetwork": "Une erreur de réseau s'est produite qui a empêché la récupération du média, bien qu'il ait été disponible auparavant.",
"errorNotSupported": "L'objet du media ou de la source du média n'est pas supporté." "errorNotSupported": "L'objet du media ou de la source du média n'est pas supporté."
}, },
"homeButton": "Retour à la maison", "homeButton": "Revenir à l'accueil",
"text": "Une erreur s'est produite lors de la lecture du média. Veuillez réessayer.", "text": "Une erreur s'est produite lors de la lecture du média. Veuillez réessayer.",
"title": "Oups, c'est coupé !" "title": "Oups, c'est coupé !"
}, },
@@ -298,7 +387,7 @@
"notFound": { "notFound": {
"badge": "Non trouvé", "badge": "Non trouvé",
"detailsButton": "Afficher les détails", "detailsButton": "Afficher les détails",
"homeButton": "Retour à la maison", "homeButton": "Revenir à l'accueil",
"text": "Nous avons cherché parmi nos sources et n'avons pas trouvé les médias que vous recherchez ! Nous n'hébergeons pas les médias et n'avons aucun contrôle sur ce qui est disponible. Veuillez cliquer sur \"Afficher les détails\" ci-dessous pour plus d'informations.", "text": "Nous avons cherché parmi nos sources et n'avons pas trouvé les médias que vous recherchez ! Nous n'hébergeons pas les médias et n'avons aucun contrôle sur ce qui est disponible. Veuillez cliquer sur \"Afficher les détails\" ci-dessous pour plus d'informations.",
"title": "Nous n'avons pas trouvé cela" "title": "Nous n'avons pas trouvé cela"
} }
@@ -308,6 +397,12 @@
"remaining": "{{timeLeft}} restant • Fini à {{timeFinished, datetime}}", "remaining": "{{timeLeft}} restant • Fini à {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Veuillez vérifier que vous êtes bien humain en complétant le Captcha à droite. C'est pour assurer la sécurité de movie-web !",
"error": "Échec de la vérification de votre humanité. Veuillez réessayer.",
"title": "Nous devons vérifier que vous êtes un humain.",
"verifyingHumanity": "Vérification de votre humanité..."
} }
}, },
"screens": { "screens": {
@@ -324,7 +419,7 @@
"textWithReset": "Echec du chargement de votre profil à partir de votre serveur personnalisé, souhaitez-vous revenir au serveur par défaut ?" "textWithReset": "Echec du chargement de votre profil à partir de votre serveur personnalisé, souhaitez-vous revenir au serveur par défaut ?"
}, },
"migration": { "migration": {
"failed": "La migration de vos données a échoué.", "failed": "La migration de vos données a échouée.",
"inProgress": "Veuillez patienter, nous sommes en train de migrer vos données. Cela ne devrait pas prendre longtemps." "inProgress": "Veuillez patienter, nous sommes en train de migrer vos données. Cela ne devrait pas prendre longtemps."
} }
}, },
@@ -350,18 +445,18 @@
"devices": { "devices": {
"deviceNameLabel": "Nom de l'appareil", "deviceNameLabel": "Nom de l'appareil",
"failed": "Échec du chargement des sessions", "failed": "Échec du chargement des sessions",
"removeDevice": "Enlever", "removeDevice": "Supprimer",
"title": "Appareils" "title": "Appareils"
}, },
"profile": { "profile": {
"finish": "Terminer l'édition", "finish": "Terminer l'édition",
"firstColor": "Couleur de profil un", "firstColor": "Première couleur de profil",
"secondColor": "Couleur de profil deux", "secondColor": "Seconde couleur de profil",
"title": "Éditer la photo de profil", "title": "Modifier la photo de profil",
"userIcon": "Icône de l'utilisateur" "userIcon": "Icône de l'utilisateur"
}, },
"register": { "register": {
"cta": "Commencer", "cta": "Démarrer",
"text": "Partagez la progression de vos films et séries entre vos appareils et gardez-les synchronisés.", "text": "Partagez la progression de vos films et séries entre vos appareils et gardez-les synchronisés.",
"title": "Synchroniser au Cloud" "title": "Synchroniser au Cloud"
}, },
@@ -380,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Si vous souhaitez vous connecter à un backend personnalisé pour stocker vos données, activez cette option et indiquez l'URL.", "description": "Si vous désirez utiliser un système de stockage externe pour enregistrer vos données, activez cette option et indiquez l'URL. <0>Instructions.</0>",
"label": "Serveur personnalisé", "label": "Serveur personnalisé",
"urlLabel": "URL du serveur personnalisé" "urlLabel": "URL du serveur personnalisé"
}, },
"setup": {
"doSetup": "Configurer",
"errorStatus": {
"description": "Il semble qu'un ou plusieurs éléments de cette configuration nécessitent votre attention.",
"title": "Quelque chose nécessite votre attention"
},
"itemError": "Ce paramètre présente un problème. Résolvez le problème en recommençant la configuration.",
"items": {
"default": "Configuration par défaut",
"extension": "Extension",
"proxy": "Proxy personnalisé"
},
"redoSetup": "Refaire la configuration",
"successStatus": {
"description": "Tout est réuni pour que vous puissiez commencer à regarder vos médias préférés.",
"title": "Tout est mis en place !"
},
"unsetStatus": {
"description": "Pour commencer le processus de configuration, veuillez cliquer sur le bouton à droite.",
"title": "Vous n'avez pas encore effectué la configuration"
}
},
"title": "Connexions", "title": "Connexions",
"workers": { "workers": {
"addButton": "Ajouter un nouveau worker", "addButton": "Ajouter un nouveau worker",
"description": "Pour que l'application fonctionne, tout le trafic est acheminé via des proxys. Activez cette option si vous souhaitez faire appel à vos propres workers.", "description": "Pour que l'application fonctionne, tout le trafic est acheminé via des proxys. Activez cette option si vous souhaitez faire appel à vos propres workers. <0>Instructions.</0>",
"emptyState": "Pas encore de workers, ajoutez-en un ci-dessous", "emptyState": "Pas encore de workers, ajoutez-en un ci-dessous",
"label": "Utiliser des agents proxy personnalisés", "label": "Utiliser des agents proxy personnalisés",
"urlLabel": "URLs des workers", "urlLabel": "URLs des workers",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Langue de l'application", "language": "Language de l'application",
"languageDescription": "Langue appliquée dans l'ensemble de l'app.", "languageDescription": "Langue appliquée à lensemble de lapplication.",
"title": "Local" "thumbnail": "Générer des miniatures",
"thumbnailDescription": "La plupart du temps, les vidéos n'ont pas de miniatures. Vous pouvez activer ce paramètre pour les générer à la volée, mais ils peuvent ralentir votre vidéo.",
"thumbnailLabel": "Générer des miniatures",
"title": "Préférences"
}, },
"reset": "Réinitialiser", "reset": "Réinitialiser",
"save": "Sauvegarder", "save": "Sauvegarder",
@@ -405,9 +525,9 @@
"info": { "info": {
"appVersion": "Version de l'application", "appVersion": "Version de l'application",
"backendUrl": "URL de Backend", "backendUrl": "URL de Backend",
"backendVersion": "Version de la Backend", "backendVersion": "Version du Backend",
"hostname": "Nom d'hôte", "hostname": "Nom d'hôte",
"insecure": "Insécure", "insecure": "Non sécurisé",
"notLoggedIn": "Vous n'êtes pas connecté", "notLoggedIn": "Vous n'êtes pas connecté",
"secure": "Sécurisé", "secure": "Sécurisé",
"title": "Informations sur l'application", "title": "Informations sur l'application",
@@ -416,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

@@ -95,6 +95,7 @@
"about": "Acerca de", "about": "Acerca de",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Iniciar sesión", "login": "Iniciar sesión",
"onboarding": "Configuración",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Rexistrarse", "register": "Rexistrarse",
"settings": "Configuración" "settings": "Configuración"
@@ -115,7 +116,10 @@
"failed": "Error ao encontrar contido... intentao de novo!", "failed": "Error ao encontrar contido... intentao de novo!",
"loading": "Cargando...", "loading": "Cargando...",
"noResults": "Non atopamos nada!", "noResults": "Non atopamos nada!",
"placeholder": "Que che gustaría ver?", "placeholder": {
"default": "Que che gustaría ver?",
"extra": []
},
"sectionTitle": "Resultados da busca" "sectionTitle": "Resultados da busca"
}, },
"titles": { "titles": {
@@ -127,15 +131,11 @@
}, },
"morning": { "morning": {
"default": "Que che gustaría ver esta mañá?", "default": "Que che gustaría ver esta mañá?",
"extra": [ "extra": ["Escoitei que “Antes del amanecer” é boa"]
"Escoitei que “Antes del amanecer” é boa"
]
}, },
"night": { "night": {
"default": "Que che gustaría ver esta noite?", "default": "Que che gustaría ver esta noite?",
"extra": [ "extra": ["Canso? Escoitei que “El Exorcista” é boa."]
"Canso? Escoitei que “El Exorcista” é boa."
]
} }
} }
}, },
@@ -165,6 +165,69 @@
"message": "Prometocho, buscamos en todas partes: debaixo dos contenedores, no armario, detrás do proxy, pero ao final non puidemos atopar a páxina que estabas buscando.", "message": "Prometocho, buscamos en todas partes: debaixo dos contenedores, no armario, detrás do proxy, pero ao final non puidemos atopar a páxina que estabas buscando.",
"title": "Non atopei a páxona que estabas a buscar" "title": "Non atopei a páxona que estabas a buscar"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Cancelar",
"confirm": "Usar configuración por defecto",
"description": "A configuración por defecto non ten a mellor calidade e pode ser moi lenta.",
"title": "Estás seguro?"
},
"extension": {
"back": "Volver atrás",
"explainer": "Usando a extensión de navegador, podes obter os mellores streams á mellor calidade. Cunha simple instalación.",
"explainerIos": "Por desgraza, a extensión de navegador non é soportada en iOS. Pulsa <bold>volver atrás</bold> para escoller outra opción.",
"extensionHelp": "Se instalaches a extensión pero non é detectada, <bold>abre a extensión dende o menú de extensións do navegador</bold> e sigue os pasos na pantalla.",
"linkChrome": "Instalar extensión de Chrome",
"linkFirefox": "Instalar extensión de Firefox",
"notDetecting": "Instalada en Chrome, pero o sitio web non a está a detectar? Proba recargando a páxina!",
"notDetectingAction": "Recargar a páxina",
"status": {
"disallowed": "A extensión non está habilitada para esta páxina",
"disallowedAction": "Activar extensión",
"failed": "Error ao solicitar estado",
"loading": "Esperando a que instales a extensión",
"outdated": "A versión da extensión é moi vella",
"success": "A extensión funciona como se esperaba!"
},
"submit": "Continuar",
"title": "Vamos a empezar coa extensión"
},
"proxy": {
"back": "Vover atrás",
"explainer": "Có método do proxy, podes obter streams de boa calidade creando un proxy hosteado por ti mesmo.",
"input": {
"errorConnection": "Non foi posible a conexión có proxy",
"errorInvalidUrl": "URL non válida",
"errorNotProxy": "Estaba previsto obter o proxy pero obtuven unha páxina web",
"label": "URL do proxy",
"placeholder": "https://"
},
"link": "Aprender a configurar o proxy",
"submit": "Validar proxy",
"title": "Vamos crear un novo proxy"
},
"start": {
"explainer": "Para obter a maior calidade posible, terás que elexir que método de streaming queres usar.",
"options": {
"default": {
"text": "Non quero streams de boa calidade, <0 /> <1>usarei a configuración por defecto</1>"
},
"extension": {
"action": "Instalar extensión",
"description": "Instala a extensión de navegador e obtén acceso ás mellores fontes.",
"quality": "A mellor calidade",
"title": "Extensión de navegador"
},
"proxy": {
"action": "Configurar proxy",
"description": "Configura un proxy en só 5 minutos e gaña acceso ás mellores fontes.",
"quality": "Boa calidade",
"title": "Proxy personalizado"
}
},
"title": "Vamos a empezar coa configuración de movie-web"
}
},
"overlays": { "overlays": {
"close": "Cerrar" "close": "Cerrar"
}, },
@@ -179,10 +242,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "As descargas proveñen do provedor. movie-web non ten control sobre as descargas e a súa procedencia.", "disclaimer": "As descargas proveñen do provedor. movie-web non ten control sobre as descargas e a súa procedencia.",
"downloadPlaylist": "Descargar lista",
"downloadSubtitle": "Descargar subtítulos actuais", "downloadSubtitle": "Descargar subtítulos actuais",
"downloadVideo": "Descargar video", "downloadVideo": "Descargar video",
"hlsDisclaimer": "As descargas realizanse directamente dende o proovedor. movie-web non ten control sobre como se xestionan as descargas. Ten en conta que estás a descargar unha lista de reproducción HLS, dirixidos a usuarios familiarizados coa transmisión multimedia avanzada.", "hlsDisclaimer": "As descargas realizanse directamente dende o proovedor. movie-web non ten control sobre como se xestionan as descargas. <br /><br />Ten en conta que estás a descargar unha lista de reproducción HLS, <bold>non está recomendado instalalos se non estás familiarizado con estos sistemas de contidos avanzados</bold> Proba fontes diferentes ou formatos diferentes.",
"onAndroid": { "onAndroid": {
"1": "Para descargar en Android, fai click no botón de descarga e despois, na nova páxina, <bold>mantén presionado</bold>o vídeo e selecciona <bold>gardar</bold>.", "1": "Para descargar en Android, fai click no botón de descarga e despois, na nova páxina, <bold>mantén presionado</bold>o vídeo e selecciona <bold>gardar</bold>.",
"shortTitle": "Descargar / Android", "shortTitle": "Descargar / Android",
@@ -263,6 +325,17 @@
"text": "Non puiden cargar os metadatos da API, por favor, comproba a túa conexión a internet.", "text": "Non puiden cargar os metadatos da API, por favor, comproba a túa conexión a internet.",
"title": "Non foi posible cargar os metadatos da API" "title": "Non foi posible cargar os metadatos da API"
}, },
"dmca": {
"badge": "Agochado",
"text": "Este contido non está dispoñible debido a unha reclamación dos dereitos de autor.",
"title": "Os contidos foron retirados"
},
"extensionPermission": {
"badge": "Non hai permisos suficientes",
"button": "Usar extensión",
"text": "Si que tes a extensión de navegador, pero precisamos do teu permiso para empezar a usala.",
"title": "Configura a extensión"
},
"failed": { "failed": {
"badge": "Erro", "badge": "Erro",
"homeButton": "Ir ao inicio", "homeButton": "Ir ao inicio",
@@ -390,24 +463,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Se che gustaría conectar un servidor personalizado de backend para almacenar os teus datos, activa esto e indica a URL.", "description": "Se che gustaría conectar un servidor personalizado de backend para almacenar os teus datos, activa esto e indica a URL. <0>Instruccións.</0>",
"label": "Servidor personalizado", "label": "Servidor personalizado",
"urlLabel": "Servidor personalizado URL" "urlLabel": "Servidor personalizado URL"
}, },
"setup": {
"doSetup": "Configurar",
"errorStatus": {
"description": "Parece que hay un ou varios puntos que precisan da tua atención.",
"title": "Hai algo que require da túa atención"
},
"itemError": "Hai un erro nesta configuración. Volve atrás para solucionalo.",
"items": {
"default": "Configuración por defecto",
"extension": "Extensión",
"proxy": "Proxy personalizado"
},
"redoSetup": "Retroceder na configuración",
"successStatus": {
"description": "Todo está no seu sitio para que podas empezar a ver os teus contidos favoritos.",
"title": "Todo está configurado!"
},
"unsetStatus": {
"description": "Por favor, preme no botón para empezar o proceso de configuración.",
"title": "Non empezaches ningunha configuración"
}
},
"title": "Conexións", "title": "Conexións",
"workers": { "workers": {
"addButton": "Añadir novo", "addButton": "Añadir novo",
"description": "Para facer que a aplicación funcione, todo o tráfico é organizado en proxies. Activa esta opción se queres empregar os teus propios workers.", "description": "Para facer que a aplicación funcione, todo o tráfico é organizado en proxies. Activa esta opción se queres empregar os teus propios workers. <0>Instruccións.</0>",
"emptyState": "Non hai workers aínda, engade un abaixo", "emptyState": "Non hai workers aínda, engade un abaixo",
"label": "Usar proxy workers personalizados", "label": "Usar proxy workers personalizados",
"urlLabel": "URLs dos workers", "urlLabel": "URLs dos workers",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Lingua da aplicación", "language": "Linguaxe da aplicación",
"languageDescription": "Lingua empregada en toda aplicación.", "languageDescription": "Lingua aplicada a toda a aplicación.",
"title": "Local" "thumbnail": "Xerar miniaturas",
"thumbnailDescription": "Na maioría das veces, os videos non teñen miniaturas. Podes activar esta configuración para xeralas ao momento, pero podes realentizar o video.",
"thumbnailLabel": "Xerar miniaturas",
"title": "Preferencias"
}, },
"reset": "Reinicio", "reset": "Reinicio",
"save": "Gardar", "save": "Gardar",

View File

@@ -95,6 +95,7 @@
"about": "વિશે", "about": "વિશે",
"dmca": "DMCA", "dmca": "DMCA",
"login": "પ્રવેશ કરો", "login": "પ્રવેશ કરો",
"onboarding": "સ્થાપના",
"pagetitle": "{{title}} - મૂવી-વેબ", "pagetitle": "{{title}} - મૂવી-વેબ",
"register": "નોંધણી કરો", "register": "નોંધણી કરો",
"settings": "સેટિંગ્સ" "settings": "સેટિંગ્સ"
@@ -115,21 +116,20 @@
"failed": "મીડિયા શોધવામાં નિષ્ફળ, ફરી પ્રયાસ કરો!", "failed": "મીડિયા શોધવામાં નિષ્ફળ, ફરી પ્રયાસ કરો!",
"loading": "લોડ થાય છે...", "loading": "લોડ થાય છે...",
"noResults": "અમે કંઈપણ શોધી શક્યા નથી!", "noResults": "અમે કંઈપણ શોધી શક્યા નથી!",
"placeholder": "તમે શું જોવા માંગો છો?", "placeholder": {
"default": "તમે શું જોવા માંગો છો?",
"extra": []
},
"sectionTitle": "શોધ પરિણામો" "sectionTitle": "શોધ પરિણામો"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "તમે આ બપોરે શું જોવા માંગો છો?", "default": "તમે આ બપોરે શું જોવા માંગો છો?",
"extra": [ "extra": ["સાહસિક લાગે છે? જુરાસિક પાર્ક યોગ્ય પસંદગી હોઈ શકે છે."]
"સાહસિક લાગે છે? જુરાસિક પાર્ક યોગ્ય પસંદગી હોઈ શકે છે."
]
}, },
"morning": { "morning": {
"default": "તમે આ સવારે શું જોવા માંગો છો?", "default": "તમે આ સવારે શું જોવા માંગો છો?",
"extra": [ "extra": ["હું સાંભળું છું કે Before Sunrise સારું છે"]
"હું સાંભળું છું કે Before Sunrise સારું છે"
]
}, },
"night": { "night": {
"default": "તમે આજે રાત્રે શું જોવા માંગો છો?", "default": "તમે આજે રાત્રે શું જોવા માંગો છો?",
@@ -165,6 +165,69 @@
"message": "અમે બધે જોયું: ડબ્બાની નીચે, કબાટમાં, પ્રોક્સીની પાછળ, પરંતુ આખરે તમે જે page શોધી રહ્યાં છો તે શોધી શક્યા નહીં.", "message": "અમે બધે જોયું: ડબ્બાની નીચે, કબાટમાં, પ્રોક્સીની પાછળ, પરંતુ આખરે તમે જે page શોધી રહ્યાં છો તે શોધી શક્યા નહીં.",
"title": "page શોધી શક્યું નથી" "title": "page શોધી શક્યું નથી"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "રદ કરો",
"confirm": "ડિફૉલ્ટ સેટઅપનો ઉપયોગ કરો",
"description": "ડિફૉલ્ટ સેટઅપમાં શ્રેષ્ઠ સ્ટ્રીમ્સ નથી અને તે અસહ્ય રીતે ધીમું હોઈ શકે છે.",
"title": "શું તમને ખાતરી છે?"
},
"extension": {
"back": "પાછા જાવ",
"explainer": "બ્રાઉઝર એક્સ્ટેંશનનો ઉપયોગ કરીને, તમે શ્રેષ્ઠ સ્ટ્રીમ મેળવી શકો છો જે અમે ઓફર કરીએ છીએ. માત્ર એક સરળ ઇન્સ્ટોલ સાથે.",
"explainerIos": "કમનસીબે, બ્રાઉઝર એક્સ્ટેંશન iOS પર સમર્થિત નથી, બીજો વિકલ્પ પસંદ કરવા માટે <bold>Go back</bold> દબાવો.",
"extensionHelp": "જો તમે એક્સ્ટેંશન ઇન્સ્ટોલ કર્યું છે પરંતુ તે શોધાયેલ નથી, તો <bold>તમારા બ્રાઉઝર એક્સ્ટેંશન મેનૂ દ્વારા એક્સ્ટેંશન ખોલો</bold> અને સ્ક્રીન પરના પગલાંને અનુસરો.",
"linkChrome": "Chrome એક્સ્ટેંશન ઇન્સ્ટોલ કરો",
"linkFirefox": "Firefox એક્સ્ટેંશન ઇન્સ્ટોલ કરો",
"notDetecting": "Chrome પર ઇન્સ્ટોલ કરેલું છે, પરંતુ સાઇટ તેને શોધી રહી નથી? પૃષ્ઠને ફરીથી લોડ કરવાનો પ્રયાસ કરો!",
"notDetectingAction": "પૃષ્ઠ ફરીથી લોડ કરો",
"status": {
"disallowed": "આ પૃષ્ઠ માટે એક્સ્ટેંશન સક્ષમ નથી",
"disallowedAction": "એક્સ્ટેંશન સક્ષમ કરો",
"failed": "સ્થિતિની વિનંતી કરવામાં નિષ્ફળ",
"loading": "તમે એક્સ્ટેંશન ઇન્સ્ટોલ કરવા માટે રાહ જોઈ રહ્યાં છો",
"outdated": "એક્સ્ટેંશન સંસ્કરણ ખૂબ જૂનું છે",
"success": "એક્સ્ટેંશન અપેક્ષા મુજબ કામ કરી રહ્યું છે!"
},
"submit": "ચાલુ રાખો",
"title": "ચાલો એક્સ્ટેંશનથી શરૂઆત કરીએ"
},
"proxy": {
"back": "પાછા જાવ",
"explainer": "પ્રોક્સી પદ્ધતિ સાથે, તમે સ્વ-સેવા પ્રોક્સી બનાવીને ઉત્તમ ગુણવત્તાની સ્ટ્રીમ્સ મેળવી શકો છો.",
"input": {
"errorConnection": "પ્રોક્સી સાથે કનેક્ટ કરી શકાયું નથી",
"errorInvalidUrl": "માન્ય URL નથી",
"errorNotProxy": "પ્રોક્સીની અપેક્ષા હતી પણ વેબસાઇટ મળી",
"label": "પ્રોક્સી URL",
"placeholder": "https://"
},
"link": "પ્રોક્સી કેવી રીતે બનાવવી તે જાણો",
"submit": "પ્રોક્સી સબમિટ કરો",
"title": "ચાલો એક નવી પ્રોક્સી બનાવીએ"
},
"start": {
"explainer": "શક્ય શ્રેષ્ઠ સ્ટ્રીમ્સ મેળવવા માટે, તમારે કઈ સ્ટ્રીમિંગ પદ્ધતિનો ઉપયોગ કરવો છે તે પસંદ કરવાની જરૂર પડશે.",
"options": {
"default": {
"text": "મને સારી ગુણવત્તાની સ્ટ્રીમ જોઈતી નથી,<0 /> <1>ડિફૉલ્ટ સેટઅપનો ઉપયોગ કરો</1>"
},
"extension": {
"action": "એક્સ્ટેંશન ઇન્સ્ટોલ કરો",
"description": "બ્રાઉઝર એક્સ્ટેંશન ઇન્સ્ટોલ કરો અને શ્રેષ્ઠ સ્ત્રોતોની ઍક્સેસ મેળવો.",
"quality": "ઉત્તમ ગુણવત્તા",
"title": "બ્રાઉઝર એક્સ્ટેંશન"
},
"proxy": {
"action": "પ્રોક્સી સેટઅપ કરો",
"description": "માત્ર 5 મિનિટમાં પ્રોક્સી સેટ કરો અને શ્રેષ્ઠ સ્ત્રોતોની ઍક્સેસ મેળવો.",
"quality": "સારી ગુણવત્તા",
"title": "કસ્ટમ પ્રોક્સી"
}
},
"title": "ચાલો તમને મૂવી-વેબ સાથે સેટઅપ કરાવીએ"
}
},
"overlays": { "overlays": {
"close": "બંધ" "close": "બંધ"
}, },
@@ -179,10 +242,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "ડાઉનલોડ સીધા પ્રદાતા પાસેથી લેવામાં આવે છે. મૂવી-વેબ ડાઉનલોડ્સ કેવી રીતે પ્રદાન કરવામાં આવે છે તેના પર નિયંત્રણ નથી.", "disclaimer": "ડાઉનલોડ સીધા પ્રદાતા પાસેથી લેવામાં આવે છે. મૂવી-વેબ ડાઉનલોડ્સ કેવી રીતે પ્રદાન કરવામાં આવે છે તેના પર નિયંત્રણ નથી.",
"downloadPlaylist": "પ્લેલિસ્ટ ડાઉનલોડ કરો",
"downloadSubtitle": "વર્તમાન ઉપશીર્ષક ડાઉનલોડ કરો", "downloadSubtitle": "વર્તમાન ઉપશીર્ષક ડાઉનલોડ કરો",
"downloadVideo": "વિડિઓ ડાઉનલોડ કરો", "downloadVideo": "વિડિઓ ડાઉનલોડ કરો",
"hlsDisclaimer": "ડાઉનલોડ સીધા પ્રદાતા પાસેથી લેવામાં આવે છે. મૂવી-વેબ ડાઉનલોડ્સ કેવી રીતે પ્રદાન કરવામાં આવે છે તેના પર નિયંત્રણ નથી. કૃપા કરીને નોંધો કે તમે HLS પ્લેલિસ્ટ ડાઉનલોડ કરી રહ્યાં છો, આ અદ્યતન મલ્ટીમીડિયા સ્ટ્રીમિંગથી પરિચિત વપરાશકર્તાઓ માટે બનાવાયેલ છે.", "hlsDisclaimer": "ડાઉનલોડ સીધા પ્રદાતા પાસેથી લેવામાં આવે છે. કેવી રીતે ડાઉનલોડ્સ પ્રદાન કરવામાં આવે છે તેના પર મૂવી-વેબનું નિયંત્રણ નથી.<br /><br />કૃપા કરીને નોંધ કરો કે તમે HLS પ્લેલિસ્ટ ડાઉનલોડ કરી રહ્યાં છો, <bold>જો તમે અદ્યતન સ્ટ્રીમિંગ ફોર્મેટથી પરિચિત ન હોવ તો તેને ડાઉનલોડ કરવાની ભલામણ કરવામાં આવતી નથી</bold>. વિવિધ ફોર્મેટ માટે વિવિધ સ્ત્રોતો અજમાવો.",
"onAndroid": { "onAndroid": {
"1": "Android પર ડાઉનલોડ કરવા માટે, ડાઉનલોડ બટનને ક્લિક કરો પછી, નવા પૃષ્ઠ પર, વિડિઓ પર <bold>ટેપ કરો અને પકડી રાખો</bold>, પછી <bold>સાચવો</bold> પસંદ કરો.", "1": "Android પર ડાઉનલોડ કરવા માટે, ડાઉનલોડ બટનને ક્લિક કરો પછી, નવા પૃષ્ઠ પર, વિડિઓ પર <bold>ટેપ કરો અને પકડી રાખો</bold>, પછી <bold>સાચવો</bold> પસંદ કરો.",
"shortTitle": "ડાઉનલોડ કરો / Android", "shortTitle": "ડાઉનલોડ કરો / Android",
@@ -259,6 +321,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "API મેટાડેટા લોડ કરી શકાયું નથી, કૃપા કરીને તમારું ઇન્ટરનેટ કનેક્શન તપાસો.",
"title": "API મેટાડેટા લોડ કરવામાં નિષ્ફળ"
},
"dmca": {
"badge": "દૂર",
"text": "દૂર કરવાની સૂચના અથવા કૉપિરાઇટ દાવાને કારણે આ મીડિયા હવે ઉપલબ્ધ નથી.",
"title": "મીડિયા દૂર કરવામાં આવ્યું છે"
},
"extensionPermission": {
"badge": "પરવાનગી ખૂટે છે",
"button": "એક્સ્ટેંશનનો ઉપયોગ કરો",
"text": "તમારી પાસે બ્રાઉઝર એક્સ્ટેંશન છે, પરંતુ એક્સ્ટેંશનનો ઉપયોગ શરૂ કરવા માટે અમને તમારી પરવાનગીની જરૂર છે.",
"title": "એક્સ્ટેંશનને ગોઠવો"
},
"failed": { "failed": {
"badge": "નિષ્ફળ", "badge": "નિષ્ફળ",
"homeButton": "ઘર જાઓ", "homeButton": "ઘર જાઓ",
@@ -308,6 +385,12 @@
"remaining": "{{timeLeft}} બાકી • {{timeFinished, datetime}} વાગ્યે સમાપ્ત થાય છે", "remaining": "{{timeLeft}} બાકી • {{timeFinished, datetime}} વાગ્યે સમાપ્ત થાય છે",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "કૃપા કરીને જમણી બાજુએ કૅપ્ચા પૂર્ણ કરીને ચકાસો કે તમે માનવ છો. આ મૂવી-વેબને સુરક્ષિત રાખવા માટે છે!",
"error": "તમારી માનવતા ચકાસવામાં નિષ્ફળ. મહેરબાની કરીને ફરીથી પ્રયત્ન કરો.",
"title": "અમારે ચકાસવાની જરૂર છે કે તમે માનવ છો.",
"verifyingHumanity": "તમારી માનવતા ચકાસવી..."
} }
}, },
"screens": { "screens": {
@@ -380,24 +463,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "જો તમે તમારો ડેટા સંગ્રહિત કરવા માટે કસ્ટમ બેકએન્ડ સાથે જોડાવા માંગતા હો, તો આને સક્ષમ કરો અને URL પ્રદાન કરો.", "description": "જો તમે તમારો ડેટા સંગ્રહિત કરવા માટે કસ્ટમ બેકએન્ડ સાથે જોડાવા માંગતા હો, તો આને સક્ષમ કરો અને URL પ્રદાન કરો. <0>સૂચનો.</0>",
"label": "કસ્ટમ સર્વર", "label": "કસ્ટમ સર્વર",
"urlLabel": "કસ્ટમ સર્વર URL" "urlLabel": "કસ્ટમ સર્વર URL"
}, },
"setup": {
"doSetup": "સેટઅપ કરો",
"errorStatus": {
"description": "એવું લાગે છે કે આ સેટઅપમાં એક અથવા વધુ આઇટમ્સ તમારા ધ્યાનની જરૂર છે.",
"title": "કંઈક તમારા ધ્યાનની જરૂર છે"
},
"itemError": "આ સેટિંગમાં કંઈક ખોટું છે. તેને ઠીક કરવા માટે ફરીથી સેટઅપ પર જાઓ.",
"items": {
"default": "ડિફૉલ્ટ સેટઅપ",
"extension": "વિસ્તરણ",
"proxy": "કસ્ટમ પ્રોક્સી"
},
"redoSetup": "સેટઅપ ફરી કરો",
"successStatus": {
"description": "તમારા મનપસંદ મીડિયાને જોવાનું શરૂ કરવા માટે તમારા માટે બધી વસ્તુઓ છે.",
"title": "બધું સુયોજિત છે!"
},
"unsetStatus": {
"description": "કૃપા કરીને સેટઅપ પ્રક્રિયા શરૂ કરવા માટે જમણી બાજુના બટનને ક્લિક કરો.",
"title": "તમે સેટઅપમાંથી પસાર થયા નથી"
}
},
"title": "જોડાણો", "title": "જોડાણો",
"workers": { "workers": {
"addButton": "નવો કાર્યકર ઉમેરો", "addButton": "નવો કાર્યકર ઉમેરો",
"description": "એપ્લિકેશન કાર્ય કરવા માટે, તમામ ટ્રાફિકને પ્રોક્સીઓ દ્વારા રૂટ કરવામાં આવે છે. જો તમે તમારા પોતાના કામદારોને લાવવા માંગતા હોવ તો આને સક્ષમ કરો.", "description": "એપ્લિકેશન કાર્ય કરવા માટે, તમામ ટ્રાફિકને પ્રોક્સીઓ દ્વારા રૂટ કરવામાં આવે છે. જો તમે તમારા પોતાના કામદારોને લાવવા માંગતા હોવ તો આને સક્ષમ કરો. <0>સૂચનો.</0>",
"emptyState": "હજુ સુધી કોઈ કામદારો નથી, નીચે એક ઉમેરો", "emptyState": "હજુ સુધી કોઈ કામદારો નથી, નીચે એક ઉમેરો",
"label": "કસ્ટમ પ્રોક્સી કાર્યકરોનો ઉપયોગ કરો", "label": "કસ્ટમ પ્રોક્સી કાર્યકરોનો ઉપયોગ કરો",
"urlLabel": "વર્કર URL", "urlLabel": "વર્કર URL",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "એપ્લિકેશન ભાષા", "language": "એપ્લિકેશન ભાષા",
"languageDescription": "સમગ્ર એપ્લિકેશન પર લાગુ ભાષા.", "languageDescription": "સમગ્ર એપ્લિકેશન પર લાગુ ભાષા.",
"title": "સ્થળ" "thumbnail": "થંબનેલ્સ બનાવો",
"thumbnailDescription": "મોટાભાગે, વીડિયોમાં થંબનેલ્સ હોતા નથી. તમે આ સેટિંગને ફ્લાય પર જનરેટ કરવા માટે સક્ષમ કરી શકો છો પરંતુ તે તમારા વિડિઓને ધીમું બનાવી શકે છે.",
"thumbnailLabel": "થંબનેલ્સ બનાવો",
"title": "પસંદગીઓ"
}, },
"reset": "રીસેટ કરો", "reset": "રીસેટ કરો",
"save": "સાચવો", "save": "સાચવો",

View File

@@ -23,7 +23,7 @@
"auth": { "auth": {
"createAccount": "אין לך עדיין חשבון? <0>צור חשבון.</0>", "createAccount": "אין לך עדיין חשבון? <0>צור חשבון.</0>",
"deviceNameLabel": "שם המכשיר", "deviceNameLabel": "שם המכשיר",
"deviceNamePlaceholder": "מכשיר אישי", "deviceNamePlaceholder": "פלאפון אישי",
"generate": { "generate": {
"description": "ביטוי הסיסמה שלך משמש כשם המשתמש והסיסמה שלך. אנא הקפד לשמור אותו בטוח מכיוון שתצטרך להזין אותו כדי להתחבר לחשבון שלך", "description": "ביטוי הסיסמה שלך משמש כשם המשתמש והסיסמה שלך. אנא הקפד לשמור אותו בטוח מכיוון שתצטרך להזין אותו כדי להתחבר לחשבון שלך",
"next": "אני שמרתי את משפט הסיסמה שלי", "next": "אני שמרתי את משפט הסיסמה שלי",
@@ -95,6 +95,7 @@
"about": "אודות", "about": "אודות",
"dmca": "זכויות יוצרים", "dmca": "זכויות יוצרים",
"login": "התחבר", "login": "התחבר",
"onboarding": "הכנה",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "הירשם", "register": "הירשם",
"settings": "הגדרות" "settings": "הגדרות"
@@ -115,27 +116,24 @@
"failed": "לא הצלחנו למצוא מדיה, נסה שוב!", "failed": "לא הצלחנו למצוא מדיה, נסה שוב!",
"loading": "טוען...", "loading": "טוען...",
"noResults": "לא יכולנו למצוא כלום!", "noResults": "לא יכולנו למצוא כלום!",
"placeholder": "במה תרצה לצפות?", "placeholder": {
"default": "במה תרצה לצפות?",
"extra": []
},
"sectionTitle": "תוצאות חיפוש" "sectionTitle": "תוצאות חיפוש"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "במה תרצה לצפות באחר צהריים זה?", "default": "במה תרצה לצפות באחר צהריים זה?",
"extra": [ "extra": ["מרגיש הרפתקני? פארק היורה עשוי להיות הבחירה המושלמת."]
"מרגיש הרפתקני? פארק היורה עשוי להיות הבחירה המושלמת."
]
}, },
"morning": { "morning": {
"default": "במה תרצה לצפות הבוקר?", "default": "במה תרצה לצפות הבוקר?",
"extra": [ "extra": ["שמעתי שלפני הזריחה זה סרט טוב"]
"שמעתי שלפני הזריחה זה סרט טוב"
]
}, },
"night": { "night": {
"default": "במה תרצה לצפות הלילה?", "default": "במה תרצה לצפות הלילה?",
"extra": [ "extra": ["רוצה לישון? הפיג'מות היא בחירה מצויינת."]
"רוצה לישון? הפיג'מות היא בחירה מצויינת."
]
} }
} }
}, },
@@ -165,6 +163,69 @@
"message": "חיפשנו בכל מקום: מתחת לפחים, בארון, מאחורי ה-proxy אבל בסופו של דבר לא מצאנו את הדף שאתה מחפש.", "message": "חיפשנו בכל מקום: מתחת לפחים, בארון, מאחורי ה-proxy אבל בסופו של דבר לא מצאנו את הדף שאתה מחפש.",
"title": "לא יכולנו למצוא את דף זה" "title": "לא יכולנו למצוא את דף זה"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "בטל",
"confirm": "השתמש בהגדרות ברירת המחדל",
"description": "הגדרת ברירת המחדל אינה כוללת את הזרמים הטובים ביותר ויכולה להיות איטית בצורה בלתי נסבלת.",
"title": "אתה בטוח?"
},
"extension": {
"back": "חזור",
"explainer": "באמצעות תוסף הדפדפן, אתה יכול לקבל את הזרמים הטובים ביותר שיש לנו להציע. עם התקנה פשוטה בלבד.",
"explainerIos": "לצערנו, התוסף לדפדפן לא תומך בiOS, לחץ <bold>חזור</bold> כדי לבחור אפשרות אחרת.",
"extensionHelp": "אם התקנת את התוסף אך הוא לא מזוהה. <bold>פתח את התוסף דרך תפריט התוספות של הדפדפן שלך</bold> ובצע את השלבים שעל המסך.",
"linkChrome": "התקן תוסף Chrome",
"linkFirefox": "התקן תוסף Firefox",
"notDetecting": "מותקן על Chrome, אבל האתר לא מזהה את זה? נסה לטעון את הדף מחדש!",
"notDetectingAction": "טען דף מחדש",
"status": {
"disallowed": "התוסף אינו מפועל עבור דף זה",
"disallowedAction": "אפשר תוסף",
"failed": "בקשת הסטטוס נכשלה",
"loading": "מחכה שתתקין את התוסף",
"outdated": "גרסת התוסף ישנה מדי",
"success": "התוסף עובד כמצופה!"
},
"submit": "המשך",
"title": "נתחיל עם התוסף"
},
"proxy": {
"back": "חזור",
"explainer": "עם שיטת הפרוקסי, אתה יכול לקבל זרמים באיכות מעולה על ידי יצירת פרוקסי בשירות עצמי.",
"input": {
"errorConnection": "לא ניתן להתחבר לפרוקסי",
"errorInvalidUrl": "כתובת לא תקינה",
"errorNotProxy": "ציפה לפרוקסי אבל קיבל אתר",
"label": "כתובת פרוקסי",
"placeholder": "https://"
},
"link": "למד כיצד ליצור פרוקסי",
"submit": "שלח פרוקסי",
"title": "בואו ניצור פרוקסי חדש"
},
"start": {
"explainer": "כדי לקבל את הזרמים הכי טובים שאפשר. תצטרך לבחור באיזו שיטת סטרימינג תרצה להשתמש.",
"options": {
"default": {
"text": "אני לא רוצה זרמים באיכות טובה,<0 /> <1>השתמש בהגדרת ברירת המחדל</1>"
},
"extension": {
"action": "התקן תוסף",
"description": "התקן תוסף דפדפן וקבל גישה למקורות הטובים ביותר.",
"quality": "איכות מעולה",
"title": "תוסף הדפדפן"
},
"proxy": {
"action": "הגדר פרוקסי",
"description": "הגדר פרוקסי תוך 5 דקות בלבד וקבל גישה למקורות מעולים.",
"quality": "איכות טובה",
"title": "פרוקסי מותאם אישית"
}
},
"title": "בוא נעשה לך התקנה עם movie-web"
}
},
"overlays": { "overlays": {
"close": "סגור" "close": "סגור"
}, },
@@ -179,10 +240,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות.", "disclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות.",
"downloadPlaylist": "הורד פלייליסט",
"downloadSubtitle": "הורד את הכתוביות הנוכחיות", "downloadSubtitle": "הורד את הכתוביות הנוכחיות",
"downloadVideo": "הורד וידאו", "downloadVideo": "הורד וידאו",
"hlsDisclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות. שימו לב שאתם מורידים רשימת השמעה של HLS, זה מיועד למשתמשים שמכירים הזרמת מולטימדיה מתקדמת.", "hlsDisclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות.<br /><br />שים לב שאתה מוריד רשימת השמעה של HLS, <bold>לא מומלץ להוריד אם אינך מכיר פורמטים מתקדמים של סטרימינג </bold>. נסה מקורות שונים עבור פורמטים שונים.",
"onAndroid": { "onAndroid": {
"1": "כדי להוריד באנדרואיד, לחץ על כפתור ההורדה ולאחר מכן, בדף החדש, <bold>הקש והחזק</bold> על הסרטון, ולאחר מכן בחר <bold>שמור</bold>.", "1": "כדי להוריד באנדרואיד, לחץ על כפתור ההורדה ולאחר מכן, בדף החדש, <bold>הקש והחזק</bold> על הסרטון, ולאחר מכן בחר <bold>שמור</bold>.",
"shortTitle": "הורדה / אנדרויד", "shortTitle": "הורדה / אנדרויד",
@@ -206,7 +266,8 @@
"episodeBadge": "פ{{episode}}", "episodeBadge": "פ{{episode}}",
"loadingError": "ארע שגיאה בטעינת העונה", "loadingError": "ארע שגיאה בטעינת העונה",
"loadingList": "טוען...", "loadingList": "טוען...",
"loadingTitle": "טוען..." "loadingTitle": "טוען...",
"unairedEpisodes": "פרק אחד או יותר בעונה זו הושבת מכיוון שהם עדיין לא שודרו."
}, },
"playback": { "playback": {
"speedLabel": "מהירות הניגון", "speedLabel": "מהירות הניגון",
@@ -258,6 +319,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "לא ניתן היה לטעון מטא נתונים של ה-API, אנא בדוק את חיבור האינטרנט שלך.",
"title": "טעינת מטא נתונים של ממשק API נכשלה"
},
"dmca": {
"badge": "הוסר",
"text": "מדיה זו אינה זמינה יותר עקב הודעת הסרה או תביעה בגין זכויות יוצרים.",
"title": "מדיה הוסרה"
},
"extensionPermission": {
"badge": "הרשאה חסר",
"button": "השתמש בתוסף",
"text": "יש לך את תוסף הדפדפן, אך אנו זקוקים לאישורך כדי להתחיל להשתמש בתוסף.",
"title": "הגדר את התוסף"
},
"failed": { "failed": {
"badge": "נכשל", "badge": "נכשל",
"homeButton": "חזור לדף הבית", "homeButton": "חזור לדף הבית",
@@ -307,6 +383,12 @@
"remaining": "{{timeLeft}} נשאר • סיים ב {{timeFinished, datetime}}", "remaining": "{{timeLeft}} נשאר • סיים ב {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "אנא ודא שאתה אנושי על ידי מילוי ה-Captcha בצד ימין. זה כדי לשמור על movie-web!",
"error": "נכשל אימות האנושיות שלך. בבקשה נסה שוב.",
"title": "אנחנו צריכים לאמת שאתה אנושי.",
"verifyingHumanity": "מאמת את האנושיות שלך..."
} }
}, },
"screens": { "screens": {
@@ -379,24 +461,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "אם תרצה להתחבר ל-backend מותאם אישית כדי לאחסן את הנתונים שלך, הפעל זאת וספק את כתובת האתר.", "description": "אם תרצה להתחבר ל-backend מותאם אישית כדי לאחסן את הנתונים שלך, הפעל זאת וספק את כתובת האתר. <0>הוראות.</0>",
"label": "שרת אישי", "label": "שרת אישי",
"urlLabel": "כתובת אתר מותאמת אישית של שרת" "urlLabel": "כתובת אתר מותאמת אישית של שרת"
}, },
"setup": {
"doSetup": "עשה הגדרה",
"errorStatus": {
"description": "נראה כי פריט אחד או יותר בהגדרה זו זקוקים לתשומת לבך.",
"title": "משהו צריך את תשומת ליבך"
},
"itemError": "משהו לא בסדר בהגדרה הזו. עבור שוב על ההגדרה כדי לתקן את זה.",
"items": {
"default": "הגדרת ברירת מחדל",
"extension": "תוסף",
"proxy": "פרוקסי מותאם אישית"
},
"redoSetup": "בצע מחדש את ההגדרה",
"successStatus": {
"description": "כל הדברים נמצאים במקום כדי שתוכל להתחיל לצפות במדיה האהובה עליך.",
"title": "הכל מוכן!"
},
"unsetStatus": {
"description": "אנא לחץ על הלחצן מימין כדי להתחיל בתהליך ההגדרה.",
"title": "לא עברת את ההגדרה"
}
},
"title": "התחברויות", "title": "התחברויות",
"workers": { "workers": {
"addButton": "הוסף עובד חדש", "addButton": "הוסף עובד חדש",
"description": "כדי שהאפליקציה תפעל, כל התעבורה מנותבת דרך פרוקסי. הפעל זאת אם אתה רוצה להביא עובדים משלך.", "description": "כדי שהאפליקציה תפעל, כל התעבורה מנותבת דרך פרוקסי. הפעל זאת אם אתה רוצה להביא עובדים משלך. <0>הוראות.</0>",
"emptyState": "עדיין אין עובדים, הוסף אחד למטה", "emptyState": "עדיין אין עובדים, הוסף אחד למטה",
"label": "השתמש בעובדי פרוקסי מותאמים אישית", "label": "השתמש בעובדי פרוקסי מותאמים אישית",
"urlLabel": "כתובות אתרים של עובדים", "urlLabel": "כתובות אתרים של עובדים",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "שפת האפליקציה", "language": "שפת האפליקציה",
"languageDescription": "השפה החלה על האפליקציה כולה.", "languageDescription": "השפה החלה על האפליקציה כולה.",
"title": "מקומי" "thumbnail": "צור טאמבניילים",
"thumbnailDescription": "לרוב, לסרטונים אין טאמבניילים. אתה יכול להפעיל את ההגדרה הזו כדי ליצור אותם, אבל הם יכולים להפוך את הסרטון שלך לאיטי יותר.",
"thumbnailLabel": "צור טאמבניילים",
"title": "העדפות"
}, },
"reset": "איפוס", "reset": "איפוס",
"save": "לשמור", "save": "לשמור",

View File

@@ -57,6 +57,8 @@
}, },
"host": "आप <0>{{hostname}}</0> से कनेक्ट हो रहे हैं - खाता बनाने से पहले कृपया पुष्टि करें कि आप इस पर भरोसा करते हैं", "host": "आप <0>{{hostname}}</0> से कनेक्ट हो रहे हैं - खाता बनाने से पहले कृपया पुष्टि करें कि आप इस पर भरोसा करते हैं",
"no": "पीछे जाये", "no": "पीछे जाये",
"noHost": "सर्वर कॉन्फ़िगर नहीं किया गया है, इसलिए आप खाता नहीं बना सकते",
"noHostTitle": "सर्वर कॉन्फ़िगर नहीं है!",
"title": "क्या आपको इस सर्वर पर भरोसा है?", "title": "क्या आपको इस सर्वर पर भरोसा है?",
"yes": "मुझे इस सर्वर पर भरोसा है" "yes": "मुझे इस सर्वर पर भरोसा है"
}, },
@@ -95,6 +97,7 @@
"about": "साइट के बारे में", "about": "साइट के बारे में",
"dmca": "DMCA", "dmca": "DMCA",
"login": "लॉग इन", "login": "लॉग इन",
"onboarding": "स्थापित करना",
"pagetitle": "{{title}} - मूवी-वेब", "pagetitle": "{{title}} - मूवी-वेब",
"register": "नया खाता बनायें", "register": "नया खाता बनायें",
"settings": "सेटिंग्स" "settings": "सेटिंग्स"
@@ -115,7 +118,15 @@
"failed": "मीडिया ढूंढने में विफल, पुनः प्रयास करें!", "failed": "मीडिया ढूंढने में विफल, पुनः प्रयास करें!",
"loading": "लोड हो रहा है..।", "loading": "लोड हो रहा है..।",
"noResults": "हमें कुछ नहीं मिला!", "noResults": "हमें कुछ नहीं मिला!",
"placeholder": "क्या देखना चाहते हो भाई?", "placeholder": {
"default": "क्या देखना चाहते हो?",
"extra": [
"आप क्या अन्वेषण करना चाहते हैं?",
"आपकी वॉचलिस्ट में क्या है?",
"आपकी पसंदीदा फिल्म कौनसी है?",
"आपकी पसंदीदा सीरीज़ कौन सी है?"
]
},
"sectionTitle": "खोज के परिणाम" "sectionTitle": "खोज के परिणाम"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "हमने हर जगह देखा: डिब्बे के नीचे, कोठरी में, प्रॉक्सी के पीछे लेकिन अंततः वह पेज नहीं मिला जिसे आप ढूंढ रहे थे।", "message": "हमने हर जगह देखा: डिब्बे के नीचे, कोठरी में, प्रॉक्सी के पीछे लेकिन अंततः वह पेज नहीं मिला जिसे आप ढूंढ रहे थे।",
"title": "वह पृष्ठ नहीं मिल सका" "title": "वह पृष्ठ नहीं मिल सका"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "रद्द करना",
"confirm": "डिफ़ॉल्ट सेटअप का उपयोग करें",
"description": "डिफ़ॉल्ट सेटअप में सर्वोत्तम स्ट्रीम नहीं हैं और यह असहनीय रूप से धीमा हो सकता है।",
"title": "क्या आपको यकीन है?"
},
"extension": {
"back": "वापस जाओ",
"explainer": "ब्राउज़र एक्सटेंशन का उपयोग करके, आप हमारे द्वारा प्रदान की जाने वाली सर्वोत्तम स्ट्रीम प्राप्त कर सकते हैं। बस एक साधारण इंस्टालेशन के साथ।",
"explainerIos": "दुर्भाग्य से, ब्राउज़र एक्सटेंशन iOS पर समर्थित नहीं है, दूसरा विकल्प चुनने के लिए <bold>वापस जाएं</bold> दबाएं।",
"extensionHelp": "यदि आपने एक्सटेंशन इंस्टॉल किया है लेकिन उसका पता नहीं चला है, तो <bold>अपने ब्राउज़र एक्सटेंशन मेनू के माध्यम से एक्सटेंशन खोलें</bold> और स्क्रीन पर दिए गए चरणों का पालन करें।",
"linkChrome": "Chrome एक्सटेंशन इंस्टॉल करें",
"linkFirefox": "Firefox एक्सटेंशन इंस्टॉल करें",
"notDetecting": "Chrome पर इंस्टॉल किया गया है, लेकिन साइट इसका पता नहीं लगा रही है? पृष्ठ को पुनः लोड करने का प्रयास करें!",
"notDetectingAction": "पृष्ठ पुनः लोड करें",
"status": {
"disallowed": "इस पृष्ठ के लिए एक्सटेंशन सक्षम नहीं है",
"disallowedAction": "एक्सटेंशन सक्षम",
"failed": "स्थिति का अनुरोध करने में विफल",
"loading": "आपके द्वारा एक्सटेंशन इंस्टॉल करने की प्रतीक्षा की जा रही है",
"outdated": "एक्सटेंशन संस्करण बहुत पुराना है",
"success": "एक्सटेंशन अपेक्षा के अनुरूप काम कर रहा है!"
},
"submit": "जारी रखना",
"title": "आइए एक एक्सटेंशन से शुरू करें"
},
"proxy": {
"back": "वापस जाओ",
"explainer": "प्रॉक्सी विधि से, आप स्वयं-सेवा प्रॉक्सी बनाकर बढ़िया गुणवत्ता वाली स्ट्रीम प्राप्त कर सकते हैं।",
"input": {
"errorConnection": "प्रॉक्सी से कनेक्ट नहीं हो सका",
"errorInvalidUrl": "मान्य यूआरएल नहीं",
"errorNotProxy": "एक प्रॉक्सी की उम्मीद थी लेकिन एक वेबसाइट मिली",
"label": "प्रॉक्सी यूआरएल",
"placeholder": "https://"
},
"link": "પ્રોક્સી કેવી રીતે બનાવવી તે જાણો",
"submit": "प्रॉक्सी सबमिट करें",
"title": "आइए एक नई प्रॉक्सी बनाएं"
},
"start": {
"explainer": "सर्वोत्तम संभव स्ट्रीम प्राप्त करने के लिए, आपको यह चुनना होगा कि आप किस स्ट्रीमिंग विधि का उपयोग करना चाहते हैं।",
"options": {
"default": {
"text": "मुझे अच्छी गुणवत्ता वाली स्ट्रीम नहीं चाहिए,<0 /> <1>डिफ़ॉल्ट सेटअप का उपयोग करें</1>"
},
"extension": {
"action": "एक्सटेंशन इंस्टॉल करें",
"description": "ब्राउज़र एक्सटेंशन इंस्टॉल करें और सर्वोत्तम स्रोतों तक पहुंच प्राप्त करें।",
"quality": "अच्छी गुणवत्ता",
"title": "ब्राउज़र एक्सटेंशन"
},
"proxy": {
"action": "प्रॉक्सी सेटअप करें",
"description": "केवल 5 मिनट में एक प्रॉक्सी सेटअप करें और बेहतरीन स्रोतों तक पहुंच प्राप्त करें।",
"quality": "अच्छी गुणवत्ता",
"title": "कस्टम प्रॉक्सी"
}
},
"title": "आइए आपको मूवी-वेब के साथ सेटअप करवाते हैं"
}
},
"overlays": { "overlays": {
"close": "बंद करना" "close": "बंद करना"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "HLS प्लेलिस्ट लिंक कॉपी करें",
"disclaimer": "डाउनलोड सीधे प्रदाता से लिए जाते हैं। मूवी-वेब का इस पर नियंत्रण नहीं है कि डाउनलोड कैसे प्रदान किए जाते हैं।", "disclaimer": "डाउनलोड सीधे प्रदाता से लिए जाते हैं। मूवी-वेब का इस पर नियंत्रण नहीं है कि डाउनलोड कैसे प्रदान किए जाते हैं।",
"downloadPlaylist": "प्लेलिस्ट डाउनलोड करें",
"downloadSubtitle": "वर्तमान उपशीर्षक डाउनलोड करें", "downloadSubtitle": "वर्तमान उपशीर्षक डाउनलोड करें",
"downloadVideo": "वीडियो डाउनलोड करें", "downloadVideo": "वीडियो डाउनलोड करें",
"hlsDisclaimer": "डाउनलोड सीधे प्रदाता से लिए जाते हैं। मूवी-वेब का इस पर नियंत्रण नहीं है कि डाउनलोड कैसे प्रदान किए जाते हैं। कृपया ध्यान दें कि आप एक एचएलएस प्लेलिस्ट डाउनलोड कर रहे हैं, यह उन्नत मल्टीमीडिया स्ट्रीमिंग से परिचित उपयोगकर्ताओं के लिए है।", "hlsDisclaimer": "डाउनलोड सीधे प्रदाता से लिए जाते हैं। मूवी-वेब का इस पर नियंत्रण नहीं है कि डाउनलोड कैसे प्रदान किए जाते हैं।<br /><br />कृपया ध्यान दें कि आप एक HLS प्लेलिस्ट डाउनलोड कर रहे हैं, <bold>यदि आप उन्नत स्ट्रीमिंग प्रारूपों से परिचित नहीं हैं तो इसे डाउनलोड करने की अनुशंसा नहीं की जाती है</bold>। विभिन्न प्रारूपों के लिए अलग-अलग स्रोत आज़माएँ।",
"onAndroid": { "onAndroid": {
"1": "एंड्रॉइड पर डाउनलोड करने के लिए, डाउनलोड बटन पर क्लिक करें, फिर नए पेज पर, वीडियो पर <bold>टैप करके रखें</bold>, फिर <bold>save</bold> चुनें।", "1": "एंड्रॉइड पर डाउनलोड करने के लिए, डाउनलोड बटन पर क्लिक करें, फिर नए पेज पर, वीडियो पर <bold>टैप करके रखें</bold>, फिर <bold>save</bold> चुनें।",
"shortTitle": "डाउनलोड / एंड्रॉइड", "shortTitle": "डाउनलोड / एंड्रॉइड",
@@ -259,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "एपीआई मेटाडेटा लोड नहीं हो सका, कृपया अपना इंटरनेट कनेक्शन जांचें।",
"title": "एपीआई मेटाडेटा लोड करने में विफल"
},
"dmca": {
"badge": "निकाला गया",
"text": "निष्कासन नोटिस या कॉपीराइट दावे के कारण यह मीडिया अब उपलब्ध नहीं है।",
"title": "मीडिया हटा दिया गया है"
},
"extensionPermission": {
"badge": "अनुमति अनुपलब्ध",
"button": "एक्सटेंशन का उपयोग करें",
"text": "आपके पास ब्राउज़र एक्सटेंशन है, लेकिन एक्सटेंशन का उपयोग शुरू करने के लिए हमें आपकी अनुमति की आवश्यकता है।",
"title": "एक्सटेंशन कॉन्फ़िगर करें"
},
"failed": { "failed": {
"badge": "असफल", "badge": "असफल",
"homeButton": "घर जाओ", "homeButton": "घर जाओ",
@@ -308,6 +397,12 @@
"remaining": "{{timeLeft}} समय बचा है • ख़तम होगा {{timeFinished, datetime}}", "remaining": "{{timeLeft}} समय बचा है • ख़तम होगा {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "कृपया दाईं ओर दिए गए कैप्चा को पूरा करके सत्यापित करें कि आप इंसान हैं। यह मूवी-वेब को सुरक्षित रखने के लिए है!",
"error": "आपकी मानवता को सत्यापित करने में विफल. कृपया पुन: प्रयास करें।",
"title": "हमें यह सत्यापित करने की आवश्यकता है कि आप इंसान हैं।",
"verifyingHumanity": "आपकी मानवता का सत्यापन..।"
} }
}, },
"screens": { "screens": {
@@ -380,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "यदि आप अपना डेटा संग्रहीत करने के लिए कस्टम बैकएंड से कनेक्ट करना चाहते हैं, तो इसे सक्षम करें और URL प्रदान करें।", "description": "यदि आप अपना डेटा संग्रहीत करने के लिए कस्टम बैकएंड से कनेक्ट करना चाहते हैं, तो इसे सक्षम करें और URL प्रदान करें। <0>निर्देश।</0>",
"label": "कस्टम सर्वर", "label": "कस्टम सर्वर",
"urlLabel": "कस्टम सर्वर यूआरएल" "urlLabel": "कस्टम सर्वर यूआरएल"
}, },
"setup": {
"doSetup": "सेटअप करें",
"errorStatus": {
"description": "ऐसा लगता है कि इस सेटअप में एक या अधिक आइटम पर आपके ध्यान की आवश्यकता है।",
"title": "किसी चीज़ पर आपका ध्यान चाहिए"
},
"itemError": "इस सेटिंग में कुछ गड़बड़ है। इसे ठीक करने के लिए फिर से सेटअप से गुजरें।",
"items": {
"default": "डिफ़ॉल्ट सेटअप",
"extension": "विस्तार",
"proxy": "कस्टम प्रॉक्सी"
},
"redoSetup": "सेटअप पुनः करें",
"successStatus": {
"description": "अपना पसंदीदा मीडिया देखना शुरू करने के लिए सभी चीज़ें मौजूद हैं।",
"title": "सब कुछ व्यवस्थित है!"
},
"unsetStatus": {
"description": "सेटअप प्रक्रिया शुरू करने के लिए कृपया दाईं ओर बटन पर क्लिक करें।",
"title": "आप सेटअप से नहीं गुजरे हैं"
}
},
"title": "सम्बन्ध", "title": "सम्बन्ध",
"workers": { "workers": {
"addButton": "नया कार्यकर्ता जोड़ें", "addButton": "नया कार्यकर्ता जोड़ें",
"description": "एप्लिकेशन को कार्यशील बनाने के लिए, सभी ट्रैफ़िक को प्रॉक्सी के माध्यम से रूट किया जाता है। यदि आप अपने स्वयं के श्रमिकों को लाना चाहते हैं तो इसे सक्षम करें।", "description": "एप्लिकेशन को कार्यशील बनाने के लिए, सभी ट्रैफ़िक को प्रॉक्सी के माध्यम से रूट किया जाता है। यदि आप अपने स्वयं के श्रमिकों को लाना चाहते हैं तो इसे सक्षम करें। <0>निर्देश।</0>",
"emptyState": "अभी तक कोई कर्मचारी नहीं, नीचे एक जोड़ें", "emptyState": "अभी तक कोई कर्मचारी नहीं, नीचे एक जोड़ें",
"label": "कस्टम प्रॉक्सी कार्यकर्ताओं का उपयोग करें", "label": "कस्टम प्रॉक्सी कार्यकर्ताओं का उपयोग करें",
"urlLabel": "कार्यकर्ता यूआरएल", "urlLabel": "कार्यकर्ता यूआरएल",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "अनुप्रयोग भाषा", "language": "अनुप्रयोग भाषा",
"languageDescription": "भाषा संपूर्ण अनुप्रयोग पर लागू होती है।", "languageDescription": "भाषा संपूर्ण अनुप्रयोग पर लागू होती है।",
"title": "स्थानीय" "thumbnail": "थंबनेल जनरेट करें",
"thumbnailDescription": "अधिकांश समय, वीडियो में थंबनेल नहीं होते हैं। आप उन्हें तुरंत उत्पन्न करने के लिए इस सेटिंग को सक्षम कर सकते हैं लेकिन वे आपके वीडियो को धीमा कर सकते हैं।",
"thumbnailLabel": "थंबनेल जनरेट करें",
"title": "पसंद"
}, },
"reset": "रीसेट", "reset": "रीसेट",
"save": "सेव", "save": "सेव",

View File

@@ -115,7 +115,10 @@
"failed": "Gagal menemukan media, coba lagi!", "failed": "Gagal menemukan media, coba lagi!",
"loading": "Memuat...", "loading": "Memuat...",
"noResults": "Kami tidak dapat menemukan apapun!", "noResults": "Kami tidak dapat menemukan apapun!",
"placeholder": "Apa yang ingin anda tonton?", "placeholder": {
"default": "Apa yang ingin anda tonton?",
"extra": []
},
"sectionTitle": "Hasil pencarian" "sectionTitle": "Hasil pencarian"
}, },
"titles": { "titles": {
@@ -127,15 +130,11 @@
}, },
"morning": { "morning": {
"default": "Apa yang ingin anda tonton pagi ini?", "default": "Apa yang ingin anda tonton pagi ini?",
"extra": [ "extra": ["Kayaknya film Before Sunrise bagus deh"]
"Kayaknya film Before Sunrise bagus deh"
]
}, },
"night": { "night": {
"default": "Apa yang ingin anda tonton malam ini?", "default": "Apa yang ingin anda tonton malam ini?",
"extra": [ "extra": ["Capek? Katanya The Exocist rekomended."]
"Capek? Katanya The Exocist rekomended."
]
} }
} }
}, },
@@ -179,7 +178,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Tautan unduhan diambil langsung dari penyedia pihak ketiga. Aplikasi ini tidak memiliki kendali bagaimana unduhan disediakan.", "disclaimer": "Tautan unduhan diambil langsung dari penyedia pihak ketiga. Aplikasi ini tidak memiliki kendali bagaimana unduhan disediakan.",
"downloadPlaylist": "Unduh playlist",
"downloadSubtitle": "Unduh subtitle", "downloadSubtitle": "Unduh subtitle",
"downloadVideo": "Unduh media", "downloadVideo": "Unduh media",
"hlsDisclaimer": "Tautan unduhan diambil langsung dari penyedia pihak ketiga. Aplikasi ini tidak memiliki kendali bagaimana unduhan disediakan. Harap diperhatikan, anda akan mengunduh HLS playlist, media ini hanya ditunjukan bagi pengguna tingkat lanjut.", "hlsDisclaimer": "Tautan unduhan diambil langsung dari penyedia pihak ketiga. Aplikasi ini tidak memiliki kendali bagaimana unduhan disediakan. Harap diperhatikan, anda akan mengunduh HLS playlist, media ini hanya ditunjukan bagi pengguna tingkat lanjut.",
@@ -393,11 +391,6 @@
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "Bahasa aplikasi",
"languageDescription": "Bahasa yang akan digunakan di seluruh aplikasi.",
"title": "Bahasa"
},
"reset": "Reset", "reset": "Reset",
"save": "Simpan", "save": "Simpan",
"sidebar": { "sidebar": {

View File

@@ -0,0 +1,547 @@
{
"about": {
"description": "movie-web er vefforrit sem leitar á netinu að streymum. Markmið liðsins er naumhyggju nálgun á að horfa á efni.",
"faqTitle": "Algengar spurningar",
"q1": {
"body": "movie-web hýsir ekki neitt efni. Þegar þú ýtir á eitthvað til að horfa á, er leitað á netinu fyrir það efni (Þú getur séð hvaða heimild við erum að nota á hleðslu skjánum og í 'myndbands heimildir' flipanum). Skrár eru aldrei settar inn af movie-web, allt er í gegnum leitarvél.",
"title": "Hvaðan kemur efnið?"
},
"q2": {
"body": "Þú getur ekki beðið um þætti eða myndir, movie-web stýrir ekki neinu efni. Allt efni er skoðað í gegnum heimildir á netinu.",
"title": "Hvar get ég beðið um þætti eða myndir?"
},
"q3": {
"body": "Leitarniðurstöður okkar eru knúnar af The Movie Database (TMDB) og eru sýndar þótt að heimildir okkar hafa ekki efnið.",
"title": "Leitarniðurstöðurnar sýna þættina eða myndina, af hverju get ég ekki spilað það?"
},
"title": "Um movie-web"
},
"actions": {
"copied": "Afritað",
"copy": "Afrita"
},
"auth": {
"createAccount": "Hefurðu ekki reikning ennþá? <0>Búðu til reikning.</0>",
"deviceNameLabel": "Nafn tækis",
"deviceNamePlaceholder": "Einkasími",
"generate": {
"description": "Þitt lykilorð lætur eins og notandanafn og lykilorð. Vertu viss um að halda því öruggu út að þú munt þurfa að nota það til að komast inn í reikningin þinn",
"next": "Ég hef vistað lykilorðið mitt",
"passphraseFrameLabel": "Lykilorð",
"title": "Þitt lykilorð"
},
"hasAccount": "Hefurðu reikning nú þegar? <0>Skráðu þig inn hér.</0>",
"login": {
"description": "Vinsamlegast sláðu inn lykilorðið þitt til þess að skrá þig inn í reikningin þinn",
"deviceLengthError": "Vinsamlegast settu inn nafn fyrir tækið þitt",
"passphraseLabel": "12-Orða lykilorð",
"passphrasePlaceholder": "Lykilorð",
"submit": "Skrá inn",
"title": "Skráðu þig inn í reikningin þinn",
"validationError": "Vitlaust eða óklárað lykilorð"
},
"register": {
"information": {
"color1": "Prófíl litur eitt",
"color2": "Prófíl litur tvö",
"header": "Sláðu inn nafn fyrir tækið þitt og veldu liti og notanda tákn að þínu vali",
"icon": "Notanda tákn",
"next": "Næst",
"title": "Reiknings upplýsingar"
}
},
"trust": {
"failed": {
"text": "Stilltirðu það rétt?",
"title": "Náðist ekki í netþjón"
},
"host": "Þú ert að tengjast við <0>{{hostname}}</0> - vinsamlegast staðfestu að þú treystir því áður en þú býrð til reikning",
"no": "Fara til baka",
"noHost": "Netjónninn hefur ekki verið stilltur, þess vegna getur þú ekki búið til reikning",
"noHostTitle": "Netþjónn ekki stilltur!",
"title": "Treystir þú þessum netþjóni?",
"yes": "Ég treysti þessum netþjóni"
},
"verify": {
"description": "Vinsamlegst sláðu inn lykilorðið þitt frá því áðan til þess að staðfesta að þú hefur vistað það og til að stofna nýjan reikning",
"invalidData": "Gögn eru ekki gild",
"noMatch": "Lykilorð passar ekki saman",
"passphraseLabel": "Þitt 12-orða lykilorð",
"recaptchaFailed": "ReCaptcha staðfesting mistókst",
"register": "Stofna reikning",
"title": "Staðfestu þitt lykilorð"
}
},
"errors": {
"badge": "Það bilaði",
"details": "Villu upplýsingar",
"reloadPage": "Endurhlaðaðu vefsíðuna",
"showError": "Sýna villu upplýsingar",
"title": "Við lentum í villu!"
},
"footer": {
"legal": {
"disclaimer": "Fyrirvari",
"disclaimerText": "movie-web hýsir engar skrár, það tengist eingöngu þjónustu þriðja aðila. Lagleg atriði ættu að vera rædd við skráarhýsinga og veitanda. movie-web er ekki ábyrg fyrir neinum skrám sýndar af myndbands veitöndum."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Horfðu á uppáhalds þætti og myndirnar þínar með þessu opna hugbúnaða forriti."
},
"global": {
"name": "movie-web",
"pages": {
"about": "Um",
"dmca": "DMCA",
"login": "Skrá inn",
"onboarding": "Setja upp",
"pagetitle": "{{title}} - movie-web",
"register": "Skrá",
"settings": "Stillingar"
}
},
"home": {
"bookmarks": {
"sectionTitle": "Bókamerki"
},
"continueWatching": {
"sectionTitle": "Haltu Áfram Að Horfa"
},
"mediaList": {
"stopEditing": "Hætta að breyta"
},
"search": {
"allResults": "Þetta er allt sem við höfum!",
"failed": "Mostókst að finna miðil, reyndu aftur!",
"loading": "Hlaðið...",
"noResults": "Við gátum ekki fundið neitt!",
"placeholder": {
"default": "Hvað viltu horfa á?",
"extra": [
"Hvað viltu kanna?",
"Hvað er á áhorfslistanum þínum?",
"Hvað er uppáhalds bíómyndin þín?",
"Hvað er uppáhalds þáttaröðin þín?"
]
},
"sectionTitle": "Leitar niðurstöður"
},
"titles": {
"day": {
"default": "Hvað myndirðu vilja horfa á þetta kvöldið?",
"extra": [
"Fynnst þér þú vera ævintýralegur? Jurrasic Park gæti verið fullkomna valið."
]
},
"morning": {
"default": "Hvað myndirðu vilja horfa á þessum morgni?",
"extra": [
"Ég heyrði að Before Sunrise sé góð"
]
},
"night": {
"default": "Hvað myndirðu vilja horfa á í nótt?",
"extra": [
"Þreytt? Ég heyrði að The Exorcist sé góð."
]
}
}
},
"media": {
"episodeDisplay": "S{{season}} Þ{{episode}}",
"types": {
"movie": "Mynd",
"show": "Þáttur"
}
},
"navigation": {
"banner": {
"offline": "Athugaðu net tengingu þína"
},
"menu": {
"about": "Um okkur",
"donation": "Styrkja",
"logout": "Skrá út",
"register": "Samstilla við ský",
"settings": "Stillingar",
"support": "Stuðningur"
}
},
"notFound": {
"badge": "Ekki fundið",
"goHome": "Aftur heim",
"message": "Við leituðum alls staðar: undir ruslafötunum, inn í skápnum, á bakvið proxy þjónin en við gátum ekki fundið síðuna sem þú ert að leita af.",
"title": "Gat ekki fundið síðu"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Hætta við",
"confirm": "Nota venjulegu uppsetninguna",
"description": "Venjulega uppsetningin hefur ekki bestu streymin og getur verið óþolandi og hæg.",
"title": "Ertu viss?"
},
"extension": {
"back": "Til baka",
"explainer": "þú getur fengið bestu streymi sem við höfum með því að nota viðbótið. Bara með einfaldri niðurhalningu.",
"explainerIos": "Því miður, er viðbótið ekki stytt á iOS, Ýttu á <bold>Til baka</bold> til að velja annan möguleika.",
"extensionHelp": "Ef þú hefur hlaðað niður viðbótinu en það er ekki greint, <bold>opnaðu viðbótið í gegnum net viðbóts valmyndina þína</bold> og fylgdu skrefin á skjánum.",
"linkChrome": "Sækja Chrome viðbót",
"linkFirefox": "Sækja Firefox viðbót",
"notDetecting": "Hlaðað niður á Chrome, en síðan er ekki að greina það? Reyndu að endurhlaða síðunna!",
"notDetectingAction": "Endurhlaða síðu",
"status": {
"disallowed": "VIðbót er ekki virkt fyrir þessa síðu",
"disallowedAction": "Virkja viðbót",
"failed": "Mistókst að biðja um stöðu",
"loading": "Bíðandi eftir að þú sækjir viðbótið",
"outdated": "Viðbóts útgáfa of gömul",
"success": "Viðbót virkar eins og gert ráð fyrir!"
},
"submit": "Halda áfram",
"title": "Byrjum með viðbóti"
},
"proxy": {
"back": "Til baka",
"explainer": "Með umboðs aðferðinni, getur þú fengið frábær gæði strauma með því að búa til sjálfsafgreitt umboð.",
"input": {
"errorConnection": "Gat ekki tengst umboð",
"errorInvalidUrl": "Ekki gildur hlekkur",
"errorNotProxy": "Bjóst við umboði en fékk heimasíðu",
"label": "Umboðs hlekkur",
"placeholder": "https://"
},
"link": "Lærðu hvernig þú býrð til umboð",
"submit": "Staðfesta umboð",
"title": "Búum til nýtt umboð"
},
"start": {
"explainer": "Til þess að fá bestu möguleg streymi, þú verður að velja hvaða streymis aðferð þér langar að nota.",
"options": {
"default": {
"text": "Mig langar ekki í strymi með góðum gæðum,<0 /> <1>notaðu venjulegu uppsetninguna</1>"
},
"extension": {
"action": "Hlaðaðu niður viðbóti",
"description": "Hlaðaðu niður viðbótinu og fáðu aðgang að frábærra heimilda.",
"quality": "Bestu gæði",
"title": "Viðbót"
},
"proxy": {
"action": "Settu upp umboð",
"description": "Settu upp umboð á 5 mínútum og fáðu aðgang til frábærra heimilda.",
"quality": "Góð gæði",
"title": "Sérsniðið umboð"
}
},
"title": "Komum þér í uppsetningu með movie-web"
}
},
"overlays": {
"close": "Loka"
},
"player": {
"back": {
"default": "Aftur heim",
"short": "Til baka"
},
"casting": {
"enabled": "Steypandi í tæki..."
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Afrita HLS spilalista hlekk",
"disclaimer": "Niðurhalningar eru teknar beint frá heimildini. movie-web hefur engan kraft yfir hvernig niðurhalningarnar eru gefnar.",
"downloadSubtitle": "Hlaða niður nú verandi texta",
"downloadVideo": "Hlaða niður myndbandi",
"hlsDisclaimer": "Niðurhalningar eru teknar beint frá heimildini. movie-web hefur engan kraft yfir hvernig niðurhalningarnar eru gefnar.<br /><br />Vinsamlegast fattaðu að þú ert að niðurhala HLS spilunarlista, <bold>það er ekki mælt með að niðurhala ef þú kannt ekki mikið á háþróað streymis sniði.</bold>. Reyndu aðrar heimildir fyrir önnur sniði.",
"onAndroid": {
"1": "Til þess að niðurhala á Android, ýttu á niðurhalningar takkan síðan, á nýju síðunni, <bold>smelltu og haltu niðri</bold> á myndbandinu, veldu síðan <bold>vista</bold>.",
"shortTitle": "Hlaða niður / Android",
"title": "Að hlaða niður á Android"
},
"onIos": {
"1": "Til þess að niðurhala á iOS, ýttu á niðurhalninga takkan síðan, á nýju síðunni, ýttu á <bold><ios_share /></bold>, síðan <bold>Vista í skrár <ios_files /></bold>.",
"shortTitle": "Hlaða niður / iOS",
"title": "Að hlaða niður á iOS"
},
"onPc": {
"1": "Á PC, ýttu á niðurhalningar takkan síðan, á nýju síðunni, hægri smelltu á myndbandið og veldu <bold>Vista myndband sem</bold>",
"shortTitle": "Hlaða niður / PC",
"title": "Að hlaða niður á PC"
},
"title": "Hlaða niður"
},
"episodes": {
"button": "Þættir",
"emptyState": "Það eru engir þættir í þessari seríu, kíktu aftur seinna!",
"episodeBadge": "Þ{{episode}}",
"loadingError": "Villa að hlaða seríu",
"loadingList": "Hleðsla...",
"loadingTitle": "Hleðsla...",
"unairedEpisodes": "Einn eða fleiri þættir í þessari seríu eru ekki komnir, út að þeir hafa ekki komið út."
},
"playback": {
"speedLabel": "Spilunarhraði",
"title": "Spilunar stillingar"
},
"quality": {
"automaticLabel": "Sjálfkrafa gæði",
"hint": "Þú getur reynt að <0>skipta um heimild</0>til að fá öðruvísi gæða valkosti.",
"iosNoQuality": "Vegna takmörkum á Apple tækjum er ekki hægt að breyta um gæði á iOS með þessari heimild. Þú getur reynt að <0>breyta í aðra heimild</0> til að fá mismunandi gæðastillingar.",
"title": "Gæði"
},
"settings": {
"downloadItem": "Niðurhala",
"enableSubtitles": "Virkja texta",
"experienceSection": "Útsýnis upplifun",
"playbackItem": "Spilunar stillingar",
"qualityItem": "Gæði",
"sourceItem": "Myndbands heimildir",
"subtitleItem": "Texta stillingar",
"videoSection": "Myndbands stillingar"
},
"sources": {
"failed": {
"text": "Það kom upp villa á meðan við vorum að reyna að finna myndbönd, vinsamlegast reyndu að nota aðra heimild.",
"title": "Skröpun mistókst"
},
"noEmbeds": {
"text": "Við gátum ekki fundið neina innfellu, vinsamlegast reyndu að nota aðra heimild.",
"title": "Engar innifellur fundnar"
},
"noStream": {
"text": "Þessi heimild hefur engin streymi fyrir þessa mynd eða þætti.",
"title": "Ekkert streymi"
},
"title": "Heimildir",
"unknownOption": "Óvitað"
},
"subtitles": {
"customChoice": "Veldu texta frá skrá",
"customizeLabel": "Sérsníða",
"offChoice": "Af",
"settings": {
"backlink": "Sérsniðir textar",
"delay": "Texta seinkun",
"fixCapitals": "Lagaðu hástafi"
},
"title": "Textar",
"unknownLanguage": "Óvitað"
}
},
"metadata": {
"api": {
"text": "Gat ekki hlaðið API lýsigögn, vinsamlegast kíktu á nettenginguna þína.",
"title": "Mistókst að hlaða API lýsigögnum"
},
"dmca": {
"badge": "Fjarlæga",
"text": "Þessi miðill er ekki lengur fáanlegur út af hann hefur verið tekin niður handvirkt eða vegna höfundarréttarbrota.",
"title": "Miðill hefur verið fjarlægður"
},
"extensionPermission": {
"badge": "Leyfi vantar",
"button": "Nota viðbótina",
"text": "Þú hefur viðbótina, en við þurfum leyfið þitt til að geta byrjað að nota hana.",
"title": "Stilltu viðbótina"
},
"failed": {
"badge": "Mistókst",
"homeButton": "Fara heim",
"text": "Gat ekki hlaðið lýsingar um miðilin frá TMDB. Vinsamlegast kíktu hvort að TMBD er niðri eða læst á netinu þínu.",
"title": "Mistókst að hlaða lýsingum"
},
"notFound": {
"badge": "Ekki fundið",
"homeButton": "Aftur heim",
"text": "Við gátum ekki fundið miðilin sem þú baðst um. Annað hvort hefur hann verið fjarlægður eða þú hefur átt við hlekkin.",
"title": "Gat ekki fundið miðil."
}
},
"nextEpisode": {
"cancel": "Hætta við",
"next": "Næsti þáttur"
},
"playbackError": {
"badge": "Spilunar villa",
"errors": {
"errorAborted": "Hætt var við að sækja miðilin út af beiðni notandans.",
"errorDecode": "Þrátt fyrir að áður var sagt að þetta væro nothæft, villa kom upp meðan við vorum að reyna að afkóða miðilin, sem leiddi til villu.",
"errorGenericMedia": "Óvituð miðla villa átti sér stað.",
"errorNetwork": "Einhvernskonar net villa kom up sem kom í veg fyrir að það tókst að sækja miðilin, þrátt fyrir að áður var það hægt.",
"errorNotSupported": "Miðillin eða miðla heimildin er ekki studdar."
},
"homeButton": "Fara heim",
"text": "Það kom upp villa meðan reynt var að horfa á miðilin. Vinsamlegast reyndu aftur.",
"title": "Spilun myndbands mistóksts!"
},
"scraping": {
"items": {
"failure": "Villa kom upp",
"notFound": "Hefur ekki myndbandið",
"pending": "Leitandi af myndböndum..."
},
"notFound": {
"badge": "Ekki fundið",
"detailsButton": "Sýna smáatriði",
"homeButton": "Fara heim",
"text": "Við höfun leitað í heimildum okkar og getum ekki fundið miðilin sem þú ert að leita að! Við hýsum ekki miðlana og höfum enga stjórn yfir hvað er fáanlegt. Visnamlegast ýttu á 'Sýna smáatriði' fyrir neðan þennan texta fyrir fleiri smáatriði.",
"title": "Við gátum ekki fundið þetta"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} er eftir • Þú klárar {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Vinsamlegast sannreyndu að þú sért manneskja með því að klára Captcha-ið til hægri. Þetta er til þess að halda movie-web öruggu!",
"error": "Mistókst að sannreyna að þú sért manneskja. Vinsamlegast reyndu aftur.",
"title": "Við þurfum að sannræna að þú ert manneskja.",
"verifyingHumanity": "Að sannræna að þú sért manneskja..."
}
},
"screens": {
"dmca": {
"text": "Velkomin á sambands síðu movie-web! Við virðum hugverkarétt og viljum ræða einhver höfundarréttar áhyggjur fljótt. Ef að þú trúir að höfundarréttur þíns verks hefur verið misnotaður á okkar síðu, vinsamlegast sentu ítarlega DMCA tilkynningu til netfangsing fyrir neðan þennan texta. Vinsamlegast láttu fylgja með lýsingu af höfundaréttavarna efninu, tengiliða upplýsingat þínar, og yfirlýsingu um góða trú. Við erum staðráðin í að leysa þessi mál tafarlaust og þökkum samstarf þitt við að halda movie-web stað sem virðir sköpunargáfu og höfundarrétt.",
"title": "DMCA"
},
"loadingApp": "Hlaðandi forriti",
"loadingUser": "Hlaðandi þínum reikningi",
"loadingUserError": {
"logout": "Skrá út",
"reset": "Endurstilla sérsniðin netþjón",
"text": "Mistókst að hlaða inn reikningnum þínum",
"textWithReset": "Mistókst að hlaða inn reikningnum þínum af sérsniðna netþjóninum þínum, villtu fara aftur á venjulega netþjónin?"
},
"migration": {
"failed": "Mistókst að flytja gögnin þín.",
"inProgress": "Vinsamlegast bíddu, við erum að flytja gögnin þín. Þetta ætti ekki að taka langan tíma."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Nafn tækis",
"deviceNamePlaceholder": "Einkasími",
"editProfile": "Breyta",
"logoutButton": "Skrá út"
},
"actions": {
"delete": {
"button": "Eyða reikning",
"confirmButton": "Eyða reikning",
"confirmDescription": "Ertu viss um að þú villt eyða aðganginum þínum? Öll gögnin þín verða eydd!",
"confirmTitle": "Ertu viss?",
"text": "Það er ekki hægt að taka þetta til baka. Öll gögn munu verða eydd og ekkert getur verið tekið til baka.",
"title": "Eyða reikningi"
},
"title": "Aðgerðir"
},
"devices": {
"deviceNameLabel": "Nafn tækis",
"failed": "Mistókst að hlaða fundum",
"removeDevice": "Eyða",
"title": "Tæki"
},
"profile": {
"finish": "Klára breytingar",
"firstColor": "Reiknings litur eitt",
"secondColor": "Reiknings litur tvö",
"title": "Breyta mynd reiknings",
"userIcon": "Notandatákn"
},
"register": {
"cta": "Byrja",
"text": "Deildu áhorfunar tíma á milli tækja og haltu þeimsamstilltum.",
"title": "Samstilla við skýið"
},
"title": "Reikningur"
},
"appearance": {
"activeTheme": "Virkur",
"themes": {
"blue": "Blár",
"default": "Venjulegt",
"gray": "Grár",
"red": "Rauður",
"teal": "Blágló"
},
"title": "Útlit"
},
"connections": {
"server": {
"description": "Ef þú villt tengjast sérsniðin bakendi til að geyma gögnin þín, virktu þetta og gefðu upp hlekkin. <0>Leiðbeiningar.</0>",
"label": "Sérsniðin netþjónn",
"urlLabel": "Sérsniðinn netþjóns hlekkur"
},
"setup": {
"doSetup": "Gera uppsetningu",
"errorStatus": {
"description": "Það er einn að fleiri hlutir í þessari uppsetningu sem þarf athygli þína.",
"title": "Eitthvað þarf athygli þína"
},
"itemError": "Það er eitthvað rangt við þessa stillingu. Farðu í gegnum uppsetningu aftur til að laga hana.",
"items": {
"default": "Venjuleg uppsetning",
"extension": "Viðbót",
"proxy": "Sérsniðið umboð"
},
"redoSetup": "Endurtaka uppsetningu",
"successStatus": {
"description": "Allt er á sama stað fyrir þig að byrja að horfa á uppáhalds miðilin þinn.",
"title": "Allt er sett upp!"
},
"unsetStatus": {
"description": "Vinsamlegast ýttu á takkan til hægri til að byrja uppsetningu.",
"title": "Þú hefur ekki farið í gegnum uppsetningu"
}
},
"title": "Tengingar",
"workers": {
"addButton": "Bættu við nýjum starfsmanni",
"description": "Til að láta forritið virka, allri umboð er beint í gegnum umboð. Virktu þetta ef þú villt koma með þína eigin starfsmenn. <0>Leiðbeiningar.</0>",
"emptyState": "Engir starfsmenn komnir, bættu við einum fyir neðan þennan texta",
"label": "Notaðu sérsniðaða umboðs starfsmenn",
"urlLabel": "Starfsmanna hlekkir",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Tungumál forrits",
"languageDescription": "Tungumál beitt á allt forritið.",
"thumbnail": "Búa til smámyndir",
"thumbnailDescription": "Oftast, hafa myndbönd ekki smámyndir. Þú getur látið þessa stillingu gera þær en það gæti gert myndbandið þitt hægara.",
"thumbnailLabel": "Gera smámyndir",
"title": "Valstillingar"
},
"reset": "Endurstilla",
"save": "Vista",
"sidebar": {
"info": {
"appVersion": "Útgáfa forrits",
"backendUrl": "Bakenda hlekkur",
"backendVersion": "Bakenda útgáfa",
"hostname": "Hýsingarheiti",
"insecure": "Óöruggt",
"notLoggedIn": "Þú ert ekki skrátt inn",
"secure": "Örrugt",
"title": "Forrits upplýsingar",
"unknownVersion": "Óvitað",
"userId": "Notanda kóði"
}
},
"subtitles": {
"backgroundLabel": "Bakgrunnar gegnsægi",
"colorLabel": "Litur",
"previewQuote": "Ég má ekki óttast. Ótti er hugardrepandi.",
"textSizeLabel": "Texta stærð",
"title": "Textar"
},
"unsaved": "Þú hefur óvistaðar breytingar"
}
}

View File

@@ -1,6 +1,6 @@
{ {
"about": { "about": {
"description": "movie-web è un'applicazione web che cerca per gli stream sull'internet. Il team cerca di usare un approccio per lo più minimalista per usufruire del contenuto.", "description": "movie-web è un'applicazione web che ricerca dei stream sull'internet. Il team cerca di usare un approccio prevalentemente minimalista per usufruire del contenuto.",
"faqTitle": "Domande comuni", "faqTitle": "Domande comuni",
"q1": { "q1": {
"body": "movie-web non ospita alcun contento. Quando clicci su qualcosa da guardare, movie-web cerca l'internet per media di vostra scelta (Sull schermata di caricamento e nell tab 'sorgenti video' si può vedere quale sorgente si sta utilizzando). I media non sono mai caricati da movie-web, tutto è attraverso questo meccanismo di ricerca.", "body": "movie-web non ospita alcun contento. Quando clicci su qualcosa da guardare, movie-web cerca l'internet per media di vostra scelta (Sull schermata di caricamento e nell tab 'sorgenti video' si può vedere quale sorgente si sta utilizzando). I media non sono mai caricati da movie-web, tutto è attraverso questo meccanismo di ricerca.",
@@ -30,14 +30,14 @@
"passphraseFrameLabel": "Frase password", "passphraseFrameLabel": "Frase password",
"title": "La tua frase password" "title": "La tua frase password"
}, },
"hasAccount": "Hai già un account? <0>Accedi </0>", "hasAccount": "Hai già un account? <0>Accedi.</0>",
"login": { "login": {
"description": "Inserisci la tua frase password per accedere al proprio account", "description": "Inserisci la tua frase password per accedere al vostro account",
"deviceLengthError": "Inserisci un nome per il dispositivo", "deviceLengthError": "Inserisci un nome per il dispositivo",
"passphraseLabel": "Frase password di 12 parole", "passphraseLabel": "Frase password di 12 parole",
"passphrasePlaceholder": "Frase password", "passphrasePlaceholder": "Frase password",
"submit": "Accedi", "submit": "Accedi",
"title": "Accedi al proprio account", "title": "Accedi al vostro account",
"validationError": "Frase password incompleta o sbagliata" "validationError": "Frase password incompleta o sbagliata"
}, },
"register": { "register": {
@@ -57,11 +57,13 @@
}, },
"host": "Ti stai collegando a <0>{{hostname}}</0> - conferma la tua fiducia prima di creare un account", "host": "Ti stai collegando a <0>{{hostname}}</0> - conferma la tua fiducia prima di creare un account",
"no": "Indietro", "no": "Indietro",
"noHost": "Il server non è configurato, quindi non si può creare un account",
"noHostTitle": "Server non è configurato!",
"title": "Ti fidi di questo server?", "title": "Ti fidi di questo server?",
"yes": "Mi fido di questo server" "yes": "Mi fido di questo server"
}, },
"verify": { "verify": {
"description": "Inserisci il tuo frase password da prima per confermare che è salvato per creare il proprio account", "description": "Inserisci il tuo frase password da prima per confermare che è salvato per creare un account",
"invalidData": "I dati non sono validi", "invalidData": "I dati non sono validi",
"noMatch": "Frase password non corrisponde", "noMatch": "Frase password non corrisponde",
"passphraseLabel": "La propria frase password di 12 parole", "passphraseLabel": "La propria frase password di 12 parole",
@@ -95,6 +97,7 @@
"about": "Su di movie-web", "about": "Su di movie-web",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Accedi", "login": "Accedi",
"onboarding": "Setup",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registrarsi", "register": "Registrarsi",
"settings": "Impostazioni" "settings": "Impostazioni"
@@ -115,24 +118,32 @@
"failed": "Impossibile trovare i media, riprova!", "failed": "Impossibile trovare i media, riprova!",
"loading": "Caricamento...", "loading": "Caricamento...",
"noResults": "Non abbiamo trovato nulla!", "noResults": "Non abbiamo trovato nulla!",
"placeholder": "Cosa vuoi guardare?", "placeholder": {
"default": "Cosa vuoi guardare?",
"extra": [
"Cosa vorresti esplorare?",
"Cosa cè nella tua lista di guardare?",
"Cosè il vostro preferito film?",
"Cosè il vostro preferito serie?"
]
},
"sectionTitle": "Risultati della ricerca" "sectionTitle": "Risultati della ricerca"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "Cosa vorresti vedere questo pomeriggio?", "default": "Cosa vorresti guardare questo pomeriggio?",
"extra": [ "extra": [
"Senti avventuroso? Jurassic Park potrebbe essere la scelta perfetta." "Senti avventuroso? Jurassic Park potrebbe essere la scelta perfetta."
] ]
}, },
"morning": { "morning": {
"default": "Cosa vorresti vedere questa mattina?", "default": "Cosa vorresti guardare questa mattina?",
"extra": [ "extra": [
"Ho sentito che «Prima Dell'alba» è buono" "Ho sentito che «Prima Dell'alba» è buono"
] ]
}, },
"night": { "night": {
"default": "Cosa vorresti vedere questa stasera?", "default": "Cosa vorresti guardare questa sera?",
"extra": [ "extra": [
"Stanco? Ho sentito che L'esorciccio è buono." "Stanco? Ho sentito che L'esorciccio è buono."
] ]
@@ -165,6 +176,69 @@
"message": "Abbiamo cercato ovunque: sotto i bidoni, nell'armadio, dietro il proxy, ma alla fine non siamo riusciti a trovare la pagina che stai cercando.", "message": "Abbiamo cercato ovunque: sotto i bidoni, nell'armadio, dietro il proxy, ma alla fine non siamo riusciti a trovare la pagina che stai cercando.",
"title": "Impossibile trovare quella pagina" "title": "Impossibile trovare quella pagina"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Annulla",
"confirm": "Utilizzare setup predefinita",
"description": "Il setup predefinita non offre i migliori stream e può essere incredibilmente lento.",
"title": "Sei sicuro?"
},
"extension": {
"back": "Torna indietro",
"explainer": "Utilizzando l'estensione del browser, è possibile ottenere i stream ottimi che abbiamo da offrire. Basta una semplice installazione.",
"explainerIos": "Purtroppo, l'estensione del browser non è supportato su iOS, premere <bold>Torna indietro</bold> per scegliere un'altra opzione.",
"extensionHelp": "Se avete installato l'estensione ma non viene rilevata. <bold>Apri l'estensione attraverso il menu delle estensioni del browser</bold> e seguire i passaggi sullo schermo.",
"linkChrome": "Installa l'estensione su Chrome",
"linkFirefox": "Installa l'estensione su Firefox",
"notDetecting": "Installato su Chrome ma il sito non lo rileva? Prova a ricaricare la pagina!",
"notDetectingAction": "Ricarica pagina",
"status": {
"disallowed": "L'estensione non è attivato per questa pagina",
"disallowedAction": "Attiva l'estensione",
"failed": "Richiesta di stato fallita",
"loading": "In attesa di installare l'estensione",
"outdated": "Versione dell'estensione troppo vecchia",
"success": "L'estensione funziona come previsto!"
},
"submit": "Continua",
"title": "Iniziamo con un'estensione"
},
"proxy": {
"back": "Torna indietro",
"explainer": "Con il metodo proxy, è possibile ottenere stream di qualità ottima creando un proxy self-service.",
"input": {
"errorConnection": "Impossibile connettere al proxy",
"errorInvalidUrl": "URL non valido",
"errorNotProxy": "Avevamo previsto un proxy, ma abbiamo ottenuto un sito web",
"label": "URL proxy",
"placeholder": "https://"
},
"link": "Impare a creare un proxy",
"submit": "Invia proxy",
"title": "Creiamo un nuovo proxy"
},
"start": {
"explainer": "Per ottenere i migliori streaming possibili, è necessario scegliere il metodo di streaming da utilizzare.",
"options": {
"default": {
"text": "Non voglio stream di buona qualità, <0 /> <1>usa setup predefinita</1>"
},
"extension": {
"action": "Installa l'estensione",
"description": "Installate l'estensione del browser per accedere alle migliori sorgenti.",
"quality": "Migliore qualità",
"title": "Estensione del browser"
},
"proxy": {
"action": "Setup proxy",
"description": "Configurate un proxy in soli 5 minuti e ottenete l'accesso a ottimi fonti.",
"quality": "Buona qualità",
"title": "Proxy personalizzato"
}
},
"title": "Configuriamo movie-web"
}
},
"overlays": { "overlays": {
"close": "Chiudi" "close": "Chiudi"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Copia link HLS playlist",
"disclaimer": "I download vengono effettuati direttamente dal provider. movie-web non ha il controllo sulle modalità di fornitura dei download.", "disclaimer": "I download vengono effettuati direttamente dal provider. movie-web non ha il controllo sulle modalità di fornitura dei download.",
"downloadPlaylist": "Scarica playlist",
"downloadSubtitle": "Scarica sottotitolo attuale", "downloadSubtitle": "Scarica sottotitolo attuale",
"downloadVideo": "Scarica video", "downloadVideo": "Scarica video",
"hlsDisclaimer": "I download vengono effettuati direttamente dal provider. movie-web non ha il controllo sul modo in cui i download vengono forniti. Nota che state scaricando un playlist HLS, questio è destinato agli utenti che conoscono streaming multimediale avanzato.", "hlsDisclaimer": "I download vengono effettuati direttamente dal provider. movie-web non ha il controllo sul modo in cui i download vengono forniti.<br /><br />Nota che se state scaricando un playlist HLS, <bold>non è raccomandato di scaricare se non si ha familiarità con i formati di streaming avanzati</bold>. Prova altri sorgenti per diversi formati.",
"onAndroid": { "onAndroid": {
"1": "Per scaricare su Android, fai clic sul pulsante di scaricare, e poi nella nuova paggina, <bold>toccare e tenere premuto</bold> sul video, e selezionare <bold>salva</bold>.", "1": "Per scaricare su Android, fai clic sul pulsante di scaricare, e poi nella nuova paggina, <bold>toccare e tenere premuto</bold> sul video, e selezionare <bold>salva</bold>.",
"shortTitle": "Scarica / Android", "shortTitle": "Scarica / Android",
@@ -206,7 +280,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Errore nel caricare la stagione", "loadingError": "Errore nel caricare la stagione",
"loadingList": "Caricamento...", "loadingList": "Caricamento...",
"loadingTitle": "Caricamento..." "loadingTitle": "Caricamento...",
"unairedEpisodes": "Uno o più episodi di questa stagione sono stati disabilitati perché non sono ancora andati in onda."
}, },
"playback": { "playback": {
"speedLabel": "Velocità di riproduzione", "speedLabel": "Velocità di riproduzione",
@@ -258,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Impossibile caricare metadati API, verifica la connessione internet.",
"title": "Impossibile caricare metadati API"
},
"dmca": {
"badge": "Rimosso",
"text": "Questa media non è più disponibile a causa di un notizia takedown o un rivendicazione di copyright.",
"title": "I media sono stati rimossi"
},
"extensionPermission": {
"badge": "Permesso mancato",
"button": "Usa l'estensione",
"text": "Avete l'estensione del browser, ma serve il vostro permesso per iniziare usare l'estensione.",
"title": "Configura l'estensione"
},
"failed": { "failed": {
"badge": "Fallito", "badge": "Fallito",
"homeButton": "Vai alla pagina iniziale", "homeButton": "Vai alla pagina iniziale",
@@ -307,6 +397,12 @@
"remaining": "{{timeLeft}} rimasto • Finisce a {{timeFinished, datetime}}", "remaining": "{{timeLeft}} rimasto • Finisce a {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Verifica che siate umani completando il Captcha sulla destra. Questo serve a mantenere movie-web sicuro!",
"error": "Impossibile verificare la vostra umanità. Riprova.",
"title": "Dobbiamo verificare che lei sia umano.",
"verifyingHumanity": "Verificare la vostra umanità..."
} }
}, },
"screens": { "screens": {
@@ -315,12 +411,12 @@
"title": "DMCA" "title": "DMCA"
}, },
"loadingApp": "Caricamento dell'applicazione", "loadingApp": "Caricamento dell'applicazione",
"loadingUser": "Caricamento del proprio profilo", "loadingUser": "Caricamento del vostro profilo",
"loadingUserError": { "loadingUserError": {
"logout": "Esci", "logout": "Esci",
"reset": "Ripristino del server personalizzato", "reset": "Ripristino del server personalizzato",
"text": "Impossibile caricare il proprio profilo", "text": "Impossibile caricare il vostro profilo",
"textWithReset": "Impossibile caricare il proprio profile dal server personalizzato, vorresti ripristinare il server predefinito?" "textWithReset": "Impossibile caricare il vostro profile dal server personalizzato, vorresti ripristinare il server predefinito?"
}, },
"migration": { "migration": {
"failed": "Impossible migrare i propri dati.", "failed": "Impossible migrare i propri dati.",
@@ -339,7 +435,7 @@
"delete": { "delete": {
"button": "Eliminare l'account", "button": "Eliminare l'account",
"confirmButton": "Eliminare l'account", "confirmButton": "Eliminare l'account",
"confirmDescription": "Sei sicuro che vuoi eliminare il proprio account? Tutti i dati propri andranno persi!", "confirmDescription": "Sei sicuro che vuoi eliminare il vostro account? Tutti i dati andranno persi!",
"confirmTitle": "Sei sicuro?", "confirmTitle": "Sei sicuro?",
"text": "Questa azione è irreversibile. Tutti i propri dati verranno eliminati e non sarà possibile recuperare nulla.", "text": "Questa azione è irreversibile. Tutti i propri dati verranno eliminati e non sarà possibile recuperare nulla.",
"title": "Eliminare l'account" "title": "Eliminare l'account"
@@ -379,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Se si desideri connettersi a un backend personalizzato per memorizzare i dati, attivare questo e fornire l'URL.", "description": "Se si desideri connettersi a un backend personalizzato per memorizzare i dati, attivare questo e fornire l'URL. <0>Istruzioni.</0>",
"label": "Server personalizzato", "label": "Server personalizzato",
"urlLabel": "URL del server personalizzato" "urlLabel": "URL del server personalizzato"
}, },
"setup": {
"doSetup": "Fare setup",
"errorStatus": {
"description": "Sembra che uno o più articoli in questo setup serve la vostra attenzione.",
"title": "Qualcosa serve la vostra attenzione"
},
"itemError": "C'è un errore in questo setup. Eseguire nuovamente il setup per correggerlo.",
"items": {
"default": "Setup predefinita",
"extension": "Estensione",
"proxy": "Proxy personalizzato"
},
"redoSetup": "Rifare setup",
"successStatus": {
"description": "Tutto è pronto per iniziare a guardare i vostri media preferiti.",
"title": "Tutto è setup!"
},
"unsetStatus": {
"description": "Fare clic sul pulsante a destra per avviare il setup.",
"title": "Non l'avete completato il setup"
}
},
"title": "Connessioni", "title": "Connessioni",
"workers": { "workers": {
"addButton": "Aggiungere un nuovo lavoratore", "addButton": "Aggiungere un nuovo lavoratore",
"description": "Per far funzionare l'applicazione, tutto il traffico viene instradato attraverso i proxy. Abilitare questa opzione se si desidera portare i propri lavoratori.", "description": "Per far funzionare l'applicazione, tutto il traffico viene instradato attraverso i proxy. Abilitare questa opzione se si desidera portare i propri lavoratori. <0>Istruzioni.</0>",
"emptyState": "Non ci sono ancora lavoratori, aggiungetene uno sotto", "emptyState": "Non ci sono ancora lavoratori, aggiungetene uno sotto",
"label": "Utilizzare proxy worker personalizzati", "label": "Utilizzare proxy worker personalizzati",
"urlLabel": "URL dei lavoratori", "urlLabel": "URL dei lavoratori",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Lingua di applicazione", "language": "Lingua di applicazione",
"languageDescription": "Lingua applicata all'intera applicazione.", "languageDescription": "Lingua applicato all'intera applicazione.",
"title": "Località" "thumbnail": "Generare miniature",
"thumbnailDescription": "Nella maggior parte dei casi, i video non hanno miniature. È possibile attivare questa impostazione per generarle quando è necessario, ma possono rendere il video più lento.",
"thumbnailLabel": "Generare miniature",
"title": "Preferenze"
}, },
"reset": "Reset", "reset": "Reset",
"save": "Salva", "save": "Salva",
@@ -415,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

@@ -1,7 +1,7 @@
{ {
"about": { "about": {
"description": "movie-webは、ウェブアプリケーションで、インターネットを検索してストリームを見つけます。チームは、コンテンツの消費において主にミニマリストなアプローチを目指しています。", "description": "movie-webは、ウェブアプリケーションで、インターネットを検索してストリームを見つけます。チームは、コンテンツの消費において主にミニマリストなアプローチを目指しています。",
"faqTitle": "一般的な質問", "faqTitle": "よくある質問",
"q1": { "q1": {
"body": "movie-webはいかなるコンテンツもホストしていません。視聴するために何かをクリックすると、選択したメディアがインターネットで検索されますローディング画面と「ビデオソース」タブでは、使用しているソースが表示されます。メディアは決してmovie-webにアップロードされず、すべてがこの検索メカニズムを通じて行われます。", "body": "movie-webはいかなるコンテンツもホストしていません。視聴するために何かをクリックすると、選択したメディアがインターネットで検索されますローディング画面と「ビデオソース」タブでは、使用しているソースが表示されます。メディアは決してmovie-webにアップロードされず、すべてがこの検索メカニズムを通じて行われます。",
"title": "コンテンツはどこから来ていますか?" "title": "コンテンツはどこから来ていますか?"
@@ -25,11 +25,36 @@
"deviceNameLabel": "デバイス名", "deviceNameLabel": "デバイス名",
"deviceNamePlaceholder": "個人用の電話", "deviceNamePlaceholder": "個人用の電話",
"generate": { "generate": {
"description": "パスフレーズはユーザー名とパスワードとして機能します。アカウントにログインする際には必ず入力する必要があるため、安全に保管してください。" "description": "パスフレーズはユーザー名とパスワードとして機能します。アカウントにログインする際には必ず入力する必要があるため、安全に保管してください。",
"next": "パスフレーズを保存しました",
"passphraseFrameLabel": "パスフレーズ",
"title": "あなたのパスフレーズ"
}, },
"hasAccount": "既にアカウントをお持ちですか? <0>ログインはこちら</0>",
"login": { "login": {
"description": "ログインするにはパスフレーズを入力してください",
"deviceLengthError": "デバイス名を入力してください",
"passphraseLabel": "12単語のパスフレーズ",
"passphrasePlaceholder": "パスフレーズ",
"submit": "ログイン", "submit": "ログイン",
"title": "自分の口座にログインする" "title": "自分の口座にログインする",
"validationError": "パスワードが間違っています"
},
"register": {
"information": {
"color1": "プロフィールカラー1",
"color2": "プロフィールカラー2",
"header": "デバイス名を入力し、色とユーザーアイコンを選んでください",
"icon": "ユーザーアイコン",
"next": "次へ",
"title": "アカウント情報"
}
},
"trust": {
"failed": {
"text": "正しく設定しましたか?",
"title": "サーバーへの接続に失敗しました"
}
} }
}, },
"footer": { "footer": {
@@ -51,7 +76,10 @@
"allResults": "それがすべてです!", "allResults": "それがすべてです!",
"loading": "読み込み中...", "loading": "読み込み中...",
"noResults": "見つかりませんでした!", "noResults": "見つかりませんでした!",
"placeholder": "どんな映画を見たい?", "placeholder": {
"default": "どんな映画を見たい?",
"extra": []
},
"sectionTitle": "検索結果" "sectionTitle": "検索結果"
}, },
"titles": { "titles": {

View File

@@ -5,6 +5,34 @@
"q1": { "q1": {
"body": "movie-web មិនផ្ទុកមាតិកាណាមួយទេ។ នៅពេលអ្នកចុចលើអ្វីមួយដើម្បីមើល អ៊ីនធឺណិតត្រូវបានស្វែងរកសម្រាប់មេឌៀដែលបានជ្រើសរើស (នៅលើអេក្រង់ផ្ទុក និងក្នុងផ្ទាំង 'ប្រភពវីដេអូ' អ្នកអាចឃើញប្រភពណាមួយដែលអ្នកកំពុងប្រើ)។ ប្រព័ន្ធផ្សព្វផ្សាយមិនដែលត្រូវបានបង្ហោះដោយគេហទំព័រភាពយន្តនោះទេ អ្វីគ្រប់យ៉ាងគឺតាមរយៈយន្តការស្វែងរកនេះ។", "body": "movie-web មិនផ្ទុកមាតិកាណាមួយទេ។ នៅពេលអ្នកចុចលើអ្វីមួយដើម្បីមើល អ៊ីនធឺណិតត្រូវបានស្វែងរកសម្រាប់មេឌៀដែលបានជ្រើសរើស (នៅលើអេក្រង់ផ្ទុក និងក្នុងផ្ទាំង 'ប្រភពវីដេអូ' អ្នកអាចឃើញប្រភពណាមួយដែលអ្នកកំពុងប្រើ)។ ប្រព័ន្ធផ្សព្វផ្សាយមិនដែលត្រូវបានបង្ហោះដោយគេហទំព័រភាពយន្តនោះទេ អ្វីគ្រប់យ៉ាងគឺតាមរយៈយន្តការស្វែងរកនេះ។",
"title": "តើមាតិកាបានមកពីណា?" "title": "តើមាតិកាបានមកពីណា?"
},
"q2": {
"title": "តើខ្ញុំអាចស្នើសុំកម្មវិធី ឬ ភាពយន្តបាននៅឯណា?"
},
"q3": {
"body": "លទ្ធផលស្វែងរករបស់យើងត្រូវបានដំណើរការដោយ The Movie Database (TMDB) ហើយបង្ហាញដោយមិនខ្វល់ពីប្រភពរបស់យើងមានខ្លឹមសារឬ​អត់ទេ។",
"title": "លទ្ធផលស្វែងរកបង្ហាញកម្មវិធី ឬ ភាពយន្ត ហេតុអ្វីខ្ញុំមិនអាចមើលបាន?"
},
"title": "អំពី movie-web"
},
"actions": {
"copied": "បានចម្លង",
"copy": "ចម្លង"
},
"auth": {
"createAccount": "មិនទាន់មានគណនីមែនទេ? <0>បង្កើតគណនី</0>",
"deviceNameLabel": "ឈ្មោះឧបករណ៍",
"deviceNamePlaceholder": "ទូរស័ព្ទផ្ទាល់ខ្លួន",
"generate": {
"description": "ឃ្លាសម្ងាត់របស់អ្នកដើរតួជាឈ្មោះអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់របស់អ្នក។ ត្រូវប្រាកដថារក្សាវាឱ្យមានសុវត្ថិភាព ព្រោះអ្នកនឹងត្រូវបញ្ចូលវាដើម្បីចូលគណនីរបស់អ្នក",
"next": "ខ្ញុំបានរក្សាទុកឃ្លាសម្ងាត់របស់ខ្ញុំរួចហើយ",
"passphraseFrameLabel": "ឃ្លាសម្ងាត់",
"title": "ឃ្លាសម្ងាត់របស់អ្នក"
},
"hasAccount": "មានគណនីរួចហើយ? <0>ចូលទីនេះ</0>",
"login": {
"description": "សូមបញ្ចូលឃ្លាសម្ងាត់របស់អ្នក ដើម្បីចូលគណនីរបស់អ្នក",
"deviceLengthError": "សូមបញ្ចូលឈ្មោះឧបករណ៍"
} }
} }
} }

View File

@@ -57,6 +57,8 @@
}, },
"host": "<0>{{hostname}}</0>에 연결 중입니다 - 계정을 만들기 전에 신뢰하는지 확인해 주세요", "host": "<0>{{hostname}}</0>에 연결 중입니다 - 계정을 만들기 전에 신뢰하는지 확인해 주세요",
"no": "뒤로 가기", "no": "뒤로 가기",
"noHost": "서버가 구성되어 있지 않기 때문에 계정을 만들 수 없습니다",
"noHostTitle": "서버가 구성되지 않았습니다!",
"title": "이 서버를 신뢰하십니까?", "title": "이 서버를 신뢰하십니까?",
"yes": "네, 신뢰합니다" "yes": "네, 신뢰합니다"
}, },
@@ -82,12 +84,21 @@
"disclaimer": "면책 조항", "disclaimer": "면책 조항",
"disclaimerText": "movie-web은 어떠한 파일도 호스팅하지 않으며, 제3자 서비스에 대한 링크만 제공합니다. 법적 문제는 파일 호스트 및 제공업체와 해결해야 합니다. 동영상 제공업체가 표시하는 미디어 파일에 대해 movie-web은 책임을 지지 않습니다." "disclaimerText": "movie-web은 어떠한 파일도 호스팅하지 않으며, 제3자 서비스에 대한 링크만 제공합니다. 법적 문제는 파일 호스트 및 제공업체와 해결해야 합니다. 동영상 제공업체가 표시하는 미디어 파일에 대해 movie-web은 책임을 지지 않습니다."
}, },
"links": {
"discord": "디스코드",
"dmca": "DMCA",
"github": "깃허브"
},
"tagline": "이 오픈 소스 스트리밍 앱으로 좋아하는 프로그램과 영화를 시청하세요." "tagline": "이 오픈 소스 스트리밍 앱으로 좋아하는 프로그램과 영화를 시청하세요."
}, },
"global": { "global": {
"name": "무비-웹",
"pages": { "pages": {
"about": "소개", "about": "소개",
"dmca": "DMCA",
"login": "로그인", "login": "로그인",
"onboarding": "기본 구성",
"pagetitle": "{{title}} - movie-web",
"register": "회원가입", "register": "회원가입",
"settings": "설정" "settings": "설정"
} }
@@ -107,7 +118,15 @@
"failed": "미디어 검색에 실패하였습니다, 다시 시도해주세요!", "failed": "미디어 검색에 실패하였습니다, 다시 시도해주세요!",
"loading": "로딩...", "loading": "로딩...",
"noResults": "검색결과가 없습니다!", "noResults": "검색결과가 없습니다!",
"placeholder": "무엇을 보고 싶으신가요?", "placeholder": {
"default": "무엇을 보고 싶으신가요?",
"extra": [
"무엇을 탐험하고 싶으신가요?",
null,
"당신이 가장 좋아하는 영화는?",
"당신이 가장 좋아하는 시리즈는?"
]
},
"sectionTitle": "검색 결과" "sectionTitle": "검색 결과"
}, },
"titles": { "titles": {
@@ -132,6 +151,7 @@
} }
}, },
"media": { "media": {
"episodeDisplay": "시즌{{season}} {{episode}}화",
"types": { "types": {
"movie": "영화", "movie": "영화",
"show": "쇼" "show": "쇼"
@@ -156,6 +176,69 @@
"message": "쓰레기통 아래, 옷장, 프록시 뒤 등 모든 곳을 찾아보았지만 결국 원하는 페이지를 찾을 수 없었습니다.", "message": "쓰레기통 아래, 옷장, 프록시 뒤 등 모든 곳을 찾아보았지만 결국 원하는 페이지를 찾을 수 없었습니다.",
"title": "해당 페이지를 찾을 수 없습니다" "title": "해당 페이지를 찾을 수 없습니다"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "취소",
"confirm": "기본 설정 사용",
"description": "기본 설정은 쾌적한 스트리밍 환경을 제공하지 않으므로 다소 시청이 불편할 수 있습니다.",
"title": "정말 진행할까요?"
},
"extension": {
"back": "돌아가기",
"explainer": "확장 프로그램을 이용하므로서, 저희가 제공해야 할 최고 화질의 영상을 시청할 수 있습니다. 간단한 설치 한 번으로요.",
"explainerIos": "죄송하지만, 해당 확장 프로그램은 애플 모바일 환경에서 지원하지 않습니다, <bold> 돌아가기</bold>을 눌러 다른 옵션을 선택해 주세요.",
"extensionHelp": "확장 프로그램을 설치했지만 인식되지 않는다면, <bold>브라우저의 확장 프로그램 메뉴를 열어 해당 확장 프로그램을 클릭한 후</bold> 화면의 안내를 따라주세요.",
"linkChrome": "크롬 확장 프로그램 설치",
"linkFirefox": "파이어폭스 확장 프로그램 설치",
"notDetecting": "크롬 환경에서 설치했지만 사이트가 인식하지 못하나요? 새로고침을 시도해 보세요!",
"notDetectingAction": "새로고침",
"status": {
"disallowed": "이 페이지는 확장 프로그램 사용이 불가능합니다",
"disallowedAction": "확장 프로그램 사용",
"failed": "상태 요청 실패",
"loading": "확장 프로그램 설치를 기다리는 중입니다",
"outdated": "확장 프로그램의 버전이 오래됨",
"success": "확장 프로그램 정상 작동 중!"
},
"submit": "계속",
"title": "확장 프로그램으로 시작해 봅시다"
},
"proxy": {
"back": "돌아가기",
"explainer": "프록시 방식을 통하여, 직접 운영하는 프록시를 만들어 훌륭한 화질의 영상을 시청할 수 있습니다.",
"input": {
"errorConnection": "프록시에 연결할 수 없음",
"errorInvalidUrl": "유효하지 않은 URL",
"errorNotProxy": "프록시가 아닌 웹사이트가 입력되었습니다",
"label": "프록시 URL",
"placeholder": "https://"
},
"link": "프록시 만드는 방법 배우기",
"submit": "프록시 제출",
"title": "새로운 프록시를 만들어 봅시다"
},
"start": {
"explainer": "가장 쾌적한 송출을 위하여 사용하고 싶은 송출 방식을 선택해야 합니다.",
"options": {
"default": {
"text": "화질 좋은 영상을 원하지는 않아요, <0 /><1>기본 설정 사용</1>"
},
"extension": {
"action": "확장 프로그램 설치",
"description": "고화질의 영상을 시청하기 위하여 브라우저 확장 프로그램을 설치해주세요.",
"quality": "최고의 화질",
"title": "브라우저 확장 프로그램"
},
"proxy": {
"action": "프록시 설정",
"description": "단 5분 만에 프록시를 설정하고 쾌적한 송출 환경을 이용하세요.",
"quality": "좋은 화질",
"title": "커스텀 프록시"
}
},
"title": "movie-web의 설정을 진행해 봅시다"
}
},
"overlays": { "overlays": {
"close": "닫기" "close": "닫기"
}, },
@@ -169,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "HLS 플레이리스트 링크 복사하기",
"disclaimer": "다운로드는 제공업체에서 직접 가져옵니다. movie-web은 다운로드 제공 방식을 통제할 수 없습니다.", "disclaimer": "다운로드는 제공업체에서 직접 가져옵니다. movie-web은 다운로드 제공 방식을 통제할 수 없습니다.",
"downloadPlaylist": "플레이리스트 다운로드",
"downloadSubtitle": "현재 자막 다운로드", "downloadSubtitle": "현재 자막 다운로드",
"downloadVideo": "영상 다운로드", "downloadVideo": "영상 다운로드",
"hlsDisclaimer": "다운로드는 제공업체에서 직접 가져옵니다. movie-web은 다운로드 제공 방식을 통제할 수 없습니다. 고급 멀티미디어 스트리밍에 익숙한 사용자를 위한 HLS 재생 목록을 다운로드하고 있다는 점에 유의하세요.", "hlsDisclaimer": "다운로드는 제공업체에서 직접 가져옵니다. movie-web은 다운로드 제공 방식을 통제할 수 없습니다.<br /><br />사용자께서는 HLS 플레이리스트를 다운로드 하고 있으며, <bold>이는 고급 스트리밍 포맷의 사용에 익숙하지 않은 사용자에게는 추천하지 않는다는 것을 유의해주세요<bold>. 혹은 다른 소스와 포맷을 이용하여 보세요.",
"onAndroid": { "onAndroid": {
"1": "Android에서 다운로드하려면 다운로드 버튼을 클릭한 다음 새 페이지에서 동영상을 <bold>길게 눌러</bold>저장을 선택합니다.", "1": "Android에서 다운로드하려면 다운로드 버튼을 클릭한 다음 새 페이지에서 동영상을 <bold>길게 눌러</bold>저장을 선택합니다.",
"shortTitle": "다운로드 / Android", "shortTitle": "다운로드 / Android",
@@ -194,9 +277,11 @@
"episodes": { "episodes": {
"button": "회차", "button": "회차",
"emptyState": "이번 시즌에는 에피소드가 없으니 나중에 다시 확인하세요!", "emptyState": "이번 시즌에는 에피소드가 없으니 나중에 다시 확인하세요!",
"episodeBadge": "{{episode}}화",
"loadingError": "시즌 로딩중 에러 발생", "loadingError": "시즌 로딩중 에러 발생",
"loadingList": "로딩...", "loadingList": "로딩...",
"loadingTitle": "로딩..." "loadingTitle": "로딩...",
"unairedEpisodes": "해당 시즌의 다수의 에피소드들이 아직 방송되지 않은 이유로 비공개 처리되었습니다."
}, },
"playback": { "playback": {
"speedLabel": "재생 속도", "speedLabel": "재생 속도",
@@ -248,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "API 메타데이터를 불러올 수 없었습니다. 인터넷 연결 상태를 확인해 주세요.",
"title": "API 메타데이터을 읽어오지 못했습니다"
},
"dmca": {
"badge": "삭제됨",
"text": "이 미디어는 저작권 침해 및 신고로 인하여 더 이상 이용이 불가합니다.",
"title": "미디어가 삭제됨"
},
"extensionPermission": {
"badge": "권한 없음",
"button": "확장 프로그램 사용",
"text": "브라우저의 확장 프로그램을 사용하기 위해서는 사용자의 권한이 필요합니다.",
"title": "확장 프로그램 설정"
},
"failed": { "failed": {
"badge": "실패함", "badge": "실패함",
"homeButton": "메인으로 돌아가기", "homeButton": "메인으로 돌아가기",
@@ -293,12 +393,22 @@
} }
}, },
"time": { "time": {
"remaining": "{{timeLeft}} 남음 • {{timeFinished, datetime}}에 종료" "regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} 남음 • {{timeFinished, datetime}}에 종료",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "우측에 있는 캡챠를 통해 인간임을 인증해주새요. 이것은 무비-웹의 안전을 위한 것입니다!",
"error": "인류애를 인증하는 데에 실패했습니다. 다시 시도해주새요.",
"title": "당신이 로봇이 아닌지 확인해야 합니다.",
"verifyingHumanity": "인류애 인증 중..."
} }
}, },
"screens": { "screens": {
"dmca": { "dmca": {
"text": "movie-web의 DMCA 문의 페이지에 오신 것을 환영합니다! 당사는 지적 재산권을 존중하며 저작권 관련 문제를 신속하게 해결하고자 합니다. 귀하의 저작권이 있는 저작물이 당사 플랫폼에서 부적절하게 사용되었다고 생각되는 경우, 아래 이메일로 자세한 DMCA 통지를 보내주시기 바랍니다. 저작권이 있는 자료에 대한 설명, 연락처 정보, 선의의 신념을 담은 진술서를 포함하시기 바랍니다. 당사는 이러한 문제를 신속하게 해결하기 위해 최선을 다하고 있으며, movie-web을 창의성과 저작권을 존중하는 공간으로 유지하는 데 협조해 주셔서 감사합니다." "text": "movie-web의 DMCA 문의 페이지에 오신 것을 환영합니다! 당사는 지적 재산권을 존중하며 저작권 관련 문제를 신속하게 해결하고자 합니다. 귀하의 저작권이 있는 저작물이 당사 플랫폼에서 부적절하게 사용되었다고 생각되는 경우, 아래 이메일로 자세한 DMCA 통지를 보내주시기 바랍니다. 저작권이 있는 자료에 대한 설명, 연락처 정보, 선의의 신념을 담은 진술서를 포함하시기 바랍니다. 당사는 이러한 문제를 신속하게 해결하기 위해 최선을 다하고 있으며, movie-web을 창의성과 저작권을 존중하는 공간으로 유지하는 데 협조해 주셔서 감사합니다.",
"title": "DMCA"
}, },
"loadingApp": "애플리케이션 로딩 중", "loadingApp": "애플리케이션 로딩 중",
"loadingUser": "프로필 로 중", "loadingUser": "프로필 로 중",
@@ -365,23 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "사용자 지정 백엔드에 연결하여 데이터를 저장하려면 이 기능을 활성화하고 URL을 입력합니다.", "description": "사용자 지정 백엔드에 연결하여 데이터를 저장하려면 이 기능을 활성화하고 URL을 입력합니다. <0>Instructions.</0>",
"label": "사용자 지정 서버", "label": "사용자 지정 서버",
"urlLabel": "사용자 지정 서버 URL" "urlLabel": "사용자 지정 서버 URL"
}, },
"setup": {
"doSetup": "설정 진행하기",
"errorStatus": {
"description": "아직 완료되지 않은 설정이 있는 것 같습니다.",
"title": "완료되지 않은 설정이 있습니다"
},
"itemError": "설정에 문제가 발생하였습니다. 설정을 다시 진행하여 주세요.",
"items": {
"default": "기본 설정",
"extension": "확장 프로그램",
"proxy": "커스텀 프록시"
},
"redoSetup": "설정을 다시하기",
"successStatus": {
"description": "찜한 리스트의 영상을 시청할 모든 준비가 끝났습니다.",
"title": "모든 설정이 완료되었습니다!"
},
"unsetStatus": {
"description": "기본 구성을 진행하기 위하여 오른쪽 버튼을 눌러주세요.",
"title": "기본 구성이 완료되지 않았습니다"
}
},
"title": "연결", "title": "연결",
"workers": { "workers": {
"addButton": "새 워커 추가하기", "addButton": "새 워커 추가하기",
"description": "애플리케이션이 작동하도록 하기 위해 모든 트래픽은 프록시를 통해 라우팅됩니다. 직접 워커를 사용하려면 이 옵션을 사용 설정하세요.", "description": "애플리케이션이 작동하도록 하기 위해 모든 트래픽은 프록시를 통해 라우팅됩니다. 직접 워커를 사용하려면 이 옵션을 사용 설정하세요. <0>Instructions.</0>",
"emptyState": "아직 워커가 없는 경우 아래에서 워커를 추가하세요", "emptyState": "아직 워커가 없는 경우 아래에서 워커를 추가하세요",
"label": "사용자 지정 프록시 워커 사용", "label": "사용자 지정 프록시 워커 사용",
"urlLabel": "워커 URL" "urlLabel": "워커 URL",
"urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "애플리케이션 언어", "language": "애플리케이션 언어",
"languageDescription": "전체 애플리케이션에 적용되는 언어입니다.", "languageDescription": "애플리케이션 전체에 적용 언어.",
"title": "지" "thumbnail": "썸네일 생성",
"thumbnailDescription": "대부분의 영상들은 섬네일을 가지고 있지 않습니다. 사용자가 직접 영상의 섬네일을 생성할 수 있지만, 잦은 버퍼링을 일으킬 수 있습니다.",
"thumbnailLabel": "섬네일 생성",
"title": "환경 설정"
}, },
"reset": "초기화", "reset": "초기화",
"save": "저장", "save": "저장",

View File

@@ -114,7 +114,10 @@
"failed": "Neizdevās atrast multividi. Mēģiniet vēlreiz!", "failed": "Neizdevās atrast multividi. Mēģiniet vēlreiz!",
"loading": "Lādejas...", "loading": "Lādejas...",
"noResults": "Mēs nevarējām neko atrast!", "noResults": "Mēs nevarējām neko atrast!",
"placeholder": "Ko tu gribi skatīties?", "placeholder": {
"default": "Ko tu gribi skatīties?",
"extra": []
},
"sectionTitle": "Meklējuma rezultāti" "sectionTitle": "Meklējuma rezultāti"
}, },
"titles": { "titles": {
@@ -123,15 +126,11 @@
}, },
"morning": { "morning": {
"default": "Ko tu gribētu šorīt noskatīties?", "default": "Ko tu gribētu šorīt noskatīties?",
"extra": [ "extra": ["Es dzirdu, ka Pirms saullēkta ir labs"]
"Es dzirdu, ka Pirms saullēkta ir labs"
]
}, },
"night": { "night": {
"default": "Ko tu gribētu šovakar skatīties?", "default": "Ko tu gribētu šovakar skatīties?",
"extra": [ "extra": ["Noguris? Es dzirdu, ka Exorcist ir labs."]
"Noguris? Es dzirdu, ka Exorcist ir labs."
]
} }
} }
}, },
@@ -372,11 +371,6 @@
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "Lietojumprogrammas valoda",
"languageDescription": "Visai lietojumprogrammai lietotā valoda.",
"title": "Lokalizācija"
},
"reset": "Restartēt", "reset": "Restartēt",
"save": "Saglabāt", "save": "Saglabāt",
"sidebar": { "sidebar": {

View File

@@ -115,24 +115,26 @@
"failed": "Failed to banana banana, try again!", "failed": "Failed to banana banana, try again!",
"loading": "Loading...", "loading": "Loading...",
"noResults": "We couldn't banana anything!", "noResults": "We couldn't banana anything!",
"placeholder": "Banana do you want to banana?", "placeholder": {
"default": "Banana do you want to banana?",
"extra": []
},
"sectionTitle": "Banana results" "sectionTitle": "Banana results"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "What would you like to banana this banana?" "default": "What would you like to banana this banana?",
"extra": [
"Feeling banana? Jurassic banana banana banana banana perfect banana."
]
}, },
"morning": { "morning": {
"default": "What would you like to banana this banana?", "default": "What would you like to banana this banana?",
"extra": [ "extra": ["Banana! I hear Banana Sunrise is banana"]
"Banana! I hear Banana Sunrise is banana"
]
}, },
"night": { "night": {
"default": "What would you like to banana banana?", "default": "What would you like to banana banana?",
"extra": [ "extra": ["Banana? I hear The Banana is banana."]
"Banana? I hear The Banana is banana."
]
} }
} }
}, },
@@ -157,7 +159,7 @@
} }
}, },
"notFound": { "notFound": {
"badge": "Not found", "badge": "Not banana",
"goHome": "Back to banana", "goHome": "Back to banana",
"message": "We looked everywhere: under the banana, in the banana, behind the banana but ultimately couldn't find the banana you are looking for.", "message": "We looked everywhere: under the banana, in the banana, behind the banana but ultimately couldn't find the banana you are looking for.",
"title": "Couldn't find that banana" "title": "Couldn't find that banana"
@@ -176,9 +178,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Downloads are taken directly from the banana. banana-web does not have banana over how the banana are banana.", "disclaimer": "Downloads are taken directly from the banana. banana-web does not have banana over how the banana are banana.",
"downloadPlaylist": "Download banana",
"downloadSubtitle": "Download current banana", "downloadSubtitle": "Download current banana",
"downloadVideo": "Banana", "downloadVideo": "Banana",
"hlsDisclaimer": "Downloads are taken directly from the banana. Banana-web does not have control over how the downloads are banana. please note that you are downloading Banana playlist, this is intended for minions familiar with advanced multimedia banana.",
"onAndroid": { "onAndroid": {
"1": "To banana on Banana, click the banana banana then, on the new banana, <bold>tap and hold</bold> on the banana, then select <bold>banana</bold>.", "1": "To banana on Banana, click the banana banana then, on the new banana, <bold>tap and hold</bold> on the banana, then select <bold>banana</bold>.",
"shortTitle": "Banana / Banana", "shortTitle": "Banana / Banana",
@@ -202,7 +204,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Error loading banana", "loadingError": "Error loading banana",
"loadingList": "Loading...", "loadingList": "Loading...",
"loadingTitle": "Loading..." "loadingTitle": "Loading...",
"unairedEpisodes": "One or more banana in this banana have been banana because they haven't been aired yet."
}, },
"playback": { "playback": {
"speedLabel": "Banana speed", "speedLabel": "Banana speed",
@@ -254,6 +257,10 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Could not load API banana, please check your banana connection.",
"title": "Failed to load API banana"
},
"failed": { "failed": {
"badge": "Banana Failed", "badge": "Banana Failed",
"homeButton": "Go banana", "homeButton": "Go banana",
@@ -303,9 +310,19 @@
"remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}", "remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Please verify that you are banana by completing the banana on the right. This is to keep banana-web banana!",
"error": "Failed to verify your banananess. Please try banana.",
"title": "We banana to verify that you're banana",
"verifyingHumanity": "Verifying your banana..."
} }
}, },
"screens": { "screens": {
"dmca": {
"text": "Very long and boring banana.",
"title": "Banana"
},
"loadingApp": "Loading banana", "loadingApp": "Loading banana",
"loadingUser": "Loading your banana", "loadingUser": "Loading your banana",
"loadingUserError": { "loadingUserError": {
@@ -385,11 +402,6 @@
"urlPlaceholder": "banana://" "urlPlaceholder": "banana://"
} }
}, },
"locale": {
"language": "Banana",
"languageDescription": "Banana applied to the entire banana.",
"title": "Banana"
},
"reset": "Banana", "reset": "Banana",
"save": "Banana", "save": "Banana",
"sidebar": { "sidebar": {
@@ -407,6 +419,8 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundLabel": "Banana capacity",
"colorLabel": "Banana",
"previewQuote": "I must not banana. Banana is the minion-killer.", "previewQuote": "I must not banana. Banana is the minion-killer.",
"textSizeLabel": "Banana size", "textSizeLabel": "Banana size",
"title": "Bananas" "title": "Bananas"

View File

@@ -57,6 +57,8 @@
}, },
"host": "तपाइँ <0>{{hostname}}</0> मा कनेक्ट हुनुहुन्छ - कृपया खाता बनाउनु अघि तपाइँ यसलाई विश्वास गर्नुहुन्छ भनेर पुष्टि गर्नुहोस्", "host": "तपाइँ <0>{{hostname}}</0> मा कनेक्ट हुनुहुन्छ - कृपया खाता बनाउनु अघि तपाइँ यसलाई विश्वास गर्नुहुन्छ भनेर पुष्टि गर्नुहोस्",
"no": "पछाडी जाउ", "no": "पछाडी जाउ",
"noHost": "सर्भर कन्फिगर गरिएको छैन, त्यसैले तपाईंले खाता सिर्जना गर्न सक्नुहुन्न",
"noHostTitle": "सर्भर कन्फिगर गरिएको छैन!",
"title": "के तपाइँ यो सर्भरमा भरोसा गर्नुहुन्छ?", "title": "के तपाइँ यो सर्भरमा भरोसा गर्नुहुन्छ?",
"yes": "म यो सर्भरलाई भरोसा गर्छु" "yes": "म यो सर्भरलाई भरोसा गर्छु"
}, },
@@ -79,7 +81,7 @@
}, },
"footer": { "footer": {
"legal": { "legal": {
"disclaimer": "Disclaimer", "disclaimer": "अस्वीकरण",
"disclaimerText": "movie-webले कुनै पनि फाइलहरू होस्ट गर्दैन, यसले केवल तेस्रो पक्ष सेवाहरूमा लिङ्क गर्दछ। कानुनी मुद्दाहरू फाइल होस्ट र प्रदायकहरूसँग लिनु पर्छ। चलचित्र-वेब भिडियो प्रदायकहरू द्वारा देखाइएका कुनै पनि मिडिया फाइलहरूको लागि जिम्मेवार छैन।" "disclaimerText": "movie-webले कुनै पनि फाइलहरू होस्ट गर्दैन, यसले केवल तेस्रो पक्ष सेवाहरूमा लिङ्क गर्दछ। कानुनी मुद्दाहरू फाइल होस्ट र प्रदायकहरूसँग लिनु पर्छ। चलचित्र-वेब भिडियो प्रदायकहरू द्वारा देखाइएका कुनै पनि मिडिया फाइलहरूको लागि जिम्मेवार छैन।"
}, },
"links": { "links": {
@@ -95,6 +97,7 @@
"about": "जानकारी", "about": "जानकारी",
"dmca": "DMCA", "dmca": "DMCA",
"login": "लग - इन", "login": "लग - इन",
"onboarding": "सेटअप",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "दर्ता", "register": "दर्ता",
"settings": "सेटिङ्स्" "settings": "सेटिङ्स्"
@@ -115,7 +118,15 @@
"failed": "मिडिया फेला पार्न असफल भयो, फेरि प्रयास गर्नुहोस्!", "failed": "मिडिया फेला पार्न असफल भयो, फेरि प्रयास गर्नुहोस्!",
"loading": "लोड गर्दै...", "loading": "लोड गर्दै...",
"noResults": "हामीले केहि फेला पार्न सकेनौं!", "noResults": "हामीले केहि फेला पार्न सकेनौं!",
"placeholder": "तपाईं के हेर्न चाहनुहुन्छ?", "placeholder": {
"default": "तपाईं के हेर्न चाहनुहुन्छ?",
"extra": [
"तपाईं के खोज्न चाहनुहुन्छ?",
"तपाईको वाच लिस्टमा के छ?",
"तपाईलाई मन पर्ने चलचित्र कुन हो?",
"तपाईलाई मनपर्ने श्रृंखला कुन हो?"
]
},
"sectionTitle": "खोज परिणामहरू" "sectionTitle": "खोज परिणामहरू"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "हामीले जताततै हेर्यौं: डिब्बा मुनि, कोठरीमा, प्रोक्सी पछाडि तर अन्ततः तपाईंले खोजिरहनु भएको पेज फेला पार्न सकेनौं।", "message": "हामीले जताततै हेर्यौं: डिब्बा मुनि, कोठरीमा, प्रोक्सी पछाडि तर अन्ततः तपाईंले खोजिरहनु भएको पेज फेला पार्न सकेनौं।",
"title": "त्यो पेज फेला पार्न सकेन" "title": "त्यो पेज फेला पार्न सकेन"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "रद्द गर्नुहोस्",
"confirm": "डिफल्ट सेटअप प्रयोग गर्नुहोस्",
"description": "पूर्वनिर्धारित सेटअपमा उत्कृष्ट स्ट्रिमहरू छैनन् र असहनीय रूपमा ढिलो हुन सक्छ।",
"title": "के तपाईँ निश्चित हुनुहुन्छ?"
},
"extension": {
"back": "पछाडी जाउ",
"explainer": "ब्राउजर एक्सटेन्सन प्रयोग गरेर, तपाईंले हामीले प्रस्ताव गर्नु पर्ने उत्तम स्ट्रिमहरू प्राप्त गर्न सक्नुहुन्छ। केवल एक साधारण स्थापना संग।",
"explainerIos": "दुर्भाग्यवश, ब्राउजर एक्सटेन्सन iOS मा समर्थित छैन, अर्को विकल्प रोज्न <bold>Go back</bold> थिच्नुहोस्।",
"extensionHelp": "यदि तपाईंले एक्स्टेन्सन स्थापना गर्नुभएको छ तर यो पत्ता लागेको छैन, <bold>तपाईंको ब्राउजर विस्तार मेनु मार्फत विस्तार खोल्नुहोस्</bold> र स्क्रिनमा चरणहरू पालना गर्नुहोस्।",
"linkChrome": "क्रोम एक्सटेन्सन स्थापना गर्नुहोस्",
"linkFirefox": "फायरफक्स एक्सटेन्सन स्थापना गर्नुहोस्",
"notDetecting": "Chrome मा स्थापित भयो तर देखिदैन? पृष्ठ पुन: लोड गर्ने प्रयास गर्नुहोस्!",
"notDetectingAction": "पृष्ठ पुन: लोड गर्नुहोस्",
"status": {
"disallowed": "यो पेजको लागि एक्सटेन्सन सक्षम गरिएको छैन",
"disallowedAction": "एक्स्टेन्सन सक्षम गर्नुहोस्",
"failed": "स्थिति अनुरोध गर्न असफल",
"loading": "तपाइँ एक्सटेन्सन स्थापना गर्न को लागी प्रतिक्षा गर्दै",
"outdated": "एक्स्टेन्सन धेरै पुरानो छ",
"success": "एक्सटेन्सनले अपेक्षा गरे अनुसार काम गरिरहेको छ!"
},
"submit": "जारी राख्नुहोस्",
"title": "एक्सटेन्सन संग सुरु गरौं"
},
"proxy": {
"back": "पछाडी जाउ",
"explainer": "प्रोक्सी विधिको साथ, तपाईं स्वयं-सेवा प्रोक्सी बनाएर उत्कृष्ट गुणस्तर स्ट्रिमहरू प्राप्त गर्न सक्नुहुन्छ।",
"input": {
"errorConnection": "प्रोक्सीमा कनेक्ट हुन सकेन",
"errorInvalidUrl": "मान्य URL होइन",
"errorNotProxy": "प्रोक्सीको अपेक्षा गरे तर वेबसाइट पायो",
"label": "प्रोक्सी URL",
"placeholder": "https://"
},
"link": "प्रोक्सी कसरी बनाउने सिक्नुहोस्",
"submit": "प्रोक्सी पेश गर्नुहोस्",
"title": "एउटा नयाँ प्रोक्सी बनाऔं"
},
"start": {
"explainer": "सम्भावित उत्तम स्ट्रिमहरू प्राप्त गर्न, तपाईंले कुन स्ट्रिमिङ विधि प्रयोग गर्न चाहनुहुन्छ भनेर छनौट गर्न आवश्यक हुनेछ।",
"options": {
"default": {
"text": "मलाई राम्रो गुणस्तरका स्ट्रिमहरू चाहिँदैन,<0 /> <1>पूर्वनिर्धारित सेटअप प्रयोग गर्नुहोस्</1>"
},
"extension": {
"action": "एक्सटेन्सन हाल्नुहोस",
"description": "ब्राउजर एक्सटेन्सन हाल्नुहोस र उत्तम स्रोतहरूमा पहुँच प्राप्त गर्नुहोस्।",
"quality": "उत्कृस्ट गुणस्तर",
"title": "ब्राउजर एक्सटेन्सन"
},
"proxy": {
"action": "सेटअप प्रोक्सी",
"description": "केवल 5 मिनेटमा प्रोक्सी सेटअप गर्नुहोस् र उत्कृष्ट स्रोतहरूमा पहुँच प्राप्त गर्नुहोस्।",
"quality": "राम्रो क्वालिटी",
"title": "आफ्नै प्रोक्सी"
}
},
"title": "तपाईँलाई movie-web सँग सेटअप गरौं"
}
},
"overlays": { "overlays": {
"close": "बन्द गर्नुहोस्" "close": "बन्द गर्नुहोस्"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "HLS प्लेलिस्ट लिङ्क कपि गर्नुहोस्",
"disclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। movie-web ले डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण गर्दैन।", "disclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। movie-web ले डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण गर्दैन।",
"downloadPlaylist": "डाउनलोड प्लेलिस्ट",
"downloadSubtitle": "हालको उपशीर्षक डाउनलोड गर्नुहोस्", "downloadSubtitle": "हालको उपशीर्षक डाउनलोड गर्नुहोस्",
"downloadVideo": "डाउनलोड भिडियो", "downloadVideo": "डाउनलोड भिडियो",
"hlsDisclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। movie-webले डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण गर्दैन। कृपया ध्यान दिनुहोस् कि तपाइँ HLS प्लेलिस्ट डाउनलोड गर्दै हुनुहुन्छ, यो उन्नत मल्टिमिडिया स्ट्रिमिङसँग परिचित प्रयोगकर्ताहरूको लागि हो।", "hlsDisclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। चलचित्र-वेबको डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण छैन।<br /><br />कृपया ध्यान दिनुहोस् कि तपाइँ HLS प्लेलिस्ट डाउनलोड गर्दै हुनुहुन्छ, <bold>यदि तपाइँ उन्नत स्ट्रिमिङ ढाँचाहरूसँग परिचित हुनुहुन्न भने यसलाई डाउनलोड गर्न सिफारिस गरिँदैन। </bold>। विभिन्न ढाँचाहरूको लागि विभिन्न स्रोतहरू प्रयास गर्नुहोस्।",
"onAndroid": { "onAndroid": {
"1": "एन्ड्रोइड मा, डाउनलोड बटन क्लिक गर्नुहोस् त्यसपछि, नयाँ पृष्ठमा, भिडियोमा <bold>ट्याप गर्नुहोस् र होल्ड गर्नुहोस्</bold>, त्यसपछि <bold>बचत</bold> चयन गर्नुहोस्।", "1": "एन्ड्रोइड मा, डाउनलोड बटन क्लिक गर्नुहोस् त्यसपछि, नयाँ पृष्ठमा, भिडियोमा <bold>ट्याप गर्नुहोस् र होल्ड गर्नुहोस्</bold>, त्यसपछि <bold>बचत</bold> चयन गर्नुहोस्।",
"shortTitle": "डाउनलोड / एन्ड्रोइड", "shortTitle": "डाउनलोड / एन्ड्रोइड",
@@ -206,7 +280,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "सिजन लोड गर्दा त्रुटि भयो", "loadingError": "सिजन लोड गर्दा त्रुटि भयो",
"loadingList": "लोड गर्दै...", "loadingList": "लोड गर्दै...",
"loadingTitle": "लोड गर्दै..." "loadingTitle": "लोड गर्दै...",
"unairedEpisodes": "यस सिजनका एक वा बढी एपिसोडहरू अझै प्रसारण नभएकाले असक्षम पारिएका छन्।"
}, },
"playback": { "playback": {
"speedLabel": "प्लेब्याकको गति", "speedLabel": "प्लेब्याकको गति",
@@ -258,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "API मेटाडेटा लोड गर्न सकिएन, कृपया आफ्नो इन्टरनेट जडान जाँच गर्नुहोस्।",
"title": "API मेटाडेटा लोड गर्न असफल भयो"
},
"dmca": {
"badge": "हटाइयो",
"text": "यो मिडिया हटाउने सूचना वा प्रतिलिपि अधिकार दावीको कारणले अब उपलब्ध छैन।",
"title": "मिडिया हटाइएको छ"
},
"extensionPermission": {
"badge": "अनुमति छैन",
"button": "एक्सटेन्सन प्रयोग गर्नुहोस्",
"text": "तपाईंसँग ब्राउजर एक्स्टेन्सन छ, तर हामीलाई एक्स्टेन्सन प्रयोग गर्न सुरु गर्न तपाईंको अनुमति चाहिन्छ।",
"title": "एक्सटेन्सन कन्फिगर गर्नुहोस्"
},
"failed": { "failed": {
"badge": "असफल", "badge": "असफल",
"homeButton": "होम् जाउँ", "homeButton": "होम् जाउँ",
@@ -307,6 +397,12 @@
"remaining": "{{timeLeft}} बाकी • {{timeFinished, datetime}} मा सक्किनेछ", "remaining": "{{timeLeft}} बाकी • {{timeFinished, datetime}} मा सक्किनेछ",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "कृपया दायाँपट्टि Captch पूरा गरेर तपाईं मानव हुनुहुन्छ भनी प्रमाणित गर्नुहोस्। यो movie-web लाई सुरक्षित राख्न को लागी हो!",
"error": "तपाईंको मानवता प्रमाणित गर्न असफल भयौ। फेरि प्रयास गर्नुहोस।",
"title": "हामीले तपाईं मानव हुनुहुन्छ भनेर प्रमाणित गर्न आवश्यक छ।",
"verifyingHumanity": "तपाईंको मानवता प्रमाणित हुदैछ..."
} }
}, },
"screens": { "screens": {
@@ -379,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "यदि तपाईं आफ्नो डेटा भण्डारण गर्न अनुकूलन ब्याकइन्डमा जडान गर्न चाहनुहुन्छ भने, यसलाई सक्षम गर्नुहोस् र URL प्रदान गर्नुहोस्।", "description": "यदि तपाईं आफ्नो डेटा भण्डारण गर्न अनुकूलन ब्याकइन्डमा जडान गर्न चाहनुहुन्छ भने, यसलाई सक्षम गर्नुहोस् र URL प्रदान गर्नुहोस्। <0>निर्देशनहरू।</0>",
"label": "अनुकूलन सर्भर", "label": "अनुकूलन सर्भर",
"urlLabel": "अनुकूलन सर्भर URL" "urlLabel": "अनुकूलन सर्भर URL"
}, },
"setup": {
"doSetup": "सेटअप गर्नुहोस्",
"errorStatus": {
"description": "यो सेटअपमा एक वा बढी वस्तुहरू तपाईंको ध्यान आवश्यक छ जस्तो देखिन्छ।",
"title": "केहि तपाईंको ध्यान आवश्यक छ"
},
"itemError": "यस सेटिङमा केही गडबड छ। यसलाई ठीक गर्न फेरि सेटअप गर्नुहोस्।",
"items": {
"default": "डिफल्ट सेटअप",
"extension": "एक्सटेन्सन",
"proxy": "आफ्नै प्रोक्सी"
},
"redoSetup": "पुन: सेटअप गर्नुहोस्",
"successStatus": {
"description": "तपाइँ तपाइँको मनपर्ने मिडिया हेर्न सुरु गर्न को लागी सबै चीजहरू छन्।",
"title": "सबै कुरा मिलाइएको छ!"
},
"unsetStatus": {
"description": "कृपया सेटअप प्रक्रिया सुरु गर्न दायाँ तिरको बटनमा क्लिक गर्नुहोस्।",
"title": "तपाईं सेटअप मार्फत जानुभएको छैन"
}
},
"title": "संबन्धहरु", "title": "संबन्धहरु",
"workers": { "workers": {
"addButton": "नया worker हरु हाल्नुहोस", "addButton": "नया worker हरु हाल्नुहोस",
"description": "एप्लिकेसन प्रकार्य बनाउनको लागि, सबै ट्राफिक प्रोक्सीहरू मार्फत रूट गरिएको छ। यदि तपाईं आफ्नो कामदारहरू ल्याउन चाहनुहुन्छ भने यसलाई सक्षम गर्नुहोस्।", "description": "एप्लिकेसन प्रकार्य बनाउनको लागि, सबै ट्राफिक प्रोक्सीहरू मार्फत रूट गरिएको छ। यदि तपाईं आफ्नो कामदारहरू ल्याउन चाहनुहुन्छ भने यसलाई सक्षम गर्नुहोस्। <0>निर्देशनहरू।</0>",
"emptyState": "अहिलेसम्म worker हरु छैनन्, तल एउटा थप्नुहोस्", "emptyState": "अहिलेसम्म worker हरु छैनन्, तल एउटा थप्नुहोस्",
"label": "आफ्नै proxy workers हरु चलाउनुहोस्", "label": "आफ्नै proxy workers हरु चलाउनुहोस्",
"urlLabel": "Worker URL हरु", "urlLabel": "Worker URL हरु",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "एपको भाषा", "language": "एपको भाषा",
"languageDescription": "सम्पूर्ण अनुप्रयोगमा भाषा लागू गरियो।", "languageDescription": "सम्पूर्ण एप्लिकेसनमा भाषा लागू यो।",
"title": "भाषा" "thumbnail": "थम्बनेलहरू बनाउनुहोस्",
"thumbnailDescription": "अधिकांश समय, भिडियोहरूमा थम्बनेलहरू हुँदैनन्। तपाईंले वर्तमानमा नै तिनीहरूलाई उत्पन्न गर्न यो सेटिङ सक्षम गर्न सक्नुहुन्छ तर तिनीहरूले तपाईंको भिडियोलाई सुस्त बनाउन सक्छन्।",
"thumbnailLabel": "थम्बनेलहरू बनाउनुहोस्",
"title": "प्राथमिकता"
}, },
"reset": "रिसेट गर्नुहोस्", "reset": "रिसेट गर्नुहोस्",
"save": "सेभ गर्नुहोस्", "save": "सेभ गर्नुहोस्",

View File

@@ -57,6 +57,8 @@
}, },
"host": "Je gaat zo verbinden met <0>{{hostname}}</0>, check even of je deze link vertrouwt", "host": "Je gaat zo verbinden met <0>{{hostname}}</0>, check even of je deze link vertrouwt",
"no": "Vorige pagina", "no": "Vorige pagina",
"noHost": "De server is nog niet geconfigureerd, daarom kunt u geen account aanmaken",
"noHostTitle": "Server niet geconfigureerd!",
"title": "Vertrouw je deze server?", "title": "Vertrouw je deze server?",
"yes": "Ik vertrouw deze server" "yes": "Ik vertrouw deze server"
}, },
@@ -95,6 +97,7 @@
"about": "Over", "about": "Over",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Login", "login": "Login",
"onboarding": "Instellen",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registreren", "register": "Registreren",
"settings": "Instellingen" "settings": "Instellingen"
@@ -115,7 +118,15 @@
"failed": "Het is niet gelukt de media te laden, probeer het nog eens!", "failed": "Het is niet gelukt de media te laden, probeer het nog eens!",
"loading": "Aan het zoeken...", "loading": "Aan het zoeken...",
"noResults": "We konden helaas niets vinden!", "noResults": "We konden helaas niets vinden!",
"placeholder": "Wat wil je graag kijken?", "placeholder": {
"default": "Wat wil je graag kijken?",
"extra": [
"Wat wil je verkennen?",
"Wat staat er op jouw kijklijst?",
"Wat is jouw favoriete film?",
"Wat is jouw favoriete serie?"
]
},
"sectionTitle": "Zoekresultaten" "sectionTitle": "Zoekresultaten"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "We hebben echt alles geprobeerd, zelfs tijdrijzen; echter hebben we deze pagina helaas niet kunnen vinden.", "message": "We hebben echt alles geprobeerd, zelfs tijdrijzen; echter hebben we deze pagina helaas niet kunnen vinden.",
"title": "Pagina niet gevonden" "title": "Pagina niet gevonden"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Annuleren",
"confirm": "Gebruik standaardinstallatie",
"description": "De standaardinstallatie heeft niet de beste streams en kan onbruikbaar traag zijn.",
"title": "Weet je het zeker?"
},
"extension": {
"back": "Terug",
"explainer": "Door gebruik te maken van de browserextensie kun je de beste streams krijgen. Met slechts een eenvoudige installatie.",
"explainerIos": "Helaas, de browserextensie is niet ondersteund op iOS. Druk op <bold>Terug</bold> om een andere optie te kiezen.",
"extensionHelp": "Als je de extensie hebt geïnstalleerd maar niet wordt gedetecteerd, <bold>open dan de extensie via het extensies menu in je browser</bold> en volg de stappen op het scherm.",
"linkChrome": "Installeer de Chrome-extensie",
"linkFirefox": "Installeer de Firefox-extensie",
"notDetecting": "Geïnstalleerd op Chrome, maar de site detecteert het niet? Probeer de pagina opnieuw te laden!",
"notDetectingAction": "Pagina opnieuw laden",
"status": {
"disallowed": "Extensie is niet ingeschakeld voor deze pagina",
"disallowedAction": "Extensie inschakelen",
"failed": "Mislukt om status aan te vragen",
"loading": "Aan het wachten tot je de extensie hebt geïnstalleerd",
"outdated": "Extensieversie te oud",
"success": "Extensie werkt zoals verwacht!"
},
"submit": "Doorgaan",
"title": "Laten we beginnen met de extensie"
},
"proxy": {
"back": "Terug",
"explainer": "Met de proxy-methode kun je hoogwaardige streams verkrijgen door zelf een proxy op te zetten.",
"input": {
"errorConnection": "Kon geen verbinding maken met de proxy",
"errorInvalidUrl": "Geen geldige URL",
"errorNotProxy": "Verwachtte een proxy maar kreeg een website",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Leer hoe je de proxy kunt instellen",
"submit": "Proxy opslaan",
"title": "Laten we een nieuwe proxy instellen"
},
"start": {
"explainer": "Om de beste streams mogelijk te krijgen, moet je kiezen welke streammethode je wilt gebruiken.",
"options": {
"default": {
"text": "Ik wil geen streams van goede kwaliteit, <0 /> <1>Gebruik de standaardinstellingen.</1>"
},
"extension": {
"action": "Installeer extensie",
"description": "Installeer browserextensie en krijg toegang tot de beste bronnen.",
"quality": "Beste kwaliteit",
"title": "Browserextensie"
},
"proxy": {
"action": "Proxy instellen",
"description": "Proxy instellen in slechts 5 minuten en krijg toegang tot geweldige bronnen.",
"quality": "Goede kwaliteit",
"title": "Eigen proxy"
}
},
"title": "Laten we beginnen met het instellen van movie-web"
}
},
"overlays": { "overlays": {
"close": "Sluiten" "close": "Sluiten"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "HLS-afspeellijstlink kopiëren",
"disclaimer": "Downloads worden direct bij de bron opgehaald. movie-web heeft geen controle over het bestand dat je ontvangt.", "disclaimer": "Downloads worden direct bij de bron opgehaald. movie-web heeft geen controle over het bestand dat je ontvangt.",
"downloadPlaylist": "Afspeellijst downloaden",
"downloadSubtitle": "Download huidige ondertiteling", "downloadSubtitle": "Download huidige ondertiteling",
"downloadVideo": "Download filmpje", "downloadVideo": "Download filmpje",
"hlsDisclaimer": "Downloads worden rechtstreeks van de aanbieder gehaald. movie-web heeft geen controle over hoe de downloads worden aangeboden. Houd er rekening mee dat u een HLS-afspeellijst downloadt, deze is bedoeld voor gebruikers die bekend zijn met geavanceerde multimediastreaming.", "hlsDisclaimer": "Downloads worden rechtstreeks van de aanbieder gehaald. movie-web heeft geen controle over de manier waarop de downloads worden aangeboden.<br /><br />Houd er rekening mee dat u nu een HLS-afspeellijst downloadt, het wordt <bold>afgeraden deze te downloaden als u niet bekend bent met geavanceerde streamingbestandstypen</bold>. Probeer verschillende bronnen voor verschillende streamingbestandstypen.",
"onAndroid": { "onAndroid": {
"1": "Om te downloaden op Android, klik je op de downloadknop en vervolgens, op de nieuwe pagina, <bold>tap and hold</bold> op de video en selecteer <bold>save</bold>.", "1": "Om te downloaden op Android, klik je op de downloadknop en vervolgens, op de nieuwe pagina, <bold>tap and hold</bold> op de video en selecteer <bold>save</bold>.",
"shortTitle": "Download / Android", "shortTitle": "Download / Android",
@@ -194,7 +268,7 @@
"title": "Downloaden op iOS" "title": "Downloaden op iOS"
}, },
"onPc": { "onPc": {
"1": "Klik op de downloadknop op de pc en klik op de nieuwe pagina met de rechtermuisknop op de video en selecteer <bold>Video opslaan als</bold>.", "1": "Klik op de downloadknop op de pc en klik op de nieuwe pagina met de rechtermuisknop op de video en selecteer <bold>Video opslaan als</bold>",
"shortTitle": "Download / PC", "shortTitle": "Download / PC",
"title": "Downloaden op PC" "title": "Downloaden op PC"
}, },
@@ -259,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Kan API-metagegevens niet laden. Controleer uw internetverbinding.",
"title": "Kan API-metagegevens niet laden"
},
"dmca": {
"badge": "Weggehaald",
"text": "Deze media is niet langer beschikbaar vanwege een verwijderingsverzoek of auteursrechtenclaim.",
"title": "Media is weggehaald"
},
"extensionPermission": {
"badge": "Toestemming ontbreekt",
"button": "Gebruik de extensie",
"text": "Je hebt de browserextensie, maar we hebben jouw toestemming nodig om gebruik te maken van de extensie.",
"title": "Configureer de extensie"
},
"failed": { "failed": {
"badge": "Mislukt", "badge": "Mislukt",
"homeButton": "Ga naar de home-pagina", "homeButton": "Ga naar de home-pagina",
@@ -308,6 +397,12 @@
"remaining": "Nog {{timeLeft}} • Klaar om {{timeFinished, datetime}}", "remaining": "Nog {{timeLeft}} • Klaar om {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Bevestig dat u een mens bent door de Captcha aan de rechterkant in te vullen. Dit is om movie-web veilig te houden!",
"error": "Kan uw menselijkheid niet verifiëren. Probeer het opnieuw.",
"title": "We moeten verifiëren dat u een mens bent.",
"verifyingHumanity": "Je menselijkheid verifiëren..."
} }
}, },
"screens": { "screens": {
@@ -380,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Als je verbinding wilt maken met een eigen backend om je gegevens op te slaan, schakel dan deze optie in en geef de URL op.", "description": "Als je verbinding wilt maken met een eigen backend om je gegevens op te slaan, schakel dan deze optie in en geef de URL op. <0>Instructies.</0>",
"label": "Eigen server", "label": "Eigen server",
"urlLabel": "Eigen server URL" "urlLabel": "Eigen server URL"
}, },
"setup": {
"doSetup": "Instellen",
"errorStatus": {
"description": "Het lijkt erop dat één of meer items in deze configuratie jouw aandacht nodig hebben.",
"title": "Iets vereist jouw aandacht"
},
"itemError": "Er is iets mis met deze instelling. Klik op opnieuw instellen om op te lossen.",
"items": {
"default": "Standaard installatie",
"extension": "Extensie",
"proxy": "Eigen proxy"
},
"redoSetup": "Opnieuw instellen",
"successStatus": {
"description": "In alles is ingesteld, je kunt nu je favoriete media bekijken.",
"title": "Alles is ingesteld!"
},
"unsetStatus": {
"description": "Klik op de knop aan de rechterkant om het installatieproces te starten.",
"title": "Je hebt de installatieprocedure nog niet doorlopen"
}
},
"title": "Verbindingen", "title": "Verbindingen",
"workers": { "workers": {
"addButton": "Nieuwe worker toevoegen", "addButton": "Nieuwe worker toevoegen",
"description": "Om de applicatie te laten werken, wordt al het verkeer omgeleid via proxies. Schakel dit in als je je eigen workers wilt gebruiken.", "description": "Om de applicatie te laten werken, wordt al het verkeer omgeleid via proxies. Schakel dit in als je je eigen workers wilt gebruiken. <0>Instructies.</0>",
"emptyState": "Nog geen workers, voeg er hieronder een toe", "emptyState": "Nog geen workers, voeg er hieronder een toe",
"label": "Eigen proxy werker gebruiken", "label": "Eigen proxy werker gebruiken",
"urlLabel": "Worker URLs", "urlLabel": "Worker URLs",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Applicatietaal", "language": "Applicatietaal",
"languageDescription": "Taal wordt toegepast op de hele applicatie.", "languageDescription": "Taal toegepast op de gehele applicatie.",
"title": "Lokaal" "thumbnail": "Genereer miniaturen",
"thumbnailDescription": "Meestal hebben video's geen miniaturen. Je kunt deze instelling inschakelen om ze dynamisch te genereren, maar dit kan je video vertragen.",
"thumbnailLabel": "Genereer miniaturen",
"title": "Voorkeuren"
}, },
"reset": "Resetten", "reset": "Resetten",
"save": "Wijzigingen opslaan", "save": "Wijzigingen opslaan",
@@ -416,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

@@ -0,0 +1,12 @@
{
"about": {
"description": "movie-web T'áá hwiił yá at'ééh naat'áanii t'áá hwiił yá at'ééh bitsiin. Bee ahéhí bitsííʼííł dóó sinas dziní asdzą́ą́.",
"faqTitle": "hastiin nahatʼá",
"q1": {
"body": "Bee hwiił bitsííʼííł hólǫ́, t'áá hwiił yá at'ééh naat'áanii t'áá hwiił yá at'ééh bitsiin. Hwiił yá at'ééh naat'áanii at'é, bitsííʼííł yá at'ééh naat'áanii t'áá hwiił yá at'ééh bitsiin. Bitsííʼííł yá at'ééh naat'áanii hólǫ́, t'áá hwiił yá at'ééh naat'áanii t'áá hwiił yá at'ééh bitsiin."
},
"q3": {
"body": "Hałáágo áłtsééh hózhǫǫgiisiił Nílchʼi Datasoii (TMDB) yáátééhí dooleeł dįįʼgo doo dįįʼgií nihisin dóó tązhii yisdzohazlą́ą́ʼ."
}
}
}

View File

@@ -1,18 +1,547 @@
{ {
"about": {
"description": "ਮੂਵੀ-ਵੈਬ ਇੱਕ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ ਹੈ ਜੋ ਸਟ੍ਰੀਮ ਲਈ ਇੰਟਰਨੈਟ ਦੀ ਖੋਜ ਕਰਦੀ ਹੈ. ਟੀਮ ਦਾ ਉਦੇਸ਼ ਕੰਟੈਂਟ ਦੀ ਖਪਤ ਕਰਨ ਲਈ ਜ਼ਿਆਦਾਤਰ ਘੱਟੋ-ਘੱਟ ਪਹੁੰਚ ਹੈ.",
"faqTitle": "ਆਮ ਸਵਾਲ",
"q1": {
"body": "ਮੂਵੀ ਵੈੱਬ ਕਿਸੇ ਕੰਟੈਂਟ ਦੀ ਮੇਜ਼ਬਾਨੀ ਨਹੀਂ ਕਰਦਾ ਹੈ.ਜਦੋਂ ਤੁਸੀਂ ਦੇਖਣ ਲਈ ਕਿਸੇ ਚੀਜ਼ 'ਤੇ ਕਲਿੱਕ ਕਰਦੇ ਹੋ, ਤਾਂ ਚੁਣੇ ਹੋਏ ਮੀਡੀਆ ਲਈ ਇੰਟਰਨੈੱਟ ਖੋਜਿਆ ਜਾਂਦਾ ਹੈ (ਲੋਡਿੰਗ ਸਕ੍ਰੀਨ 'ਤੇ ਅਤੇ 'ਵੀਡੀਓ ਸਰੋਤ' ਟੈਬ ਵਿੱਚ ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਸਰੋਤ ਵਰਤ ਰਹੇ ਹੋ) ਮੀਡੀਆ ਕਦੇ ਵੀ ਮੂਵੀ-ਵੈੱਬ ਦੁਆਰਾ ਅਪਲੋਡ ਨਹੀਂ ਹੁੰਦਾ, ਸਭ ਕੁਝ ਇਸ ਖੋਜ ਵਿਧੀ ਦੁਆਰਾ ਹੁੰਦਾ ਹੈ।",
"title": "ਕੰਟੈਂਟ ਕਿੱਥੋਂ ਆਉਂਦੀ ਹੈ?"
},
"q2": {
"body": "ਕਿਸੇ ਸ਼ੋਅ ਜਾਂ ਮੂਵੀ ਦੀ ਬੇਨਤੀ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ, ਮੂਵੀ-ਵੈੱਬ ਕਿਸੇ ਵੀ ਕੰਟੈਂਟ ਦਾ ਪ੍ਰਬੰਧਨ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਸਾਰੇ ਕੰਟੈਂਟ ਨੂੰ ਇੰਟਰਨੈੱਟ 'ਤੇ ਸਰੋਤਾਂ ਰਾਹੀਂ ਦੇਖਿਆ ਜਾਂਦਾ ਹੈ।",
"title": "ਮੈਂ ਇੱਕ ਸ਼ੋਅ ਜਾਂ ਫ਼ਿਲਮ ਲਈ ਕਿੱਥੇ ਬੇਨਤੀ ਕਰ ਸਕਦਾ/ਸਕਦੀ ਹਾਂ?"
},
"q3": {
"body": "ਸਾਡੇ ਖੋਜ ਨਤੀਜੇ ਮੂਵੀ ਡੇਟਾਬੇਸ (TMDB) ਦੁਆਰਾ ਸੰਚਾਲਿਤ ਹੁੰਦੇ ਹਨ ਅਤੇ ਇਸ ਗੱਲ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦੇ ਹਨ ਕਿ ਸਾਡੇ ਸਰੋਤਾਂ ਵਿੱਚ ਅਸਲ ਵਿੱਚ ਕੰਟੈਂਟ ਹੈ ਜਾਂ ਨਹੀਂ.",
"title": "ਖੋਜ ਨਤੀਜੇ ਸ਼ੋਅ ਜਾਂ ਫ਼ਿਲਮ ਦਿਖਾਉਂਦੇ ਹਨ, ਮੈਂ ਇਸਨੂੰ ਕਿਉਂ ਨਹੀਂ ਚਲਾ ਸਕਦਾ?"
},
"title": "ਮੂਵੀ-ਵੈੱਬ ਡੀ ਬਾਰੇ"
},
"actions": { "actions": {
"copied": "ਕਾਪੀਡ",
"copy": "ਕਾਪੀ" "copy": "ਕਾਪੀ"
}, },
"auth": { "auth": {
"createAccount": "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਅਜੇ ਖਾਤਾ ਨਹੀਂ ਹੈ? <0>ਇੱਕ ਖਾਤਾ ਬਣਾਓ.</0>",
"deviceNameLabel": "ਡਿਵਾਈਸ ਦਾ ਨਾਮ",
"deviceNamePlaceholder": "ਨਿੱਜੀ ਫ਼ੋਨ",
"generate": {
"description": "ਤੁਹਾਡਾ ਗੁਪਤਕੋਡ ਤੁਹਾਡੇ ਉਪਭੋਗਤਾ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ. ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣਾ ਯਕੀਨੀ ਬਣਾਓ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਲੌਗਇਨ ਕਰਨ ਲਈ ਇਸਨੂੰ ਦਾਖਲ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ",
"next": "ਮੈਂ ਆਪਣਾ ਪਾਸਫਰੇਜ ਸੁਰੱਖਿਅਤ ਕਰ ਲਿਆ ਹੈ",
"passphraseFrameLabel": "ਪੈਰਾਫਰਾਜ਼",
"title": "ਤੁਹਾਡਾ ਪਾਸਫਰੇਜ"
},
"hasAccount": "ਕੀ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਖਾਤਾ ਹੈ? <0>ਇੱਥੇ ਲੌਗਇਨ ਕਰੋ.</0>",
"login": { "login": {
"submit": "ਲੌਗ-ਇਨ" "description": "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਲੌਗਇਨ ਕਰਨ ਲਈ ਆਪਣਾ ਗੁਪਤਕੋਡ ਦਾਖਲ ਕਰੋ",
"deviceLengthError": "ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਡਿਵਾਈਸ ਦਾ ਨਾਮ ਦਾਖਲ ਕਰੋ",
"passphraseLabel": "12-ਅਖਰੰਦਾ ਪਾਸਫਰੇਜ਼",
"passphrasePlaceholder": "ਪੈਰਾਫਰਾਜ਼",
"submit": "ਲੌਗ-ਇਨ",
"title": "ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਲੌਗਇਨ ਕਰੋ",
"validationError": "ਗਲਤ ਜਾਂ ਅਧੂਰਾ ਗੁਪਤਕੋਡ"
}, },
"register": { "register": {
"information": { "information": {
"next": "ਅਗਲਾ" "color1": "ਪਰੋਫਾਇਲ ਦਾ ਪੇਹਲਾ ਰੰਗ",
"color2": "ਪ੍ਰੋਫਾਇਲ ਦਾ ਦੂਜਾ ਰੰਗ",
"header": "ਆਪਣੀ ਡਿਵਾਈਸ ਲਈ ਇੱਕ ਨਾਮ ਦਰਜ ਕਰੋ ਅਤੇ ਆਪਣੀ ਪਸੰਦ ਦਾ ਰੰਗ ਅਤੇ ਇੱਕ ਉਪਭੋਗਤਾ ਆਈਕਨ ਚੁਣੋ",
"icon": "ਉਪਭੋਗਤਾ ਪ੍ਰਤੀਕ",
"next": "ਅਗਲਾ",
"title": "ਖਾਤਾ ਜਾਣਕਾਰੀ"
} }
}, },
"trust": { "trust": {
"no": "ਵਾਪਸ ਜਾਓ" "failed": {
"text": "ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਹੈ?",
"title": "ਸਰਵਰ ਤੱਕ ਪਹੁੰਚਣ ਵਿੱਚ ਅਸਫਲ"
},
"host": "ਤੁਸੀਂ <0>{{hostname}}</0> ਨਾਲ ਜੁੜ ਰਹੇ ਹੋ - ਕਿਰਪਾ ਕਰਕੇ ਖਾਤਾ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇਸ 'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ",
"no": "ਵਾਪਸ ਜਾਓ",
"noHost": "ਸਰਵਰ ਕੌਂਫਿਗਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਸਲਈ ਤੁਸੀਂ ਖਾਤਾ ਨਹੀਂ ਬਣਾ ਸਕਦੇ ਹੋ",
"noHostTitle": "ਸਰਵਰ ਕੌਂਫਿਗਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ!",
"title": "ਕੀ ਤੁਸੀਂ ਇਸ ਸਰਵਰ 'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ?",
"yes": "ਮੈਨੂੰ ਇਸ ਸਰਵਰ 'ਤੇ ਭਰੋਸਾ ਹੈ"
},
"verify": {
"description": "ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਤੁਸੀਂ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਹੈ ਅਤੇ ਆਪਣਾ ਖਾਤਾ ਬਣਾਉਣ ਲਈ ਪਹਿਲਾਂ ਤੋਂ ਆਪਣਾ ਗੁਪਤਕੋਡ ਦਰਜ ਕਰੋ",
"invalidData": "ਡਾਟਾ ਵੈਧ ਨਹੀਂ ਹੈ",
"noMatch": "ਪਾਸਫਰੇਜ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ",
"passphraseLabel": "ਤੁਹਾਡਾ 12-ਸ਼ਬਦਾਂ ਦਾ ਪਾਸਫਰੇਜ",
"recaptchaFailed": "ਰੀਕੈਪਟਚਾ ਪ੍ਰਮਾਣਿਕਤਾ ਅਸਫਲ ਰਹੀ",
"register": "ਖਾਤਾ ਬਣਾਉ",
"title": "ਆਪਣੇ ਗੁਪਤਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"
}
},
"errors": {
"badge": "ਇਹ ਟੁੱਟ ਗਿਆ",
"details": "ਗਲਤੀ ਵੇਰਵੇ",
"reloadPage": "ਪੈਗ ਨੂੰ ਰੀਲੋਡ ਕਰੋ",
"showError": "ਗਲਤੀ ਦੇ ਵੇਰਵੇ ਦਿਖਾਓ",
"title": "ਸਾਨੂੰ ਇੱਕ ਤਰੁੱਟੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ!"
},
"footer": {
"legal": {
"disclaimer": "ਬੇਦਾਅਵਾ",
"disclaimerText": "ਮੂਵੀ-ਵੈੱਬ ਕਿਸੇ ਵੀ ਫਾਈਲ ਦੀ ਮੇਜ਼ਬਾਨੀ ਨਹੀਂ ਕਰਦਾ ਹੈ, ਇਹ ਸਿਰਫ਼ ਤੀਜੀ ਧਿਰ ਦੀਆਂ ਸੇਵਾਵਾਂ ਨਾਲ ਲਿੰਕ ਕਰਦਾ ਹੈ. ਕਾਨੂੰਨੀ ਮੁੱਦਿਆਂ ਨੂੰ ਫਾਈਲ ਹੋਸਟਾਂ ਅਤੇ ਪ੍ਰਦਾਤਾਵਾਂ ਨਾਲ ਉਠਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮੂਵੀ-ਵੈਬ ਵੀਡੀਓ ਪ੍ਰਦਾਤਾਵਾਂ ਦੁਆਰਾ ਦਿਖਾਈਆਂ ਗਈਆਂ ਕਿਸੇ ਵੀ ਮੀਡੀਆ ਫਾਈਲਾਂ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹੈ."
},
"links": {
"discord": "ਡਿਸਕੋਰਡ",
"dmca": "DMCA",
"github": "Github"
},
"tagline": "ਇਸ ਓਪਨ ਸੋਰਸ ਸਟ੍ਰੀਮਿੰਗ ਐਪ ਨਾਲ ਆਪਣੇ ਮਨਪਸੰਦ ਸ਼ੋਅ ਅਤੇ ਫ਼ਿਲਮਾਂ ਦੇਖੋ।"
},
"global": {
"name": "ਮੂਵੀ-ਵੈੱਬ",
"pages": {
"about": "ਬਾਰੇ",
"dmca": "DMCA",
"login": "ਲਾਗਿਨ",
"onboarding": "ਸਥਾਪਨਾ ਕਰਨਾ",
"pagetitle": "{{title}} - ਮੂਵੀ-ਵੈੱਬ",
"register": "ਰਜਿਸਟਰ",
"settings": "ਸੈਟਿੰਗਾਂ"
}
},
"home": {
"bookmarks": {
"sectionTitle": "ਬੁੱਕਮਾਰਕ"
},
"continueWatching": {
"sectionTitle": "ਦੇਖਣਾ ਜਾਰੀ ਰੱਖੋ"
},
"mediaList": {
"stopEditing": "ਸੰਪਾਦਨ ਬੰਦ ਕਰੋ"
},
"search": {
"allResults": "ਸਾਡੇ ਕੋਲ ਇਹੋ ਕੁਝ ਹੈ!",
"failed": "ਮੀਡੀਆ ਲੱਭਣ ਵਿੱਚ ਅਸਫਲ, ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ!",
"loading": "ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...",
"noResults": "ਅਸੀਂ ਕੁਝ ਵੀ ਨਹੀਂ ਲੱਭ ਸਕੇ!",
"placeholder": {
"default": "ਤੁਸੀਂ ਕੀ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?",
"extra": [
"ਤੁਸੀਂ ਕੀ ਪੜਚੋਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",
"ਤੁਹਾਡੀ ਨਿਗਰਾਨੀ ਸੂਚੀ ਵਿੱਚ ਕੀ ਹੈ?",
"ਤੁਹਾਡੀ ਮਨਪਸੰਦ ਫਿਲਮ ਕਿਹੜੀ ਹੈ?",
"ਤੁਹਾਡੀ ਮਨਪਸੰਦ ਲੜੀ ਕਿਹੜੀ ਹੈ?"
]
},
"sectionTitle": "ਖੋਜ ਨਤੀਜੇ"
},
"titles": {
"day": {
"default": "ਤੁਸੀਂ ਅੱਜ ਦੁਪਹਿਰ ਨੂੰ ਕੀ ਦੇਖਣਾ ਚਾਹੋਗੇ?",
"extra": [
"ਸਾਹਸੀ ਮਹਿਸੂਸ ਕਰ ਰਹੇ ਹੋ? ਜੁਰਾਸਿਕ ਪਾਰਕ ਸੰਪੂਰਣ ਵਿਕਲਪ ਹੋ ਸਕਦਾ ਹੈ."
]
},
"morning": {
"default": "ਤੁਸੀਂ ਅੱਜ ਸਵੇਰੇ ਕੀ ਦੇਖਣਾ ਚਾਹੋਗੇ?",
"extra": [
"ਮੈਂ ਸੁਣਦਾ ਹਾਂ ਕਿ ਸੂਰਜ ਚੜ੍ਹਨ ਤੋਂ ਪਹਿਲਾਂ ਚੰਗਾ ਹੁੰਦਾ ਹੈ"
]
},
"night": {
"default": "ਤੁਸੀਂ ਅੱਜ ਰਾਤ ਕੀ ਦੇਖਣਾ ਚਾਹੋਗੇ?",
"extra": [
"ਥੱਕ ਗਏ? ਮੈਂ ਸੁਣਿਆ ਹੈ ਕਿ Exorcist ਚੰਗਾ ਹੈ."
]
} }
} }
},
"media": {
"episodeDisplay": "S{{season}} E{{episode}}",
"types": {
"movie": "ਮੂਵੀ",
"show": "ਨਾਟਕ"
}
},
"navigation": {
"banner": {
"offline": "ਆਪਣੇ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ"
},
"menu": {
"about": "ਸਾਡੇ ਬਾਰੇ",
"donation": "ਦਾਨ",
"logout": "ਲਾੱਗ ਆਊਟ",
"register": "ਕਲਾਉਡ ਨਾਲ ਸਿੰਕ ਕਰੋ",
"settings": "ਸੈਟਿੰਗਾਂ",
"support": "ਸਮਰਥਨ"
}
},
"notFound": {
"badge": "ਨਹੀਂ ਲਭਿਆ",
"goHome": "ਘਰ ਵਾਪਸ",
"message": "ਅਸੀਂ ਹਰ ਜਗ੍ਹਾ ਦੇਖਿਆ: ਡੱਬਿਆਂ ਦੇ ਹੇਠਾਂ, ਅਲਮਾਰੀ ਵਿੱਚ, ਪ੍ਰੌਕਸੀ ਦੇ ਪਿੱਛੇ ਪਰ ਆਖਰਕਾਰ ਉਹ ਪੰਨਾ ਨਹੀਂ ਲੱਭ ਸਕਿਆ ਜਿਸਦੀ ਤੁਸੀਂ ਭਾਲ ਕਰ ਰਹੇ ਹੋ.",
"title": "ਉਹ ਪੰਨਾ ਨਹੀਂ ਲੱਭ ਸਕਿਆ"
},
"onboarding": {
"defaultConfirm": {
"cancel": "ਰੱਦ ਕਰੋ",
"confirm": "ਡਿਫੌਲਟ ਸੈੱਟਅੱਪ ਵਰਤੋ",
"description": "ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੈੱਟਅੱਪ ਵਿੱਚ ਵਧੀਆ ਸਟ੍ਰੀਮ ਨਹੀਂ ਹਨ ਅਤੇ ਇਹ ਅਸਹਿਣਸ਼ੀਲ ਤੌਰ 'ਤੇ ਹੌਲੀ ਹੋ ਸਕਦੀ ਹੈ.",
"title": "ਤੁਹਾਨੂੰ ਪੂਰਾ ਵਿਸ਼ਵਾਸ ਹੈ?"
},
"extension": {
"back": "ਵਾਪਸ ਜਾਓ",
"explainer": "ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਤੁਸੀਂ ਸਾਡੇ ਦੁਆਰਾ ਪੇਸ਼ ਕੀਤੀਆਂ ਗਈਆਂ ਸਭ ਤੋਂ ਵਧੀਆ ਸਟ੍ਰੀਮਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ. ਸਿਰਫ਼ ਇੱਕ ਸਧਾਰਨ ਸਥਾਪਨਾ ਨਾਲ.",
"explainerIos": "ਬਦਕਿਸਮਤੀ ਨਾਲ, ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ iOS 'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ, ਕੋਈ ਹੋਰ ਵਿਕਲਪ ਚੁਣਨ ਲਈ <bold>Go back</bold> ਦਬਾਓ.",
"extensionHelp": "ਜੇਕਰ ਤੁਸੀਂ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਸਥਾਪਿਤ ਕੀਤਾ ਹੈ ਪਰ ਇਸਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਿਆ ਹੈ, ਤਾਂ <bold>ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਮੀਨੂ ਰਾਹੀਂ ਐਕਸਟੈਂਸ਼ਨ ਖੋਲ੍ਹੋ</bold> ਅਤੇ ਸਕ੍ਰੀਨ 'ਤੇ ਦਿੱਤੇ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ.",
"linkChrome": "ਕਰੋਮ ਐਕਸਟੈਂਸ਼ਨ ਸਥਾਪਤ ਕਰੋ",
"linkFirefox": "Firiefox ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ",
"notDetecting": "ਕ੍ਰੋਮ 'ਤੇ ਸਥਾਪਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ ਸਾਈਟ ਇਸਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾ ਰਹੀ ਹੈ? ਪੰਨੇ ਨੂੰ ਮੁੜ ਲੋਡ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.",
"notDetectingAction": "ਪੰਨਾ ਰੀਲੋਡ ਕਰੋ",
"status": {
"disallowed": "ਇਸ ਪੰਨੇ ਲਈ ਐਕਸਟੈਂਸ਼ਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ",
"disallowedAction": "ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ",
"failed": "ਸਥਿਤੀ ਦੀ ਬੇਨਤੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ",
"loading": "ਤੁਹਾਡੇ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ",
"outdated": "ਐਕਸਟੈਂਸ਼ਨ ਸੰਸਕਰਣ ਬਹੁਤ ਪੁਰਾਣਾ ਹੈ",
"success": "ਐਕਸਟੈਂਸ਼ਨ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ!"
},
"submit": "ਜਾਰੀ ਰੱਖੋ",
"title": "ਆਉ ਇੱਕ ਐਕਸਟੈਂਸ਼ਨ ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ"
},
"proxy": {
"back": "ਵਾਪਸ ਜਾਓ",
"explainer": "ਪ੍ਰੌਕਸੀ ਵਿਧੀ ਨਾਲ, ਤੁਸੀਂ ਸਵੈ-ਸੇਵਾ ਪ੍ਰੌਕਸੀ ਬਣਾ ਕੇ ਵਧੀਆ ਗੁਣਵੱਤਾ ਵਾਲੀਆਂ ਸਟ੍ਰੀਮਾਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ.",
"input": {
"errorConnection": "ਪ੍ਰੌਕਸੀ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ",
"errorInvalidUrl": "ਵੈਧ URL ਨਹੀਂ ਹੈ",
"errorNotProxy": "ਇੱਕ ਪ੍ਰੌਕਸੀ ਦੀ ਉਮੀਦ ਕੀਤੀ ਪਰ ਇੱਕ ਵੈਬਸਾਈਟ ਮਿਲੀ",
"label": "ਪ੍ਰੌਕਸੀ URL",
"placeholder": "https://"
},
"link": "ਇੱਕ ਪ੍ਰੌਕਸੀ ਬਣਾਉਣਾ ਸਿੱਖੋ",
"submit": "ਪ੍ਰੌਕਸੀ ਸਪੁਰਦ ਕਰੋ",
"title": "ਆਓ ਇੱਕ ਨਵੀਂ ਪ੍ਰੌਕਸੀ ਬਣਾਈਏ"
},
"start": {
"explainer": "ਸਭ ਤੋਂ ਵਧੀਆ ਸਟ੍ਰੀਮਾਂ ਨੂੰ ਸੰਭਵ ਬਣਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਇਹ ਚੁਣਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਸਟ੍ਰੀਮਿੰਗ ਤਰੀਕਾ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ.",
"options": {
"default": {
"text": "ਮੈਨੂੰ ਚੰਗੀ ਕੁਆਲਿਟੀ ਦੀਆਂ ਸਟ੍ਰੀਮਾਂ ਨਹੀਂ ਚਾਹੀਦੀਆਂ,<0 /> <1>ਡਿਫੌਲਟ ਸੈੱਟਅੱਪ ਦੀ ਵਰਤੋਂ ਕਰੋ</1>"
},
"extension": {
"action": "ਇਕਸਟੈਨਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ",
"description": "ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ ਅਤੇ ਵਧੀਆ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ.",
"quality": "ਵਧੀਆ ਗੁਣਵੱਤਾ",
"title": "ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ"
},
"proxy": {
"action": "ਪ੍ਰੌਕਸੀ ਸੈੱਟਅੱਪ ਕਰੋ",
"description": "ਸਿਰਫ਼ 5 ਮਿੰਟਾਂ ਵਿੱਚ ਇੱਕ ਪ੍ਰੌਕਸੀ ਸੈੱਟਅੱਪ ਕਰੋ ਅਤੇ ਵਧੀਆ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰੋ.",
"quality": "ਚੰਗੀ ਗੁਣਵੱਤਾ",
"title": "ਕਸਟਮ ਪ੍ਰੌਕਸੀ"
}
},
"title": "ਚਲੋ ਤੁਹਾਨੂੰ movie-web ਨਾਲ ਸੈੱਟਅੱਪ ਕਰਵਾਉਂਦੇ ਹਾਂ"
}
},
"overlays": {
"close": "ਬੰਦ ਕਰੋ"
},
"player": {
"back": {
"default": "ਘਰ ਵਾਪਸ",
"short": "ਵਾਪਸ"
},
"casting": {
"enabled": "ਡਿਵਾਈਸ 'ਤੇ ਕਾਸਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
},
"menus": {
"downloads": {
"copyHlsPlaylist": "HLS ਪਲੇਲਿਸਟ ਲਿੰਕ ਕਾਪੀ ਕਰੋ",
"disclaimer": "ਡਾਊਨਲੋਡ ਸਿੱਧੇ ਪ੍ਰਦਾਤਾ ਤੋਂ ਲਏ ਜਾਂਦੇ ਹਨ. ਮੂਵੀ-ਵੈੱਬ ਦਾ ਇਸ 'ਤੇ ਕੰਟਰੋਲ ਨਹੀਂ ਹੈ ਕਿ ਡਾਊਨਲੋਡ ਕਿਵੇਂ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾਂਦੇ ਹਨ.",
"downloadSubtitle": "ਮੌਜੂਦਾ ਉਪਸਿਰਲੇਖ ਡਾਊਨਲੋਡ ਕਰੋ",
"downloadVideo": "ਵੀਡੀਓ ਡਾਊਨਲੋਡ ਕਰੋ",
"hlsDisclaimer": "ਡਾਊਨਲੋਡ ਸਿੱਧੇ ਪ੍ਰਦਾਤਾ ਤੋਂ ਲਏ ਜਾਂਦੇ ਹਨ। ਮੂਵੀ-ਵੈਬ ਦਾ ਇਸ 'ਤੇ ਕੰਟਰੋਲ ਨਹੀਂ ਹੈ ਕਿ ਡਾਊਨਲੋਡ ਕਿਵੇਂ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।<br /><br />ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਤੁਸੀਂ ਇੱਕ HLS ਪਲੇਲਿਸਟ ਡਾਊਨਲੋਡ ਕਰ ਰਹੇ ਹੋ, <bold>ਜੇ ਤੁਸੀਂ ਉੱਨਤ ਸਟ੍ਰੀਮਿੰਗ ਫਾਰਮੈਟਾਂ ਤੋਂ ਜਾਣੂ ਨਹੀਂ ਹੋ ਤਾਂ ਇਸਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। </bold>.ਵੱਖ-ਵੱਖ ਫਾਰਮੈਟਾਂ ਲਈ ਵੱਖ-ਵੱਖ ਸਰੋਤਾਂ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.",
"onAndroid": {
"1": "Android 'ਤੇ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, ਡਾਊਨਲੋਡ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਫਿਰ, ਨਵੇਂ ਪੰਨੇ 'ਤੇ, ਵੀਡੀਓ 'ਤੇ <bold>ਟੈਪ ਕਰੋ ਅਤੇ ਹੋਲਡ ਕਰੋ</bold>, ਫਿਰ <bold>ਸੇਵ</bold> ਨੂੰ ਚੁਣੋ.",
"shortTitle": "ਡਾਊਨਲੋਡ / Android",
"title": "Android 'ਤੇ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
},
"onIos": {
"1": "iOS 'ਤੇ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, ਡਾਊਨਲੋਡ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਫਿਰ, ਨਵੇਂ ਪੰਨੇ 'ਤੇ, <bold><ios_share /></bold> 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਫਿਰ <bold>Save to Files <ios_files /></bold> 'ਤੇ ਕਲਿੱਕ ਕਰੋ.",
"shortTitle": "ਡਾਊਨਲੋਡ / iOS",
"title": "iOS 'ਤੇ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
},
"onPc": {
"1": "PC 'ਤੇ, ਡਾਊਨਲੋਡ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਫਿਰ, ਨਵੇਂ ਪੰਨੇ 'ਤੇ, ਵੀਡੀਓ 'ਤੇ ਸੱਜਾ ਕਲਿੱਕ ਕਰੋ ਅਤੇ <bold>ਵੀਡੀਓ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਸੁਰੱਖਿਅਤ ਕਰੋ</bold> ਚੁਣੋ.",
"shortTitle": "ਡਾਊਨਲੋਡ / PC",
"title": "PC 'ਤੇ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
},
"title": "ਡਾਊਨਲੋਡ"
},
"episodes": {
"button": "ਐਪੀਸੋਡ",
"emptyState": "ਇਸ ਸੀਜ਼ਨ ਵਿੱਚ ਕੋਈ ਐਪੀਸੋਡ ਨਹੀਂ ਹਨ, ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਜਾਂਚ ਕਰੋ!",
"episodeBadge": "E{{episode}}",
"loadingError": "ਸੀਜ਼ਨ ਲੋਡ ਕਰਨ ਵਿੱਚ ਤਰੁੱਟੀ",
"loadingList": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ...",
"loadingTitle": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ...",
"unairedEpisodes": "ਇਸ ਸੀਜ਼ਨ ਵਿੱਚ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਐਪੀਸੋਡਾਂ ਨੂੰ ਅਯੋਗ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਉਹਨਾਂ ਨੂੰ ਅਜੇ ਤੱਕ ਪ੍ਰਸਾਰਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ."
},
"playback": {
"speedLabel": "ਪਲੇਬੈਕ ਗਤੀ",
"title": "ਪਲੇਬੈਕ ਸੈਟਿੰਗਾਂ"
},
"quality": {
"automaticLabel": "ਆਟੋਮੈਟਿਕ ਗੁਣਵੱਤਾ",
"hint": "ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਗੁਣਵੱਤਾ ਵਿਕਲਪਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ <0>switching source</0> ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ।",
"iosNoQuality": "ਐਪਲ-ਪ੍ਰਭਾਸ਼ਿਤ ਸੀਮਾਵਾਂ ਦੇ ਕਾਰਨ, ਇਸ ਸਰੋਤ ਲਈ ਗੁਣਵੱਤਾ ਦੀ ਚੋਣ iOS 'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ. ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਗੁਣਵੱਤਾ ਵਿਕਲਪਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ <0>ਕਿਸੇ ਹੋਰ ਸਰੋਤ 'ਤੇ ਜਾਣ</0> ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ.",
"title": "ਗੁਣਵੱਤਾ"
},
"settings": {
"downloadItem": "ਡਾਊਨਲੋਡ",
"enableSubtitles": "ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ",
"experienceSection": "ਦੇਖਣ ਦਾ ਤਜਰਬਾ",
"playbackItem": "ਪਲੇਬੈਕ ਸੈਟਿੰਗਾਂ",
"qualityItem": "ਗੁਣਵੱਤਾ",
"sourceItem": "ਵੀਡੀਓ ਸਰੋਤ",
"subtitleItem": "ਉਪਸਿਰਲੇਖ ਸੈਟਿੰਗਾਂ",
"videoSection": "ਵੀਡੀਓ ਸੈਟਿੰਗਾਂ"
},
"sources": {
"failed": {
"text": "ਕਿਸੇ ਵੀ ਵੀਡੀਓ ਨੂੰ ਲੱਭਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਤਰੁੱਟੀ ਆਈ ਸੀ, ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੱਖਰੇ ਸਰੋਤ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.",
"title": "ਸਕ੍ਰੈਪ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
},
"noEmbeds": {
"text": "ਅਸੀਂ ਕੋਈ ਏਮਬੇਡ ਲੱਭਣ ਵਿੱਚ ਅਸਮਰੱਥ ਸੀ, ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੱਖਰੇ ਸਰੋਤ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.",
"title": "ਕੋਈ ਏਮਬੇਡ ਨਹੀਂ ਮਿਲੇ"
},
"noStream": {
"text": "ਇਸ ਸਰੋਤ ਵਿੱਚ ਇਸ ਫ਼ਿਲਮ ਜਾਂ ਸ਼ੋਅ ਲਈ ਕੋਈ ਸਟ੍ਰੀਮ ਨਹੀਂ ਹ.",
"title": "ਕੋਈ ਧਾਰਾ ਨਹੀਂ"
},
"title": "ਸਰੋਤ",
"unknownOption": "ਅਗਿਆਤ"
},
"subtitles": {
"customChoice": "ਫਾਈਲ ਤੋਂ ਉਪਸਿਰਲੇਖ ਚੁਣੋ",
"customizeLabel": "ਅਨੁਕੂਲਿਤ ਕਰੋ",
"offChoice": "ਬੰਦ",
"settings": {
"backlink": "ਕਸਟਮ ਉਪਸਿਰਲੇਖ",
"delay": "ਉਪਸਿਰਲੇਖ ਦੇਰੀ",
"fixCapitals": "ਪੂੰਜੀਕਰਣ ਨੂੰ ਠੀਕ ਕਰੋ"
},
"title": "ਉਪਸਿਰਲੇਖ",
"unknownLanguage": "ਅਗਿਆਤ"
}
},
"metadata": {
"api": {
"text": "API ਮੈਟਾਡੇਟਾ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ।",
"title": "API ਮੈਟਾਡੇਟਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
},
"dmca": {
"badge": "ਹਟਾਇਆ ਗਿਆ",
"text": "ਬਰਖਾਸਤਗੀ ਨੋਟਿਸ ਜਾਂ ਕਾਪੀਰਾਈਟ ਦਾਅਵੇ ਕਾਰਨ ਇਹ ਮੀਡੀਆ ਹੁਣ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.",
"title": "ਮੀਡੀਆ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ"
},
"extensionPermission": {
"badge": "ਇਜਾਜ਼ਤ ਗੁੰਮ ਹੈ",
"button": "ਐਕਸਟੈਂਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ",
"text": "ਤੁਹਾਡੇ ਕੋਲ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਹੈ, ਪਰ ਸਾਨੂੰ ਐਕਸਟੈਂਸ਼ਨ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ.",
"title": "ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ"
},
"failed": {
"badge": "ਅਸਫਲ ਰਿਹਾ",
"homeButton": "ਘਰ ਜਾਓ",
"text": "TMDB ਤੋਂ ਮੀਡੀਆ ਦਾ ਮੈਟਾਡੇਟਾ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ. ਕਿਰਪਾ ਕਰਕੇ ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਤੁਹਾਡੇ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ 'ਤੇ TMDB ਬੰਦ ਹੈ ਜਾਂ ਬਲੌਕ ਹੈ.",
"title": "ਮੈਟਾਡੇਟਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"
},
"notFound": {
"badge": "ਨਹੀਂ ਲਭਿਆ",
"homeButton": "ਘਰ ਵਾਪਸ",
"text": "ਅਸੀਂ ਤੁਹਾਡੇ ਦੁਆਰਾ ਬੇਨਤੀ ਕੀਤੀ ਮੀਡੀਆ ਨੂੰ ਨਹੀਂ ਲੱਭ ਸਕੇ. ਜਾਂ ਤਾਂ ਇਸਨੂੰ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜਾਂ ਤੁਸੀਂ URL ਨਾਲ ਛੇੜਛਾੜ ਕੀਤੀ ਹੈ.",
"title": "ਉਹ ਮੀਡੀਆ ਨਹੀਂ ਲੱਭ ਸਕਿਆ।"
}
},
"nextEpisode": {
"cancel": "ਰੱਦ ਕਰੋ",
"next": "ਅਗਲਾ ਐਪੀਸੋਡ"
},
"playbackError": {
"badge": "ਪਲੇਬੈਕ ਗੜਬੜ",
"errors": {
"errorAborted": "ਉਪਭੋਗਤਾ ਦੀ ਬੇਨਤੀ 'ਤੇ ਮੀਡੀਆ ਦੀ ਪ੍ਰਾਪਤੀ ਨੂੰ ਰੋਕ ਦਿੱਤਾ ਗਿਆ ਸੀ.",
"errorDecode": "ਪਹਿਲਾਂ ਵਰਤੋਂਯੋਗ ਹੋਣ ਦਾ ਨਿਸ਼ਚਤ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਮੀਡੀਆ ਸਰੋਤ ਨੂੰ ਡੀਕੋਡ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਤਰੁੱਟੀ ਆਈ, ਨਤੀਜੇ ਵਜੋਂ ਇੱਕ ਤਰੁੱਟੀ ਹੋਈ.",
"errorGenericMedia": "ਅਗਿਆਤ ਮੀਡੀਆ ਗਲਤੀ ਆਈ ਹੈ।",
"errorNetwork": "ਕੁਝ ਕਿਸਮ ਦੀ ਨੈੱਟਵਰਕ ਤਰੁੱਟੀ ਆਈ ਹੈ ਜੋ ਪਹਿਲਾਂ ਉਪਲਬਧ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਮੀਡੀਆ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਾਪਤ ਹੋਣ ਤੋਂ ਰੋਕਦੀ ਹੈ.",
"errorNotSupported": "ਮੀਡੀਆ ਜਾਂ ਮੀਡੀਆ ਪ੍ਰਦਾਤਾ ਵਸਤੂ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ."
},
"homeButton": "ਘਰ ਜਾਓ",
"text": "ਮੀਡੀਆ ਨੂੰ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋਏ ਇੱਕ ਤਰੁੱਟੀ ਉਤਪੰਨ ਹੋਈ। ਮੁੜ ਕੋਸ਼ਿਸ ਕਰੋ ਜੀ.",
"title": "ਵੀਡੀਓ ਚਲਾਉਣਾ ਅਸਫਲ ਰਿਹਾ!"
},
"scraping": {
"items": {
"failure": "ਗੜਬੜ ਹੋ ਗਈ",
"notFound": "ਕੋਲ ਵੀਡੀਓ ਨਹੀਂ ਹੈ",
"pending": "ਵੀਡੀਓਜ਼ ਲਈ ਜਾਂਚ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..."
},
"notFound": {
"badge": "ਨਹੀਂ ਲਭਿਆ",
"detailsButton": "ਵੇਰਵਾ ਦਿਖਾਓ",
"homeButton": "ਘਰ ਜਾਓ",
"text": "ਅਸੀਂ ਆਪਣੇ ਪ੍ਰਦਾਤਾਵਾਂ ਦੁਆਰਾ ਖੋਜ ਕੀਤੀ ਹੈ ਅਤੇ ਉਹ ਮੀਡੀਆ ਨਹੀਂ ਲੱਭ ਸਕਦੇ ਜੋ ਤੁਸੀਂ ਲੱਭ ਰਹੇ ਹੋ! ਅਸੀਂ ਮੀਡੀਆ ਦੀ ਮੇਜ਼ਬਾਨੀ ਨਹੀਂ ਕਰਦੇ ਹਾਂ ਅਤੇ ਜੋ ਉਪਲਬਧ ਹੈ ਉਸ 'ਤੇ ਸਾਡਾ ਕੋਈ ਕੰਟਰੋਲ ਨਹੀਂ ਹੈ. ਕਿਰਪਾ ਕਰਕੇ ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ ਹੇਠਾਂ 'ਵੇਰਵੇ ਦਿਖਾਓ' 'ਤੇ ਕਲਿੱਕ ਕਰੋ.",
"title": "ਅਸੀਂ ਇਹ ਨਹੀਂ ਲੱਭ ਸਕੇ"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} ਬਾਕੀ • {{timeFinished, datetime}} ਵਜੇ ਸਮਾਪਤ ਕਰੋ",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "ਕਿਰਪਾ ਕਰਕੇ ਸੱਜੇ ਪਾਸੇ ਕੈਪਚਾ ਨੂੰ ਪੂਰਾ ਕਰਕੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਸੀਂ ਮਨੁੱਖ ਹੋ. ਇਹ ਮੂਵੀ-ਵੈੱਬ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਹੈ!",
"error": "ਤੁਹਾਡੀ ਮਨੁੱਖਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਵਿੱਚ ਅਸਫਲ। ਮੁੜ ਕੋਸ਼ਿਸ ਕਰੋ ਜੀ.",
"title": "ਸਾਨੂੰ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਤੁਸੀਂ ਇਨਸਾਨ ਹੋ.",
"verifyingHumanity": "ਤੁਹਾਡੀ ਮਨੁੱਖਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..."
}
},
"screens": {
"dmca": {
"text": "ਮੂਵੀ-ਵੈੱਬ ਦੇ DMCA ਸੰਪਰਕ ਪੰਨੇ 'ਤੇ ਤੁਹਾਡਾ ਸੁਆਗਤ ਹੈ! ਅਸੀਂ ਬੌਧਿਕ ਸੰਪਤੀ ਅਧਿਕਾਰਾਂ ਦਾ ਸਨਮਾਨ ਕਰਦੇ ਹਾਂ ਅਤੇ ਕਿਸੇ ਵੀ ਕਾਪੀਰਾਈਟ ਸੰਬੰਧੀ ਚਿੰਤਾਵਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਹੱਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਸਾਡੇ ਪਲੇਟਫਾਰਮ 'ਤੇ ਤੁਹਾਡੇ ਕਾਪੀਰਾਈਟ ਕੀਤੇ ਕੰਮ ਦੀ ਗਲਤ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਹੈ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਹੇਠਾਂ ਦਿੱਤੀ ਈਮੇਲ 'ਤੇ ਇੱਕ ਵਿਸਤ੍ਰਿਤ DMCA ਨੋਟਿਸ ਭੇਜੋ. ਕਿਰਪਾ ਕਰਕੇ ਕਾਪੀਰਾਈਟ ਸਮੱਗਰੀ ਦਾ ਵੇਰਵਾ, ਤੁਹਾਡੇ ਸੰਪਰਕ ਵੇਰਵਿਆਂ, ਅਤੇ ਨੇਕ ਵਿਸ਼ਵਾਸ ਦਾ ਬਿਆਨ ਸ਼ਾਮਲ ਕਰੋ. ਅਸੀਂ ਇਹਨਾਂ ਮਾਮਲਿਆਂ ਨੂੰ ਤੁਰੰਤ ਹੱਲ ਕਰਨ ਲਈ ਵਚਨਬੱਧ ਹਾਂ ਅਤੇ ਮੂਵੀ-ਵੈੱਬ ਨੂੰ ਇੱਕ ਅਜਿਹੀ ਥਾਂ ਰੱਖਣ ਵਿੱਚ ਤੁਹਾਡੇ ਸਹਿਯੋਗ ਦੀ ਸ਼ਲਾਘਾ ਕਰਦੇ ਹਾਂ ਜੋ ਰਚਨਾਤਮਕਤਾ ਅਤੇ ਕਾਪੀਰਾਈਟ ਦਾ ਸਨਮਾਨ ਕਰਦਾ ਹੈ.",
"title": "DMCA"
},
"loadingApp": "ਐਪਲੀਕੇਸ਼ਨ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ",
"loadingUser": "ਤੁਹਾਡਾ ਪ੍ਰੋਫਾਈਲ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
"loadingUserError": {
"logout": "ਲਾੱਗ ਆਊਟ",
"reset": "ਕਸਟਮ ਸਰਵਰ ਰੀਸੈਟ ਕਰੋ",
"text": "ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ",
"textWithReset": "ਤੁਹਾਡੇ ਕਸਟਮ ਸਰਵਰ ਤੋਂ ਤੁਹਾਡੀ ਪ੍ਰੋਫਾਈਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫਲ, ਡਿਫੌਲਟ ਸਰਵਰ ਤੇ ਵਾਪਸ ਰੀਸੈਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
},
"migration": {
"failed": "ਤੁਹਾਡੇ ਡੇਟਾ ਨੂੰ ਮਾਈਗਰੇਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ.",
"inProgress": "ਕਿਰਪਾ ਕਰਕੇ ਹੋਲਡ ਕਰੋ, ਅਸੀਂ ਤੁਹਾਡੇ ਡੇਟਾ ਨੂੰ ਮਾਈਗਰੇਟ ਕਰ ਰਹੇ ਹਾਂ। ਇਸ ਵਿੱਚ ਜ਼ਿਆਦਾ ਸਮਾਂ ਨਹੀਂ ਲੱਗਣਾ ਚਾਹੀਦਾ."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "ਡਿਵਾਈਸ ਦਾ ਨਾਮ",
"deviceNamePlaceholder": "ਨਿੱਜੀ ਫ਼ੋਨ",
"editProfile": "ਸੰਪਾਦਿਤ ਕਰੋ",
"logoutButton": "ਲਾੱਗ ਆਊਟ"
},
"actions": {
"delete": {
"button": "ਖਾਤਾ ਮਿਟਾਓ",
"confirmButton": "ਖਾਤਾ ਮਿਟਾਓ",
"confirmDescription": "ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ 'ਤੇ ਆਪਣਾ ਖਾਤਾ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡਾ ਸਾਰਾ ਡਾਟਾ ਖਤਮ ਹੋ ਜਾਵੇਗਾ!",
"confirmTitle": "ਤੁਹਾਨੂੰ ਪੂਰਾ ਵਿਸ਼ਵਾਸ ਹੈ?",
"text": "ਇਹ ਕਿਰਿਆ ਵਾਪਸੀਯੋਗ ਨਹੀਂ ਹੈ. ਸਾਰਾ ਡਾਟਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ ਅਤੇ ਕੁਝ ਵੀ ਰਿਕਵਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.",
"title": "ਖਾਤਾ ਮਿਟਾਓ"
},
"title": "ਕਾਰਵਾਈਆਂ"
},
"devices": {
"deviceNameLabel": "ਡਿਵਾਈਸ ਦਾ ਨਾਮ",
"failed": "ਸੈਸ਼ਨਾਂ ਨੂੰ ਲੋਡ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ",
"removeDevice": "ਹਟਾਓ",
"title": "ਡਿਵਾਈਸਾਂ"
},
"profile": {
"finish": "ਸੰਪਾਦਨ ਪੂਰਾ ਕਰੋ",
"firstColor": "ਪ੍ਰੋਫਾਈਲ ਰੰਗ ਇੱਕ",
"secondColor": "ਪ੍ਰੋਫਾਈਲ ਰੰਗ ਦੋ",
"title": "ਪ੍ਰੋਫਾਈਲ ਤਸਵੀਰ ਦਾ ਸੰਪਾਦਨ ਕਰੋ",
"userIcon": "ਉਪਭੋਗਤਾ ਪ੍ਰਤੀਕ"
},
"register": {
"cta": "ਸ਼ੁਰੂ ਕਰੋ",
"text": "ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਆਪਣੀ ਘੜੀ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਸਾਂਝਾ ਕਰੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸਿੰਕ ਰੱਖੋ.",
"title": "ਕਲਾਉਡ ਨਾਲ ਸਿੰਕ ਕਰੋ"
},
"title": "ਖਾਤਾ"
},
"appearance": {
"activeTheme": "ਕਿਰਿਆਸ਼ੀਲ",
"themes": {
"blue": "ਨੀਲਾ",
"default": "ਡਿਫਾਲਟ",
"gray": "ਸਲੇਟੀ",
"red": "ਲਾਲ",
"teal": "ਟੀਲ"
},
"title": "ਰੂਪ"
},
"connections": {
"server": {
"description": "ਜੇਕਰ ਤੁਸੀਂ ਆਪਣਾ ਡੇਟਾ ਸਟੋਰ ਕਰਨ ਲਈ ਇੱਕ ਕਸਟਮ ਬੈਕਐਂਡ ਨਾਲ ਜੁੜਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਸਨੂੰ ਸਮਰੱਥ ਕਰੋ ਅਤੇ URL ਪ੍ਰਦਾਨ ਕਰੋ। <0>ਹਿਦਾਇਤਾਂ.</0>",
"label": "ਕਸਟਮ ਸਰਵਰ",
"urlLabel": "ਕਸਟਮ ਸਰਵਰ URL"
},
"setup": {
"doSetup": "ਸੈੱਟਅੱਪ ਕਰੋ",
"errorStatus": {
"description": "ਅਜਿਹਾ ਲਗਦਾ ਹੈ ਕਿ ਇਸ ਸੈੱਟਅੱਪ ਵਿੱਚ ਇੱਕ ਜਾਂ ਵੱਧ ਆਈਟਮਾਂ ਤੁਹਾਡੇ ਧਿਆਨ ਦੀ ਲੋੜ ਹੈ.",
"title": "ਕੁਝ ਤੁਹਾਡੇ ਧਿਆਨ ਦੀ ਲੋੜ ਹੈ"
},
"itemError": "ਇਸ ਸੈਟਿੰਗ ਵਿੱਚ ਕੁਝ ਗੜਬੜ ਹੈ. ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਦੁਬਾਰਾ ਸੈੱਟਅੱਪ 'ਤੇ ਜਾਓ.",
"items": {
"default": "ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੈੱਟਅੱਪ",
"extension": "ਐਕਸਟੈਂਸ਼ਨ",
"proxy": "ਕਸਟਮ ਪ੍ਰੌਕਸੀ"
},
"redoSetup": "ਸੈੱਟਅੱਪ ਮੁੜ ਕਰੋ",
"successStatus": {
"description": "ਤੁਹਾਡੇ ਮਨਪਸੰਦ ਮੀਡੀਆ ਨੂੰ ਦੇਖਣਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਲਈ ਸਾਰੀਆਂ ਚੀਜ਼ਾਂ ਮੌਜੂਦ ਹਨ.",
"title": "ਸਭ ਕੁਝ ਸਥਾਪਤ ਹੈ!"
},
"unsetStatus": {
"description": "ਕਿਰਪਾ ਕਰਕੇ ਸੈਟਅਪ ਪ੍ਰਕਿਰਿਆ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸੱਜੇ ਪਾਸੇ ਦੇ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ.",
"title": "ਤੁਸੀਂ ਸੈੱਟਅੱਪ ਵਿੱਚੋਂ ਨਹੀਂ ਲੰਘੇ"
}
},
"title": "ਕਨੈਕਸ਼ਨ",
"workers": {
"addButton": "ਨਵਾਂ ਵਰਕਰ ਸ਼ਾਮਲ ਕਰੋ",
"description": "ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨ ਬਣਾਉਣ ਲਈ, ਸਾਰੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਪ੍ਰੌਕਸੀਆਂ ਦੁਆਰਾ ਰੂਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਖੁਦ ਦੇ ਵਰਕਰਾਂ ਨੂੰ ਲਿਆਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਸਨੂੰ ਚਾਲੂ ਕਰੋ. <0>ਹਿਦਾਇਤਾਂ।</0>",
"emptyState": "ਅਜੇ ਕੋਈ ਕਰਮਚਾਰੀ ਨਹੀਂ, ਹੇਠਾਂ ਇੱਕ ਸ਼ਾਮਲ ਕਰੋ",
"label": "ਕਸਟਮ ਪ੍ਰੌਕਸੀ ਵਰਕਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ",
"urlLabel": "ਵਰਕਰ URLs",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "ਐਪਲੀਕੇਸ਼ਨ ਭਾਸ਼ਾ",
"languageDescription": "ਪੂਰੀ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਭਾਸ਼ਾ ਲਾਗੂ ਕੀਤੀ ਗਈ।",
"thumbnail": "ਥੰਬਨੇਲ ਬਣਾਓ",
"thumbnailDescription": "ਬਹੁਤੀ ਵਾਰ, ਵੀਡੀਓਜ਼ ਵਿੱਚ ਥੰਬਨੇਲ ਨਹੀਂ ਹੁੰਦੇ ਹਨ. ਤੁਸੀਂ ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਫਲਾਈ 'ਤੇ ਤਿਆਰ ਕਰਨ ਲਈ ਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹੋ ਪਰ ਉਹ ਤੁਹਾਡੇ ਵੀਡੀਓ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦੇ ਹਨ.",
"thumbnailLabel": "ਥੰਬਨੇਲ ਬਣਾਓ",
"title": "ਤਰਜੀਹਾਂ"
},
"reset": "ਆਰਾਮ",
"save": "ਸੇਵ",
"sidebar": {
"info": {
"appVersion": "ਐਪ ਸੰਸਕਰਣ",
"backendUrl": "ਬੈਕਐਂਡ URL",
"backendVersion": "ਬੈਕਐਂਡ ਸੰਸਕਰਣ",
"hostname": "ਹੋਸਟਨਾਮ",
"insecure": "ਅਸੁਰੱਖਿਅਤ",
"notLoggedIn": "ਤੁਸੀਂ ਲੌਗਇਨ ਨਹੀਂ ਹੋ",
"secure": "ਸੁਰੱਖਿਅਤ",
"title": "ਐਪ ਜਾਣਕਾਰੀ",
"unknownVersion": "ਅਗਿਆਤ",
"userId": "ਯੂਜਰ ਆਈਡੀ"
}
},
"subtitles": {
"backgroundLabel": "ਬੈਕਗ੍ਰਾਊਂਡ ਧੁੰਦਲਾਪਨ",
"colorLabel": "ਰੰਗ",
"previewQuote": "ਮੈਨੂੰ ਡਰਨਾ ਨਹੀਂ ਚਾਹੀਦਾ. ਡਰ ਮਨ ਨੂੰ ਮਾਰਨ ਵਾਲਾ ਹੈ.",
"textSizeLabel": "ਟੈਕਸਟ ਦਾ ਆਕਾਰ",
"title": "ਉਪਸਿਰਲੇਖ"
},
"unsaved": "ਤੁਹਾਡੇ ਕੋਲ ਅਣਰੱਖਿਅਤ ਤਬਦੀਲੀਆਂ ਹਨ"
}
} }

View File

@@ -95,6 +95,7 @@
"about": "About", "about": "About",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Login", "login": "Login",
"onboarding": "Setup",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Forge yer account, matey!", "register": "Forge yer account, matey!",
"settings": "Settings" "settings": "Settings"
@@ -112,15 +113,21 @@
}, },
"search": { "search": {
"allResults": "That's all we have, me heartie!", "allResults": "That's all we have, me heartie!",
"failed": "Failed to find media, try again!", "failed": "Arrrr failed to find media, try again!",
"loading": "Hold yer horses, me heartie!", "loading": "Hold yer horses, me heartie!",
"noResults": "We couldn't find anythin', arrr!", "noResults": "We couldn't find anythin', arrr!",
"placeholder": "What do ye want to watch?", "placeholder": {
"default": "What do ye want to watch?",
"extra": []
},
"sectionTitle": "Searchin' results" "sectionTitle": "Searchin' results"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "What be yer fancy for this fine afternoon's viewing, me heartie?" "default": "What be yer fancy for this fine afternoon's viewing, me heartie?",
"extra": [
"Feelin' adventurous? Pirates of the Caribbean might be the perfect choice."
]
}, },
"morning": { "morning": {
"default": "What be yer fancy for this mornin's viewing, me heartie?", "default": "What be yer fancy for this mornin's viewing, me heartie?",
@@ -162,6 +169,69 @@
"message": "We looked everywhere: under the bins, in the closet, behind the proxy but ultimately couldn't find the treasure map ye be lookin' for.", "message": "We looked everywhere: under the bins, in the closet, behind the proxy but ultimately couldn't find the treasure map ye be lookin' for.",
"title": "Couldn't find that treasure map" "title": "Couldn't find that treasure map"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Cancel",
"confirm": "Use default setup",
"description": "The default setup does nah 'ave the best streams 'n can be unbearably slow.",
"title": "Are ye sure?"
},
"extension": {
"back": "Go back",
"explainer": "Usin' the browser extension, ye can get the best streams we 'ave t' offer. Wit' jus' a simple install.",
"explainerIos": "Unfortunately, the browser extension ain't supported on iOS, Press <bold>Go back</bold> t' choose another option.",
"extensionHelp": "If ye've installed the extension but 'tisn't detected, <bold>open the extension through yer browsers extension menu</bold> 'n follow the steps on screen.",
"linkChrome": "Install Chrome extension",
"linkFirefox": "Install Firefox extension",
"notDetecting": "Installed on Chrome, but the site ain't detecting it? Give the page a good reload!",
"notDetectingAction": "Reload page",
"status": {
"disallowed": "Extension ain't enabled fer this page",
"disallowedAction": "Enable extension",
"failed": "Failed t' request status",
"loading": "Waitin' fer ye t' install the extension",
"outdated": "Extension version too ole",
"success": "Extension be workin' as expected!"
},
"submit": "Continue",
"title": "Let's start wit' an extension"
},
"proxy": {
"back": "Go back",
"explainer": "Wit' the proxy method, ye can get great quality streams by makin' a self-service proxy.",
"input": {
"errorConnection": "Couldn't connect t' proxy",
"errorInvalidUrl": "Ain't a valid URL",
"errorNotProxy": "Expected a proxy but got a website",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Learn how t' make a proxy",
"submit": "Submit proxy",
"title": "Let's make a new proxy"
},
"start": {
"explainer": "T' get the best streams possible, ye will needs t' choose which streamin' method ye wants t' use.",
"options": {
"default": {
"text": "I don't wants good quality streams,<0 /> <1>use the default setup</1>"
},
"extension": {
"action": "Install extension",
"description": "Install browser extension 'n gain access t' the best sources.",
"quality": "Best quality",
"title": "Browser extension"
},
"proxy": {
"action": "Setup proxy",
"description": "Setup a proxy in jus' 5 minutes 'n gain access t' great sources.",
"quality": "Good quality",
"title": "Custom proxy"
}
},
"title": "Let's get ye setup wit' movie-web"
}
},
"overlays": { "overlays": {
"close": "Close" "close": "Close"
}, },
@@ -176,7 +246,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Downloads be taken directly from the provider. movie-web does not have control over how the downloads be provided.", "disclaimer": "Downloads be taken directly from the provider. movie-web does not have control over how the downloads be provided.",
"downloadSubtitle": "Download current subtitle",
"downloadVideo": "Download film", "downloadVideo": "Download film",
"hlsDisclaimer": "Loot are taken directly from the provider. movie-web does nah 'ave control o'er how the loot are provided. <br /><br />Please note that ye be downloadin' an HLS playlist, <bold>'tisn't recommended t' download if ye be nah familiar wit' advanced streamin' formats</bold>. Try different sources fer different formats.",
"onAndroid": { "onAndroid": {
"1": "To download on Android, <bold>tap and hold</bold> on the film, then select <bold>save</bold>.", "1": "To download on Android, <bold>tap and hold</bold> on the film, then select <bold>save</bold>.",
"shortTitle": "Download / Android", "shortTitle": "Download / Android",
@@ -200,7 +272,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Error loadin' season", "loadingError": "Error loadin' season",
"loadingList": "Loading...", "loadingList": "Loading...",
"loadingTitle": "Loading..." "loadingTitle": "Loading...",
"unairedEpisodes": "One or more episodes in this season 'ave been disabled 'cause they haven't been shipped yet."
}, },
"playback": { "playback": {
"speedLabel": "Playback speed", "speedLabel": "Playback speed",
@@ -239,13 +312,34 @@
"unknownOption": "Unknown" "unknownOption": "Unknown"
}, },
"subtitles": { "subtitles": {
"customChoice": "Select subtitle from file",
"customizeLabel": "Tailor it to yer liking", "customizeLabel": "Tailor it to yer liking",
"offChoice": "Off",
"settings": { "settings": {
"backlink": "Custom subtitles",
"delay": "Subtitle delay",
"fixCapitals": "Mend the capital letters" "fixCapitals": "Mend the capital letters"
} },
"title": "Subtitles",
"unknownLanguage": "Unknown"
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Could nah load API metadata, please check yer internet connection.",
"title": "Failed t' load API metadata"
},
"dmca": {
"badge": "Removed",
"text": "This media be no longer available due t' a takedown notice or copyright claim.",
"title": "Media has been scuttled"
},
"extensionPermission": {
"badge": "Permission Missin'",
"button": "Use extension",
"text": "Ye 'ave the browser extension, but we needs yer permission t' get started usin' the extension.",
"title": "Configure the extension"
},
"failed": { "failed": {
"badge": "Failed", "badge": "Failed",
"homeButton": "Go home port", "homeButton": "Go home port",
@@ -284,6 +378,7 @@
}, },
"notFound": { "notFound": {
"badge": "Not found", "badge": "Not found",
"detailsButton": "Show details",
"homeButton": "Go home port", "homeButton": "Go home port",
"text": "Oh, me apologies, sweetie! The itty-bitty movie-web did its utmost bestest, but alas, no wucky videos to be spotted anywhere (´⊙ω⊙`) Please don't be angwy, wittle movie-web ish twying so hard. Can ye find it in yer heart to forgive? UwU 💖", "text": "Oh, me apologies, sweetie! The itty-bitty movie-web did its utmost bestest, but alas, no wucky videos to be spotted anywhere (´⊙ω⊙`) Please don't be angwy, wittle movie-web ish twying so hard. Can ye find it in yer heart to forgive? UwU 💖",
"title": "Goo goo gaa gaa" "title": "Goo goo gaa gaa"
@@ -294,12 +389,23 @@
"remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}", "remaining": "{{timeLeft}} left • Finish at {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Please verify that ye be human by completin' the Captcha on right. 'tis t' keep movie-web safe!",
"error": "Failed t' verify yer piracy. Please try again.",
"title": "We needs t' verify that ye're real pirate.",
"verifyingHumanity": "Verifyin' yer piracy..."
} }
}, },
"screens": { "screens": {
"dmca": {
"text": "Ahoy t' movie-web's DMCA contact page! We respect intellectual property rights 'n wants t' address any copyright concerns swiftly. If ye believe yer copyrighted work has been improperly used on our platform, please send a detailed DMCA notice t' the email below. Please include a description o' the copyrighted material, yer contact details, 'n a statement o' good faith belief. We be committed t' resolvin' these matters promptly 'n appreciate yer cooperation in keepin' movie-web a galleon that respects creativity 'n copyrights.",
"title": "DMCA"
},
"loadingApp": "Loadin' application", "loadingApp": "Loadin' application",
"loadingUser": "Loadin' yer pirate profile", "loadingUser": "Loadin' yer pirate profile",
"loadingUserError": { "loadingUserError": {
"logout": "Logout",
"reset": "Reset custom ship", "reset": "Reset custom ship",
"text": "Failed to load yer pirate profile", "text": "Failed to load yer pirate profile",
"textWithReset": "Failed to load yer pirate profile from yer custom ship, want to reset back to default?" "textWithReset": "Failed to load yer pirate profile from yer custom ship, want to reset back to default?"
@@ -361,24 +467,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "To make the application function, all traffic be routed through proxies. Enable this if ye want to bring yer own sailors.", "description": "To make the application function, all traffic be routed through proxies. Enable this if ye want to bring yer own sailors. <0>Instructions.</0>",
"label": "Custom ship", "label": "Custom ship",
"urlLabel": "Custom ship URL" "urlLabel": "Custom ship URL"
}, },
"setup": {
"doSetup": "Do setup",
"errorStatus": {
"description": "It seems that one or more items in this setup needs yer attention.",
"title": "Somethin' needs yer attention"
},
"itemError": "Thar be somethin' wrong wit' this settin'. Go through setup again t' fix it.",
"items": {
"default": "Default setup",
"extension": "Extension",
"proxy": "Custom proxy"
},
"redoSetup": "Redo setup",
"successStatus": {
"description": "All things are in ship fer ye t' start watchin' yer favourite media.",
"title": "Everythin' be set up!"
},
"unsetStatus": {
"description": "Please skewer the button t' starb'rd t' start the setup process.",
"title": "Ye haven't gone through setup"
}
},
"title": "Connections", "title": "Connections",
"workers": { "workers": {
"addButton": "Recruit new sailor", "addButton": "Recruit new sailor",
"description": "To make the application function, all traffic be routed through proxies. Enable this if ye want to bring yer own sailors.", "description": "To make the application function, all traffic be routed through proxies. Enable this if ye want to bring yer own sailors. <0>Instructions.</0>",
"emptyState": "No sailors yet, add one below", "emptyState": "No sailors yet, add one below",
"label": "Use custom proxy sailors", "label": "Use custom proxy sailors",
"urlLabel": "Sailor URLs", "urlLabel": "Sailor URLs",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Application language", "language": "Application language",
"languageDescription": "Language applied to the entire application.", "languageDescription": "Language applied t' the entire application.",
"title": "Locale" "thumbnail": "Generate thumbnails",
"thumbnailDescription": "Most o' the time, videos don't 'ave thumbnails. Ye can enable this settin' t' generate 'em on the trip but they can make yer video slower.",
"thumbnailLabel": "Generate thumbnails",
"title": "Preferences"
}, },
"reset": "Reset", "reset": "Reset",
"save": "Save", "save": "Save",
@@ -396,6 +527,13 @@
"userId": "Pirate ID" "userId": "Pirate ID"
} }
}, },
"subtitles": {
"backgroundLabel": "Background opacity",
"colorLabel": "Color",
"previewQuote": "I must not fear. Fear is the mind-killer.",
"textSizeLabel": "Text size",
"title": "Subtitles"
},
"unsaved": "Ye have unsaved changes" "unsaved": "Ye have unsaved changes"
} }
} }

View File

@@ -95,6 +95,7 @@
"about": "Informacje", "about": "Informacje",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Zaloguj sie", "login": "Zaloguj sie",
"onboarding": "Konfiguracja",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Zarejestruj się", "register": "Zarejestruj się",
"settings": "Ustawienia" "settings": "Ustawienia"
@@ -115,7 +116,10 @@
"failed": "Nie udało się znaleźć mediów, Spróbuj ponownie!", "failed": "Nie udało się znaleźć mediów, Spróbuj ponownie!",
"loading": "Wczytywanie...", "loading": "Wczytywanie...",
"noResults": "Nie mogliśmy niczego znaleźć!", "noResults": "Nie mogliśmy niczego znaleźć!",
"placeholder": "Co chciałbyś obejrzeć?", "placeholder": {
"default": "Co chciałbyś obejrzeć?",
"extra": []
},
"sectionTitle": "Wyniki wyszukiwania" "sectionTitle": "Wyniki wyszukiwania"
}, },
"titles": { "titles": {
@@ -127,15 +131,11 @@
}, },
"morning": { "morning": {
"default": "Co chciałbyś obejrzeć dziś rano?", "default": "Co chciałbyś obejrzeć dziś rano?",
"extra": [ "extra": ["Słyszałem że „Przed wschodem słońca” jest dobre"]
"Słyszałem że „Przed wschodem słońca” jest dobre"
]
}, },
"night": { "night": {
"default": "Co chciałbyś obejrzeć dziś wieczorem?", "default": "Co chciałbyś obejrzeć dziś wieczorem?",
"extra": [ "extra": ["Zmęczony? Słyszałem że „Egzorcysta” jest dobry."]
"Zmęczony? Słyszałem że „Egzorcysta” jest dobry."
]
} }
} }
}, },
@@ -165,6 +165,69 @@
"message": "Szukaliśmy wszędzie: w koszu, w szafie, a nawet w piwnicy, ale nie byliśmy w stanie znaleźć strony której szukasz.", "message": "Szukaliśmy wszędzie: w koszu, w szafie, a nawet w piwnicy, ale nie byliśmy w stanie znaleźć strony której szukasz.",
"title": "Nie można znaleźć tej strony" "title": "Nie można znaleźć tej strony"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Anuluj",
"confirm": "Użyj domyślnej konfiguracji",
"description": "Domyślna konfiguracja nie ma najlepszych strumieni i może być strasznie powolna.",
"title": "Jesteś pewien?"
},
"extension": {
"back": "Wstecz",
"explainer": "Korzystając z rozszerzenia przeglądarki, możesz uzyskać najlepsze strumienie. Wystarczy prosta instalacja.",
"explainerIos": "Niestety, rozszerzenie przeglądarki nie jest obsługiwane w systemie iOS, naciśnij <bold>Wstecz</bold>, aby wybrać inną opcję.",
"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ę!",
"notDetectingAction": "Odśwież stronę",
"status": {
"disallowed": "Rozszerzenie nie jest włączone dla tej strony",
"disallowedAction": "Włącz rozszerzenie",
"failed": "Nie udało się uzyskać statusu",
"loading": "Oczekiwanie na instalację rozszerzenia",
"outdated": "Za stara wersja rozszerzenia",
"success": "Rozszerzenie działa tak jak powinno!"
},
"submit": "Kontynuuj",
"title": "Zacznijmy od rozszerzenia"
},
"proxy": {
"back": "Wstecz",
"explainer": "Za pomocą metody proxy można uzyskać strumienie o doskonałej jakości, tworząc samoobsługowy serwer proxy.",
"input": {
"errorConnection": "Nie można połączyć się z serwerem proxy",
"errorInvalidUrl": "Nieprawidłowy adres URL",
"errorNotProxy": "Spodziewano proxy, ale otrzymano stronę internetową",
"label": "Adres URL serwera proxy",
"placeholder": "https://"
},
"link": "Dowiedz się, jak utworzyć proxy",
"submit": "Prześlij proxy",
"title": "Stwórzmy nowe proxy"
},
"start": {
"explainer": "Aby uzyskać najlepsze transmisje strumieniowe. Będziesz musiał wybrać metodę strumieniowania, której chcesz użyć.",
"options": {
"default": {
"text": "Nie chcę dobrej jakości strumieni, <0 /> <1>użyj domyślnej konfiguracji</1>"
},
"extension": {
"action": "Zainstaluj rozszerzenie",
"description": "Zainstaluj rozszerzenie przeglądarki i uzyskaj dostęp do najlepszych źródeł.",
"quality": "Najlepsza jakość",
"title": "Rozszerzenie przeglądarki"
},
"proxy": {
"action": "Skonfiguruj serwer proxy",
"description": "Skonfiguruj proxy w 5 minut i uzyskaj dostęp do świetnych źródeł.",
"quality": "Dobra jakość",
"title": "Niestandardowy serwer proxy"
}
},
"title": "Przejdźmy do konfiguracji z movie-web"
}
},
"overlays": { "overlays": {
"close": "Zamknij" "close": "Zamknij"
}, },
@@ -179,10 +242,9 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "Pliki do pobrania są pobierane bezpośrednio od dostawcy. movie-web nie ma kontroli nad sposobem dostarczania plików do pobrania.", "disclaimer": "Pliki do pobrania są pobierane bezpośrednio od dostawcy. movie-web nie ma kontroli nad sposobem dostarczania plików do pobrania.",
"downloadPlaylist": "Pobierz playlistę",
"downloadSubtitle": "Pobierz aktualne napisy", "downloadSubtitle": "Pobierz aktualne napisy",
"downloadVideo": "Pobierz wideo", "downloadVideo": "Pobierz wideo",
"hlsDisclaimer": "Pliki do pobrania są pobierane bezpośrednio od dostawcy. movie-web nie ma kontroli nad sposobem dostarczania plików do pobrania. Należy pamiętać, że pobierana jest playlista HLS, przeznaczona dla użytkowników zaznajomionych z zaawansowanym strumieniowaniem multimediów.", "hlsDisclaimer": "Pliki do pobrania są pobierane bezpośrednio od dostawcy. movie-web nie ma kontroli nad sposobem dostarczania plików do pobrania.<br /><br />Należy pamiętać, że pobierasz playlistę HLS, <bold>nie zaleca się pobierania, jeśli nie jesteś zaznajomiony z zaawansowanymi formatami przesyłania strumieniowego</bold>. Wypróbuj różne źródła dla innych formatów.",
"onAndroid": { "onAndroid": {
"1": "Aby pobrać na Androidzie, kliknij przycisk pobierania, a następnie na nowej stronie <bold>dotknij i przytrzymaj</bold> na filmie, a następnie wybierz <bold>zapisz</bold>.", "1": "Aby pobrać na Androidzie, kliknij przycisk pobierania, a następnie na nowej stronie <bold>dotknij i przytrzymaj</bold> na filmie, a następnie wybierz <bold>zapisz</bold>.",
"shortTitle": "Pobierz / Android", "shortTitle": "Pobierz / Android",
@@ -206,7 +268,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Błąd podczas ładowania sezonu", "loadingError": "Błąd podczas ładowania sezonu",
"loadingList": "Wczytywanie...", "loadingList": "Wczytywanie...",
"loadingTitle": "Wczytywanie..." "loadingTitle": "Wczytywanie...",
"unairedEpisodes": "Jeden lub więcej odcinków tego sezonu zostało wyłączonych, ponieważ nie zostały jeszcze wyemitowane."
}, },
"playback": { "playback": {
"speedLabel": "Szybkość odtwarzania", "speedLabel": "Szybkość odtwarzania",
@@ -258,6 +321,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Nie można załadować metadanych API, sprawdź połączenie internetowe.",
"title": "Nie udało się załadować metadanych API"
},
"dmca": {
"badge": "Usunięte",
"text": "Ten materiał nie jest już dostępny z powodu żądania usunięcia lub roszczenia dotyczącego praw autorskich.",
"title": "Media zostały usunięte"
},
"extensionPermission": {
"badge": "Brak uprawnień",
"button": "Użyj rozszerzenia",
"text": "Masz nasze rozszerzenie przeglądarki, ale potrzebujemy pozwolenia, aby zacząć z niego korzystać.",
"title": "Skonfiguruj rozszerzenie"
},
"failed": { "failed": {
"badge": "Nie powiodło się", "badge": "Nie powiodło się",
"homeButton": "Wróć na stronę główną", "homeButton": "Wróć na stronę główną",
@@ -307,6 +385,12 @@
"remaining": "Zostało {{timeLeft}} • Skończ o {{timeFinished, datetime}}", "remaining": "Zostało {{timeLeft}} • Skończ o {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Proszę potwierdź że jesteś człowiekiem, wypełniając Captcha po prawej stronie. Ma to zapewnić bezpieczeństwo movie-web!",
"error": "Nie udało się zweryfikować Twojego człowieczeństwa. Proszę spróbuj ponownie.",
"title": "Musimy sprawdzić, czy jesteś człowiekiem.",
"verifyingHumanity": "Sprawdzasz swoje człowieczeństwo..."
} }
}, },
"screens": { "screens": {
@@ -379,24 +463,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Jeśli chcesz połączyć się z niestandardowym backendem w celu przechowywania danych, włącz tę opcję i podaj adres URL.", "description": "Jeśli chcesz połączyć się z niestandardowym backendem w celu przechowywania danych, włącz tę opcję i podaj adres URL. <0>Instrukcje.</0>",
"label": "Serwer niestandardowy", "label": "Serwer niestandardowy",
"urlLabel": "Adres URL niestandardowego serwera" "urlLabel": "Adres URL niestandardowego serwera"
}, },
"setup": {
"doSetup": "Konfiguruj",
"errorStatus": {
"description": "Wygląda na to, że jeden lub więcej elementów tej konfiguracji wymaga Twojej uwagi.",
"title": "Coś wymaga twojej uwagi"
},
"itemError": "Coś jest nie tak z tym ustawieniem. Ponownie przejdź przez konfigurację, aby to naprawić.",
"items": {
"default": "Domyślna konfiguracja",
"extension": "Rozszerzenie",
"proxy": "Niestandardowy serwer proxy"
},
"redoSetup": "Ponów konfigurację",
"successStatus": {
"description": "Wszystko jest gotowe, abyś mógł zacząć oglądać ulubione media.",
"title": "Wszystko jest gotowe!"
},
"unsetStatus": {
"description": "Kliknij przycisk po prawej stronie, aby rozpocząć proces konfiguracji.",
"title": "Nie przeszedłeś konfiguracji"
}
},
"title": "Połączenia", "title": "Połączenia",
"workers": { "workers": {
"addButton": "Dodaj nowego pracownika", "addButton": "Dodaj nowego pracownika",
"description": "Aby aplikacja działała, cały ruch jest kierowany przez serwery proxy. Włącz tę opcję, jeśli chcesz korzystać z własnych pracowników.", "description": "Aby aplikacja działała, cały ruch jest kierowany przez serwery proxy. Włącz tę opcję, jeśli chcesz korzystać z własnych pracowników. <0>Instrukcje.</0>",
"emptyState": "Brak pracowników, dodaj jednego poniżej", "emptyState": "Brak pracowników, dodaj jednego poniżej",
"label": "Używaj niestandardowych pracowników proxy", "label": "Używaj niestandardowych pracowników proxy",
"urlLabel": "Adresy URL pracowników", "urlLabel": "Adresy URL pracowników",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Język aplikacji", "language": "Język aplikacji",
"languageDescription": "Język zastosowany do całej aplikacji.", "languageDescription": "Język zastosowany do całej aplikacji.",
"title": "Ustawienia regionalne" "thumbnail": "Generuj miniatury",
"thumbnailDescription": "W większości przypadków filmy nie mają miniatur. Możesz włączyć to ustawienie, aby generować je na bieżąco, ale może to spowolnić wideo.",
"thumbnailLabel": "Generuj miniatury",
"title": "Preferencje"
}, },
"reset": "Reset", "reset": "Reset",
"save": "Zapisz", "save": "Zapisz",
@@ -416,6 +525,7 @@
}, },
"subtitles": { "subtitles": {
"backgroundLabel": "Krycie tła", "backgroundLabel": "Krycie tła",
"backgroundBlurLabel": "Rozmycie tła",
"colorLabel": "Kolor", "colorLabel": "Kolor",
"previewQuote": "Nie wolno mi się bać. Strach zabija myślenie.", "previewQuote": "Nie wolno mi się bać. Strach zabija myślenie.",
"textSizeLabel": "Rozmiar czcionki", "textSizeLabel": "Rozmiar czcionki",

View File

@@ -95,6 +95,7 @@
"about": "Sobre", "about": "Sobre",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Entrar", "login": "Entrar",
"onboarding": "Configuração",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registrar", "register": "Registrar",
"settings": "Configurações" "settings": "Configurações"
@@ -115,27 +116,26 @@
"failed": "Falha ao encontrar mídia, tente novamente!", "failed": "Falha ao encontrar mídia, tente novamente!",
"loading": "Carregando...", "loading": "Carregando...",
"noResults": "Não conseguimos encontrar nada!", "noResults": "Não conseguimos encontrar nada!",
"placeholder": "O que você quer assistir?", "placeholder": {
"default": "O que você quer assistir?",
"extra": []
},
"sectionTitle": "Resultados da pesquisa" "sectionTitle": "Resultados da pesquisa"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "O que você gostaria de assistir esta tarde?", "default": "O que você gostaria de assistir esta tarde?",
"extra": [ "extra": [
"Me sentindo aventureiro? Jurassic Park pode ser a escolha perfeita." "Se sentindo aventureiro? Jurassic Park pode ser a escolha perfeita."
] ]
}, },
"morning": { "morning": {
"default": "O que você gostaria de assistir esta manhã?", "default": "O que você gostaria de assistir esta manhã?",
"extra": [ "extra": ["Ouvi dizer que Antes do Amanhecer é bom"]
"Ouvi dizer que Antes do Amanhecer é bom"
]
}, },
"night": { "night": {
"default": "O que você gostaria de assistir esta noite?", "default": "O que você gostaria de assistir esta noite?",
"extra": [ "extra": ["Cansado? Ouvi dizer que O Exorcista é bom."]
"Cansado? Ouvi dizer que O Exorcista é bom."
]
} }
} }
}, },
@@ -165,6 +165,69 @@
"message": "Procuramos em todos os lugares: debaixo das lixeiras, no armário, atrás do proxy, mas no final não conseguimos encontrar a página que você está procurando.", "message": "Procuramos em todos os lugares: debaixo das lixeiras, no armário, atrás do proxy, mas no final não conseguimos encontrar a página que você está procurando.",
"title": "Não conseguimos encontrar essa página" "title": "Não conseguimos encontrar essa página"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Cancelar",
"confirm": "Usar configuração padrão",
"description": "A configuração padrão não possui os melhores streams e pode ser insuportavelmente lenta.",
"title": "Você tem certeza?"
},
"extension": {
"back": "Voltar",
"explainer": "Usando a extensão de navegador, você pode obter os melhores streams que temos a oferecer. Com apenas uma simples instalação.",
"explainerIos": "Infelizmente, a extensão de navegador não é suportado no iOS. Pressione <bold>Voltar</bold> para escolher outra opção.",
"extensionHelp": "Se você instalou a extensão mas ela não foi detectada, <bold>abra a extensão através do menu de extensões do seu navegador</bold> e siga as instruções na tela.",
"linkChrome": "Instalar extensão do Chrome",
"linkFirefox": "Instalar extensão do Firefox",
"notDetecting": "Instalou no Chrome, mas o site não está detectando? Tente recarregar a página!",
"notDetectingAction": "Recarregar página",
"status": {
"disallowed": "A extensão não está ativada para esta página",
"disallowedAction": "Ativar extensão",
"failed": "Falha ao solicitar status",
"loading": "Aguardando que você instale a extensão",
"outdated": "A versão da extensão é muito antiga",
"success": "A extensão está funcionado como esperado!"
},
"submit": "Continuar",
"title": "Vamos começar com uma extensão"
},
"proxy": {
"back": "Voltar",
"explainer": "Com o método proxy, você pode obter streams de ótima qualidade criando um proxy de autoatendimento.",
"input": {
"errorConnection": "Não foi possível conectar ao proxy",
"errorInvalidUrl": "Não é uma URL válida",
"errorNotProxy": "Esperava um proxy, mas recebi um site",
"label": "URL do Proxy",
"placeholder": "https://"
},
"link": "Aprenda como criar um proxy",
"submit": "Enviar proxy",
"title": "Vamos preparar um novo proxy"
},
"start": {
"explainer": "Para obter os melhores streams possíveis, você precisará escolher qual método de streaming deseja usar.",
"options": {
"default": {
"text": "Eu não quero streams de boa qualidade, <0 /> <1>use a configuração padrão</1>"
},
"extension": {
"action": "Instalar extensão",
"description": "Instale a extensão de navegador e tenha acesso às melhores fontes.",
"quality": "Melhor qualidade",
"title": "Extensão de navegador"
},
"proxy": {
"action": "Configurar proxy",
"description": "Configure um proxy em apenas 5 minutos e tenha acesso a ótimas fontes.",
"quality": "Boa qualidade",
"title": "Proxy personalizado"
}
},
"title": "Vamos juntos configurar o movie-web"
}
},
"overlays": { "overlays": {
"close": "Fechar" "close": "Fechar"
}, },
@@ -178,11 +241,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Copiar link da playlist HLS",
"disclaimer": "Os downloads são feitos diretamente do provedor. movie-web não tem controle sobre como os downloads são fornecidos.", "disclaimer": "Os downloads são feitos diretamente do provedor. movie-web não tem controle sobre como os downloads são fornecidos.",
"downloadPlaylist": "Baixar playlist",
"downloadSubtitle": "Baixar legenda atual", "downloadSubtitle": "Baixar legenda atual",
"downloadVideo": "Baixar vídeo", "downloadVideo": "Baixar vídeo",
"hlsDisclaimer": "Os downloads são feitos diretamente do provedor. movie-web não tem controle sobre como os downloads são fornecidos. Por favor, note que você está baixando uma playlist HLS, isso é destinado para usuários familiarizados com streaming multimídia avançado.", "hlsDisclaimer": "Os downloads são feitos diretamente do provedor. movie-web não tem controle sobre como os downloads são fornecidos.<br /><br />Por favor, note que você está baixando uma playlist HLS, <bold>isso é destinado para usuários familiarizados com streaming multimídia avançado.</bold>. Experimente outras fontes para formatos diferentes.",
"onAndroid": { "onAndroid": {
"1": "Para baixar no Android, clique no botão de download e, na nova página, <bold>toque e segure</bold> no vídeo, depois selecione <bold>salvar</bold>.", "1": "Para baixar no Android, clique no botão de download e, na nova página, <bold>toque e segure</bold> no vídeo, depois selecione <bold>salvar</bold>.",
"shortTitle": "Baixar / Android", "shortTitle": "Baixar / Android",
@@ -206,7 +269,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Erro ao carregar temporada", "loadingError": "Erro ao carregar temporada",
"loadingList": "Carregando...", "loadingList": "Carregando...",
"loadingTitle": "Carregando..." "loadingTitle": "Carregando...",
"unairedEpisodes": "Um ou mais episódios nesta temporada foram desabilitados porque ainda não foram ao ar."
}, },
"playback": { "playback": {
"speedLabel": "Velocidade de reprodução", "speedLabel": "Velocidade de reprodução",
@@ -258,6 +322,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Não foi possível carregar os metadados da API. Por favor, verifique sua conexão com a internet.",
"title": "Falha ao carregar os metadados da API"
},
"dmca": {
"badge": "Removido",
"text": "Esta mídia não está mais disponível devido a um aviso de remoção ou reivindicação de direitos autorais.",
"title": "A mídia foi removida"
},
"extensionPermission": {
"badge": "Permissão Pendente",
"button": "Usar extensão",
"text": "Você possui a extensão de navegador, mas nós precisamos de sua permissão para começar a usá-la.",
"title": "Configure a extensão"
},
"failed": { "failed": {
"badge": "Falhou", "badge": "Falhou",
"homeButton": "Ir para o início", "homeButton": "Ir para o início",
@@ -307,6 +386,12 @@
"remaining": "{{timeLeft}} restantes • Terminar às {{timeFinished, datetime}}", "remaining": "{{timeLeft}} restantes • Terminar às {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Por favor, confirme que você é um humano completando o Captcha à direita. Isso é para manter movie-web seguro!",
"error": "Falha ao verificar sua humanidade. Por favor, tente novamente.",
"title": "Precisamos verificar se você é humano.",
"verifyingHumanity": "Verificando sua humanidade..."
} }
}, },
"screens": { "screens": {
@@ -379,24 +464,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Se você deseja se conectar a um backend personalizado para armazenar seus dados, ative isso e forneça a URL.", "description": "Se você deseja se conectar a um backend personalizado para armazenar seus dados, ative isso e forneça a URL. <0>Instruções.</0>",
"label": "Servidor personalizado", "label": "Servidor personalizado",
"urlLabel": "URL do servidor personalizado" "urlLabel": "URL do servidor personalizado"
}, },
"setup": {
"doSetup": "Configurar",
"errorStatus": {
"description": "Parece que um ou mais itens nesta configuração necessitam sua atenção.",
"title": "Algo necessita de sua atenção"
},
"itemError": "Há algo errado com esta configuração. Realize uma nova configuração para corrigir.",
"items": {
"default": "Configuração padrão",
"extension": "Extensão",
"proxy": "Proxy personalizado"
},
"redoSetup": "Refazer configuração",
"successStatus": {
"description": "Tudo está pronto para você começar a assistir sua mídia favorita.",
"title": "Está tudo pronto!"
},
"unsetStatus": {
"description": "Por favor, clique no botão à direita para iniciar a configuração.",
"title": "Você não realizou a configuração"
}
},
"title": "Conexões", "title": "Conexões",
"workers": { "workers": {
"addButton": "Adicionar novo worker", "addButton": "Adicionar novo worker",
"description": "Para fazer o aplicativo funcionar, todo o tráfego é roteado através de proxies. Ative isso se você quiser trazer seus próprios workers.", "description": "Para fazer o aplicativo funcionar, todo o tráfego é roteado através de proxies. Ative isso se você quiser trazer seus próprios workers. <0>Instruções.</0>",
"emptyState": "Ainda não há workers, adicione um abaixo", "emptyState": "Ainda não há workers, adicione um abaixo",
"label": "Usar proxy workers personalizados", "label": "Usar proxy workers personalizados",
"urlLabel": "URLs dos workers", "urlLabel": "URLs dos workers",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Idioma do aplicativo", "language": "Idioma do aplicativo",
"languageDescription": "Idioma aplicado a todo o aplicativo.", "languageDescription": "Idioma aplicado para todo o aplicativo.",
"title": "Região" "thumbnail": "Gerar miniaturas",
"thumbnailDescription": "Na maior parte do tempo, os vídeos não possuem miniaturas. Você pode ativar esta configuração para gerá-las dinamicamente, mas elas podem tornar seu vídeo mais lento.",
"thumbnailLabel": "Gerar miniaturas",
"title": "Preferências"
}, },
"reset": "Redefinir", "reset": "Redefinir",
"save": "Salvar", "save": "Salvar",

View File

@@ -0,0 +1,430 @@
{
"about": {
"description": "movie-web é uma aplicação web que pesquisa a internet por streams. A equipa visa uma abordagem maioritariamente minimalista na consumação de conteúdos.",
"faqTitle": "Perguntas frequentes",
"q1": {
"body": "movie-web não hospeda nenhum conteúdo. Quando clica para assistir a algo, a internet é pesquisada para o media selecionado (Na tela de carregamento e na aba 'fontes de vídeo', pode ver qual a fonte que está a ser utilizada). O media nunca é carregado pelo movie-web, tudo é feito através deste mecanismo de pesquisa.",
"title": "De onde vem o conteúdo?"
},
"q2": {
"body": "Não é possível solicitar um programa ou filme, o movie-web não gere nenhum conteúdo. Todo o conteúdo é visualizado através de fontes na internet.",
"title": "Onde posso solicitar um programa ou filme?"
},
"q3": {
"body": "Os nossos resultados de pesquisa são alimentados pela The Movie Database (TMDB) e são exibidos independentemente de as nossas fontes realmente terem o conteúdo.",
"title": "Os resultados da pesquisa mostram o programa ou filme, por que não consigo reproduzi-lo?"
},
"title": "Sobre o movie-web"
},
"actions": {
"copied": "Copiado",
"copy": "Copiar"
},
"auth": {
"createAccount": "Ainda não tem uma conta? <0>Crie uma conta.</0>",
"deviceNameLabel": "Nome do dispositivo",
"deviceNamePlaceholder": "Telemóvel pessoal",
"generate": {
"description": "A sua frase-passe age como o seu nome de utilizador e senha. Certifique-se de a manter segura, pois precisará dela para entrar na sua conta",
"next": "Guardei a minha frase-passe",
"passphraseFrameLabel": "Frase-passe",
"title": "A sua frase-passe"
},
"hasAccount": "Já tem uma conta? <0>Entre aqui.</0>",
"login": {
"description": "Por favor, introduza a sua frase-passe para entrar na sua conta",
"deviceLengthError": "Por favor, introduza um nome de dispositivo",
"passphraseLabel": "Frase-passe de 12 palavras",
"passphrasePlaceholder": "Frase-passe",
"submit": "Entrar",
"title": "Entrar na sua conta",
"validationError": "Frase-passe incorreta ou incompleta"
},
"register": {
"information": {
"color1": "Cor de perfil um",
"color2": "Cor de perfil dois",
"header": "Introduza um nome para o seu dispositivo e escolha cores e um ícone de utilizador da sua escolha",
"icon": "Ícone de utilizador",
"next": "Próximo",
"title": "Informações da conta"
}
},
"trust": {
"failed": {
"text": "Configurou corretamente?",
"title": "Falha ao conectar-se ao servidor"
},
"host": "Está a conectar-se a <0>{{hostname}}</0> - confirme se confia antes de criar uma conta",
"no": "Voltar",
"title": "Confia neste servidor?",
"yes": "Confio neste servidor"
},
"verify": {
"description": "Por favor, introduza a sua frase-passe anterior para confirmar que a guardou e para criar a sua conta",
"invalidData": "Dados inválidos",
"noMatch": "A frase-passe não coincide",
"passphraseLabel": "A sua frase-passe de 12 palavras",
"recaptchaFailed": "Falha na validação do ReCaptcha",
"register": "Criar conta",
"title": "Confirmar a sua frase-passe"
}
},
"errors": {
"badge": "Houve um erro",
"details": "Detalhes do erro",
"reloadPage": "Recarregar a página",
"showError": "Mostrar detalhes do erro",
"title": "Encontrámos um erro!"
},
"footer": {
"legal": {
"disclaimer": "Aviso legal",
"disclaimerText": "movie-web não hospeda quaisquer ficheiros, apenas faz ligações para serviços de terceiros. Problemas legais devem ser tratados com os anfitriões e fornecedores de ficheiros. O movie-web não é responsável por quaisquer ficheiros multimédia mostrados pelos fornecedores de vídeo."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Assista aos seus programas e filmes favoritos com esta aplicação de streaming de código aberto."
},
"global": {
"name": "movie-web",
"pages": {
"about": "Sobre",
"dmca": "DMCA",
"login": "Entrar",
"pagetitle": "{{title}} - movie-web",
"register": "Registrar",
"settings": "Configurações"
}
},
"home": {
"bookmarks": {
"sectionTitle": "Marcadores"
},
"continueWatching": {
"sectionTitle": "Continuar a assistir"
},
"mediaList": {
"stopEditing": "Parar de editar"
},
"search": {
"allResults": "É tudo o que temos!",
"failed": "Falha ao encontrar mídia, tente novamente!",
"loading": "A carregar...",
"noResults": "Não conseguimos encontrar nada!",
"placeholder": {
"default": "O que deseja assistir?",
"extra": []
},
"sectionTitle": "Resultados da pesquisa"
},
"titles": {
"day": {
"default": "O que gostaria de assistir esta tarde?",
"extra": [
"Sentindo-se aventureiro? Jurassic Park pode ser a escolha perfeita."
]
},
"morning": {
"default": "O que gostaria de assistir esta manhã?",
"extra": ["Dizem que Antes do Amanhecer é bom"]
},
"night": {
"default": "O que gostaria de assistir esta noite?",
"extra": ["Cansado? Dizem que O Exorcista é bom."]
}
}
},
"media": {
"episodeDisplay": "T{{season}} E{{episode}}",
"types": {
"movie": "Filme",
"show": "Série"
}
},
"navigation": {
"banner": {
"offline": "Verifique a sua conexão à internet"
},
"menu": {
"about": "Sobre nós",
"donation": "Doar",
"logout": "Sair",
"register": "Sincronizar com a nuvem",
"settings": "Configurações",
"support": "Suporte"
}
},
"notFound": {
"badge": "Não encontrado",
"goHome": "Voltar para casa",
"message": "Procurámos em todo lugar: embaixo dos caixotes, no armário, atrás do proxy, mas, no final, não conseguimos encontrar a página que procura.",
"title": "Não foi possível encontrar essa página"
},
"overlays": {
"close": "Fechar"
},
"player": {
"back": {
"default": "Voltar para casa",
"short": "Voltar"
},
"casting": {
"enabled": "Transmitindo para o dispositivo..."
},
"menus": {
"downloads": {
"disclaimer": "Os downloads são feitos diretamente pelo fornecedor. O movie-web não tem controle sobre como os downloads são fornecidos.",
"downloadSubtitle": "Baixar legenda atual",
"downloadVideo": "Baixar vídeo",
"hlsDisclaimer": "Os downloads são feitos diretamente pelo fornecedor. O movie-web não tem controle sobre como os downloads são fornecidos. Por favor, note que está a baixar uma lista de reprodução HLS, isso é destinado a utilizadores familiarizados com streaming multimídia avançado.",
"onAndroid": {
"1": "Para baixar no Android, clique no botão de download e, na nova página, <bold>toque e segure</bold> no vídeo, depois selecione <bold>guardar</bold>.",
"shortTitle": "Baixar / Android",
"title": "Baixando no Android"
},
"onIos": {
"1": "Para baixar no iOS, clique no botão de download e, na nova página, clique em <bold><ios_share /></bold>, depois em <bold>Guardar no Ficheiro <ios_files /></bold>.",
"shortTitle": "Baixar / iOS",
"title": "Baixando no iOS"
},
"onPc": {
"1": "No PC, clique no botão de download e, na nova página, clique com o botão direito no vídeo e selecione <bold>Guardar vídeo como</bold>",
"shortTitle": "Baixar / PC",
"title": "Baixando no PC"
},
"title": "Baixar"
},
"episodes": {
"button": "Episódios",
"emptyState": "Não há episódios nesta temporada, volte mais tarde!",
"episodeBadge": "E{{episode}}",
"loadingError": "Erro ao carregar a temporada",
"loadingList": "A carregar...",
"loadingTitle": "A carregar...",
"unairedEpisodes": "Um ou mais episódios nesta temporada foram desativados porque ainda não foram transmitidos."
},
"playback": {
"speedLabel": "Velocidade de reprodução",
"title": "Configurações de reprodução"
},
"quality": {
"automaticLabel": "Qualidade automática",
"hint": "Pode tentar <0>mudar de fonte</0> para obter opções de qualidade diferentes.",
"iosNoQuality": "Devido a limitações definidas pela Apple, a seleção de qualidade não está disponível no iOS para esta fonte. Pode tentar <0>mudar para outra fonte</0> para obter opções de qualidade diferentes.",
"title": "Qualidade"
},
"settings": {
"downloadItem": "Download",
"enableSubtitles": "Ativar legendas",
"experienceSection": "Experiência de visualização",
"playbackItem": "Configurações de reprodução",
"qualityItem": "Qualidade",
"sourceItem": "Fontes de vídeo",
"subtitleItem": "Configurações de legendas",
"videoSection": "Configurações de vídeo"
},
"sources": {
"failed": {
"text": "Houve um erro ao tentar encontrar vídeos, por favor, tente uma fonte diferente.",
"title": "Falha ao obter"
},
"noEmbeds": {
"text": "Não conseguimos encontrar nenhum embed, por favor, tente uma fonte diferente.",
"title": "Nenhum embed encontrado"
},
"noStream": {
"text": "Esta fonte não tem transmissões para este filme ou série.",
"title": "Sem transmissão"
},
"title": "Fontes",
"unknownOption": "Desconhecido"
},
"subtitles": {
"customChoice": "Selecionar legenda do arquivo",
"customizeLabel": "Personalizar",
"offChoice": "Desativar",
"settings": {
"backlink": "Legendas personalizadas",
"delay": "Atraso das legendas",
"fixCapitals": "Corrigir maiúsculas"
},
"title": "Legendas",
"unknownLanguage": "Desconhecido"
}
},
"metadata": {
"api": {
"text": "Não foi possível carregar os metadados da API, por favor verifique a sua conexão à internet.",
"title": "Falha ao carregar os metadados da API"
},
"failed": {
"badge": "Falhou",
"homeButton": "Ir para casa",
"text": "Não foi possível carregar os metadados do media da TMDB. Por favor, verifique se a TMDB está indisponível ou bloqueada na sua conexão à internet.",
"title": "Falha ao carregar os metadados"
},
"notFound": {
"badge": "Não encontrado",
"homeButton": "Voltar para casa",
"text": "Não conseguimos encontrar o conteúdo que solicitou. Ou foi removido ou houve manipulação na URL.",
"title": "Não foi possível encontrar esse conteúdo."
}
},
"nextEpisode": {
"cancel": "Cancelar",
"next": "Próximo episódio"
},
"playbackError": {
"badge": "Erro de reprodução",
"errors": {
"errorAborted": "A recuperação do conteúdo foi cancelada a pedido do utilizador.",
"errorDecode": "Apesar de ter sido anteriormente considerado utilizável, ocorreu um erro ao tentar decodificar o recurso multimédia, resultando em um erro.",
"errorGenericMedia": "Ocorreu um erro desconhecido no multimédia.",
"errorNetwork": "Ocorreu algum tipo de erro de rede que impediu a recuperação bem-sucedida do multimédia, apesar de estar disponível anteriormente.",
"errorNotSupported": "O objeto multimédia ou do fornecedor de multimédia não é suportado."
},
"homeButton": "Ir para casa",
"text": "Ocorreu um erro ao tentar reproduzir o conteúdo multimédia. Por favor, tente novamente.",
"title": "Falha ao reproduzir o vídeo!"
},
"scraping": {
"items": {
"failure": "Ocorreu um erro",
"notFound": "Não possui o vídeo",
"pending": "A verificar vídeos..."
},
"notFound": {
"badge": "Não encontrado",
"detailsButton": "Mostrar detalhes",
"homeButton": "Ir para casa",
"text": "Pesquisámos pelos nossos fornecedores e não conseguimos encontrar o conteúdo que procura! Não alojamos o conteúdo multimédia e não temos controlo sobre o que está disponível. Por favor, clique em 'Mostrar detalhes' abaixo para mais informações.",
"title": "Não conseguimos encontrar isso"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} restantes • Termina às {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Por favor, verifique que é humano completando o Captcha à direita. Isso é para manter o movie-web seguro!",
"error": "Falha ao verificar a sua humanidade. Por favor, tente novamente.",
"title": "Precisamos verificar que você é humano.",
"verifyingHumanity": "Verificando a sua humanidade..."
}
},
"screens": {
"dmca": {
"text": "Bem-vindo à página de contacto DMCA da movie-web! Respeitamos os direitos de propriedade intelectual e queremos resolver rapidamente quaisquer preocupações de direitos autorais. Se acredita que a sua obra protegida por direitos autorais foi usada indevidamente na nossa plataforma, envie um aviso DMCA detalhado para o email abaixo. Inclua uma descrição do material protegido por direitos autorais, os seus detalhes de contacto e uma declaração de boa fé. Comprometemo-nos a resolver essas questões prontamente e agradecemos a sua cooperação para manter a movie-web como um lugar que respeita a criatividade e os direitos autorais.",
"title": "DMCA"
},
"loadingApp": "A carregar a aplicação",
"loadingUser": "A carregar o seu perfil",
"loadingUserError": {
"logout": "Terminar sessão",
"reset": "Repor servidor personalizado",
"text": "Falha ao carregar o seu perfil",
"textWithReset": "Falha ao carregar o seu perfil do servidor personalizado. Deseja repor para o servidor padrão?"
},
"migration": {
"failed": "Falha ao migrar os seus dados.",
"inProgress": "Por favor aguarde, estamos a migrar os seus dados. Isto não deverá demorar muito."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Nome do dispositivo",
"deviceNamePlaceholder": "Telemóvel pessoal",
"editProfile": "Editar",
"logoutButton": "Terminar sessão"
},
"actions": {
"delete": {
"button": "Eliminar conta",
"confirmButton": "Eliminar conta",
"confirmDescription": "Tem a certeza de que deseja eliminar a sua conta? Todos os seus dados serão perdidos!",
"confirmTitle": "Tem a certeza?",
"text": "Esta ação é irreversível. Todos os dados serão eliminados e nada poderá ser recuperado.",
"title": "Eliminar conta"
},
"title": "Ações"
},
"devices": {
"deviceNameLabel": "Nome do dispositivo",
"failed": "Falha ao carregar as sessões",
"removeDevice": "Remover",
"title": "Dispositivos"
},
"profile": {
"finish": "Terminar edição",
"firstColor": "Cor do perfil um",
"secondColor": "Cor do perfil dois",
"title": "Editar imagem de perfil",
"userIcon": "Ícone de utilizador"
},
"register": {
"cta": "Começar",
"text": "Partilhe o seu progresso de visualização entre dispositivos e mantenha-os sincronizados.",
"title": "Sincronizar com a nuvem"
},
"title": "Conta"
},
"appearance": {
"activeTheme": "Ativo",
"themes": {
"blue": "Azul",
"default": "Padrão",
"gray": "Cinzento",
"red": "Vermelho",
"teal": "Verde-azulado"
},
"title": "Aparência"
},
"connections": {
"server": {
"description": "Se desejar ligar a um servidor personalizado para armazenar os seus dados, ative isto e forneça o URL.",
"label": "Servidor personalizado",
"urlLabel": "URL do servidor personalizado"
},
"title": "Conexões",
"workers": {
"addButton": "Adicionar novo trabalhador",
"description": "Para que a aplicação funcione, todo o tráfego é encaminhado através de proxies. Ative isto se quiser utilizar os seus próprios trabalhadores.",
"emptyState": "Ainda não há trabalhadores, adicione um abaixo",
"label": "Utilizar trabalhadores de proxy personalizados",
"urlLabel": "URLs do trabalhador",
"urlPlaceholder": "https://"
}
},
"reset": "Repor",
"save": "Guardar",
"sidebar": {
"info": {
"appVersion": "Versão da aplicação",
"backendUrl": "URL do backend",
"backendVersion": "Versão do backend",
"hostname": "Hostname",
"insecure": "Inseguro",
"notLoggedIn": "Não está autenticado",
"secure": "Seguro",
"title": "Informações da aplicação",
"unknownVersion": "Desconhecida",
"userId": "ID de utilizador"
}
},
"subtitles": {
"backgroundLabel": "Opacidade do fundo",
"colorLabel": "Cor",
"previewQuote": "Não devo temer. O medo é o assassino da mente.",
"textSizeLabel": "Tamanho do texto",
"title": "Legendas"
},
"unsaved": "Tem alterações não guardadas"
}
}

View File

@@ -1,7 +1,7 @@
{ {
"about": { "about": {
"description": "movie-web este o aplicație web care caută fluxuri pe internet. Echipa urmărește o abordare mai ales minimalistă a consumului de conținut.", "description": "movie-web este o aplicație web care caută fluxuri pe internet. Echipa urmărește o abordare mai ales minimalistă a consumului de conținut.",
"faqTitle": "Intrebari obisnuite", "faqTitle": "Întrebări obișnuite",
"q1": { "q1": {
"body": "movie-web nu găzduiește niciun conținut. Când faceți clic pe ceva pentru a viziona, pe Internet este căutat media selectată (Pe ecranul de încărcare și în fila „Surse video”, puteți vedea ce sursă utilizați). Media nu este niciodată încărcată de movie-web, totul se face prin acest mecanism de căutare.", "body": "movie-web nu găzduiește niciun conținut. Când faceți clic pe ceva pentru a viziona, pe Internet este căutat media selectată (Pe ecranul de încărcare și în fila „Surse video”, puteți vedea ce sursă utilizați). Media nu este niciodată încărcată de movie-web, totul se face prin acest mecanism de căutare.",
"title": "De unde vine conținutul?" "title": "De unde vine conținutul?"
@@ -18,7 +18,7 @@
}, },
"actions": { "actions": {
"copied": "Copiat", "copied": "Copiat",
"copy": "Copie" "copy": "Copiați"
}, },
"auth": { "auth": {
"createAccount": "Nu aveți încă un cont? <0>Creați un cont.</0>", "createAccount": "Nu aveți încă un cont? <0>Creați un cont.</0>",
@@ -26,8 +26,8 @@
"deviceNamePlaceholder": "Telefon personal", "deviceNamePlaceholder": "Telefon personal",
"generate": { "generate": {
"description": "Fraza de acces acționează ca nume de utilizator și parolă. Asigurați-vă că îl păstrați în siguranță, deoarece va trebui să îl introduceți pentru a vă conecta la contul dvs", "description": "Fraza de acces acționează ca nume de utilizator și parolă. Asigurați-vă că îl păstrați în siguranță, deoarece va trebui să îl introduceți pentru a vă conecta la contul dvs",
"next": "Mi-am salvat expresia de acces", "next": "Mi-am salvat fraza de acces",
"passphraseFrameLabel": "Fraza de acces", "passphraseFrameLabel": "Frază de acces",
"title": "Fraza dvs. de acces" "title": "Fraza dvs. de acces"
}, },
"hasAccount": "ai deja un cont? <0>Autentificați-vă aici.</0>", "hasAccount": "ai deja un cont? <0>Autentificați-vă aici.</0>",
@@ -35,19 +35,19 @@
"description": "Vă rugăm să introduceți fraza de acces pentru a vă conecta la contul dvs", "description": "Vă rugăm să introduceți fraza de acces pentru a vă conecta la contul dvs",
"deviceLengthError": "Introduceți un nume de dispozitiv", "deviceLengthError": "Introduceți un nume de dispozitiv",
"passphraseLabel": "Expresie de acces din 12 cuvinte", "passphraseLabel": "Expresie de acces din 12 cuvinte",
"passphrasePlaceholder": "Fraza de acces", "passphrasePlaceholder": "Frază de acces",
"submit": "Log in", "submit": "Conectează te",
"title": "conecteaza-te la contul tau", "title": "conecteaza-te la contul tau",
"validationError": "Fraza de acces incorectă sau incompletă" "validationError": "Fraza de acces este incorectă sau incompletă"
}, },
"register": { "register": {
"information": { "information": {
"color1": "Culoarea profilului unu", "color1": "Culoarea profilului unu",
"color2": "Culoarea profilului doi", "color2": "Culoarea profilului doi",
"header": "Introduceți un nume pentru dispozitivul dvs. și alegeți culorile și o pictogramă de utilizator la alegerea dvs", "header": "Introduceți un nume pentru dispozitivul dvs. și alegeți culorile și o pictogramă de utilizator la alegerea dvs",
"icon": "Pictograma utilizator", "icon": "Pictograma utilizatorului",
"next": "Următorul", "next": "Următorul",
"title": "Informatii despre cont" "title": "Informații despre cont"
} }
}, },
"trust": { "trust": {
@@ -79,7 +79,6 @@
}, },
"footer": { "footer": {
"legal": { "legal": {
"disclaimer": "Disclaimer",
"disclaimerText": "movie-web 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. movie-web nu este responsabil pentru niciun fișier media afișat de furnizorii de video." "disclaimerText": "movie-web 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. movie-web nu este responsabil pentru niciun fișier media afișat de furnizorii de video."
}, },
"links": { "links": {
@@ -115,7 +114,10 @@
"failed": "Găsire media eșuată, încearcă din nou!", "failed": "Găsire media eșuată, încearcă din nou!",
"loading": "Se încarcă...", "loading": "Se încarcă...",
"noResults": "Nu am putut găsi nimic!", "noResults": "Nu am putut găsi nimic!",
"placeholder": "La ce dorești să te uiți?", "placeholder": {
"default": "La ce dorești să te uiți?",
"extra": []
},
"sectionTitle": "Rezultate de căutare" "sectionTitle": "Rezultate de căutare"
}, },
"titles": { "titles": {
@@ -127,15 +129,11 @@
}, },
"morning": { "morning": {
"default": "La ce dorești să te in uiți dimineață aceasta?", "default": "La ce dorești să te in uiți dimineață aceasta?",
"extra": [ "extra": ["Aud că Before Sunrise este bun"]
"Aud că Before Sunrise este bun"
]
}, },
"night": { "night": {
"default": "La ce dorești să te uiți în astă seară?", "default": "La ce dorești să te uiți în astă seară?",
"extra": [ "extra": ["Obosit? Aud că The Exorcist is good."]
"Obosit? Aud că The Exorcist is good."
]
} }
} }
}, },
@@ -177,6 +175,28 @@
"enabled": "Casting pe dispozitiv..." "enabled": "Casting pe dispozitiv..."
}, },
"menus": { "menus": {
"downloads": {
"disclaimer": "Descărcările sunt luate direct de la furnizor. Movie-web 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. movie-web 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.",
"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",
"title": "Descărcare pe Android"
},
"onIos": {
"1": "Pentru a instala pe iOS, apăsați butonul de instalare apoi în pagina nouă apăsați <bold><ios_share /></bold>, apoi <bold>Salvează in File <ios_files /></bold>.",
"shortTitle": "Descărcare / iOS",
"title": "Descărcare pe iOS"
},
"onPc": {
"1": "Pe calculator, apăsați butonul de descărcare apoi în pagina nouă, apăsați click drept pe video și selectați <bold> Salvați videoul ca</bold>",
"shortTitle": "Descarcă / Calculator",
"title": "Descărcare pe calculator"
},
"title": "Descarcă"
},
"episodes": { "episodes": {
"button": "Episoade", "button": "Episoade",
"emptyState": "Nu sunt episoade in sezonul acesta, reveniți mai târziu!", "emptyState": "Nu sunt episoade in sezonul acesta, reveniți mai târziu!",
@@ -186,6 +206,16 @@
"loadingTitle": "Se încarcă...", "loadingTitle": "Se încarcă...",
"unairedEpisodes": "Unul sau mai multe episoade din sezonul acesta sunt indisponibile deoarece incă nu au venit încă." "unairedEpisodes": "Unul sau mai multe episoade din sezonul acesta sunt indisponibile deoarece incă nu au venit încă."
}, },
"playback": {
"speedLabel": "Viteză de redare",
"title": "Setările de redare"
},
"quality": {
"automaticLabel": "Calitate automată",
"hint": "Puteți încerca <0>Schimbarea sursei</0> pentru a primi opțiuni de calitate diferită.",
"iosNoQuality": "Din cauza limitărilor definite de Apple, selecția calității nu este disponibilă pe iOS pentru această sursă. Puteți încerca să <0>treceți la altă sursă</0> pentru a obține diferite opțiuni de calitate.",
"title": "Calitate"
},
"settings": { "settings": {
"downloadItem": "Descarcă", "downloadItem": "Descarcă",
"enableSubtitles": "Activează subtitlurile", "enableSubtitles": "Activează subtitlurile",
@@ -197,6 +227,10 @@
"videoSection": "Setări video" "videoSection": "Setări video"
}, },
"sources": { "sources": {
"failed": {
"text": "Aici a fost o eroare încercând să găsim video, încercați o altă sursă.",
"title": "Nu s-a răzuit"
},
"noEmbeds": { "noEmbeds": {
"text": "Nu am putut găsi nicio incorporare, vă rog să încercați o altă sursă.", "text": "Nu am putut găsi nicio incorporare, vă rog să încercați o altă sursă.",
"title": "Nu a fost găsită nicio încorporare" "title": "Nu a fost găsită nicio încorporare"
@@ -207,10 +241,205 @@
}, },
"title": "Surse", "title": "Surse",
"unknownOption": "Necunoscut" "unknownOption": "Necunoscut"
},
"subtitles": {
"customChoice": "Selectați subtitlul din filă",
"customizeLabel": "Costumizează",
"offChoice": "Oprit",
"settings": {
"backlink": "Subtitluri personalizate",
"delay": "Intârziera subtitlurilor",
"fixCapitals": "Fixați capitalizația"
},
"title": "Subtitluri",
"unknownLanguage": "Necunoscut"
} }
},
"metadata": {
"api": {
"text": "Metadatele API nu au putut fi încărcate, vă rugăm să vă verificați conexiunea la internet.",
"title": "Nu s-a putut incărca API metadata"
},
"dmca": {
"badge": "Șters",
"text": "Această medie nu mai este valabilă din vina copyright-ului.",
"title": "Media a fost ștearsă"
},
"extensionPermission": {
"badge": "Permisune pierdută",
"button": "Folosește extensia",
"text": "Tu ai extensia, dar noi avem nevoie de permisiune ca să începem să folosim extensia.",
"title": "Configurează extensia"
},
"failed": {
"badge": "Eșuat",
"homeButton": "Du-te acasă :)",
"text": "Nu s-au putut încărca metadatele media din TMDB. Vă rugăm să verificați dacă TMDB este oprit sau blocat pe conexiunea ta. la internet.",
"title": "Nu s-au încărcat metadatele"
},
"notFound": {
"badge": "Nu a fost găsit",
"homeButton": "Înapoi acasă :)",
"text": "Nu am putut găsi media pe care ați cerut-o. Poate este ștearsă sau ați manipulat adresa URL.",
"title": "Nu am putut găsi acel media."
}
},
"nextEpisode": {
"cancel": "Anulare",
"next": "Episodul următor"
},
"playbackError": {
"badge": "Eroare la redare",
"errors": {
"errorAborted": "Preluarea media a fost întreruptă la cererea utilizatorului.",
"errorDecode": "În ciuda faptului că anterior a fost determinată a fi utilizabilă, a apărut o eroare în timpul încercării de a decoda resursa media, rezultând o eroare.",
"errorGenericMedia": "Eroare media cumva sa întâmplat.",
"errorNetwork": "A apărut o eroare de rețea care a împiedicat preluarea cu succes a suportului media, în ciuda faptului că fusese disponibil anterior.",
"errorNotSupported": "Obiectul media sau furnizorul media nu este acceptat."
},
"homeButton": "Du-te acasă :)",
"text": "A apărut o eroare la încercarea de a reda media. Vă rugăm să încercați din nou.",
"title": "O eroare la redarea videoului!"
},
"scraping": {
"items": {
"failure": "Sa întâmplat o eraore",
"notFound": "Nu are acel video",
"pending": "Verificând pentru videouri..."
},
"notFound": {
"badge": "Nu a fost găsit",
"detailsButton": "Arată detalii",
"homeButton": "Du-te acasă",
"text": "Am căutat prin furnizorii noștri și nu putem găsi media pe care o căutați! Nu găzduim mass-media și nu avem control asupra a ceea ce este disponibil. Vă rugăm să faceți clic pe „Afișați detalii” de mai jos pentru mai multe detalii.",
"title": "Nu am putut găsi aia"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} rămas • Se termină la{{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Vă rog să vă verificați umanitatea completând acest captcha in partea dreapta. Asta este pentru a pastra movie-web sigur!",
"error": "Verificarea umanității tale a eșuat. Încercați din nou.",
"title": "Noi trebuie să verificăm dacă sunteți un om.",
"verifyingHumanity": "Verificați-vă umanitatea voastră..."
}
},
"screens": {
"dmca": {
"text": "Bun venit pe pagina de contact DMCA a movie-web! Respectăm drepturile de proprietate intelectuală și dorim să abordăm rapid orice problemă privind drepturile de autor. Dacă credeți că lucrarea dumneavoastră protejată prin drepturi de autor a fost utilizată necorespunzător pe platforma noastră, vă rugăm să trimiteți o notificare detaliată DMCA la e-mailul de mai jos. Vă rugăm să includeți o descriere a materialului protejat prin drepturi de autor, detaliile dvs. de contact și o declarație de bună credință. Ne angajăm să rezolvăm aceste probleme cu promptitudine și apreciem cooperarea dumneavoastră pentru a menține movie-web un loc care respectă creativitatea și drepturile de autor.",
"title": "DMCA"
},
"loadingApp": "Se încarcă aplicația",
"loadingUser": "Se încarcă profilul tău",
"loadingUserError": {
"logout": "Deconectare",
"reset": "Resetare servere personalizate",
"text": "Nu s-a încărcat profilul dvs",
"textWithReset": "Nu s-a încărcat profilul dvs. de pe serverul personalizat, doriți să reveniți la serverul implicit?"
},
"migration": {
"failed": "Eroare la migrarea datelor voastre.",
"inProgress": "Vă rugăm să așteptați, migrăm datele dvs. Acest lucru nu ar trebui să dureze mult."
} }
}, },
"settings": { "settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Numele dispozitivului",
"deviceNamePlaceholder": "Telefonul personal",
"editProfile": "Editează",
"logoutButton": "Deconectați-vă"
},
"actions": {
"delete": {
"button": "Șterge contul",
"confirmButton": "Șterge contul",
"confirmDescription": "Ești sigur că vrei să ștergi contul tău? Toate datele tale vor dispărea!",
"confirmTitle": "Ești sigur?",
"text": "Acțiunea asta este ireversibilă. Toate datele tale vor dispărea și nimic nu va putea fi recuperat.",
"title": "Șterge contul"
},
"title": "Acțiuni"
},
"devices": {
"deviceNameLabel": "Numele dispozitivului",
"failed": "Eroare la încărcarea sesiunii",
"removeDevice": "Șterge",
"title": "Dispozitive"
},
"profile": {
"finish": "Termină editarea",
"firstColor": "Culoarea profilului unu",
"secondColor": "Culoare profilului doi",
"title": "Editează poza de profil",
"userIcon": "Iconița utilizatorului"
},
"register": {
"cta": "Începeți",
"text": "Partajați progresul vizionării între dispozitive și păstrați-le sincronizate.",
"title": "Sincronizare în cloud"
},
"title": "Cont"
},
"appearance": {
"activeTheme": "Activ",
"themes": {
"blue": "Albastru",
"default": "Implicit",
"gray": "Gri",
"red": "Roșu",
"teal": "Albastru verziu"
},
"title": "Aparență"
},
"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.",
"label": "Server personalizat",
"urlLabel": "Adresa URL personalizată a serverului"
},
"setup": {
"errorStatus": {
"title": "Ceva are nevoie de atenția ta"
}
},
"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.",
"emptyState": "Niciun muncitor incă, adaugă unu",
"label": "Utilizați lucrători proxy personalizați",
"urlLabel": "Adresele URL ale lucrătorilor",
"urlPlaceholder": "https://"
}
},
"reset": "Resetare",
"save": "Salvează",
"sidebar": {
"info": {
"appVersion": "Versiunea aplicației",
"backendUrl": "URL de backend",
"backendVersion": "Versiunea backend",
"hostname": "Numele gazdei",
"insecure": "Nesigur",
"notLoggedIn": "Nu sunteți autentificat",
"secure": "Securizat",
"title": "Informația aplicației",
"unknownVersion": "Necunoscut",
"userId": "ID-ul utilizatorului"
}
},
"subtitles": {
"backgroundLabel": "Opacitatea fundalului",
"colorLabel": "Culoare",
"previewQuote": "nu trebuie să mă tem. Frica este ucigașul minții.",
"textSizeLabel": "Dimensiunea textului",
"title": "Subtitluri"
},
"unsaved": "Aveți modificări nesalvate" "unsaved": "Aveți modificări nesalvate"
} }
} }

View File

@@ -1,79 +1,105 @@
{ {
"about": { "about": {
"description": "movie-web - это веб-приложение, которое ищет в интернете потоки. Команда стремится к минималистичному подходу к потреблению контента.", "description": "movie-web это веб-приложение, которое ищет в интернете видеопотоки. Наша команда стремится к минималистичному подходу к просмотру контента.",
"faqTitle": "Общие вопросы", "faqTitle": "Частые вопросы",
"q1": { "q1": {
"body": "movie-web не размещает у себя никакого контента. Когда вы нажимаете на что-то для просмотра, в интернете происходит поиск выбранного медиа файла (на экране загрузки и во вкладке \"Видео источники\" вы можете увидеть, какой источник вы используете). Медиа файлы никогда не загружается на movie-web, все происходит через этот механизм поиска.", "body": "movie-web не размещает у себя никакой контент. Когда вы выбираете что-то посмотреть, в интернете происходит поиск выбранного медиафайла (на экране загрузки и во вкладке \"Источники для видео\" вы можете увидеть, какой источник вы используете). Медиафайлы никогда не загружаются на movie-web, все происходит через этот механизм поиска.",
"title": "Откуда берётся контент?" "title": "Откуда же берётся контент?"
}, },
"q2": { "q2": {
"body": "Невозможно запросить сериал или фильм, movie-web не управляет никаким контентом. Весь контент просматривается через источники в интернете.", "body": "Невозможно запросить сериал или фильм, movie-web не распоряжается никаким контентом. Весь контент доступен через источники в интернете.",
"title": "Где я могу запросить показ сериала или фильма?" "title": "Где я могу запросить телепередачу или фильм?"
}, },
"q3": { "q3": {
"body": "Наши результаты поиска основаны на базе данных The Movie Database (TMDB) и отображаются вне зависимости от того, есть ли в наших источниках соответствующий контент.", "body": "Наши результаты поиска основаны на базе данных The Movie Database (TMDB) и отображаются вне зависимости от того, есть ли в наших источниках соответствующий контент.",
"title": "В результатах поиска отображается сериал или фильм, но почему я не могу воспроизвести его?" "title": "В результатах поиска отображается телепередача или фильм, но почему я не могу воспроизвести их?"
}, },
"title": "О movie-web" "title": "О сайте movie-web"
}, },
"actions": { "actions": {
"copied": "Скопировано", "copied": "Скопировано",
"copy": "Копировать" "copy": "Копировать"
}, },
"auth": { "auth": {
"createAccount": "У вас ещё нет аккаунта? <0>Создайте учётную запись.</0>", "createAccount": "У вас еще нет учётной записи? <0>Создайте её. </0>",
"deviceNameLabel": "Имя устройства", "deviceNameLabel": "Имя устройства",
"deviceNamePlaceholder": "Личный телефон", "deviceNamePlaceholder": "Личный телефон",
"hasAccount": "У вас уже есть аккаунт? <0>Войдите здесь.</0>", "generate": {
"description": "Ваша кодовая фраза служит вашим именем пользователя и паролем. Храните ее в надежном месте, поскольку она понадобится вам для входа в аккаунт",
"next": "Я сохранил свою кодовую фразу",
"passphraseFrameLabel": "Кодовая фраза",
"title": "Ваша кодовая фраза"
},
"hasAccount": "Уже есть учётная запись? <0> Войдите в неё здесь.</0>",
"login": { "login": {
"description": "Введите кодовую фразу для входа в учётную запись",
"deviceLengthError": "Введите имя устройства", "deviceLengthError": "Введите имя устройства",
"passphraseLabel": "12-словная парольная фраза", "passphraseLabel": "Кодовая фраза из 12 слов",
"submit": "Авторизоваться", "passphrasePlaceholder": "Кодовая фраза",
"title": "Войдите в свой аккаунт", "submit": "Войти",
"validationError": "Неверная или неполная парольная фраза" "title": "Войдите в свою учётную запись",
"validationError": "Неверная или неполная кодовая фраза"
}, },
"register": { "register": {
"information": { "information": {
"color1": "Цвет профиля один", "color1": "Первый цвет профиля",
"color2": "Цвет профиля два", "color2": "Второй цвет профиля",
"header": "Введите название устройства, выберите цвета и значок пользователя по своему усмотрению", "header": "Введите название устройства, выберите цвета и значок профиля по своему усмотрению",
"icon": "Значок пользователя", "icon": "Значок аватара профиля",
"next": "Далее", "next": "Далее",
"title": "Информация об аккаунте" "title": "Информация об аккаунте"
} }
}, },
"trust": { "trust": {
"failed": {
"text": "Правильно ли вы настроили его?",
"title": "Не удалось установить связь с сервером"
},
"host": "Вы подключаетесь к <0>{{hostname}}</0> - пожалуйста, подтвердите, что вы доверяете ему, прежде чем создавать учётную запись", "host": "Вы подключаетесь к <0>{{hostname}}</0> - пожалуйста, подтвердите, что вы доверяете ему, прежде чем создавать учётную запись",
"no": "Вернуться назад", "no": "Вернуться назад",
"title": "Доверяете ли вы этому серверу?", "noHost": "Сервер не был настроен, поэтому вы не можете создать учётную запись",
"noHostTitle": "Сервер не настроен!",
"title": "Вы доверяете этому серверу?",
"yes": "Я доверяю этому серверу" "yes": "Я доверяю этому серверу"
}, },
"verify": { "verify": {
"register": "Создать учётную запись" "description": "Введите ранее полученную кодовую фразу, чтобы подтвердить, что вы её сохранили, и создать учётную запись",
"invalidData": "Данные недействительны",
"noMatch": "Кодовая фраза неверна",
"passphraseLabel": "Ваша кодовая фраза из 12 слов",
"recaptchaFailed": "Проверка ReCaptcha не удалась",
"register": "Создать учётную запись",
"title": "Подтвердите кодовую фразу"
} }
}, },
"errors": { "errors": {
"details": "Подробности ошибки", "badge": "Сломано",
"showError": "Показать сведения об ошибке" "details": "Сведения об ошибке",
"reloadPage": "Перезагрузить страницу",
"showError": "Показать сведения об ошибке",
"title": "У нас возникла ошибка!"
}, },
"footer": { "footer": {
"legal": { "legal": {
"disclaimer": "Отказ от ответственности", "disclaimer": "Отказ от ответственности",
"disclaimerText": "movie-web не размещает никаких файлов, а лишь предоставляет ссылки на сторонние сервисы. Юридические вопросы следует решать с владельцами файлов и поставщиками услуг. movie-web не несёт ответственности за любые медиа файлы, показанные поставщиками видео." "disclaimerText": "movie-web не размещает никакие файлы, а только ссылки на сторонние источники. Юридические вопросы следует решать с хостерами и поставщиками файлов. movie-web не несет ответственности за любые медиафайлы, предоставленные поставщиками медиафайлов."
}, },
"links": { "links": {
"discord": "Discord", "discord": "Discord",
"dmca": "DMCA", "dmca": "DMCA",
"github": "GitHub" "github": "GitHub"
}, },
"tagline": "Смотрите любимые сериалы и фильмы с помощью этого приложения для потокового вещания с открытым исходным кодом." "tagline": "Смотрите свои любимые сериалы и фильмы с помощью этого приложения для воспроизведения контента с открытым исходным кодом."
}, },
"global": { "global": {
"name": "movie-web", "name": "movie-web",
"pages": { "pages": {
"about": "О", "about": "О",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Войти",
"onboarding": "Настройки",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Регистрация",
"settings": "Настройки" "settings": "Настройки"
} }
}, },
@@ -84,13 +110,48 @@
"continueWatching": { "continueWatching": {
"sectionTitle": "Продолжить просмотр" "sectionTitle": "Продолжить просмотр"
}, },
"mediaList": {
"stopEditing": "Завершить редактирование"
},
"search": { "search": {
"allResults": "Это все, что у нас есть!", "allResults": "Это всё, что у нас есть!",
"loading": "Загрузка..." "failed": "Не удалось найти медиафайл, попробуйте снова!",
"loading": "Загрузка...",
"noResults": "Мы ничего не нашли!",
"placeholder": {
"default": "Что вы хотите посмотреть?",
"extra": [
"Что вы хотите исследовать?",
"Что в вашем списке?",
"Какой ваш любимый фильм?",
"Какой ваш любимый сериал?"
]
},
"sectionTitle": "Результаты поиска"
},
"titles": {
"day": {
"default": "Что бы вы хотели посмотреть в этот полдень?",
"extra": [
"Любите приключения? «Парк Юрского периода» прекрасно подойдет вам."
]
},
"morning": {
"default": "Что бы вы хотели посмотреть этим утром?",
"extra": [
"Слышали, что «Перед рассветом» отличный фильм"
]
},
"night": {
"default": "Что бы вы хотели посмотреть этим вечером?",
"extra": [
"Тяжелый день? Можем посоветовать вам фильм \"Изгоняющий дьявола\"."
]
}
} }
}, },
"media": { "media": {
"episodeDisplay": "С{{season}} Э{{episode}}", "episodeDisplay": "Сезон {{season}}, Эпизод {{episode}}",
"types": { "types": {
"movie": "Фильм", "movie": "Фильм",
"show": "Сериал" "show": "Сериал"
@@ -104,63 +165,277 @@
"about": "О нас", "about": "О нас",
"donation": "Пожертвовать", "donation": "Пожертвовать",
"logout": "Выйти", "logout": "Выйти",
"register": "Авторизация",
"settings": "Настройки", "settings": "Настройки",
"support": "Поддержка" "support": "Поддержка"
} }
}, },
"notFound": {
"badge": "Не найдено",
"goHome": "Вернуться на главную",
"message": "Мы искали везде: в мусорных баках, в шкафу, но так и не нашли нужную вам страницу.",
"title": "Не удалось найти эту страницу"
},
"onboarding": {
"defaultConfirm": {
"cancel": "Отмена",
"confirm": "Использовать настройки по умолчанию",
"description": "Стандартная настройка имеет не самые лучшие показатели передачи видео и может быть невыносимо медленной.",
"title": "Вы уверены?"
},
"extension": {
"back": "Вернуться назад",
"explainer": "Используя расширение для браузера, вы сможете получать лучшие источники, которые мы можем предложить. Просто установите расширение.",
"explainerIos": "К сожалению, расширение для браузера не поддерживается на iOS, нажмите <bold>Назад</bold>, чтобы выбрать другой вариант.",
"extensionHelp": "Если вы установили расширение, но оно не обнаруживается, <bold>откройте его через меню расширений браузера</bold> и следуйте инструкциям на экране.",
"linkChrome": "Установить расширение Chrome",
"linkFirefox": "Установите расширение Firefox",
"notDetecting": "Установили расширение, но сайт не обнаруживает его? Попробуйте перезагрузить страницу!",
"notDetectingAction": "Перезагрузить страницу",
"status": {
"disallowed": "Расширение не включено для этой страницы",
"disallowedAction": "Включить расширение",
"failed": "Не удалось запросить статус",
"loading": "Ждём, пока вы установите расширение",
"outdated": "Расширение устарело",
"success": "Расширение работает, как и ожидалось!"
},
"submit": "Продолжить",
"title": "Давайте начнём с расширения"
},
"proxy": {
"back": "Назад",
"explainer": "С помощью метода прокси вы можете получать потоки отличного качества, создавая прокси-сервер самостоятельно.",
"input": {
"errorConnection": "Не удалось подключиться к прокси-серверу",
"errorInvalidUrl": "Недействительный URL",
"errorNotProxy": "Ожидался прокси, а был получен веб-сайт",
"label": "URL-адрес прокси-сервера",
"placeholder": "https://"
},
"link": "Узнайте, как сделать прокси",
"submit": "Отправить прокси",
"title": "Давайте создадим новый прокси-сервер"
},
"start": {
"explainer": "Чтобы получить наилучшие потоки, вам нужно выбрать, какой метод потоковой передачи вы хотите использовать.",
"options": {
"default": {
"text": "Мне не нужны трансляции хорошего качества,<0 /> <1>использовать настройки по умолчанию</1>"
},
"extension": {
"action": "Установить расширение",
"description": "Установите расширение для браузера и получите доступ к лучшим источникам.",
"quality": "Лучшее качество",
"title": "Расширение для браузера"
},
"proxy": {
"action": "Настроить прокси",
"description": "Настройте прокси всего за 5 минут и получите доступ к отличным источникам.",
"quality": "Хорошее качество",
"title": "Пользовательский прокси-сервер"
}
},
"title": "Давайте настроим movie-web"
}
},
"overlays": { "overlays": {
"close": "Закрыть" "close": "Закрыть"
}, },
"player": { "player": {
"back": {
"default": "Вернуться на главную",
"short": "Назад"
},
"casting": {
"enabled": "Транслируем на устройство…"
},
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Скопировать ссылку на плейлист HLS",
"disclaimer": "Загрузки осуществляются непосредственно поставщиком. movie-web не контролирует способ предоставления загрузок.",
"downloadSubtitle": "Скачать текущие субтитры", "downloadSubtitle": "Скачать текущие субтитры",
"downloadVideo": "Скачать видео",
"hlsDisclaimer": "Загрузки осуществляются непосредственно поставщиком. movie-web не контролирует способ предоставления загрузок.<br /><br />Обратите внимание на то, что вы скачиваете плейлист HLS, <bold>его не рекомендуется скачивать, если вы не знакомы с продвинутыми форматами потокового воспроизведения</bold>. Попробуйте разные источники для разных форматов.",
"onAndroid": {
"1": "Чтобы скачать на Android, нажмите на кнопку загрузки, затем на новой странице <bold>нажмите и удерживайте</bold> на видео, а затем выберите <bold>сохранить</bold>.",
"shortTitle": "Скачать / Android",
"title": "Загрузка на Android"
},
"onIos": {
"1": "Чтобы загрузить на iOS, нажмите кнопку загрузки, затем на новой странице нажмите <bold><ios_share /></bold>, затем <bold>Сохранить в Файлы <ios_files /></bold>.",
"shortTitle": "Скачать / iOS",
"title": "Загрузка на iOS"
},
"onPc": {
"1": "На компьютере нажмите кнопку загрузки, затем на новой странице щелкните по видео правой кнопкой мыши и выберите <bold>Сохранить видео как</bold>",
"shortTitle": "Скачать / ПК",
"title": "Загрузка на ПК"
},
"title": "Скачать" "title": "Скачать"
}, },
"episodes": { "episodes": {
"button": "Эпизоды", "button": "Эпизоды",
"emptyState": "В этом сезоне нет эпизодов, загляните позже!",
"episodeBadge": "ЭП{{episode}}",
"loadingError": "Ошибка при загрузке сезона", "loadingError": "Ошибка при загрузке сезона",
"loadingList": "Загрузка...", "loadingList": "Загрузка...",
"loadingTitle": "Загрузка..." "loadingTitle": "Загрузка...",
"unairedEpisodes": "Один или несколько эпизодов этого сезона были отключены, потому что еще не вышли в эфир."
}, },
"playback": { "playback": {
"speedLabel": "Скорость воспроизведения", "speedLabel": "Скорость воспроизведения",
"title": "Настройки воспроизведения" "title": "Настройки воспроизведения"
}, },
"quality": { "quality": {
"automaticLabel": "Автоматическое качество" "automaticLabel": "Автоопределение качества",
"hint": "Вы можете попробовать <0>переключиться на другой источник</0>, чтобы получить различные варианты качества.",
"iosNoQuality": "Из-за ограничений, установленных Apple, выбор качества для этого источника недоступен на iOS. Вы можете попробовать <0>переключиться на другой источник</0>, чтобы получить различные варианты качества.",
"title": "Качество"
}, },
"settings": { "settings": {
"downloadItem": "Скачать", "downloadItem": "Скачать",
"enableSubtitles": "Включить субтитры",
"experienceSection": "Впечатления от просмотра",
"playbackItem": "Настройки воспроизведения", "playbackItem": "Настройки воспроизведения",
"qualityItem": "Качество", "qualityItem": "Качество",
"sourceItem": "Видео источники", "sourceItem": "Видео источники",
"subtitleItem": "Настройки субтитров", "subtitleItem": "Настройки субтитров",
"videoSection": "Настройки видео" "videoSection": "Настройки видео"
}, },
"sources": {
"failed": {
"text": "При попытке найти видео произошла ошибка, пожалуйста, попробуйте использовать другой источник.",
"title": "Не удалось получить данные"
},
"noEmbeds": {
"text": "Мы не смогли найти ни одного вложения, пожалуйста, попробуйте использовать другой источник.",
"title": "Не найдено ни одного вложения"
},
"noStream": {
"text": "В этом источнике нет видеопотоков для этого фильма или сериала.",
"title": "Нет видеопотока"
},
"title": "Источники",
"unknownOption": "Неизвестный"
},
"subtitles": { "subtitles": {
"title": "Субтитры" "customChoice": "Выбрать субтитры из файла",
"customizeLabel": "Настроить",
"offChoice": "Выключить",
"settings": {
"backlink": "Пользовательские субтитры",
"delay": "Задержка субтитров",
"fixCapitals": "Исправить капитализацию букв"
},
"title": "Субтитры",
"unknownLanguage": "Неизвестный"
} }
}, },
"metadata": {
"api": {
"text": "Не удалось загрузить метаданные API, проверьте подключение к Интернету.",
"title": "Не удалось загрузить метаданные API"
},
"dmca": {
"badge": "Удалено",
"text": "Этот контент больше не доступен из-за уведомления об удалении или претензий по авторскому праву.",
"title": "Контент был удалён"
},
"extensionPermission": {
"badge": "Разрешение отсутствует",
"button": "Используйте расширение",
"text": "У вас есть расширение для браузера, но нам нужно ваше разрешение, чтобы начать его использовать.",
"title": "Настройте расширение"
},
"failed": {
"badge": "Не удалось",
"homeButton": "Вернуться на главную",
"text": "Не удалось загрузить метаданные медиафайла из TMDB. Проверьте, не отключен ли или не заблокирован TMDB на вашем интернет-соединении.",
"title": "Не удалось загрузить метаданные"
},
"notFound": {
"badge": "Не найдено",
"homeButton": "Вернуться на главную",
"text": "Нам не удалось найти запрошенный вами медиафайл. Либо он был удален, либо вы ввели неверный URL-адрес.",
"title": "Не удалось найти контент."
}
},
"nextEpisode": {
"cancel": "Отмена",
"next": "Следующий эпизод"
},
"playbackError": { "playbackError": {
"badge": "Ошибка воспроизведения", "badge": "Ошибка воспроизведения",
"errors": { "errors": {
"errorDecode": "Несмотря на то, что ранее этот медиаресурс был пригодным для использования, при попытке его декодирования произошла ошибка." "errorAborted": "Получение медиафайла было прервано по запросу пользователя.",
"errorDecode": "Несмотря на то, что ранее этот медиаресурс был пригодным для использования, при попытке его декодирования произошла ошибка.",
"errorGenericMedia": "Возникла неизвестная ошибка медиафайла.",
"errorNetwork": "Произошла какая-то сетевая ошибка, которая не позволила успешно извлечь медиафайл, хотя ранее он был доступен.",
"errorNotSupported": "Медиафайл или его источник не поддерживается."
}, },
"homeButton": "Вернуться на главную",
"text": "При попытке воспроизвести медиа файл произошла ошибка. Пожалуйста, попробуйте ещё раз.", "text": "При попытке воспроизвести медиа файл произошла ошибка. Пожалуйста, попробуйте ещё раз.",
"title": "Не удалось воспроизвести видео!" "title": "Не удалось воспроизвести видео!"
},
"scraping": {
"items": {
"failure": "Возникла ошибка",
"notFound": "Такого видео нет",
"pending": "Ищем видео..."
},
"notFound": {
"badge": "Не найдено",
"detailsButton": "Показать сведения",
"homeButton": "Вернуться на главную",
"text": "Мы проверили наших поставщиков и не смогли найти нужные вам медиа! Мы не размещаем медиа и не контролируем их наличие. Пожалуйста, нажмите кнопку \"Показать сведения\" ниже, чтобы получить более подробную информацию.",
"title": "Мы не смогли ничего найти"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} осталось - Завершится в {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Пожалуйста, подтвердите, что вы человек, заполнив форму Captcha справа. Это необходимо для обеспечения безопасности movie-web!",
"error": "Не удалось убедиться в том, что вы человек. Пожалуйста, попробуйте еще раз.",
"title": "Мы должны убедиться, что вы человек.",
"verifyingHumanity": "Убеждаемся в том, что вы человек..."
}
},
"screens": {
"dmca": {
"text": "Добро пожаловать на контактную страницу movie-web по защите от DMCA! Мы уважаем права на интеллектуальную собственность и хотим оперативно решать любые проблемы, связанные с авторским правом. Если вы считаете, что ваш материал, защищенный авторским правом, был неправомерно использован на нашей платформе, отправьте подробное уведомление DMCA на указанный ниже адрес электронной почты. Пожалуйста, включите в него описание материала, защищенного авторским правом, ваши контактные данные и заявление о добросовестности ваших намерений. Мы стремимся оперативно решать подобные вопросы и ценим ваше сотрудничество, что позволяет movie-web оставаться местом, где уважается творчество и авторское право.",
"title": "DMCA"
},
"loadingApp": "Загрузка приложения",
"loadingUser": "Загрузка вашего профиля",
"loadingUserError": {
"logout": "Выйти",
"reset": "Сбросить пользовательский сервер",
"text": "Не удалось загрузить ваш профиль",
"textWithReset": "Не удалось загрузить профиль с пользовательского сервера, хотите вернуться на сервер по умолчанию?"
},
"migration": {
"failed": "Не удалось перенести данные.",
"inProgress": "Пожалуйста, подождите, мы переносим ваши данные. Это не займет много времени."
} }
}, },
"settings": { "settings": {
"account": { "account": {
"accountDetails": { "accountDetails": {
"deviceNameLabel": "Имя устройства",
"deviceNamePlaceholder": "Личный телефон",
"editProfile": "Редактировать",
"logoutButton": "Выйти" "logoutButton": "Выйти"
}, },
"actions": { "actions": {
"delete": { "delete": {
"button": "Удалить аккаунт", "button": "Удалить аккаунт",
"confirmButton": "Удалить аккаунт", "confirmButton": "Удалить аккаунт",
"confirmDescription": "Вы уверены, что хотите удалить свой аккаунт? Все ваши данные будут потеряны!", "confirmDescription": "Вы уверены, что хотите удалить свою учётную запись? Все ваши данные будут потеряны!",
"confirmTitle": "Вы уверены?", "confirmTitle": "Вы уверены?",
"text": "Это действие необратимо. Все данные будут удалены, и восстановить их будет невозможно.", "text": "Это действие необратимо. Все данные будут удалены, и восстановить их будет невозможно.",
"title": "Удалить аккаунт" "title": "Удалить аккаунт"
@@ -169,68 +444,102 @@
}, },
"devices": { "devices": {
"deviceNameLabel": "Имя устройства", "deviceNameLabel": "Имя устройства",
"failed": "Не удалось загрузить сеансы",
"removeDevice": "Удалить", "removeDevice": "Удалить",
"title": "Устройства" "title": "Устройства"
}, },
"profile": { "profile": {
"finish": "Завершить редактирование", "finish": "Завершить редактирование",
"firstColor": "Цвет профиля один", "firstColor": "Первый цвет профиля",
"secondColor": "Цвет профиля два", "secondColor": "Второй цвет профиля",
"title": "Редактирование изображения профиля", "title": "Редактирование изображения профиля",
"userIcon": "Значок пользователя" "userIcon": "Значок аватара профиля"
}, },
"register": { "register": {
"cta": "Начать",
"text": "Обменивайтесь информацией о прогрессе часов между устройствами и синхронизируйте их.",
"title": "Синхронизировать с облаком" "title": "Синхронизировать с облаком"
}, },
"title": "Аккаунт" "title": "Аккаунт"
}, },
"appearance": { "appearance": {
"activeTheme": "Активная тема", "activeTheme": "Активная",
"themes": { "themes": {
"blue": "Cиний", "blue": "Cиняя",
"default": "Стандартный", "default": "По умолчанию",
"gray": "Серый", "gray": "Серая",
"red": "Красный", "red": "Красная",
"teal": "Бирюзовый" "teal": "Бирюзовая"
}, },
"title": "Внешний вид" "title": "Внешний вид"
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Если вы хотите подключиться к пользовательскому серверу для хранения ваших данных, включите эту опцию и укажите URL.", "description": "Если вы хотите подключиться к пользовательскому серверу для хранения данных, включите эту опцию и укажите URL. <0>Инструкции.</0>",
"label": "Пользовательский сервер", "label": "Пользовательский сервер",
"urlLabel": "URL-адрес пользовательского сервера" "urlLabel": "URL-адрес пользовательского сервера"
}, },
"setup": {
"doSetup": "Настроить",
"errorStatus": {
"description": "Похоже, что один или несколько элементов в этой настройке требуют вашего внимания.",
"title": "Кое-что требует вашего внимания"
},
"itemError": "Что-то не так с этой опцией. Выполните настройку ещё раз, чтобы исправить проблему.",
"items": {
"default": "Настройка по умолчанию",
"extension": "Расширение",
"proxy": "Пользовательский прокси-сервер"
},
"redoSetup": "Повторная настройка",
"successStatus": {
"description": "Всё готово для того, чтобы вы могли начать смотреть свои любимые фильмы и сериалы.",
"title": "Всё готово!"
},
"unsetStatus": {
"description": "Нажмите кнопку справа, чтобы начать процесс настройки.",
"title": "Вы ещё не прошли процедуру настройки"
}
},
"title": "Соединения", "title": "Соединения",
"workers": { "workers": {
"addButton": "Добавить новый прокси-сервер", "addButton": "Добавить новый прокси-сервер",
"description": "Для работы приложения весь трафик маршрутизируется через прокси. Включите это, если вы хотите использовать свои собственных прокси-серверы.", "description": "Для работы приложения весь трафик маршрутизируется через прокси. Включите это, если вы хотите использовать свои собственных прокси-серверы.<0>Instructions.</0>",
"emptyState": "Прокси ещё нет, добавьте их ниже", "emptyState": "Прокси отсутствуют, добавьте их ниже",
"label": "Использовать прокси-сервера", "label": "Использовать прокси-сервера",
"urlLabel": "URL-адреса", "urlLabel": "URL-адреса",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Язык приложения", "language": "Язык приложения",
"languageDescription": "Язык применяется ко всему приложению.", "languageDescription": "Язык применяется ко всему приложению.",
"title": "Локализация" "thumbnail": "Генерировать миниатюры",
"thumbnailDescription": "В большинстве случаев видео не имеют миниатюр. Вы можете включить этот параметр, чтобы генерировать их на лету, но они могут замедлить ваше видео.",
"thumbnailLabel": "Генерировать миниатюры",
"title": "Настройки"
}, },
"reset": "Сброс", "reset": "Сброс",
"save": "Сохранить", "save": "Сохранить",
"sidebar": { "sidebar": {
"info": { "info": {
"appVersion": "Версия приложения", "appVersion": "Версия приложения",
"backendUrl": "Внутренний URL",
"backendVersion": "Серверная версия",
"hostname": "Имя хоста",
"insecure": "Небезопасно",
"notLoggedIn": "Вы не авторизованы", "notLoggedIn": "Вы не авторизованы",
"secure": "Безопасный", "secure": "Безопасный",
"title": "Информация о приложении", "title": "Информация о приложении",
"unknownVersion": "Неизвестный",
"userId": "ID пользователя" "userId": "ID пользователя"
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Размытие фона",
"backgroundLabel": "Прозрачность фона", "backgroundLabel": "Прозрачность фона",
"colorLabel": "Цвет", "colorLabel": "Цвет",
"previewQuote": "Я не должен бояться. Страх убийца разума.", "previewQuote": "Я не должен бояться. Страх убивает разум.",
"textSizeLabel": "Размер текста", "textSizeLabel": "Размер текста",
"title": "Субтитры" "title": "Субтитры"
}, },

View File

@@ -57,6 +57,8 @@
}, },
"host": "Povezujete se z <0>{{hostname}}</0> - pred ustvarjanjem računa potrdite, da mu zaupate", "host": "Povezujete se z <0>{{hostname}}</0> - pred ustvarjanjem računa potrdite, da mu zaupate",
"no": "Nazaj", "no": "Nazaj",
"noHost": "Strežnik ni nastavljen, zato ustvarjanje profila ni mogoče",
"noHostTitle": "Strežnik ni nastavljen!",
"title": "Ali zaupate temu strežniku?", "title": "Ali zaupate temu strežniku?",
"yes": "Zaupam strežniku" "yes": "Zaupam strežniku"
}, },
@@ -95,6 +97,7 @@
"about": "O projektu", "about": "O projektu",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Prijava", "login": "Prijava",
"onboarding": "Nastavitev",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Registriraj se", "register": "Registriraj se",
"settings": "Nastavitve" "settings": "Nastavitve"
@@ -115,7 +118,15 @@
"failed": "Ni uspelo najti medija, prosim poskusite znova!", "failed": "Ni uspelo najti medija, prosim poskusite znova!",
"loading": "Nalaganje...", "loading": "Nalaganje...",
"noResults": "Vsebin nismo našli!", "noResults": "Vsebin nismo našli!",
"placeholder": "Kaj si želite gledati?", "placeholder": {
"default": "Kaj si želite gledati?",
"extra": [
"Kaj želiš raziskati danes?",
"Kateri fdilm/serijo si boš ogledal/a naslednje?",
"Kateri film ti je najljubši?",
"Katera je tvoja najljubša serija?"
]
},
"sectionTitle": "Rezultati iskanja" "sectionTitle": "Rezultati iskanja"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "Iskali smo povsod: pod preprogo, v omari, za \"proxyjem\", vendar na koncu nismo našli strani, ki jo iščete.", "message": "Iskali smo povsod: pod preprogo, v omari, za \"proxyjem\", vendar na koncu nismo našli strani, ki jo iščete.",
"title": "Ni bilo mogoče najti te strani" "title": "Ni bilo mogoče najti te strani"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Prekliči",
"confirm": "Upoeabi privzete nastavitve",
"description": "Privzeta nastavitev nima najboljših pretokov in je lahko neznosno počasna.",
"title": "Si prepričan?"
},
"extension": {
"back": "Nazaj",
"explainer": "Z razširitvijo brskalnika lahko dobite najboljše tokove, ki jih ponujamo. Namestitev je zelo preprosta!",
"explainerIos": "Na žalost razširitev brskalnika ni podprta v sistemu iOS, Pritisnite <bold>Najdi nazaj</bold> in izberite drugo možnost.",
"extensionHelp": "Če ste namestili razširitev, vendar ni zaznana, <bold>odprite razširitev v meniju razširitev brskalnika</bold> in sledite navodilom na zaslonu.",
"linkChrome": "Naloži Chrome razširitev",
"linkFirefox": "Naloži Firefox razširitev",
"notDetecting": "Nameščen v brskalniku Chrome, vendar ga spletno mesto ne zazna? Poskusite znova naložiti stran!",
"notDetectingAction": "Osveži stran",
"status": {
"disallowed": "Razširitev ni omogočena na tej strani",
"disallowedAction": "Omogoči razširitev",
"failed": "Ni uspelo zahtevati statusa",
"loading": "Čakamo, da namestite razširitev",
"outdated": "Verzija razširitve je prestara",
"success": "Razširitev deluje pravilno!"
},
"submit": "Nadaljuj",
"title": "Začnimo z razširitvijo"
},
"proxy": {
"back": "Nazaj",
"explainer": "Z metodo proxy lahko s samopostrežnim proxyjem pridobite zelo kakovostne prenose.",
"input": {
"errorConnection": "Povezava s proxyjem ni uspela",
"errorInvalidUrl": "Ni validen URL",
"errorNotProxy": "Pričakoval proxy, a dobil spletno stran",
"label": "URL proxyja",
"placeholder": "https://"
},
"link": "Kako postavim proxy",
"submit": "Oddaj proxy",
"title": "Naredimo nov proxy"
},
"start": {
"explainer": "Da bi dobili najboljše možne prenose, morate izbrati metodo pretakanja, ki jo želite uporabiti.",
"options": {
"default": {
"text": "Ne želim dobre kakovosti tokov,<0 /> <1>uporabite privzeto nastavitev</1>"
},
"extension": {
"action": "Naloži razširitev",
"description": "Namestite razširitev brskalnika in pridobite dostop do najboljših virov.",
"quality": "Najboljša kvaliteta",
"title": "Razširitev brskalnika"
},
"proxy": {
"action": "Nastavi proxy",
"description": "V samo 5 minutah nastavite proxy in pridobite dostop do odličnih virov.",
"quality": "Dobra kvaliteta",
"title": "Proxy po meri"
}
},
"title": "Pripravimo vas na namestitev s filmskim spletom"
}
},
"overlays": { "overlays": {
"close": "Zapri" "close": "Zapri"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Kopiranje povezave do seznama predvajanja HLS",
"disclaimer": "Prenosi se opravijo neposredno pri ponudniku vsebin. movie-web nima nadzora nad načinom zagotavljanja prenosov.", "disclaimer": "Prenosi se opravijo neposredno pri ponudniku vsebin. movie-web nima nadzora nad načinom zagotavljanja prenosov.",
"downloadPlaylist": "Prenesi playlisto",
"downloadSubtitle": "Prenesi trenutne podnapise", "downloadSubtitle": "Prenesi trenutne podnapise",
"downloadVideo": "Prenesi video", "downloadVideo": "Prenesi video",
"hlsDisclaimer": "Prenosi se opravijo neposredno pri ponudniku vsebin. movie-web nima nadzora nad načinom zagotavljanja prenosov. Upoštevajte, da prenašate seznam predvajanja tipa \"HLS\"; ta je namenjen uporabnikom, ki poznajo napredno pretakanje večpredstavnostnih vsebin.", "hlsDisclaimer": "Prenosi se opravijo neposredno pri ponudniku vsebin. movie-web nima nadzora nad načinom zagotavljanja prenosov. Upoštevajte, da prenašate seznam predvajanja tipa \"HLS\" namenjen uporabnikom, ki poznajo napredno pretakanje večpredstavnostnih vsebin.",
"onAndroid": { "onAndroid": {
"1": "Če želite prenesti v sistemu Android, kliknite gumb za prenos, nato na novi strani <bold>tipnite in držite</bold> videoposnetek ter izberite <bold>shrani</bold>.", "1": "Če želite prenesti v sistemu Android, kliknite gumb za prenos, nato na novi strani <bold>tipnite in držite</bold> videoposnetek ter izberite <bold>shrani</bold>.",
"shortTitle": "Prenesi / Android", "shortTitle": "Prenesi / Android",
@@ -206,7 +280,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "Napaka pri nalaganju sezone", "loadingError": "Napaka pri nalaganju sezone",
"loadingList": "Nalaganje...", "loadingList": "Nalaganje...",
"loadingTitle": "Nalaganje..." "loadingTitle": "Nalaganje...",
"unairedEpisodes": "Ena ali več epizod v tej sezoni so onemogočene, ker še niso bile predvajane."
}, },
"playback": { "playback": {
"speedLabel": "Hitrost predvajanja", "speedLabel": "Hitrost predvajanja",
@@ -258,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Metapodatkov API ni bilo mogoče naložiti, preverite internetno povezavo.",
"title": "Ni uspelo naložiti metapodatkov API"
},
"dmca": {
"badge": "Odstranjeno",
"text": "Ta medij ni več na voljo zaradi obvestila o odstranitvi ali zahtevka za avtorske pravice.",
"title": "Medij je bil odstranjen"
},
"extensionPermission": {
"badge": "Neveljavne pravice dostopa",
"button": "Uporabi razširitev",
"text": "Imate razširitev brskalnika, vendar potrebujemo vaše dovoljenje, da lahko začnemo uporabljati razširitev.",
"title": "Nastavi razširitev brskalnika"
},
"failed": { "failed": {
"badge": "Neuspešno", "badge": "Neuspešno",
"homeButton": "Domov", "homeButton": "Domov",
@@ -307,6 +397,12 @@
"remaining": "{{timeLeft}} do konca • Konča ob {{timeFinished, datetime}}", "remaining": "{{timeLeft}} do konca • Konča ob {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Preverite, ali ste človek, tako da izpolnite Captcha na desni strani. S tem zagotavljamo varnost filmskega spleta!",
"error": "Ni uspelo preveriti vaše človeškosti. Poskusite znova.",
"title": "Preveriti moramo, ali ste človek.",
"verifyingHumanity": "Preverjanje vaše človeškosti..."
} }
}, },
"screens": { "screens": {
@@ -379,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Če se želite povezati z zaledjem po meri za hrambo podatkov, to omogočite in navedite URL naslov.", "description": "Če se želite povezati z zaledjem po meri za hrambo podatkov, to omogočite in navedite URL naslov. <0>Navodila.</0>",
"label": "Strežnik po meri", "label": "Strežnik po meri",
"urlLabel": "Naslov strežnika po meri (URL)" "urlLabel": "Naslov strežnika po meri (URL)"
}, },
"setup": {
"doSetup": "Naredi nastavitev",
"errorStatus": {
"description": "Zdi se, da je treba posvetiti pozornost enemu ali več elementom v tej nastavitvi.",
"title": "Nekaj potrebuje vašo pozornost"
},
"itemError": "S to nastavitvijo je nekaj narobe. Ponovno opravite nastavitev in jo popravite.",
"items": {
"default": "Privzet način",
"extension": "Razširitev",
"proxy": "Proxy po meri"
},
"redoSetup": "Ponovnio izvedi nastavljanje",
"successStatus": {
"description": "Vse stvari so pripravljene, da lahko začnete gledati svoje najljubše medije.",
"title": "Vse je nastavljeno!"
},
"unsetStatus": {
"description": "Kliknite gumb na desni strani, da začnete postopek namestitve.",
"title": "Niste opravili nastavitev"
}
},
"title": "Povezave", "title": "Povezave",
"workers": { "workers": {
"addButton": "Dodaj novega \"workerja\"", "addButton": "Dodaj novega \"workerja\"",
"description": "Za delovanje aplikacije je ves promet usmerjen prek posredniških strežnikov. To nastavitev omogočite, če želite pripeljati lastne delavce.", "description": "Za delovanje aplikacije je ves promet usmerjen prek posredniških strežnikov. To nastavitev omogočite, če želite pripeljati lastne delavce. <0>Navodila</0>",
"emptyState": "Niste dodali \"workerja\", dodajte ga spodaj", "emptyState": "Niste dodali \"workerja\", dodajte ga spodaj",
"label": "Uporaba posrednikov po meri", "label": "Uporaba posrednikov po meri",
"urlLabel": "Naslov Workerja (URL)", "urlLabel": "Naslov Workerja (URL)",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Jezik aplikacije", "language": "Jezik",
"languageDescription": "Jezik, ki se uporablja za celotno aplikacijo.", "languageDescription": "Jezik, ki se uporablja za celotno aplikacijo.",
"title": "Jezik" "thumbnail": "Naloži predoglede",
"thumbnailDescription": "Videoposnetki večinoma nimajo predogledov. To nastavitev lahko omogočite in jih ustvarite sproti, vendar lahko zaradi tega videoposnetek postane počasnejši.",
"thumbnailLabel": "Naloži predoglede",
"title": "Nastavitve"
}, },
"reset": "Ponastavi", "reset": "Ponastavi",
"save": "Shrani", "save": "Shrani",
@@ -415,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

@@ -114,7 +114,10 @@
"failed": "Misslyckades med att hitta media, försök igen!", "failed": "Misslyckades med att hitta media, försök igen!",
"loading": "Laddar...", "loading": "Laddar...",
"noResults": "Vi kunde inte hitta någonting!", "noResults": "Vi kunde inte hitta någonting!",
"placeholder": "Vad vill du titta på?", "placeholder": {
"default": "Vad vill du titta på?",
"extra": []
},
"sectionTitle": "Sökresultat" "sectionTitle": "Sökresultat"
}, },
"titles": { "titles": {
@@ -123,15 +126,11 @@
}, },
"morning": { "morning": {
"default": "Vad vill du titta på den här morgonen?", "default": "Vad vill du titta på den här morgonen?",
"extra": [ "extra": ["Jag hör att Before Sunrise är bra"]
"Jag hör att Before Sunrise är bra"
]
}, },
"night": { "night": {
"default": "Vad vill du titta på ikväll?", "default": "Vad vill du titta på ikväll?",
"extra": [ "extra": ["Trött? Jag hör att The Exorcist är bra."]
"Trött? Jag hör att The Exorcist är bra."
]
} }
} }
}, },
@@ -372,11 +371,6 @@
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "Språk för applikationen",
"languageDescription": "Språket som används i hela applikationen.",
"title": "Plats"
},
"reset": "Återställ", "reset": "Återställ",
"save": "Spara", "save": "Spara",
"sidebar": { "sidebar": {

View File

@@ -1,6 +1,19 @@
{ {
"about": { "about": {
"description": "movie-web என்பது இணையத்தில் ஸ்ட்ரீம்களைத் தேடும் ஒரு வலைப் பயன்பாடு ஆகும். உள்ளடக்கத்தை உட்கொள்வதற்கான ஒரு சிறிய அணுகுமுறையை குழு நோக்கமாகக் கொண்டுள்ளது.",
"faqTitle": "பொதுவான கேள்விகள்", "faqTitle": "பொதுவான கேள்விகள்",
"q1": {
"body": "மூவி வெப் எந்தவொரு பதிவுகளையும் வழங்குவதில்லை. நீங்கள் ஒரு காட்சியை தேர்ந்தெடுத்து காண விரும்பும் போது அதற்கான பதிவை இணையத்தில் உள்ள பல்வேறு தளங்களில் இருந்து தேடி உங்களுக்கு வழங்குகிறது. பதிவுகள் ஒரு போதும் மூவி வெப் மூலம் பதிவேற்றப்படுவது இல்லை. நீங்கள் காணும் அனைத்து காட்சிகளும் தேடு பொறி முறையின் சிறப்பம்சத்தின் மூலமாகவே உங்களுக்கு வழங்கப்படுகிறது.",
"title": "பதிவு எங்கிருந்து வருகிறது?"
},
"q2": {
"body": "ஒரு திரைப்படம் அல்லது தொடரை உங்களால் நேரடியாக கோர முடியாது. மூவி வெப் எந்த ஒரு பதிவுகளையும் நிர்வகிப்பதில்லை. அணைத்து பதிவுகளும் இணையத்தில் உள்ள தளங்களின் வழியாகவே உங்களுக்கு அளிக்கப்படுகின்றது.",
"title": "ஒரு தொடர் அல்லது திரைப்படத்தை நான் எங்கே கோருவது?"
},
"q3": {
"body": "எங்கள் தேடல் முடிவுகள் The Movie Database (TMDB) தரவு தளம் மூலம் வழங்கப்படுகிறது. தேடல் முடிவுகள் தேடலுக்கான பதிவுகளை கட்டாயம் உள்ளடக்கி இருக்கும் என்பதை உறுதியாக கூற இயலாது.",
"title": "தேடல் முடிவுகள் திரைப்படம் அல்லது தொடரை காட்டுகிறது. ஆனால், ஏன் என்னால் அதை பார்க்க முடியவில்லை?"
},
"title": "movie-web பற்றி" "title": "movie-web பற்றி"
}, },
"actions": { "actions": {
@@ -8,8 +21,8 @@
"copy": "நகல்" "copy": "நகல்"
}, },
"auth": { "auth": {
"createAccount": "கணக்கு இல்லையா? <0>கணக்கை உருவாக்குங்கள்</0>", "createAccount": "கணக்கு இல்லையா? <0>புதிய கணக்கை உருவாக்குங்கள்</0>",
"deviceNameLabel": "கருவியின் பெயர்", "deviceNameLabel": "சாதனத்தின் பெயர்",
"deviceNamePlaceholder": "எனது கைபேசி", "deviceNamePlaceholder": "எனது கைபேசி",
"generate": { "generate": {
"description": "தங்கள் கடவுச்சொற்றொடரே தங்களது பயனர் பெயர் மற்றும் கடவுச்சொல். கணக்கினுள் நுழைய அதனை பாதுகாப்பாக வைத்திருங்கள்", "description": "தங்கள் கடவுச்சொற்றொடரே தங்களது பயனர் பெயர் மற்றும் கடவுச்சொல். கணக்கினுள் நுழைய அதனை பாதுகாப்பாக வைத்திருங்கள்",
@@ -17,51 +30,507 @@
"passphraseFrameLabel": "கடவுச்சொற்றொடர்", "passphraseFrameLabel": "கடவுச்சொற்றொடர்",
"title": "உங்கள் கடவுச்சொற்றொடர்" "title": "உங்கள் கடவுச்சொற்றொடர்"
}, },
"hasAccount": "கணக்கு வைத்துள்ளீரா? <0>புகுபதிகை செய்க </0>", "hasAccount": "ஏற்கனவே ஒரு கணக்கு ள்ளா? <0>இங்கே உள்நுழைக. </0>",
"login": { "login": {
"description": "உங்கள் கணக்கினுள் புகுபதிய கடவுச்சொற்றொடரை உள்ளிடுக", "description": "உங்கள் கணக்கினுள் உள்நுழைய உங்கள் கடவுச்சொற்றொடரை உள்ளிடுக",
"deviceLengthError": "கருவியின் பெயரை உள்ளிடுக", "deviceLengthError": "சாதனத்தின் பெயரை உள்ளிடவும்",
"passphraseLabel": "12-சொல் கடவுச்சொற்றொடர்", "passphraseLabel": "12-சொல் கடவுச்சொற்றொடர்",
"passphrasePlaceholder": "கடவுச்சொற்றொடர்", "passphrasePlaceholder": "கடவுச்சொற்றொடர்",
"submit": "புகுபதிகை", "submit": "புகுபதிகை",
"title": "உங்கள் கணக்கினுள் புகுபதிய", "title": "உங்கள் கணக்கில் உள்நுழைக",
"validationError": "தவறான அல்லது முழுமையற்ற கடவுச்சொற்றொடர்" "validationError": "தவறான அல்லது முழுமையற்ற கடவுச்சொற்றொடர்"
}, },
"register": { "register": {
"information": { "information": {
"icon": "பயனர் குறிப்படம்", "color1": "Profile நிறம் ஒன்று",
"color2": "Profile நிறம் இரண்டு",
"header": "உங்கள் சாதனத்தின் பெயரை உள்ளிட்டு அதற்கான வண்ணம் மற்றும் ஐகானையும் தேர்ந்தெடுக்கவும்",
"icon": "பயனர் icon",
"next": "அடுத்து", "next": "அடுத்து",
"title": "கணக்கு விவரம்" "title": "கணக்கு விவரம்"
} }
}, },
"trust": { "trust": {
"no": "பின்செல்" "failed": {
"text": "நீங்கள் அதை சரியாக உள்ளமைத்தீர்களா?",
"title": "சர்வரை தொடர்பு கொள்ள முடியவில்லை"
},
"host": "நீங்கள் <0>{{hostname}}</0> உடன் இணைக்கப்படுகிறீர்கள். கணக்கை உருவாக்கும் முன் சரியான தகவல் தானா எனபதை உறுதி செய்து கொள்ளவும்",
"no": "பின்செல்",
"title": "நீங்கள் இந்த சர்வரை நம்புகிறீர்களா?",
"yes": "நான் இந்த சர்வரை நம்புகிறேன்"
}, },
"verify": { "verify": {
"description": "உங்கள் கடவுச்சொற்றொடரைச் சேமித்துள்ளீர்கள் என்பதை உறுதிப்படுத்த உங்கள் கடவுச்சொற்றொடர்களை மீண்டும் இங்கே உள்ளீடு செய்து உங்கள் கணக்கை உருவாக்கிக் கொள்ளுங்கள்",
"invalidData": "தரவு செல்லுபடியாகாது",
"noMatch": "கடவுச்சொற்றொடர்கள் பொருந்தவில்லை",
"passphraseLabel": "உங்களின் 12-சொல் கடவுச்சொற்றொடர்",
"recaptchaFailed": "ReCaptcha சரிபார்ப்பு தோல்வியடைந்தது",
"register": "கணக்கை உருவாக்கு", "register": "கணக்கை உருவாக்கு",
"title": "கடவுச்சொற்றொடரை உறுதி செய்க" "title": "கடவுச்சொற்றொடரை உறுதி செய்க"
} }
}, },
"errors": {
"badge": "சரியாக வேலை செய்யவில்லை",
"details": "பிழை விவரங்கள்",
"reloadPage": "இணையப் பக்கத்தை Reload செய்யவும்",
"showError": "பிழை விவரங்களைக் காட்டு",
"title": "நங்கள் ஒரு பிழையை எதிர் கொண்டு இருக்கிறோம்!"
},
"footer": {
"legal": {
"disclaimer": "பொறுப்பு துறப்பு",
"disclaimerText": "மூவி-வெப் எந்த பதிவுகளையும் தன்னகம் வைத்திருக்கவில்லை, இது மூன்றாம் தரப்பு பதிவுகளை வழங்குபவர்களை இணைக்கிறது. சட்ட சிக்கல்கள் ஏதேனும் இருப்பின் அது பதிவுகளை வழங்குபவரையே சாறும். வீடியோ வழங்குநர்கள் காண்பிக்கும் எந்த மீடியா பதிவுகளுக்கும் மூவி வெப் பொறுப்பாகாது."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "இந்த ஓப்பன் சோர்ஸ் (Open Source) இணைய தளம் மூலம் உங்களுக்குப் பிடித்த தொடர்களையும் திரைப்படங்களையும் பார்க்கலாம்."
},
"global": { "global": {
"name": "மூவி-வெப்",
"pages": { "pages": {
"about": "தெரிந்து கொள்ள",
"dmca": "DMCA",
"login": "புகுபதிகை", "login": "புகுபதிகை",
"onboarding": "அமை",
"pagetitle": "{{title}} - மூவி- வெப்",
"register": "பதிவு",
"settings": "அமைப்புகள்" "settings": "அமைப்புகள்"
} }
}, },
"home": { "home": {
"bookmarks": {
"sectionTitle": "குறிப்புகள்"
},
"continueWatching": {
"sectionTitle": "தொடர்ந்து பார்க்க"
},
"mediaList": {
"stopEditing": "திருத்துவதை நிறுத்து"
},
"search": { "search": {
"allResults": "மேலும் எங்களிடம் இல்லை!",
"failed": "மீடியாவைக் கண்டறிய முடியவில்லை, மீண்டும் முயலவும்!",
"loading": "Loading...",
"noResults": "எங்களால் எதையும் கண்டுபிடிக்க இயலவில்லை!",
"sectionTitle": "தேடல் முடிவுகள்" "sectionTitle": "தேடல் முடிவுகள்"
},
"titles": {
"day": {
"default": "மதிய வணக்கம். தற்போது என்ன காண விரும்புகிறீர்கள்?",
"extra": [
"சாகசமாக உணர்கிறீர்களா? ஜுராசிக் பார்க் (Jurassic Park) சரியான தேர்வாக இருக்கலாம்."
]
},
"morning": {
"default": "காலை வணக்கம். தற்போது என்ன காண விரும்புகிறீர்கள்?",
"extra": [
"சூரிய உதயத்திற்கு முன் நல்லது என்று கேள்விப்படுகிறேன்"
]
},
"night": {
"default": "இன்றைய இரவு என்ன காண விரும்புகிறீர்கள்?",
"extra": [
"சோர்வாக உள்ளீர்களா? Exorcist திரைப்படம் காணுங்கள்."
]
}
} }
}, },
"media": { "media": {
"episodeDisplay": "S{{season}} E{{episode}}",
"types": { "types": {
"movie": "திரைப்படம்", "movie": "திரைப்படம்",
"show": "காட்சி" "show": "காட்சி"
} }
}, },
"navigation": { "navigation": {
"banner": {
"offline": "உங்கள் இணைய இணைப்பைச் சரிபார்க்கவும்"
},
"menu": { "menu": {
"settings": "அமைப்புகள்" "about": "எங்களை பற்றி",
} "donation": "நன்கொடை",
"logout": "வெளியேறு",
"register": "இணைய கணக்கோடு ஒத்திசை (Sync to cloud)",
"settings": "அமைப்புகள்",
"support": "உதவி மையம்"
}
},
"notFound": {
"badge": "கிடைக்கவில்லை",
"goHome": "முகப்பிற்குச் செல்",
"message": "எங்களால் இயன்றவரை தேடினோம். ஆனால் உங்களுக்கான பக்கத்தை கண்டுபிடிக்க இயலவில்லை.",
"title": "உங்களுக்கான பக்கத்தை கண்டுபிடிக்க இயலவில்லை"
},
"onboarding": {
"defaultConfirm": {
"cancel": "ரத்து செய்",
"confirm": "இயல்புநிலை அமைப்பைப் பயன்படுத்தவும்",
"description": "இயல்புநிலை அமைப்பில் உள்ள தரவுகள் சிறந்த அனுபவத்தை வழங்க உகந்தவை அல்ல. மேலும், இவை மிகவும் மெதுவான இணைய வேகத்தையே கொண்டிருக்கும்.",
"title": "உறுதி செய்யலாமா?"
},
"extension": {
"back": "பின் செல்",
"explainer": "உலாவி நீட்டிப்பு (Browser Extension) வழி உங்களுக்கு சிறந்த காட்சிகளை எங்களால் வழங்க இயலும். மேலும், இந்த நிறுவல் மிகவும் எளிதான வழி முறையாகும்.",
"explainerIos": "துரதிர்ஷ்டவசமாக, உலாவி நீட்டிப்பு iOS இல் ஆதரிக்கப்படவில்லை, மற்றொரு விருப்பத்தைத் தேர்வுசெய்ய <bold>பின் செல்</bold> என்பதை அழுத்தவும்.",
"extensionHelp": "நீங்கள் நீட்டிப்பை நிறுவியிருந்தும் அது கண்டறியப்படவில்லை எனில், <bold>உங்கள் உலாவி நீட்டிப்பு மெனு மூலம் நீட்டிப்பைத் திறந்து</bold> திரையில் உள்ள படிகளைப் பின்பற்றவும்.",
"linkChrome": "Chrome நீட்டிப்பை நிறுவவும்",
"linkFirefox": "Firefox நீட்டிப்பை நிறுவவும்",
"notDetecting": "Chrome இல் நிறுவப்பட்டு விட்டது, ஆனால் தளம் அதைக் கண்டறியவில்லையா? பக்கத்தை மீண்டும் இயக்கி (Reload) முயற்சிக்கவும்!",
"notDetectingAction": "பக்கத்தை மீண்டும் இயக்கு",
"status": {
"disallowed": "இந்தப் பக்கத்திற்கு நீட்டிப்பு இயக்கப்படவில்லை",
"disallowedAction": "நீட்டிப்பை இயக்கு",
"failed": "தற்போதைய நிலையை அறிய இயலவில்லை",
"loading": "நீங்கள் நீட்டிப்பை நிறுவும் வரை காத்திருக்கிறது",
"outdated": "நீட்டிப்பு பதிப்பு மிகவும் பழையது",
"success": "நீட்டிப்பு எதிர்பார்த்தபடி செயல்படுகிறது!"
},
"submit": "தொடரவும்",
"title": "நீட்டிப்பு நிறுவலுடன் ஆரம்பிக்கலாம்"
},
"proxy": {
"back": "பின் செல்",
"explainer": "Proxy முறையில், உங்களின் தனிப்பட்ட Proxy யை உருவாக்குவதன் மூலம் சிறந்த தரமான ஸ்ட்ரீம்களைப் பெறலாம்.",
"input": {
"errorConnection": "Proxy உடன் இணைக்க முடியவில்லை",
"errorInvalidUrl": "சரியான URL அல்ல",
"errorNotProxy": "Proxy க்கு பதில் இணைய தளம் கிடைத்துள்ளது",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Proxy எவ்வாறு உருவாக்குவது என்பதை அறிக",
"submit": "Proxy யை சமர்ப்பிக்க",
"title": "ஒரு புதிய Proxy யை உருவாக்குவோம்"
},
"start": {
"explainer": "சிறந்த ஸ்ட்ரீம்களைப் பெற, நீங்கள் எந்த ஸ்ட்ரீமிங் முறையைப் பயன்படுத்த விரும்புகிறீர்கள் என்பதை நீங்கள் தேர்வு செய்ய வேண்டும்.",
"options": {
"default": {
"text": "எனக்கு நல்ல தரமான ஸ்ட்ரீம்கள் வேண்டாம்,<0 /> <1>இயல்புநிலை அமைப்பைப் பயன்படுத்தவும்</1>"
},
"extension": {
"action": "நீட்டிப்பை நிறுவவும்",
"description": "உலாவி நீட்டிப்பை நிறுவி, சிறந்த தரவுகளை பெறுங்கள்.",
"quality": "சிறந்த தரம்",
"title": "உலாவி நீட்டிப்பு"
},
"proxy": {
"action": "Proxy யை அமைக்கவும்",
"description": "வெறும் 5 நிமிடங்களில் Proxy யை அமைத்து, சிறந்த தரவுகளை பெறுங்கள்.",
"quality": "நல்ல தரம்",
"title": "தனிப்பட்ட Proxy"
}
},
"title": "உங்களின் மூவி-வெப் அமைப்பை நிறுவலாம் வாருங்கள்"
}
},
"overlays": {
"close": "மூடு"
},
"player": {
"back": {
"default": "முகப்பிற்கு செல்",
"short": "பின் செல்"
},
"casting": {
"enabled": "சாதனத்தின் வழி திரையிடப்படுகிறது..."
},
"menus": {
"downloads": {
"copyHlsPlaylist": "HLS Playlist link யை காப்பி செய்யவும்",
"disclaimer": "பதிவிறக்கங்கள் வழங்குநரிடமிருந்து நேரடியாக வழங்கப்படுகின்றன. பதிவிறக்கங்கள் எவ்வாறு வழங்கப்படுகின்றன என்பதை மூவி-வெப் கட்டுப்படுத்தாது.",
"downloadSubtitle": "தற்போதைய வசனத்தைப் பதிவிறக்கவும்",
"downloadVideo": "Video வை பதிவிறக்கம் செய்",
"hlsDisclaimer": "பதிவிறக்கங்கள் வழங்குநரிடமிருந்து நேரடியாக எடுக்கப்படுகின்றன. பதிவிறக்கங்கள் எவ்வாறு வழங்கப்படுகின்றன என்பதை மூவி-வெப் கட்டுப்படுத்தவில்லை.<br /><br />நீங்கள் HLS Playlist யை பதிவிறக்குகிறீர்கள் என்பதை நினைவில் கொள்ளவும், <bold> Advanced streaming formats பற்றி நீங்கள் அறிந்து இருக்கவில்லையென்றால் பதிவிறக்கம் செய்ய உங்களை நாங்கள் பரிந்துரைக்கவில்லை. </bold>. வெவ்வேறு வடிவங்கள் அல்லது வெவ்வேறு ஆதாரங்களை முயற்சிக்கவும்.",
"onAndroid": {
"1": "Android இல் பதிவிறக்க, பதிவிறக்க பொத்தானைக் கிளிக் செய்து, புதிய பக்கத்தில், வீடியோ வின் மீது <bold>tap and hold</bold>கிளிக் செய்யவும், பின்னர் <bold>save</bold> என்பதைத் தேர்ந்தெடுக்கவும்.",
"shortTitle": "பதிவிறக்கம் / ஆண்ட்ராய்டு",
"title": "ஆண்ட்ராய்டு இல் பதிவிறங்குகிறது"
},
"onIos": {
"1": "iOS இல் பதிவிறக்க, பதிவிறக்க பொத்தானைக் கிளிக் செய்து, புதிய பக்கத்தில், <bold><ios_share /></bold> என்பதைக் கிளிக் செய்து பிறகு, <bold>Save to Files <ios_files /></bold> கிளிக் செய்யவும்.",
"shortTitle": "பதிவிறக்கு /iOS",
"title": "iOS இல் பதிவிறங்குகிறது"
},
"onPc": {
"1": "கணினியில், Download பொத்தானைக் கிளிக் செய்து வரும் புதிய பக்கத்தில், வீடியோவின் மீது சுட்டியின் வலது பக்கம் கிளிக் (Right Click) செய்து <bold>Save video as</bold> என்பதைத் தேர்ந்தெடுக்கவும்",
"shortTitle": "பதிவிறக்கு / PC",
"title": "கணினியில் பதிவிறங்குகிறது"
},
"title": "பதிவிறக்கு"
},
"episodes": {
"button": "அத்தியாயங்கள்",
"emptyState": "இந்த தொடரில் எந்தவொரு அத்தியாயங்களும் இல்லை. பிறகு பார்க்கவும்!",
"episodeBadge": "E{{episode}}",
"loadingError": "தொடரை திரையிட முடியவில்லை",
"loadingList": "திரையிடப்படுகிறது...",
"loadingTitle": "திரையிடப்படுகிறது...",
"unairedEpisodes": "இந்த Season இல் ஒன்று அல்லது அதற்கு மேற்பட்ட Episode கள் இன்னும் ஒளிபரப்பப்படாததால் அவை முடக்கப்பட்டுள்ளன."
},
"playback": {
"speedLabel": "காட்சி பின்னணி வேகம்",
"title": "காட்சி பின்னணி அமைப்புகள்"
},
"quality": {
"automaticLabel": "இயல்பான தரம்",
"hint": "வெவ்வேறு தர விருப்பங்களைப் பெற <0>switching source</0> தெரிவு செய்யலாம்.",
"iosNoQuality": "Apple நிறுவனத்தின் வரையறுக்கப்பட்ட வரம்புகள் காரணமாக, இந்த Source இன் தரமான தேர்வு iOS இயங்கு தளத்தில் வழங்க இயலவில்லை. வெவ்வேறு தர விருப்பங்களைப் பெற, <0>switching to another source</0> தெரிவு செய்யவும்.",
"title": "தரம்"
},
"settings": {
"downloadItem": "பதிவிறக்கம்",
"enableSubtitles": "வசனங்களை இயக்கு",
"experienceSection": "பார்க்கும் அனுபவம்",
"playbackItem": "காட்சி பின்னணி அமைப்புகள்",
"qualityItem": "தரம்",
"sourceItem": "வீடியோ ஆதாரங்கள்",
"subtitleItem": "வசன அமைப்புகள்",
"videoSection": "வீடியோ அமைப்புகள்"
},
"sources": {
"failed": {
"text": "வீடியோக்களை கண்டுபிடிக்க முயற்சிக்கும் போது பிழை ஏற்பட்டுள்ளது , வேறு ஆதாரங்களை முயற்சிக்கவும்.",
"title": "Scrape செய்ய முடியவில்லை"
},
"noEmbeds": {
"text": "எந்த உட்பொதிவுகளையும் (Embeds) எங்களால் கண்டுபிடிக்க இயலவில்லை, வேறு ஆதாரங்களை முயற்சிக்கவும்.",
"title": "உட்பொதிப்புகள் (Embeds) எதுவும் இல்லை"
},
"noStream": {
"text": "இந்த Source இல் திரைப்படம் அல்லது தொடருக்கான தரவுகள் இல்லை.",
"title": "தரவு கிடைக்கப்பெறவில்லை"
},
"title": "தரவு தளங்கள்",
"unknownOption": "தெரியவில்லை"
},
"subtitles": {
"customChoice": "File இல் இருந்து வசனத்தைத் தேர்ந்தெடுக்கவும்",
"customizeLabel": "தனிப்பயன்முறை",
"offChoice": "அனை",
"settings": {
"backlink": "தனிப்பட்ட வசன வரிகள்",
"delay": "வசன வரி தாமதம்",
"fixCapitals": "Capitals யை சரி செய்யவும்"
},
"title": "வசன வரிகள்",
"unknownLanguage": "தெரியவில்லை"
}
},
"metadata": {
"api": {
"text": "API தரவுகளை காண்பிக்க இயலவில்லை, உங்கள் இணைய இணைப்பைச் சரிபார்க்கவும்.",
"title": "API தரவுகளை காண்பிக்க இயலவில்லை"
},
"dmca": {
"badge": "அகற்றப்பட்டது",
"text": "Copyright Claim காரணமாக இந்த தரவு நீக்கப்பட்டது அல்லது காணக் கிடைக்காது.",
"title": "மீடியா நீக்கப்பட்டது"
},
"extensionPermission": {
"badge": "அனுமதி இல்லை",
"button": "நீட்டிப்பைப் பயன்படுத்தவும்",
"text": "உங்களிடம் உலாவி நீட்டிப்பு உள்ளது, ஆனால் நீட்டிப்பைப் பயன்படுத்தத் தொடங்க உங்கள் அனுமதி தேவை.",
"title": "நீட்டிப்பை உள்ளமைக்கவும்"
},
"failed": {
"badge": "தோல்வியடைந்தது",
"homeButton": "முகப்பிற்கு செல்",
"text": "TMDB இலிருந்து மீடியாவின் தரவுகளை ஏற்ற முடியவில்லை. உங்கள் இணைய இணைப்பில் TMDB செயலிழந்துள்ளதா அல்லது தடுக்கப்பட்டுள்ளதா என்பதைச் சரிபார்க்கவும்.",
"title": "மெட்டா டேட்டாவை ஏற்றுவதில் தோல்வி"
},
"notFound": {
"badge": "கிடைக்கவில்லை",
"homeButton": "முகப்பிற்கு செல்",
"text": "நீங்கள் கோரிய மீடியாவை எங்களால் கண்டுபிடிக்க இயலவில்லை. அது அகற்றப்பட்டிருக்கலாம் அல்லது நீங்கள் URL ஐ சேதப்படுத்தியிருக்கலாம்.",
"title": "மீடியாவைக் கண்டுபிடிக்க முடியவில்லை."
}
},
"nextEpisode": {
"cancel": "ரத்து செய்",
"next": "அடுத்த Episode"
},
"playbackError": {
"badge": "பின்னணி பிழை",
"errors": {
"errorAborted": "பயனரின் கோரிக்கையால் மீடியாவைப் பெறுவது நிறுத்தப்பட்டது.",
"errorDecode": "பயன்படுத்தக்கூடியது என்று முன்பே தீர்மானிக்கப்பட்டிருந்தாலும், மீடியாவை டிகோட் செய்ய முயற்சிக்கும்போது ஏற்பட்ட பிழை காரணமாக இந்த பிழை ஏற்பட்டுள்ளது.",
"errorGenericMedia": "அறியப்படாத மீடியா பிழை ஏற்பட்டுள்ளது.",
"errorNetwork": "மீடியா கிடைத்த போதிலும், சில நெட்ஒர்க் பிழையின் காரணமாக இந்த மீடியா இப்போது கிடைக்கப்பெறவில்லை.",
"errorNotSupported": "மீடியா அல்லது மீடியா வழங்குநர் பொருள் ஆதரிக்கப்படவில்லை."
},
"homeButton": "முகப்பிற்கு செல்",
"text": "மீடியாவை இயக்கும் முயற்சியில் பிழை ஏற்பட்டுள்ளது. தயவு செய்து மீண்டும் முயற்சிக்கவும்.",
"title": "வீடியோவை இயக்க முடியவில்லை!"
},
"scraping": {
"items": {
"failure": "பிழை ஏற்பட்டுள்ளது",
"notFound": "வீடியோ இல்லை",
"pending": "வீடியோக்களை எடுத்து கொண்டிருக்கிறது..."
},
"notFound": {
"badge": "கிடைக்கவில்லை",
"detailsButton": "விவரங்களை காட்டு",
"homeButton": "முகப்பிற்கு செல்",
"text": "எங்கள் வழங்குநர்கள் மூலம் நாங்கள் தேடினோம், நீங்கள் தேடும் மீடியாவைக் கண்டுபிடிக்க இயலவில்லை! நாங்கள் மீடியாவை host செய்யவில்லை, என்ன கிடைக்கும் என்பதில் எங்களுக்கு எந்த கட்டுப்பாடும் இல்லை. மேலும் விவரங்களுக்கு கீழே உள்ள 'விவரங்களைக் காட்டு' என்பதைக் கிளிக் செய்யவும்.",
"title": "அதை எங்களால் கண்டுபிடிக்க முடியவில்லை"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} மீதமுள்ள நேரம்• {{timeFinished, datetime}} அன்று முடிந்தது",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "நீங்கள் மனிதர் தானா என்பதை உறுதி செய்யவும். இது எங்களை பாதுகாப்பாக வைத்திருக்க உதவும்!",
"error": "நீங்கள் மனிதர் என்பதை தான் சரிபார்க்க முடியவில்லை. தயவு செய்து மீண்டும் முயற்சிக்கவும்.",
"title": "நீங்கள் ஒரு மனிதர் என்பதை நாங்கள் உறுதி செய்ய வேண்டும்.",
"verifyingHumanity": "நீங்கள் மனிதர் தானா என்பதை உறுதி செய்கிறோம். காத்திருக்கவும்..."
}
},
"screens": {
"dmca": {
"text": "மூவி-வெப் DMCA தொடர்பு பக்கத்திற்கு வரவேற்கிறோம்! அறிவுசார் சொத்துரிமைகளை நாங்கள் மதிக்கிறோம் மற்றும் எந்தவொரு பதிப்புரிமைக் கவலைகளையும் விரைவாகத் தீர்க்க விரும்புகிறோம். உங்கள் பதிப்புரிமை பெற்ற வேலை எங்கள் தளத்தில் தவறாகப் பயன்படுத்தப்பட்டதாக நீங்கள் நம்பினால், கீழே உள்ள மின்னஞ்சலுக்கு விரிவான DMCA அறிவிப்பை அனுப்பவும். பதிப்புரிமை பெற்ற உள்ளடக்கத்தின் விளக்கம், உங்கள் தொடர்பு விவரங்கள் மற்றும் நல்ல நம்பிக்கையின் அறிக்கையைச் சேர்க்கவும். இந்த விஷயங்களை உடனடியாகத் தீர்ப்பதற்கு நாங்கள் கடமைப்பட்டுள்ளோம், மேலும் மூவி-வெப் படைப்பாற்றல் மற்றும் பதிப்புரிமைகளை மதிக்கும் இடமாக வைத்திருப்பதில் உங்கள் ஒத்துழைப்பைப் பாராட்டுகிறோம்.",
"title": "DMCA"
},
"loadingApp": "பயன்பாட்டை நிறுவுகிறது",
"loadingUser": "Profile லோட் செய்யப்படுகிறது",
"loadingUserError": {
"logout": "வெளியேறு",
"reset": "Custom server யை மீட்டமைக்கவும்",
"text": "Profile லோட் செய்ய முடியவில்லை",
"textWithReset": "உங்கள் Profile Custom Server இல் இருந்து லோட் செய்ய இயலவில்லை. மீண்டும் Default Server க்கு மாற்றியமைக்க விரும்புகிறீர்களா?"
},
"migration": {
"failed": "உங்கள் தரவுகளை புதுப்பிக்க இயலவில்லை.",
"inProgress": "தயவு செய்து காத்திருக்கவும், நாங்கள் உங்கள் தரவுகளை சேமித்து கொண்டு இருக்கிறோம். இதற்கு அதிக நேரம் தேவைப்படாது."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "சாதனத்தின் பெயர்",
"deviceNamePlaceholder": "தனிப்பட்ட போன்",
"editProfile": "எடிட்",
"logoutButton": "வெளியேறு"
},
"actions": {
"delete": {
"button": "கணக்கை நீக்குக",
"confirmButton": "கணக்கை நீக்குக",
"confirmDescription": "உங்கள் கணக்கை நிச்சயமாக நீக்க விரும்புகிறீர்களா? உங்கள் தரவுகள் அனைத்தும் நீக்கப்படும்!",
"confirmTitle": "நீங்கள் உறுதியா?",
"text": "இந்த நடவடிக்கை திரும்ப பெற முடியாதது. அனைத்து தரவுகளும் நீக்கப்படும் மற்றும் எதையும் மீட்டெடுக்க இயலாது.",
"title": "கணக்கை நீக்குக"
},
"title": "செயல்கள்"
},
"devices": {
"deviceNameLabel": "சாதனத்தின் பெயர்",
"failed": "சாதனத்தின் தரவுகளை காண்பிக்க இயலவில்லை",
"removeDevice": "நீக்கு",
"title": "சாதனங்கள்"
},
"profile": {
"finish": "எடிட்டிங் முடிக்கவும்",
"firstColor": "Profile நிறம் ஒன்று",
"secondColor": "Profile நிறம் இரண்டு",
"title": "Profile படத்தைத் திருத்தவும்",
"userIcon": "பயனர் icon"
},
"register": {
"cta": "தொடங்குங்கள்",
"text": "ஒன்றுக்கு மேற்பட்ட சாதனங்களுக்கு இடையே உங்களின் காட்சி நேரத்தை பகிர்ந்து அவற்றை ஒத்திசைத்து வைக்கவும்.",
"title": "Cloud இல் Sync செய்யவும்"
},
"title": "கணக்கு"
},
"appearance": {
"activeTheme": "செயலில் உள்ளது",
"themes": {
"blue": "நீலம்",
"default": "இயல்பு அமைப்பு",
"gray": "சாம்பல்",
"red": "சிவப்பு",
"teal": "அடர் பச்சை"
},
"title": "தோற்றம்"
},
"connections": {
"server": {
"description": "நீங்கள் உங்கள் தரவுகளை உங்களின் தனிப்பட்ட பின்தளம் (Backend) இல் சேமிக்க விரும்பினால் இதை தெரிவு செய்து URL யை உள்ளீடு செய்யவும்",
"label": "தனிப்பயன் சர்வர்",
"urlLabel": "தனிப்பட்ட சர்வரின் URL"
},
"setup": {
"doSetup": "அமைக்கவும்",
"errorStatus": {
"description": "இந்த அமைப்பில் உள்ள ஒன்று அல்லது அதற்கு மேற்பட்ட உருப்படிகளுக்கு உங்கள் கவனம் தேவை என்று தெரிகிறது.",
"title": "உங்களின் கவனம் இங்கு தேவைப்படுகிறது"
},
"itemError": "இந்த அமைப்பில் ஏதோ தவறு உள்ளது. அதை சரிசெய்ய மீண்டும் அமைவு வழியாக செல்லவும்.",
"items": {
"default": "இயல்புநிலை அமைப்பு",
"extension": "நீட்டிப்பு",
"proxy": "தனிப்பயன் Proxy"
},
"redoSetup": "அமைப்பை மீண்டும் செய்",
"successStatus": {
"description": "உங்களுக்குப் பிடித்த மீடியாவைப் பார்க்கத் தொடங்குவதற்கு அனைத்து விஷயங்களும் இங்கு உள்ளன.",
"title": "அணைத்தும் சரியாக உள்ளது!"
},
"unsetStatus": {
"description": "Setup Process யை தொடங்க வலதுபுறத்தில் உள்ள பொத்தானைக் கிளிக் செய்யவும்.",
"title": "நீங்கள் அமைப்பிற்குச் செல்லவில்லை"
}
},
"title": "இணைப்புகள்",
"workers": {
"addButton": "புதிய worker யை சேர்க்கவும்",
"description": "இந்த பயன்பாடு செயல்பட அனைத்து இணைய போக்குவரத்தும் இந்த proxies வழியாக அனுப்பப்பட உள்ளது. உங்களின் தனிப்பட்ட workers யை உபயோகிக்க இதை தெரிவு செய்யவும். <0>வழிமுறைகள்.</0>",
"emptyState": "எந்தவொரு workers ம் இல்லை. கீழே புதியதாக சேர்க்கவும்",
"label": "Custom proxy workers யை உபயோகப்படுத்த",
"urlLabel": "Worker URL கள்",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "பயன்பாட்டின் மொழி",
"languageDescription": "பயன்பாடு முழுமைக்கும் மொழி பயன்படுத்தப்பட்டது.",
"thumbnail": "சிறுபடங்களை உருவாக்கவும்",
"thumbnailDescription": "பெரும்பாலான நேரங்களில், வீடியோக்களில் சிறுபடங்கள் இருக்காது. அவற்றை உருவாக்க இந்த அமைப்பை நீங்கள் இயக்கலாம். ஆனால் அவை உங்கள் வீடியோவை மெதுவாக்கும்.",
"thumbnailLabel": "சிறுபடங்களை உருவாக்கவும்",
"title": "விருப்பங்கள்"
},
"reset": "மீட்டமை",
"save": "சேமி",
"sidebar": {
"info": {
"appVersion": "பயன்பாட்டின் பதிப்பு",
"backendUrl": "பின்தள URL",
"backendVersion": "பின்தள பதிப்பு",
"hostname": "Hostname",
"insecure": "பாதுகாப்பற்றது",
"notLoggedIn": "நீங்கள் உள்நுழையவில்லை",
"secure": "பாதுகாப்பானது",
"title": "பயன்பாட்டின் தகவல்கள்",
"unknownVersion": "தெரியவில்லை",
"userId": "பயனர் ID"
}
},
"subtitles": {
"backgroundLabel": "பின்னணி ஒளிபுகாநிலை (Background opacity)",
"colorLabel": "நிறம்",
"previewQuote": "நான் பயப்படக்கூடாது. பயம் மனதைக் கொல்லும்.",
"textSizeLabel": "எழுத்து அளவு",
"title": "வசன வரிகள்"
},
"unsaved": "உங்களிடம் சேமிக்கப்படாத மாற்றங்கள் உள்ளன"
} }
} }

View File

@@ -115,7 +115,10 @@
"failed": "ไม่พบสื่อนี้ ลองอีกครั้ง!", "failed": "ไม่พบสื่อนี้ ลองอีกครั้ง!",
"loading": "กำลังโหลด..", "loading": "กำลังโหลด..",
"noResults": "เราไม่พบอะไรเลย!", "noResults": "เราไม่พบอะไรเลย!",
"placeholder": "คุณอยากดูอะไรคะ?", "placeholder": {
"default": "คุณอยากดูอะไรคะ?",
"extra": []
},
"sectionTitle": "ผลการค้นหา" "sectionTitle": "ผลการค้นหา"
}, },
"titles": { "titles": {
@@ -124,15 +127,11 @@
}, },
"morning": { "morning": {
"default": "คุณอยากดูอะไรเช้านี้?", "default": "คุณอยากดูอะไรเช้านี้?",
"extra": [ "extra": ["ฉันได้ยินมาว่าเรื่อง Before Sunrise สนุก"]
"ฉันได้ยินมาว่าเรื่อง Before Sunrise สนุก"
]
}, },
"night": { "night": {
"default": "คุณอยากดูเรื่องอะไรในช่วงค่ำ?", "default": "คุณอยากดูเรื่องอะไรในช่วงค่ำ?",
"extra": [ "extra": ["เหนื่อยมั้ย? ฉันได้ยินมาว่า The Exorcist นั้นดี"]
"เหนื่อยมั้ย? ฉันได้ยินมาว่า The Exorcist นั้นดี"
]
} }
} }
}, },
@@ -176,7 +175,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "การดาวน์โหลดจะถูกนํามาจากผู้ให้บริการโดยตรง movie-web ไม่สามารถควบคุมวิธีการดาวน์โหลดได้", "disclaimer": "การดาวน์โหลดจะถูกนํามาจากผู้ให้บริการโดยตรง movie-web ไม่สามารถควบคุมวิธีการดาวน์โหลดได้",
"downloadPlaylist": "ดาวน์โหลดเพลย์ลิสต์",
"downloadSubtitle": "ดาวน์โหลดคำบรรยายนี้", "downloadSubtitle": "ดาวน์โหลดคำบรรยายนี้",
"downloadVideo": "ดาวน์โหลดวิดีโอ", "downloadVideo": "ดาวน์โหลดวิดีโอ",
"hlsDisclaimer": "การดาวน์โหลดจะเป็นการดาวน์โหลดโดยตรงจากผู้ให้บริการ โดยเว็บไซต์ movie-web ไม่สามารถควบคุมวิธีการที่ไฟล์จะถูกดาวน์โหลด โปรดทราบว่าหากคุณกำลังดาวน์โหลดเพลย์ลิสต์ HLS ซึ่งมีจุดประสงค์สำหรับผู้ใช้ที่มีความเข้าใจใน สตรีมมิ่ง และมัลติมีเดียขั้นสูง.", "hlsDisclaimer": "การดาวน์โหลดจะเป็นการดาวน์โหลดโดยตรงจากผู้ให้บริการ โดยเว็บไซต์ movie-web ไม่สามารถควบคุมวิธีการที่ไฟล์จะถูกดาวน์โหลด โปรดทราบว่าหากคุณกำลังดาวน์โหลดเพลย์ลิสต์ HLS ซึ่งมีจุดประสงค์สำหรับผู้ใช้ที่มีความเข้าใจใน สตรีมมิ่ง และมัลติมีเดียขั้นสูง.",
@@ -389,11 +387,6 @@
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "ภาษา",
"languageDescription": "ภาษาที่ใช้กับแอปพลิเคชันทั้งหมด",
"title": "ตำแหน่งที่ตั้ง"
},
"reset": "เริ่มใหม่", "reset": "เริ่มใหม่",
"save": "บันทึก", "save": "บันทึก",
"sidebar": { "sidebar": {

View File

@@ -94,6 +94,7 @@
"about": "o sona", "about": "o sona",
"dmca": "DMCA", "dmca": "DMCA",
"login": "o open", "login": "o open",
"onboarding": "o pali",
"pagetitle": "{{title}} - ilo Muwi-We", "pagetitle": "{{title}} - ilo Muwi-We",
"register": "o pali open", "register": "o pali open",
"settings": "o ante" "settings": "o ante"
@@ -114,27 +115,24 @@
"failed": "lukin li pakala a! o alasa sin", "failed": "lukin li pakala a! o alasa sin",
"loading": "alasa...", "loading": "alasa...",
"noResults": "ijo li lon ala a!", "noResults": "ijo li lon ala a!",
"placeholder": "sina wile lukin e seme?", "placeholder": {
"default": "sina wile lukin e seme?",
"extra": []
},
"sectionTitle": "mi lukin e ni:" "sectionTitle": "mi lukin e ni:"
}, },
"titles": { "titles": {
"day": { "day": {
"default": "tenpo suno ni la sina wile lukin e seme?", "default": "tenpo suno ni la sina wile lukin e seme?",
"extra": [ "extra": ["sina pilin alasa la o lukin e sitelen Jurassic Park"]
"sina pilin alasa la o lukin e sitelen Jurassic Park"
]
}, },
"morning": { "morning": {
"default": "tenpo sin ni la sina wile lukin e seme?", "default": "tenpo sin ni la sina wile lukin e seme?",
"extra": [ "extra": ["ken la sitelen Before Sunrise li pona"]
"ken la sitelen Before Sunrise li pona"
]
}, },
"night": { "night": {
"default": "tenpo pimeja ni la sina wile lukin e seme?", "default": "tenpo pimeja ni la sina wile lukin e seme?",
"extra": [ "extra": ["sina pilin lape anu seme? o alasa lukin e sitelen Exorcist"]
"sina pilin lape anu seme? o alasa lukin e sitelen Exorcist"
]
} }
} }
}, },
@@ -164,6 +162,11 @@
"message": "mi lukin lon anpa poki, lon insa tomo, lon monsi ilo. taso mi lukin ala e lipu pi wile sina", "message": "mi lukin lon anpa poki, lon insa tomo, lon monsi ilo. taso mi lukin ala e lipu pi wile sina",
"title": "mi ken ala lukin e lipu ona" "title": "mi ken ala lukin e lipu ona"
}, },
"onboarding": {
"start": {
"title": "o open e ilo Muwi-We"
}
},
"overlays": { "overlays": {
"close": "o pini" "close": "o pini"
}, },
@@ -178,7 +181,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "sina kama jo e sitelen tawa ilo sina tan lipu mama. ilo Muwi-We li lawa ala e nasin jo", "disclaimer": "sina kama jo e sitelen tawa ilo sina tan lipu mama. ilo Muwi-We li lawa ala e nasin jo",
"downloadPlaylist": "o jo e lipu sitelen",
"downloadSubtitle": "o jo e nimi toki", "downloadSubtitle": "o jo e nimi toki",
"downloadVideo": "o jo e sitelen", "downloadVideo": "o jo e sitelen",
"hlsDisclaimer": "jo li tan mama. ilo Muwi-We li lawa ala e nasin jo. o sona e ni: sina jo e lipu sitelen HLS. ni li tawa jan pi sona sitelen", "hlsDisclaimer": "jo li tan mama. ilo Muwi-We li lawa ala e nasin jo. o sona e ni: sina jo e lipu sitelen HLS. ni li tawa jan pi sona sitelen",
@@ -205,7 +207,8 @@
"episodeBadge": "E{{episode}}", "episodeBadge": "E{{episode}}",
"loadingError": "alasa li pakala", "loadingError": "alasa li pakala",
"loadingList": "alasa...", "loadingList": "alasa...",
"loadingTitle": "alasa..." "loadingTitle": "alasa...",
"unairedEpisodes": "sitelen li lon ala lukin la ken la sina lukin ala e ona"
}, },
"playback": { "playback": {
"speedLabel": "tenpo lukin", "speedLabel": "tenpo lukin",
@@ -257,6 +260,14 @@
} }
}, },
"metadata": { "metadata": {
"dmca": {
"badge": "weka",
"text": "wile weka li kama tan mama sitelen la sitelen ni li ken ala",
"title": "sitelen li weka"
},
"extensionPermission": {
"button": "o kepeken namako"
},
"failed": { "failed": {
"badge": "pakala", "badge": "pakala",
"homeButton": "o tawa weka", "homeButton": "o tawa weka",
@@ -306,9 +317,18 @@
"remaining": "tenpo {{timeLeft}} la o awen • tenpo {{timeFinished, datetime}} la ona li pini", "remaining": "tenpo {{timeLeft}} la o awen • tenpo {{timeFinished, datetime}} la ona li pini",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "sina jan la o pali e ilo Captcha lon poka ni. mi wile awen e ilo Muwi-We a!",
"error": "mi lukin e ni: ken la sina jan ala. o alasa sin",
"title": "sina o jan",
"verifyingHumanity": "sina jan ala jan?"
} }
}, },
"screens": { "screens": {
"dmca": {
"title": "DMCA"
},
"loadingApp": "mi alasa e ilo", "loadingApp": "mi alasa e ilo",
"loadingUser": "mi alasa e lipu sina", "loadingUser": "mi alasa e lipu sina",
"loadingUserError": { "loadingUserError": {
@@ -316,6 +336,10 @@
"reset": "o sin e lawa ilo sina", "reset": "o sin e lawa ilo sina",
"text": "alasa li pakala", "text": "alasa li pakala",
"textWithReset": "alasa tan lawa ilo sina li pakala. sina wile e lawa ilo mi anu seme?" "textWithReset": "alasa tan lawa ilo sina li pakala. sina wile e lawa ilo mi anu seme?"
},
"migration": {
"failed": "tawa pi sona sina li pakala",
"inProgress": "o awen lili. mi alasa tawa e sona sina"
} }
}, },
"settings": { "settings": {
@@ -369,15 +393,59 @@
"title": "kule" "title": "kule"
}, },
"connections": { "connections": {
"title": "kulupu" "server": {
"description": "sina wile e poki sona ante la o pana e nimi ona lon ni: <0>nasin</0>",
"label": "lawa ante",
"urlLabel": "nimi pi lawa ante"
}, },
"locale": { "setup": {
"doSetup": "o pali",
"errorStatus": {
"description": "ni li wile e lukin sina",
"title": "o lukin"
},
"itemError": "ni li pakala. o pali sin",
"items": {
"default": "pali sama",
"extension": "namako"
},
"redoSetup": "o pali sin",
"successStatus": {
"description": "ijo ale li pona. sina ken lukin e sitelen ale pi wile sina",
"title": "pali li pini a!"
},
"unsetStatus": {
"description": "o luka e nena lon poka ni tawa open pali",
"title": "sina pali ala"
}
},
"title": "kulupu",
"workers": {
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "toki ilo", "language": "toki ilo",
"languageDescription": "ilo li toki kepeken toki ni:", "languageDescription": "ilo li toki kepeken toki ni",
"title": "toki" "thumbnail": "o pali e sitelen awen",
"thumbnailDescription": "tenpo mute la, sitelen tawa li jo ala e sitelen awen. sina wile e sitelen lili pi lukin wan la o lon e ni. taso, ni li ken suli ike e tenpo sitelen sina",
"thumbnailLabel": "o pali e sitelen awen",
"title": "wile"
}, },
"reset": "o weka e ante", "reset": "o weka e ante",
"save": "o ante", "save": "o ante",
"sidebar": {
"info": {
"appVersion": "nanpa ilo",
"hostname": "nimi mama",
"insecure": "ike",
"notLoggedIn": "mi sona ala e sina",
"secure": "pona",
"title": "sona ilo",
"unknownVersion": "mi sona ala",
"userId": "nanpa sina"
}
},
"subtitles": { "subtitles": {
"backgroundLabel": "kon", "backgroundLabel": "kon",
"colorLabel": "kule", "colorLabel": "kule",

View File

@@ -74,7 +74,7 @@
"badge": "Bir şeyler ters gitti", "badge": "Bir şeyler ters gitti",
"details": "Hata detayları", "details": "Hata detayları",
"reloadPage": "Sayfayı yenile", "reloadPage": "Sayfayı yenile",
"showError": "Hata detaylarını göster", "showError": "Hata ayrıntılarını göster",
"title": "Bir hatayla karşılaştık!" "title": "Bir hatayla karşılaştık!"
}, },
"footer": { "footer": {
@@ -95,6 +95,7 @@
"about": "Hakkında", "about": "Hakkında",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Giriş yap", "login": "Giriş yap",
"onboarding": "Kur",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Kayıt ol", "register": "Kayıt ol",
"settings": "Ayarlar" "settings": "Ayarlar"
@@ -115,7 +116,10 @@
"failed": "Medya bulunamadı, tekrar deneyin!", "failed": "Medya bulunamadı, tekrar deneyin!",
"loading": "Yükleniyor...", "loading": "Yükleniyor...",
"noResults": "Hiçbir şey bulamadık!", "noResults": "Hiçbir şey bulamadık!",
"placeholder": "Ne izlemek istersiniz?", "placeholder": {
"default": "Ne izlemek istersiniz?",
"extra": []
},
"sectionTitle": "Arama sonuçları" "sectionTitle": "Arama sonuçları"
}, },
"titles": { "titles": {
@@ -127,15 +131,11 @@
}, },
"morning": { "morning": {
"default": "Bu sabah ne izlemek istersiniz?", "default": "Bu sabah ne izlemek istersiniz?",
"extra": [ "extra": ["Before Sunrise'a iyi diyorlar"]
"Before Sunrise'a iyi diyorlar"
]
}, },
"night": { "night": {
"default": "Bu akşam ne izlemek istersiniz?", "default": "Bu akşam ne izlemek istersiniz?",
"extra": [ "extra": ["Yoruldun mu? The Exorcist'e iyi diyorlar."]
"Yoruldun mu? The Exorcist'e iyi diyorlar."
]
} }
} }
}, },
@@ -179,7 +179,6 @@
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. movie-web'in sağlanan indirme bağlantıları üzerinde hiçbir konrolü yoktur.", "disclaimer": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. movie-web'in sağlanan indirme bağlantıları üzerinde hiçbir konrolü yoktur.",
"downloadPlaylist": "Oynatma listesini indir",
"downloadSubtitle": "Geçerli altyazıyı indir", "downloadSubtitle": "Geçerli altyazıyı indir",
"downloadVideo": "Videoyu indir", "downloadVideo": "Videoyu indir",
"hlsDisclaimer": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. movie-web'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": "İndirme bağlantıları doğrudan sağlayıcının kendisinden alınır. movie-web'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.",
@@ -206,7 +205,8 @@
"episodeBadge": "B{{episode}}", "episodeBadge": "B{{episode}}",
"loadingError": "Sezon yüklenirken hata oluştu", "loadingError": "Sezon yüklenirken hata oluştu",
"loadingList": "Yükleniyor...", "loadingList": "Yükleniyor...",
"loadingTitle": "Yükleniyor..." "loadingTitle": "Yükleniyor...",
"unairedEpisodes": "Bu sezondaki bir veya daha fazla bölüm henüz yayınlanmadığı için devre dışı bırakılmıştır."
}, },
"playback": { "playback": {
"speedLabel": "Oynatma hızı", "speedLabel": "Oynatma hızı",
@@ -246,7 +246,7 @@
}, },
"subtitles": { "subtitles": {
"customChoice": "Altyazı dosyası yükle", "customChoice": "Altyazı dosyası yükle",
"customizeLabel": "Kişiselleştir", "customizeLabel": "Seçenekler",
"offChoice": "Kapat", "offChoice": "Kapat",
"settings": { "settings": {
"backlink": "Kişisel altyazılar", "backlink": "Kişisel altyazılar",
@@ -258,6 +258,10 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "API üstverisi yüklenemedi, lütfen internet bağlantınızı kontrol edin.",
"title": "API üstverisi yüklenemedi"
},
"failed": { "failed": {
"badge": "Başarısız oldu", "badge": "Başarısız oldu",
"homeButton": "Ana sayfaya dön", "homeButton": "Ana sayfaya dön",
@@ -296,7 +300,7 @@
}, },
"notFound": { "notFound": {
"badge": "Bulunamadı", "badge": "Bulunamadı",
"detailsButton": "Detayları göster", "detailsButton": "Ayrıntıları göster",
"homeButton": "Ana sayfaya git", "homeButton": "Ana sayfaya git",
"text": "Sağlayıcılarımız arasında arama yaptık ve aradığınız medyayı bulamadık! Medyaları barındırmıyoruz ve mevcut olanlar üzerinde hiçbir kontrolümüz yok. Daha fazla ayrıntı için lütfen aşağıdaki 'Ayrıntıları göster' seçeneğine tıklayın.", "text": "Sağlayıcılarımız arasında arama yaptık ve aradığınız medyayı bulamadık! Medyaları barındırmıyoruz ve mevcut olanlar üzerinde hiçbir kontrolümüz yok. Daha fazla ayrıntı için lütfen aşağıdaki 'Ayrıntıları göster' seçeneğine tıklayın.",
"title": "Bunu bulamadık" "title": "Bunu bulamadık"
@@ -307,6 +311,12 @@
"remaining": "{{timeLeft}} kaldı • {{timeFinished, datetime}}'de bitiyor", "remaining": "{{timeLeft}} kaldı • {{timeFinished, datetime}}'de bitiyor",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Lütfen sağ taraftaki Captcha'yı çözerek insan olduğunuzu doğrulayın. Bu, movie-web'i güvende tutmak içindir!",
"error": "İnsan olduğunuz doğrulanamadı. Lütfen tekrar deneyin.",
"title": "İnsan olduğunuzu doğrulamamız gerekiyor.",
"verifyingHumanity": "İnsan olduğunuz doğrulanıyor..."
} }
}, },
"screens": { "screens": {
@@ -379,25 +389,20 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Verilerinizi depolamak için özel bir arkayüze bağlanmak istiyorsanız, bunu etkinleştirin ve URL'yi sağlayın.", "description": "Verilerinizi depolamak için özel bir arkayüze bağlanmak istiyorsanız, bunu etkinleştirin ve URL'yi sağlayın. <0>Yönergeler.</0>",
"label": "Özel sunucu", "label": "Özel sunucu",
"urlLabel": "Özel sunucu URL'si" "urlLabel": "Özel sunucu URL'si"
}, },
"title": "Bağlantılar", "title": "Bağlantılar",
"workers": { "workers": {
"addButton": "Yeni işleyici ekle", "addButton": "Yeni işleyici ekle",
"description": "Uygulamanın çalışması için tüm trafik vekil sunucular üzerinden yönlendirilir. Kendi işleyicilerinizi getirmek istiyorsanız bunu etkinleştirin.", "description": "Uygulamanın çalışması için tüm trafik vekil sunucular üzerinden yönlendirilir. Kendi işleyicilerinizi getirmek istiyorsanız bunu etkinleştirin.<0>Yönergeler.</0>",
"emptyState": "Henüz işleyici yok, aşağıya bir tane ekleyin", "emptyState": "Henüz işleyici yok, aşağıya bir tane ekleyin",
"label": "Özel vekil sunucu işleyici kullan", "label": "Özel vekil sunucu işleyici kullan",
"urlLabel": "İşleyici URL'leri", "urlLabel": "İşleyici URL'leri",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": {
"language": "Uygulama dili",
"languageDescription": "Uygulamanın tamamına uygulanan dil.",
"title": "Yerelleştirme"
},
"reset": "Sıfırla", "reset": "Sıfırla",
"save": "Kaydet", "save": "Kaydet",
"sidebar": { "sidebar": {
@@ -417,7 +422,7 @@
"subtitles": { "subtitles": {
"backgroundLabel": "Arka plan opaklığı", "backgroundLabel": "Arka plan opaklığı",
"colorLabel": "Renk", "colorLabel": "Renk",
"previewQuote": "Korkmamalıyım. Korku akıl katilidir.", "previewQuote": "Korkmamalıyım. Korku aklın katilidir.",
"textSizeLabel": "Yazı boyutu", "textSizeLabel": "Yazı boyutu",
"title": "Altyazılar" "title": "Altyazılar"
}, },

View File

@@ -57,6 +57,8 @@
}, },
"host": "Ви під’єднуєтеся до <0>{{hostname}}</0> підтвердьте, що довіряєте йому, перш ніж створювати обліковий запис", "host": "Ви під’єднуєтеся до <0>{{hostname}}</0> підтвердьте, що довіряєте йому, перш ніж створювати обліковий запис",
"no": "Повернутися назад", "no": "Повернутися назад",
"noHost": "Сервер не був налаштований, тому ви не можете створити обліковий запис",
"noHostTitle": "Сервер не налаштований!",
"title": "Чи довіряєте ви цьому серверу?", "title": "Чи довіряєте ви цьому серверу?",
"yes": "Я довіряю цьому серверу" "yes": "Я довіряю цьому серверу"
}, },
@@ -95,6 +97,7 @@
"about": "Про", "about": "Про",
"dmca": "DMCA", "dmca": "DMCA",
"login": "Логін", "login": "Логін",
"onboarding": "Встановлення",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "Зареєструватися", "register": "Зареєструватися",
"settings": "Налаштування" "settings": "Налаштування"
@@ -115,7 +118,15 @@
"failed": "Не вдалося знайти медіафайли, повторіть спробу!", "failed": "Не вдалося знайти медіафайли, повторіть спробу!",
"loading": "Завантаження...", "loading": "Завантаження...",
"noResults": "Ми не змогли знайти нічого!", "noResults": "Ми не змогли знайти нічого!",
"placeholder": "Що ви хочете подивитися?", "placeholder": {
"default": "Що ви хочете подивитися?",
"extra": [
"Що ви бажаєте дослідити?",
"Що у вашому списку спостереження?",
"Який ваш улюблений фільм?",
"Який ваш улюблений серіал?"
]
},
"sectionTitle": "Результати пошуку" "sectionTitle": "Результати пошуку"
}, },
"titles": { "titles": {
@@ -165,6 +176,69 @@
"message": "Ми шукали всюди: під смітниками, у шафі, за проксі-сервером, але зрештою не змогли знайти сторінку, яку ви шукали.", "message": "Ми шукали всюди: під смітниками, у шафі, за проксі-сервером, але зрештою не змогли знайти сторінку, яку ви шукали.",
"title": "Не вдалося знайти цю сторінку" "title": "Не вдалося знайти цю сторінку"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Скасувати",
"confirm": "Використовувати налаштування за умовчанням",
"description": "Налаштування за замовчуванням не мають найкращих потоків і можуть бути нестерпно повільними.",
"title": "Ви впевнені?"
},
"extension": {
"back": "Повернутись назад",
"explainer": "Використовуючи розширення для браузера, ви можете отримати найякісніші трансляції, які ми можемо запропонувати. Просто встановивши його.",
"explainerIos": "На жаль, розширення браузера не підтримується на iOS, натисніть <bold>Повернутися</bold>, щоб вибрати інший варіант.",
"extensionHelp": "Якщо ви встановили розширення, але воно не виявлено, <bold>відкрийте розширення в меню розширень вашого браузеру</bold> і дотримуйтеся вказівок на екрані.",
"linkChrome": "Встанови Chrome розширення",
"linkFirefox": "Встанови Firefox розширення",
"notDetecting": "Встановили в Chrome, але сайт його не виявляє? Спробуйте перезавантажити сторінку!",
"notDetectingAction": "Оновити сторінку",
"status": {
"disallowed": "Розширення не ввімкнено для цієї сторінки",
"disallowedAction": "Активувати розширення",
"failed": "Не вдалося отримати статус",
"loading": "Очікуємо, поки ви встановите розширення",
"outdated": "Версія розширення застаріла",
"success": "Розширення працює як очікувалося!"
},
"submit": "Продовжити",
"title": "Почати використовувати розширення"
},
"proxy": {
"back": "Повернутись назад",
"explainer": "З використанням проксі ви можете отримати високоякісні потоки, створивши самостійний проксі-сервіс.",
"input": {
"errorConnection": "Не вдалося підключитися до проксі",
"errorInvalidUrl": "Не валідний URL",
"errorNotProxy": "Очікувався проксі, але отримано вебсайт",
"label": "URL проксі",
"placeholder": "https://"
},
"link": "Дізнайтесь як створити проксі",
"submit": "Надати проксі",
"title": "Давайте створимо новий проксі"
},
"start": {
"explainer": "Щоб отримати найкращу трансляцію, вам потрібно буде вибрати, який метод стрімінгу ви хочете використовувати.",
"options": {
"default": {
"text": "Мені не потрібна хороша якість потоків,<0 /> <1>використовувати налаштування за замовчуванням</1>"
},
"extension": {
"action": "Встановити розширення",
"description": "Встановіть розширення для браузера та отримайте доступ до найкращих джерел.",
"quality": "Найкраща якість",
"title": "Розширення браузера"
},
"proxy": {
"action": "Налаштування проксі",
"description": "Налаштуйте проксі всього за 5 хвилин і отримайте доступ до чудових джерел.",
"quality": "Гарна якість",
"title": "Користувацький проксі"
}
},
"title": "Давайте налаштуємо вам movie-web"
}
},
"overlays": { "overlays": {
"close": "Закрити" "close": "Закрити"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "Копіювати посилання на плейлист HLS",
"disclaimer": "Завантаження беруться безпосередньо від провайдера. У movie-web немає контролю над тим, як надаються завантаження.", "disclaimer": "Завантаження беруться безпосередньо від провайдера. У movie-web немає контролю над тим, як надаються завантаження.",
"downloadPlaylist": "Завантажити плейлист",
"downloadSubtitle": "Завантажити поточні субтитри", "downloadSubtitle": "Завантажити поточні субтитри",
"downloadVideo": "Завантажити відео", "downloadVideo": "Завантажити відео",
"hlsDisclaimer": "Завантаження виконуються безпосередньо від постачальника. У movie-web немає контролю над тим, як надаються завантаження. Будь ласка, зверніть увагу, що ви завантажуєте список відтворення HLS, він призначений для користувачів, знайомих із розширеним потоковим мультимедійним вмістом.", "hlsDisclaimer": "Завантаження виконуються безпосередньо від постачальника. У movie-web немає контролю над тим, як надаються завантаження.<br /><br />Зверніть увагу, що ви завантажуєте список відтворення HLS, <bold>його не рекомендується завантажувати, якщо ви не знайомі з розширеними форматами потокового передавання</bold>. Спробуйте різні джерела для інших форматів.",
"onAndroid": { "onAndroid": {
"1": "Щоб завантажити на Android, натисніть кнопку завантаження, потім на новій сторінці <bold>торкніться й утримуйте</bold> відео, а потім виберіть <bold>зберегти</bold>.", "1": "Щоб завантажити на Android, натисніть кнопку завантаження, потім на новій сторінці <bold>торкніться й утримуйте</bold> відео, а потім виберіть <bold>зберегти</bold>.",
"shortTitle": "Завантажити / Android", "shortTitle": "Завантажити / Android",
@@ -206,7 +280,8 @@
"episodeBadge": "Е{{episode}}", "episodeBadge": "Е{{episode}}",
"loadingError": "Помилка завантаження сезону", "loadingError": "Помилка завантаження сезону",
"loadingList": "Завантаження...", "loadingList": "Завантаження...",
"loadingTitle": "Завантаження..." "loadingTitle": "Завантаження...",
"unairedEpisodes": "Один або кілька епізодів у цьому сезоні недоступні, оскільки вони ще не вийшли в ефір."
}, },
"playback": { "playback": {
"speedLabel": "Швидкість відтворення", "speedLabel": "Швидкість відтворення",
@@ -258,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "Не вдалося завантажити метадані API, перевірте підключення до Інтернету.",
"title": "Не вдалося завантажити метадані API"
},
"dmca": {
"badge": "Видалено",
"text": "Це медіа більше не доступне через повідомлення про видалення або позов про порушення авторських прав.",
"title": "Медіа було видалено"
},
"extensionPermission": {
"badge": "Дозвіл Відсутній",
"button": "Використовувати розширення",
"text": "У вас вже є розширення для браузера, але нам потрібен ваш дозвіл, щоб почати використовувати його.",
"title": "Налаштуйте продовження"
},
"failed": { "failed": {
"badge": "Не вдалося", "badge": "Не вдалося",
"homeButton": "Повернутися на головну", "homeButton": "Повернутися на головну",
@@ -307,11 +397,17 @@
"remaining": "{{timeLeft}} залишилось • Закінчити в {{timeFinished, datetime}}", "remaining": "{{timeLeft}} залишилось • Закінчити в {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Будь ласка, переконайтеся, що ви людина, заповнивши капчу праворуч. Це робиться для безпеки movie-web!",
"error": "Не вдалося підтвердити вашу людяність. Будь ласка, спробуйте ще раз.",
"title": "Ми повинні переконатися, що ви людина.",
"verifyingHumanity": "Перевіряємо вашу людяність..."
} }
}, },
"screens": { "screens": {
"dmca": { "dmca": {
"text": "Ласкаво просимо на контактну сторінку DMCA від movie-web! Ми поважаємо права інтелектуальної власності і прагнемо швидко вирішувати будь-які проблеми, пов'язані з авторськими правами. Якщо ви вважаєте, що ваша робота, захищена авторським правом, була неналежним чином використана на нашій платформі, будь ласка, надішліть детальне повідомлення DMCA на електронну адресу нижче. Будь ласка, додайте опис матеріалу, захищеного авторським правом, ваші контактні дані та заяву з обґрунтуванням ваших сумлінних переконань. Ми прагнемо оперативно вирішити ці питання і будемо вдячні за вашу співпрацю у збереженні movie-web місцем, де поважають творчість і авторські права.", "text": "Вітаємо на нашій сторінці зв'язку DMCA! Ми поважаємо права інтелектуальної власності і хочемо вирішити будь-які проблеми з авторськими правами швидко. Якщо ви вважаєте, що ваші авторські права були неправильно використані на нашій платформі, будь ласка, надішліть детальне повідомлення DMCA на електронну адресу нижче. Будь ласка, вкажіть опис авторського матеріалу, ваші контактні дані та заяву про добросовісну віру. Ми зобов'язані вирішити ці питання оперативно і вдячні за вашу співпрацю в збереженні movie-web місцем, яке поважає творчість та авторські права.",
"title": "DMCA" "title": "DMCA"
}, },
"loadingApp": "Завантаження застосунку", "loadingApp": "Завантаження застосунку",
@@ -323,7 +419,7 @@
"textWithReset": "Сталася помилка при завантаженні вашого профілю з вашого сервера, чи бажаєте повернутись на стандартний сервер?" "textWithReset": "Сталася помилка при завантаженні вашого профілю з вашого сервера, чи бажаєте повернутись на стандартний сервер?"
}, },
"migration": { "migration": {
"failed": "Сталася помилка під час міграції даних", "failed": "Сталася помилка під час міграції даних.",
"inProgress": "Будь ласка, зачекайте, відбувається міграція ваших даних. Це не повинно зайняти багато часу." "inProgress": "Будь ласка, зачекайте, відбувається міграція ваших даних. Це не повинно зайняти багато часу."
} }
}, },
@@ -370,7 +466,7 @@
"activeTheme": "Активна тема", "activeTheme": "Активна тема",
"themes": { "themes": {
"blue": "Блакитний", "blue": "Блакитний",
"default": "Основний", "default": "За замовчуванням",
"gray": "Сірий", "gray": "Сірий",
"red": "Червоний", "red": "Червоний",
"teal": "Бірюзовий" "teal": "Бірюзовий"
@@ -379,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "Якщо ви хочете підключитися до кастомного серверу для зберігання ваших даних, увімкніть це та надайте URL.", "description": "Якщо ви бажаєте підключитися до користувацького сервера для зберігання даних, увімкніть це та вкажіть URL-адресу. <0>Інструкції.</0>",
"label": "Власний сервер", "label": "Власний сервер",
"urlLabel": "URL сервера" "urlLabel": "URL сервера"
}, },
"setup": {
"doSetup": "Виконайте налаштування",
"errorStatus": {
"description": "Здається, що один або декілька пунктів у цьому налаштуванні потребують вашої уваги.",
"title": "Дещо потребує вашої уваги"
},
"itemError": "Щось не так із цією настройкою. Пройдіть налаштування ще раз, щоб виправити це.",
"items": {
"default": "Налаштування за замовчанням",
"extension": "Розширення",
"proxy": "Користувацький проксі"
},
"redoSetup": "Повторити налаштування",
"successStatus": {
"description": "Усе готово для того, щоб ви могли почати дивитися улюблені медіа.",
"title": "Все готово!"
},
"unsetStatus": {
"description": "Будь ласка, натисніть кнопку праворуч, щоб розпочати процес налаштування.",
"title": "Ви не завершили налаштування"
}
},
"title": "З'єднання", "title": "З'єднання",
"workers": { "workers": {
"addButton": "Додати нового працівника", "addButton": "Додати нового працівника",
"description": "Щоб додаток працював, весь трафік маршрутизується через проксі-сервери. Увімкніть це, якщо ви хочете використовувати власні працівникию", "description": "Щоб додаток працював, весь трафік маршрутизується через проксі-сервери. Увімкніть це, якщо ви хочете використовувати власні проксі воркери. <0>Інструкція.</0>",
"emptyState": "Немає працівників", "emptyState": "Немає працівників",
"label": "Використовувати власних проксі-працівників", "label": "Використовувати власних проксі-працівників",
"urlLabel": "URL-у працівника", "urlLabel": "URL-у працівника",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "Мова застосунку", "language": "Мова додатку",
"languageDescription": "Виберіть мову, яку ви хочете використовувати.", "languageDescription": "Мова застосована до всього додатку.",
"title": "Налаштування локації" "thumbnail": "Створити мініатюри",
"thumbnailDescription": "Часто відео не мають мініатюр. Ви можете активувати цей параметр для їх генерації під час відтворення, але це може уповільнити відтворення відео.",
"thumbnailLabel": "Сгенерувати мініатюри",
"title": "Параметри"
}, },
"reset": "Скинути налаштування", "reset": "Скинути налаштування",
"save": "Зберегти", "save": "Зберегти",
@@ -415,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "Розмиття фону",
"backgroundLabel": "Прозорість фону", "backgroundLabel": "Прозорість фону",
"colorLabel": "Колір", "colorLabel": "Колір",
"previewQuote": "Я не повинен боятися. Страх вбиває розум.", "previewQuote": "Я не повинен боятися. Страх вбиває розум.",

View File

@@ -1,6 +1,105 @@
{ {
"about": {
"description": "movie-web là một ứng dụng web tìm kiếm các nguồn truyền phát trực tuyến trên Internet. Nhóm phát triển ứng dụng này nhắm đến một cách dễ dàng hơn trong việc tiêu thụ nội dung.",
"faqTitle": "Các câu hỏi thường gặp",
"q1": {
"body": "movie-web không lưu trữ bất kì nội dung nào. Khi bạn chọn xem một nội dung nào đó, ứng dụng sẽ tìm kiếm nội dung đó trên Internet (Khi nội dung tải và trong tab 'nguồn video' bạn sẽ tìm thấy nguồn đang được dùng). Nội dung không bao giờ được tải lên trên movie-web, mọi thứ đều được tìm kiếm thông qua phương thức này.",
"title": "Nội dung đến từ đâu?"
},
"q2": {
"body": "Việc yêu cầu thêm một chương trình truyền hình hoặc phim là điều bất khả thi bởi vì movie-web không quản lý bất kỳ nội dung nào. Tất cả nội dung được truyền thông qua những nguồn trên internet.",
"title": "Tôi có thể yêu cầu thêm một chương trình truyền hình hoặc phim ở đâu?"
},
"q3": {
"body": "Các kết quả tìm kiếm được cung cấp bởi The Movie Database (TMDB) và hiện lên bất kể các nguồn của trang thực sự có lưu trữ nội dung đó hay không.",
"title": "Tại sao kết quả tìm kiếm hiển thị chương trình truyền hình hoặc phim nhưng tôi không thể xem nó?"
},
"title": "Về movie-web"
},
"actions": {
"copied": "Đã sao chép",
"copy": "Sao chép"
},
"auth": {
"createAccount": "Chưa có tài khoản? <0>Hãy tạo tài khoản.</0>",
"deviceNameLabel": "Tên thiết bị",
"deviceNamePlaceholder": "Điện thoại cá nhân",
"generate": {
"description": "Mật ngữ của bạn đóng vai trò là tên người dùng và mật khẩu của bạn. Hãy giữ nó an toàn vì bạn sẽ cần nhập nó để đăng nhập vào tài khoản của bạn",
"next": "Tôi đã lưu giữ mật ngữ của mình",
"passphraseFrameLabel": "Mật ngữ",
"title": "Mật ngữ của bạn"
},
"hasAccount": "Đã có tài khoản? <0>Hãy đăng nhập.</0>",
"login": {
"description": "Hãy nhập mật ngữ của bạn để đăng nhập vào tài khoản",
"deviceLengthError": "Hãy nhập tên thiết bị",
"passphraseLabel": "Mật ngữ gồm 12 từ",
"passphrasePlaceholder": "Mật ngữ",
"submit": "Đăng nhập",
"title": "Đăng nhập vào tài khoản của bạn",
"validationError": "Mật ngữ không chính xác hoặc không đầy đủ"
},
"register": {
"information": {
"color1": "Màu hồ sơ số một",
"color2": "Màu hồ sơ số hai",
"header": "Hãy nhập tên cho thiết bị của bạn và chọn màu sắc và biểu tượng người dùng",
"icon": "Biểu tượng người dùng",
"next": "Tiếp theo",
"title": "Thông tin tài khoản"
}
},
"trust": {
"failed": {
"text": "Bạn đã cài đặt nó một cách chính xác chưa?",
"title": "Không thể truy vấn máy chủ"
},
"host": "Bạn đang kết nối đến máy chủ <0>{{hostname}}</0> - vui lòng chắc chắn rằng bạn tin tưởng máy chủ này trước khi tạo tài khoản",
"no": "Quay lại",
"title": "Bạn có tin tưởng máy chủ này không?",
"yes": "Tôi tin tưởng máy chủ này"
},
"verify": {
"description": "Vui lòng nhập mật ngữ của bạn lúc nãy đễ chắc chắn rằng bạn đã lưu nó và để tạo tài khoản",
"invalidData": "Dữ liệu không hợp lệ",
"noMatch": "Mật ngữ không khớp",
"passphraseLabel": "Mật ngữ 12 ký tự của bạn",
"recaptchaFailed": "Xác minh bằng ReCaptcha không hợp lệ",
"register": "Tạo tài khoản",
"title": "Nhập lại mật ngữ của bạn"
}
},
"errors": {
"badge": "Lỗi",
"details": "Thông tin về lỗi",
"reloadPage": "Tải lại trang",
"showError": "Hiển thị thông tin về lỗi",
"title": "Đã xảy ra lỗi!"
},
"footer": {
"legal": {
"disclaimer": "Tuyên bố miễn trừ trách nhiệm",
"disclaimerText": "movie-web không lưu trữ bất kì file nào, nó chỉ đến những đường dẫn của các dịch vụ bên thứ ba. Bất kỳ vấn đề nào về pháp lý nên được đưa đến chủ sỡ hữu của file hoặc những nhà cung cấp đó. movie-web hoàn toàn không chịu trách nhiệm cho bất kỳ nội dung nào được chiếu từ các nhà cung cấp."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Xem các chương trình và phim yêu thích của bạn với ứng dụng phát trực tuyến nguồn mở này."
},
"global": { "global": {
"name": "movie-web" "name": "movie-web",
"pages": {
"about": "Thông tin",
"dmca": "DMCA",
"login": "Đăng nhập",
"onboarding": "Cài đặt",
"pagetitle": "{{title}} - movie-web",
"register": "Đăng ký",
"settings": "Cài đặt"
}
}, },
"home": { "home": {
"bookmarks": { "bookmarks": {
@@ -9,13 +108,39 @@
"continueWatching": { "continueWatching": {
"sectionTitle": "Tiếp tục xem" "sectionTitle": "Tiếp tục xem"
}, },
"mediaList": {
"stopEditing": "Hoàn thành"
},
"search": { "search": {
"allResults": "Đó là tất cả chúng tôi có!", "allResults": "Đó là tất cả chúng tôi có!",
"failed": "Không thể tìm thấy nội dung, hãy thử lại!", "failed": "Không thể tìm thấy nội dung, hãy thử lại!",
"loading": "Đang tải...", "loading": "Đang tải...",
"noResults": "Chúng tôi không thể tìm thấy gì!", "noResults": "Chúng tôi không thể tìm thấy gì!",
"placeholder": "Bạn muốn xem gì?", "placeholder": {
"default": "Bạn muốn xem gì?",
"extra": []
},
"sectionTitle": "Kết quả tìm kiếm" "sectionTitle": "Kết quả tìm kiếm"
},
"titles": {
"day": {
"default": "Chiều nay bạn muốn coi gì?",
"extra": [
"Cảm thấy muốn phiêu lưu? Phim Công viên kỷ Jura có thể là sự lựa chọn hoàn hảo cho bạn."
]
},
"morning": {
"default": "Sáng nay bạn muốn coi gì?",
"extra": [
"Tôi nghe nói rằng bộ phim Before Sunrise hay đấy"
]
},
"night": {
"default": "Đêm nay bạn muốn coi gì?",
"extra": [
"Cảm thấy mệt? Tôi nghe nói phim The Exorcist hay đấy."
]
}
} }
}, },
"media": { "media": {
@@ -28,6 +153,14 @@
"navigation": { "navigation": {
"banner": { "banner": {
"offline": "Hãy kiểm tra kết nối Internet của bạn" "offline": "Hãy kiểm tra kết nối Internet của bạn"
},
"menu": {
"about": "Về chúng tôi",
"donation": "Ủng hộ",
"logout": "Đăng xuất",
"register": "Đồng bộ hóa với đám mây",
"settings": "Cài đặt",
"support": "Hỗ trợ"
} }
}, },
"notFound": { "notFound": {
@@ -36,6 +169,18 @@
"message": "Chúng tôi đã tìm kiếm khắp nơi: dưới thùng rác, trong tủ quần áo, đằng sau máy chủ proxy nhưng vẫn không thể tìm thấy trang bạn đang tìm kiếm.", "message": "Chúng tôi đã tìm kiếm khắp nơi: dưới thùng rác, trong tủ quần áo, đằng sau máy chủ proxy nhưng vẫn không thể tìm thấy trang bạn đang tìm kiếm.",
"title": "Không thể tìm thấy trang" "title": "Không thể tìm thấy trang"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "Huỷ",
"confirm": "Chọn cài đặt mặc định",
"description": "Cài đặt mặc định có thể dẫn đến việc phát video chậm.",
"title": "Bạn có chắc không?"
},
"extension": {
"back": "Trở lại",
"explainer": "Bạn có thể sử dụng các nguồn tốt nhất mà chúng tôi cung cấp bằng cách sử dụng tiện ích mở rộng trình duyệt. Đơn giản chỉ cần cài đặt."
}
},
"player": { "player": {
"back": { "back": {
"default": "Quay lại trang chính", "default": "Quay lại trang chính",

View File

@@ -5,17 +5,99 @@
"q1": { "q1": {
"body": "movie-web 不託管任何內容。您點選觀看內容時,系統均從互聯網搜尋(在加載提示頁和“視頻源”選項卡中,您可以看到正在使用的源)。媒體從未在 movie-web 中上傳,所有內容均通過搜索機制而得。", "body": "movie-web 不託管任何內容。您點選觀看內容時,系統均從互聯網搜尋(在加載提示頁和“視頻源”選項卡中,您可以看到正在使用的源)。媒體從未在 movie-web 中上傳,所有內容均通過搜索機制而得。",
"title": "內容來自哪裡?" "title": "內容來自哪裡?"
} },
"q2": {
"body": "無法主動要求影視劇或其他節目movie-web 不管理任何內容。所有內容均從網路影片來源取得並供您觀看。",
"title": "我可以從哪裡請求觀看影視劇或其他節目?"
},
"q3": {
"body": "我們的搜尋結果由電影資料庫TMDB驅動無論視訊來源是否有對應內容都會顯示結果。",
"title": "搜尋結果中已顯示了影視劇或其他節目,為何我無法播放?"
},
"title": "關於 movie-web"
},
"actions": {
"copied": "已複製",
"copy": "複製"
}, },
"auth": { "auth": {
"createAccount": "還沒有帳戶? <0>建立一個</0>",
"deviceNameLabel": "設備名稱",
"deviceNamePlaceholder": "我的手機",
"generate": {
"description": "您的密碼短語相當於使用者名稱與密碼。由於您需要輸入它來登入帳戶,請確保將其存放到安全位置",
"next": "我已儲存密碼短語",
"passphraseFrameLabel": "密碼短語",
"title": "您的密碼短語"
},
"hasAccount": "已經擁有帳戶? <0>點此登入。 </0>",
"login": { "login": {
"submit": "登入" "description": "請輸入密碼短語以登入您的帳戶",
"deviceLengthError": "請輸入設備名稱",
"passphraseLabel": "12 字密碼短語",
"passphrasePlaceholder": "密碼短語",
"submit": "登入",
"title": "登入您的帳戶",
"validationError": "密碼短語不正確或不完整"
},
"register": {
"information": {
"color1": "頭像配色一",
"color2": "輪廓顏色二",
"header": "為您的裝置輸入名稱,並選取一組代表色和一個使用者圖示",
"icon": "使用者圖示",
"next": "下一步",
"title": "帳號資訊"
} }
}, },
"trust": {
"failed": {
"text": "您的配置是否正確?",
"title": "無法連接伺服器"
},
"host": "您正在連線到 <0>{{hostname}}</0> - 在建立帳戶之前,請確保您信任它",
"no": "返回",
"title": "您是否信任這個伺服器?",
"yes": "我信任這個伺服器"
},
"verify": {
"description": "請輸入早前的密碼短語,以確認您已經保存它,並建立您的帳戶",
"invalidData": "資料無效",
"noMatch": "密碼短語不匹配",
"passphraseLabel": "您的 12 字密碼短語",
"recaptchaFailed": "ReCaptcha 驗證失敗",
"register": "創建帳戶",
"title": "確認您的密碼短語"
}
},
"errors": {
"badge": "它已損壞",
"details": "錯誤詳情",
"reloadPage": "重新加載頁面",
"showError": "顯示錯誤詳情",
"title": "我們遇到了一個錯誤!"
},
"footer": {
"legal": {
"disclaimer": "免責聲明",
"disclaimerText": "movie-web 不託管任何文件,僅連結至第三方服務。法律問題應由文件託管者和內容提供者解決。 movie-web 對影片提供者顯示的任何媒體檔案不承擔任何責任。"
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "使用這個開源流媒體應用程序觀看您最喜歡的節目和電影。"
},
"global": { "global": {
"name": "movie-web",
"pages": { "pages": {
"about": "關於", "about": "關於",
"dmca": "DMCA",
"login": "登入", "login": "登入",
"onboarding": "設定",
"pagetitle": "{{title}} - movie-web",
"register": "註冊",
"settings": "設定" "settings": "設定"
} }
}, },
@@ -23,80 +105,429 @@
"bookmarks": { "bookmarks": {
"sectionTitle": "書籤" "sectionTitle": "書籤"
}, },
"continueWatching": {
"sectionTitle": "繼續觀看"
},
"mediaList": {
"stopEditing": "停止編輯"
},
"search": { "search": {
"loading": "載入中..." "allResults": "以上是我們能找到的所有結果!",
"failed": "未能找到媒體,請重試!",
"loading": "載入中...",
"noResults": "我们找不到任何结果!",
"placeholder": {
"default": "您想看什麼?",
"extra": []
},
"sectionTitle": "搜索結果"
},
"titles": {
"day": {
"default": "您今天下午想看什麼?",
"extra": ["想要來場冒險嗎?《侏羅紀公園》可能是完美選擇。"]
},
"morning": {
"default": "您今天早上想看什麼?",
"extra": ["我聽說《情留半天》不錯"]
},
"night": {
"default": "您今晚想看什麼?",
"extra": ["疲倦了嗎?我聽說《驅魔人》不錯。"]
}
} }
}, },
"media": { "media": {
"episodeDisplay": "S{{season}} E{{episode}}",
"types": { "types": {
"movie": "電影", "movie": "電影",
"show": "節目" "show": "節目"
} }
}, },
"navigation": { "navigation": {
"banner": {
"offline": "請檢查您的網絡連接"
},
"menu": { "menu": {
"about": "關於我們",
"donation": "捐", "donation": "捐",
"logout": "登出",
"register": "同步到雲端",
"settings": "設定", "settings": "設定",
"support": "支援" "support": "支援"
} }
}, },
"notFound": {
"badge": "未找到",
"goHome": "返回首頁",
"message": "我們到處尋找:在垃圾桶下面,在壁櫥裡,在代理伺服器後面,但最終找不到您要找的頁面。",
"title": "找不到該頁面"
},
"onboarding": {
"defaultConfirm": {
"cancel": "取消",
"confirm": "使用預設設置",
"description": "默認設置沒有最好的直播,並且可能慢得令人難以忍受。",
"title": "您確定嗎?"
},
"extension": {
"back": "返回",
"explainer": "使用瀏覽器擴展程式,您可以獲得我們提供的最佳直播。只需簡單的安裝。",
"explainerIos": "不幸的是iOS 不支援瀏覽器擴展程式,按 <bold>返回 </bold>選擇其他選項。",
"extensionHelp": "如果您已安裝該擴展程式,但未檢測到該擴展程式, <bold>請通過瀏覽器的擴展程式功能表打開該擴展 程式 </bold>,然後按照螢幕上的步驟操作。",
"linkChrome": "安裝 Chrome 擴展程式",
"linkFirefox": "安裝 Firefox 擴展程式",
"notDetecting": "安裝在 Chrome 上,但網站沒有檢測到它?嘗試重新載入頁面!",
"notDetectingAction": "重新加載頁面",
"status": {
"disallowed": "未為此頁面啟用擴展程式",
"disallowedAction": "啟用擴展程式",
"failed": "無法請求狀態",
"loading": "等待您安裝擴展程式",
"outdated": "擴展程式版本太舊",
"success": "擴展程式正在按預期工作!"
},
"submit": "繼續",
"title": "讓我們從擴展程式開始"
},
"proxy": {
"back": "返回",
"explainer": "使用代理伺服器,您可以通過製作自定代理伺服器來獲得高品質的直播。",
"input": {
"errorConnection": "無法連接到代理伺服器",
"errorInvalidUrl": "URL 無效",
"errorNotProxy": "期待一個代理伺服器,但得到了一個網站",
"label": "代理伺服器 URL",
"placeholder": "https://"
},
"link": "瞭解如何製作代理伺服器",
"submit": "提交代理伺服器",
"title": "讓我們創建一個新的代理伺服器"
},
"start": {
"explainer": "為了獲得最好的流媒體,您需要選擇您想使用的流媒體方法。",
"options": {
"default": {
"text": "我不想要高品質的流,<0 /> <1> 使用預設設置</1>"
},
"extension": {
"action": "安裝擴展程式",
"description": "安裝瀏覽器擴展程式並訪問最佳資源。",
"quality": "最好的品質",
"title": "瀏覽器擴展程式"
},
"proxy": {
"action": "設置代理伺服器",
"description": "只需 5 分鐘即可設置代理伺服器並訪問優質資源。",
"quality": "好品質",
"title": "自訂代理伺服器"
}
},
"title": "讓我們為您設定 movie-web"
}
},
"overlays": { "overlays": {
"close": "關閉" "close": "關閉"
}, },
"player": { "player": {
"back": { "back": {
"default": "返回首頁",
"short": "後退" "short": "後退"
}, },
"casting": {
"enabled": "正在投放到設備…"
},
"menus": { "menus": {
"downloads": { "downloads": {
"disclaimer": "下載直接從供應商處獲取。movie-web 無法控制下載的提供方式。",
"downloadSubtitle": "下載當前字幕",
"downloadVideo": "下載視頻",
"hlsDisclaimer": "下載直接從供應商處獲取。movie-web 無法控制下載的提供方式。<br /><br /> 請注意,您正在下載 HLS 播放清單, <bold>如果您不熟悉高級流媒體格式,則不建議下載 </bold> 。嘗試使用不同格式的不同來源。",
"onAndroid": {
"1": "要在 Android 上下載,請按下下載按鈕,然後在新頁面上<bold>點擊並按住 </bold>視頻,然後選擇 <bold>保存</bold>。",
"shortTitle": "下載 / Android",
"title": "在Android上下載"
},
"onIos": {
"1": "要在 iOS 上下載,請按下下載按鈕,然後在新頁面上,按下 <bold><ios_share /> </bold>然後<bold>保存到檔案 <ios_files /></bold> 。",
"shortTitle": "下載 / iOS",
"title": "正在 iOS 上下载"
},
"onPc": {
"1": "在PC上按下下載按鈕然後在新頁面上右鍵按下視頻並選擇 <bold>將視頻另存為</bold>",
"shortTitle": "下載 / PC",
"title": "正在PC 上下载"
},
"title": "下載" "title": "下載"
}, },
"episodes": { "episodes": {
"button": "分集",
"emptyState": "該季暫無分集,請稍後再來!",
"episodeBadge": "E{{episode}}",
"loadingError": "加載分集時出錯",
"loadingList": "載入中...", "loadingList": "載入中...",
"loadingTitle": "載入中..." "loadingTitle": "載入中...",
"unairedEpisodes": "本季中的一集或多集已因尚未播出而被禁用。"
},
"playback": {
"speedLabel": "播放速度",
"title": "播放設置"
},
"quality": {
"automaticLabel": "自動品質",
"hint": "您可以嘗試<0>切換源</0>以獲得不同的質量選項。",
"iosNoQuality": "由於 Apple 定義的限制,此來源的品質選擇在 iOS 上不可用。您可以嘗試<0>切換到另一個來源</0>以獲得不同的質量選項。",
"title": "品質"
}, },
"settings": { "settings": {
"downloadItem": "下載" "downloadItem": "下載",
"enableSubtitles": "啟用字幕",
"experienceSection": "觀看體驗",
"playbackItem": "播放設定",
"qualityItem": "品質",
"sourceItem": "影片來源",
"subtitleItem": "字幕設定",
"videoSection": "影片設定"
},
"sources": {
"failed": {
"text": "嘗試查找任何視頻時出錯,請嘗試其他來源。",
"title": "無法刮取"
},
"noEmbeds": {
"text": "我們無法找到任何嵌入内容,請嘗試其他來源。",
"title": "未找到嵌入内容"
},
"noStream": {
"text": "此來源沒有此電影或節目的串流。",
"title": "無視頻源"
},
"title": "來源",
"unknownOption": "未知"
}, },
"subtitles": { "subtitles": {
"title": "字幕" "customChoice": "從檔案中選擇字幕",
"customizeLabel": "自訂",
"offChoice": "關閉",
"settings": {
"backlink": "自訂字幕",
"delay": "字幕延遲",
"fixCapitals": "修復大小寫"
},
"title": "字幕",
"unknownLanguage": "未知"
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "無法載入 API 元數據,請檢查您的互聯網連接。",
"title": "載入 API 元數據失敗"
},
"dmca": {
"badge": "已移除",
"text": "由於收到刪除通知或版權聲明,此媒體不再可用。",
"title": "媒體已被移除"
},
"extensionPermission": {
"badge": "缺少權限",
"button": "使用擴展程式",
"text": "您已安裝瀏覽器擴展,但我們需要您的許可才能啟用它。",
"title": "配置擴展程式"
},
"failed": { "failed": {
"badge": "失敗" "badge": "失敗",
"homeButton": "返回首頁",
"text": "無法從 TMDB 載入媒體的元資料。請檢查 TMDB 是否斷線或在您的網路連線中被封鎖。",
"title": "載入元資料失敗"
},
"notFound": {
"badge": "未找到",
"homeButton": "返回首頁",
"text": "我們無法找到您請求的媒體。它可能已被刪除,或者您修改了 URL。",
"title": "無法找到媒體。"
} }
}, },
"nextEpisode": { "nextEpisode": {
"cancel": "取消" "cancel": "取消",
"next": "下一集"
},
"playbackError": {
"badge": "播放錯誤",
"errors": {
"errorAborted": "媒體的提取因使用者的請求而中止。",
"errorDecode": "儘管之前已確定可用,但在嘗試解碼媒體資源時發生錯誤,從而導致錯誤。",
"errorGenericMedia": "發生未知的媒體錯誤。",
"errorNetwork": "發生了某種網路錯誤,導致無法成功提取媒體,儘管以前可用。",
"errorNotSupported": "不支援媒體或媒體提供者物件。"
},
"homeButton": "返回首頁",
"text": "嘗試播放媒體時出錯。請再試一次。",
"title": "無法播放視頻!"
},
"scraping": {
"items": {
"failure": "發生錯誤",
"notFound": "沒有視頻",
"pending": "檢查影片..."
},
"notFound": {
"badge": "未找到",
"detailsButton": "顯示詳情",
"homeButton": "返回首頁",
"text": "我們已經搜索了我們的供應商,但找不到您正在尋找的媒體!我們不託管媒體,也無法控制可用的內容。請點擊下面的「顯示詳情」瞭解更多詳情。",
"title": "我們找不到"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "剩餘{{timeLeft}} • 在{{timeFinished, datetime}}完結",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "請通過右側的驗證碼來確認您是人類。這是為了保護 movie-web 的安全!",
"error": "無法驗證您的人類身份。請再試一次。",
"title": "我們需要驗證您是否為人類。",
"verifyingHumanity": "正在驗證您的人類身份..."
} }
}, },
"screens": { "screens": {
"dmca": {
"text": "歡迎來到movie-web的DMCA聯繫頁面我們尊重智慧財產權並希望迅速解決任何版權問題。如果您認為您的版權作品在我們的平臺上被不當使用請向以下電子郵件發送詳細的DMCA通知。請附上受版權保護材料的描述、您的聯繫方式以及善意信念的聲明。我們致力於迅速解決這些問題並感謝您的合作使電影網成為一個尊重創意和版權的地方。",
"title": "DMCA"
},
"loadingApp": "正在載入應用程式",
"loadingUser": "正在載入您的個人資料",
"loadingUserError": { "loadingUserError": {
"logout": "登出" "logout": "登出",
"reset": "重置您的自定義伺服器",
"text": "無法載入您的個人資料",
"textWithReset": "無法從您的自定義伺服器載入設定檔,您想要重置回預設伺服器?"
},
"migration": {
"failed": "資料遷移失敗。",
"inProgress": "請稍等,我們正在遷移您的數據。這不應該需要太久。"
} }
}, },
"settings": { "settings": {
"account": { "account": {
"accountDetails": {
"deviceNameLabel": "設備名稱",
"deviceNamePlaceholder": "個人電話",
"editProfile": "編輯",
"logoutButton": "登出"
},
"actions": {
"delete": {
"button": "刪除帳戶",
"confirmButton": "刪除帳戶",
"confirmDescription": "您確定要刪除您的帳戶嗎?所有數據都將丟失!",
"confirmTitle": "您確定嗎?",
"text": "此操作不可逆轉。所有數據將被刪除,且無法恢復。",
"title": "刪除帳戶"
},
"title": "操作"
},
"devices": {
"deviceNameLabel": "設備名稱",
"failed": "無法載入階段",
"removeDevice": "刪除",
"title": "設備"
},
"profile": {
"finish": "完成編輯",
"firstColor": "頭像配色一",
"secondColor": "頭像配色二",
"title": "編輯個人資料圖片",
"userIcon": "用戶圖示"
},
"register": {
"cta": "開始使用",
"text": "在設備之間共用並持續同步您的觀看進度。",
"title": "同步到雲端"
},
"title": "帳戶" "title": "帳戶"
}, },
"appearance": { "appearance": {
"activeTheme": "使用中",
"themes": { "themes": {
"blue": "藍色", "blue": "藍色",
"default": "預設",
"gray": "灰色", "gray": "灰色",
"red": "紅色", "red": "紅色",
"teal": "青色" "teal": "青色"
},
"title": "外觀"
},
"connections": {
"server": {
"description": "若您想連接到自定義後端保存數據,請啟用此選項並提供 URL。<0>查看指引</0>",
"label": "自訂伺服器",
"urlLabel": "自訂伺服器 URL"
},
"setup": {
"doSetup": "進行設置",
"errorStatus": {
"description": "此設置中的一項或多項似乎需要您注意。",
"title": "有些事情需要你注意"
},
"itemError": "此設置有問題。重新設置以修復它。",
"items": {
"default": "預設設置",
"extension": "擴展程式",
"proxy": "自訂代理伺服器"
},
"redoSetup": "重做設置",
"successStatus": {
"description": "一切都已準備就緒,您可以開始觀看自己喜歡的媒體。",
"title": "一切都設置好了!"
},
"unsetStatus": {
"description": "請按下右側的按鈕開始設置過程。",
"title": "您尚未完成設置"
} }
}, },
"title": "連接",
"workers": {
"addButton": "添加新的 Worker",
"description": "為了使應用程式正常運行,所有流量都通過代理伺服器。如果要自帶 Worker請啟用此功能。 <0>說明</0>",
"emptyState": "還沒有Worker在下面添加一個",
"label": "使用自訂代理伺服器 Workers",
"urlLabel": "Worker URLs",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "應用程式語言",
"languageDescription": "語言已應用於整個應用程式。",
"thumbnail": "生成縮圖",
"thumbnailDescription": "大多數時候,視頻沒有縮圖。您可以啟用此設置以即時生成它們,但它們會使您的視頻變慢。",
"thumbnailLabel": "生成縮圖",
"title": "偏好"
},
"reset": "重置",
"save": "保存",
"sidebar": { "sidebar": {
"info": { "info": {
"appVersion": "應用版本",
"backendUrl": "後端URL",
"backendVersion": "後端版本",
"hostname": "主機名",
"insecure": "不安全", "insecure": "不安全",
"secure": "安全" "notLoggedIn": "您尚未登錄",
"secure": "安全",
"title": "應用資訊",
"unknownVersion": "未知",
"userId": "使用者ID"
} }
}, },
"subtitles": { "subtitles": {
"backgroundLabel": "背景不透明度",
"colorLabel": "顏色", "colorLabel": "顏色",
"previewQuote": "我絕不能害怕。 恐懼會扼殺思維能力。",
"textSizeLabel": "字體大小",
"title": "字幕" "title": "字幕"
} },
"unsaved": "您有未儲存的變更"
} }
} }

View File

@@ -21,9 +21,9 @@
"copy": "复制" "copy": "复制"
}, },
"auth": { "auth": {
"createAccount": "还没有账户? <0>创建一个</0>", "createAccount": "还没有账户? <0>创建一个</0>",
"deviceNameLabel": "设备名称", "deviceNameLabel": "设备名称",
"deviceNamePlaceholder": "如:个人电话", "deviceNamePlaceholder": "如:我的手机",
"generate": { "generate": {
"description": "您的密码短语相当于用户名与密码。由于您需要输入它来登录账户,请确保将其存放到安全位置", "description": "您的密码短语相当于用户名与密码。由于您需要输入它来登录账户,请确保将其存放到安全位置",
"next": "我已保存密码短语", "next": "我已保存密码短语",
@@ -37,13 +37,13 @@
"passphraseLabel": "12 词密码短语", "passphraseLabel": "12 词密码短语",
"passphrasePlaceholder": "密码短语", "passphrasePlaceholder": "密码短语",
"submit": "登录", "submit": "登录",
"title": "登录您的账户", "title": "登录您的账户",
"validationError": "密码短语不正确或不完整" "validationError": "密码短语不正确或不完整"
}, },
"register": { "register": {
"information": { "information": {
"color1": "个人资料颜色 1", "color1": "头像配色一",
"color2": "个人资料颜色 2", "color2": "头像配色二",
"header": "为您的设备输入名称,并选取一组代表色和一个用户图标", "header": "为您的设备输入名称,并选取一组代表色和一个用户图标",
"icon": "用户图标", "icon": "用户图标",
"next": "下一步", "next": "下一步",
@@ -52,11 +52,13 @@
}, },
"trust": { "trust": {
"failed": { "failed": {
"text": "您是否正确配置了它", "text": "您的配置是否正确?",
"title": "服务器连通失败" "title": "服务器无法接通"
}, },
"host": "您正在连接到 <0>{{hostname}}</0> - 在创建账户前,确保您信任它", "host": "您正在连接到 <0>{{hostname}}</0> - 在创建账户前,确保您信任它",
"no": "返回", "no": "返回",
"noHost": "服务器尚未进行配置,因此您无法创建账户",
"noHostTitle": "未配置服务器!",
"title": "您是否信任这个服务器?", "title": "您是否信任这个服务器?",
"yes": "我信任这个服务器" "yes": "我信任这个服务器"
}, },
@@ -71,7 +73,7 @@
} }
}, },
"errors": { "errors": {
"badge": "它损坏了", "badge": "坏了",
"details": "错误细节", "details": "错误细节",
"reloadPage": "刷新页面", "reloadPage": "刷新页面",
"showError": "显示错误细节", "showError": "显示错误细节",
@@ -95,6 +97,7 @@
"about": "关于", "about": "关于",
"dmca": "DMCA", "dmca": "DMCA",
"login": "登录", "login": "登录",
"onboarding": "设定",
"pagetitle": "{{title}} - movie-web", "pagetitle": "{{title}} - movie-web",
"register": "注册", "register": "注册",
"settings": "设置" "settings": "设置"
@@ -115,7 +118,15 @@
"failed": "查找媒体失败,请重试!", "failed": "查找媒体失败,请重试!",
"loading": "载入中……", "loading": "载入中……",
"noResults": "我们找不到任何结果!", "noResults": "我们找不到任何结果!",
"placeholder": "您想看些什么?", "placeholder": {
"default": "您想看些什么?",
"extra": [
"您想探索些什么?",
"您的片单上都有啥?",
"您最喜欢的影片是什么?",
"您最喜欢的剧目是什么?"
]
},
"sectionTitle": "搜索结果" "sectionTitle": "搜索结果"
}, },
"titles": { "titles": {
@@ -148,7 +159,7 @@
}, },
"navigation": { "navigation": {
"banner": { "banner": {
"offline": "检查您的互联网连接" "offline": "检查您的互联网连接"
}, },
"menu": { "menu": {
"about": "关于我们", "about": "关于我们",
@@ -162,9 +173,72 @@
"notFound": { "notFound": {
"badge": "未找到", "badge": "未找到",
"goHome": "返回首页", "goHome": "返回首页",
"message": "我们已经到处找过了:不管是垃圾桶下、橱柜里或是代理之后。但最终并没有发现您查找的页面。", "message": "我们已经到处找过了:不管是废纸篓下、橱柜中还是代理服务之外,但最终并没有发现您查找的页面。",
"title": "无法找到页面" "title": "无法找到页面"
}, },
"onboarding": {
"defaultConfirm": {
"cancel": "取消",
"confirm": "使用默认设定",
"description": "默认设定不具备最好的视频流,并且播放速度可能慢得难以忍受。",
"title": "您确定吗?"
},
"extension": {
"back": "返回",
"explainer": "使用浏览器扩展,您可以获得我们提供的最佳串流。只需简单的安装即可。",
"explainerIos": "很遗憾,浏览器扩展不被 iOS 支持,单击<bold>返回</bold>以选择其他选项。",
"extensionHelp": "如您已安装扩展程序但未被检测到,<bold>请从浏览器的扩展菜单打开扩展</bold> 并按屏幕上的指示操作。",
"linkChrome": "安装 Chrome 扩展程序",
"linkFirefox": "安装 Firefox 扩展程序",
"notDetecting": "已在 Chrome 上安装,但网站未能检测到?尝试刷新页面!",
"notDetectingAction": "刷新页面",
"status": {
"disallowed": "扩展程序未对本页面启用",
"disallowedAction": "启用扩展程序",
"failed": "请求状态失败",
"loading": "正等待您安装扩展程序",
"outdated": "扩展版本过旧",
"success": "扩展程序工作正常!"
},
"submit": "继续",
"title": "让我们从扩展程序开始"
},
"proxy": {
"back": "返回",
"explainer": "使用代理方式,您可以通过自助代理服务获得高质量的串流。",
"input": {
"errorConnection": "无法连接到代理",
"errorInvalidUrl": "URL 无效",
"errorNotProxy": "检测到常规网站,链接应指向代理",
"label": "代理 URL",
"placeholder": "https://"
},
"link": "了解如何设置代理",
"submit": "提交代理",
"title": "让我们设置新的代理"
},
"start": {
"explainer": "为了尽可能获得最佳串流,您将要选择使用何种串流方法。",
"options": {
"default": {
"text": "我不想使用高质量串流,<0 /> <1>使用默认设定</1>"
},
"extension": {
"action": "安装扩展程序",
"description": "安装浏览器扩展并获取最佳视频源。",
"quality": "最佳质量",
"title": "浏览器扩展"
},
"proxy": {
"action": "设定代理",
"description": "在 5 分钟内设定好代理并获取优质资源。",
"quality": "高质量",
"title": "自定义代理"
}
},
"title": "让我们为您设定 movie-web"
}
},
"overlays": { "overlays": {
"close": "关闭" "close": "关闭"
}, },
@@ -178,11 +252,11 @@
}, },
"menus": { "menus": {
"downloads": { "downloads": {
"copyHlsPlaylist": "复制 HLS 播放列表链接",
"disclaimer": "下载内容是直接从内容提供者获取的。movie-web 无法控制下载内容如何被提供。", "disclaimer": "下载内容是直接从内容提供者获取的。movie-web 无法控制下载内容如何被提供。",
"downloadPlaylist": "下载播放列表",
"downloadSubtitle": "下载当前字幕", "downloadSubtitle": "下载当前字幕",
"downloadVideo": "下载视频", "downloadVideo": "下载视频",
"hlsDisclaimer": "下载内容是直接从内容提供者获取的。movie-web 无法控制下载内容如何被提供。请注意,您正在下载 HLS 播放列表,这适用于熟悉高级媒体串流技术的用户。", "hlsDisclaimer": "下载内容是直接从内容提供者获取的。movie-web 无法控制下载内容如何被提供。<br /><br />请注意,您正在下载 HLS 播放列表,<bold>如您不熟悉高级媒体格式,我们不推荐此操作</bold>。如需下载其他格式,请尝试切换视频源。",
"onAndroid": { "onAndroid": {
"1": "要从 Android 下载,先点击下载按钮,之后在新的页面上, <bold>点击并按住</bold>视频,然后选择 <bold>保存</bold>。", "1": "要从 Android 下载,先点击下载按钮,之后在新的页面上, <bold>点击并按住</bold>视频,然后选择 <bold>保存</bold>。",
"shortTitle": "下载 / Android", "shortTitle": "下载 / Android",
@@ -259,6 +333,21 @@
} }
}, },
"metadata": { "metadata": {
"api": {
"text": "无法载入 API 元数据,请检查您的互联网连接。",
"title": "载入 API 元数据失败"
},
"dmca": {
"badge": "已移除",
"text": "由于收到删除通知或版权声索,此媒体不再可用。",
"title": "媒体已被移除"
},
"extensionPermission": {
"badge": "缺失权限",
"button": "使用扩展程序",
"text": "您已安装浏览器扩展,但我们需要您的许可才能启用它。",
"title": "配置扩展程序"
},
"failed": { "failed": {
"badge": "失败", "badge": "失败",
"homeButton": "返回首页", "homeButton": "返回首页",
@@ -308,6 +397,12 @@
"remaining": "剩余 {{timeLeft}} • 完结于 {{timeFinished, datetime}}", "remaining": "剩余 {{timeLeft}} • 完结于 {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}", "shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}" "shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "请完成右侧的验证码以验证您是人类。这是为了确保 movie-web 的安全!",
"error": "验证失败。请重试。",
"title": "我们需要验证您是不是人类。",
"verifyingHumanity": "正在验证您是否为人类…"
} }
}, },
"screens": { "screens": {
@@ -380,24 +475,49 @@
}, },
"connections": { "connections": {
"server": { "server": {
"description": "若您想连接到自定义后端保存数据,请启用此选项并提供 URL。", "description": "若您想连接到自定义后端保存数据,请启用此选项并提供 URL。 <0>查看指引</0>",
"label": "自定义服务器", "label": "自定义服务器",
"urlLabel": "自定义服务器 URL" "urlLabel": "自定义服务器 URL"
}, },
"setup": {
"doSetup": "进行设定",
"errorStatus": {
"description": "看起来此配置中的一项或多项需要您的注意。",
"title": "有件事需要您的注意"
},
"itemError": "此设置存在错误。再次进行设定过程以修复它。",
"items": {
"default": "默认设定",
"extension": "扩展程序",
"proxy": "自定义代理"
},
"redoSetup": "重新进行设定",
"successStatus": {
"description": "一切已经就绪,您可以开始观赏喜爱的媒体了。",
"title": "一切就绪!"
},
"unsetStatus": {
"description": "请单击右侧的按钮开始进行设定。",
"title": "您尚未完成设定"
}
},
"title": "连接", "title": "连接",
"workers": { "workers": {
"addButton": "添加新的 Worker", "addButton": "添加新的 Worker",
"description": "要让应用程序正常运作,所有流量会通过代理路由。若您想使用自己的 Worker请启用该选项。", "description": "要让应用程序正常运作,所有流量会通过代理路由。若您想使用自己的 Worker请启用该选项。 <0>查看指引</0>",
"emptyState": "还没有 Worker在下方添加一个", "emptyState": "还没有 Worker在下方添加一个",
"label": "使用自定义代理 Worker", "label": "使用自定义代理 Worker",
"urlLabel": "Worker URL", "urlLabel": "Worker URL",
"urlPlaceholder": "https://" "urlPlaceholder": "https://"
} }
}, },
"locale": { "preferences": {
"language": "应用程序语言", "language": "应用程序语言",
"languageDescription": "当前已应用到整个应用程序的语言。", "languageDescription": "作用于整个应用程序的语言。",
"title": "本地化" "thumbnail": "生成缩略图",
"thumbnailDescription": "大多数时候,视频没有缩略图。您可以启用此设置以在视频播放时动态生成它们,但此选项可能会拖慢视频速度。",
"thumbnailLabel": "生成缩略图",
"title": "偏好设置"
}, },
"reset": "重设", "reset": "重设",
"save": "保存", "save": "保存",
@@ -416,6 +536,7 @@
} }
}, },
"subtitles": { "subtitles": {
"backgroundBlurLabel": "背景模糊",
"backgroundLabel": "背景不透明度", "backgroundLabel": "背景不透明度",
"colorLabel": "颜色", "colorLabel": "颜色",
"previewQuote": "我不能害怕。恐惧是心灵的杀手。", "previewQuote": "我不能害怕。恐惧是心灵的杀手。",

View File

@@ -87,6 +87,13 @@ export function progressResponsesToEntries(responses: ProgressResponse[]) {
} }
const item = items[v.tmdbId]; const item = items[v.tmdbId];
// Since each watched episode is a single array entry but with the same tmdbId, the root item updatedAt will only have the first episode's timestamp (which is not the newest).
// Here, we are setting it explicitly so the updatedAt always has the highest updatedAt from the episodes.
if (new Date(v.updatedAt).getTime() > item.updatedAt) {
item.updatedAt = new Date(v.updatedAt).getTime();
}
if (item.type === "movie") { if (item.type === "movie") {
item.progress = { item.progress = {
duration: Number(v.duration), duration: Number(v.duration),

View File

@@ -0,0 +1,7 @@
import { satisfies } from "semver";
const allowedExtensionRange = "^1.0.2";
export function isAllowedExtensionVersion(version: string): boolean {
return satisfies(version, allowedExtensionRange);
}

View File

@@ -0,0 +1,85 @@
import {
MessagesMetadata,
sendToBackgroundViaRelay,
} from "@plasmohq/messaging";
import { isAllowedExtensionVersion } from "@/backend/extension/compatibility";
import { ExtensionMakeRequestResponse } from "@/backend/extension/plasmo";
export const RULE_IDS = {
PREPARE_STREAM: 1,
SET_DOMAINS_HLS: 2,
};
// for some reason, about 500 ms is needed after
// page load before the extension starts responding properly
const isExtensionReady = new Promise<void>((resolve) => {
setTimeout(() => {
resolve();
}, 500);
});
let activeExtension = false;
async function sendMessage<MessageKey extends keyof MessagesMetadata>(
message: MessageKey,
payload: MessagesMetadata[MessageKey]["req"] | undefined = undefined,
timeout: number = -1,
) {
await isExtensionReady;
return new Promise<MessagesMetadata[MessageKey]["res"] | null>((resolve) => {
if (timeout >= 0) setTimeout(() => resolve(null), timeout);
sendToBackgroundViaRelay<
MessagesMetadata[MessageKey]["req"],
MessagesMetadata[MessageKey]["res"]
>({
name: message,
body: payload,
})
.then((res) => {
activeExtension = true;
resolve(res);
})
.catch(() => {
activeExtension = false;
resolve(null);
});
});
}
export async function sendExtensionRequest<T>(
ops: MessagesMetadata["makeRequest"]["req"],
): Promise<ExtensionMakeRequestResponse<T> | null> {
return sendMessage("makeRequest", ops);
}
export async function setDomainRule(
ops: MessagesMetadata["prepareStream"]["req"],
): Promise<MessagesMetadata["prepareStream"]["res"] | null> {
return sendMessage("prepareStream", ops);
}
export async function sendPage(
ops: MessagesMetadata["openPage"]["req"],
): Promise<MessagesMetadata["openPage"]["res"] | null> {
return sendMessage("openPage", ops);
}
export async function extensionInfo(): Promise<
MessagesMetadata["hello"]["res"] | null
> {
const message = await sendMessage("hello", undefined, 500);
return message;
}
export function isExtensionActiveCached(): boolean {
return activeExtension;
}
export async function isExtensionActive(): Promise<boolean> {
const info = await extensionInfo();
if (!info?.success) return false;
const allowedVersion = isAllowedExtensionVersion(info.version);
if (!allowedVersion) return false;
return info.allowed && info.hasPermission;
}

View File

@@ -0,0 +1,71 @@
export interface ExtensionBaseRequest {}
export type ExtensionBaseResponse<T = object> =
| ({
success: true;
} & T)
| {
success: false;
error: string;
};
export type ExtensionHelloResponse = ExtensionBaseResponse<{
version: string;
allowed: boolean;
hasPermission: boolean;
}>;
export interface ExtensionMakeRequest extends ExtensionBaseRequest {
url: string;
method: string;
headers?: Record<string, string>;
body?: string | Record<string, any>;
bodyType?: "string" | "FormData" | "URLSearchParams" | "object";
}
export type ExtensionMakeRequestBodyType = ExtensionMakeRequest["bodyType"];
export type ExtensionMakeRequestResponse<T> = ExtensionBaseResponse<{
response: {
statusCode: number;
headers: Record<string, string>;
finalUrl: string;
body: T;
};
}>;
export interface ExtensionPrepareStreamRequest extends ExtensionBaseRequest {
ruleId: number;
targetDomains: string[];
requestHeaders?: Record<string, string>;
responseHeaders?: Record<string, string>;
}
export interface MmMetadata {
hello: {
req: ExtensionBaseRequest;
res: ExtensionHelloResponse;
};
makeRequest: {
req: ExtensionMakeRequest;
res: ExtensionMakeRequestResponse<any>;
};
prepareStream: {
req: ExtensionPrepareStreamRequest;
res: ExtensionBaseResponse;
};
openPage: {
req: ExtensionBaseRequest & {
page: string;
redirectUrl: string;
};
res: ExtensionBaseResponse;
};
}
interface MpMetadata {}
declare module "@plasmohq/messaging" {
interface MessagesMetadata extends MmMetadata {}
interface PortsMetadata extends MpMetadata {}
}

View File

@@ -0,0 +1,17 @@
import { ExtensionMakeRequestBodyType } from "./plasmo";
export function getBodyTypeFromBody(
body: unknown,
): ExtensionMakeRequestBodyType {
if (typeof body === "string") return "string";
if (body instanceof FormData) return "FormData";
if (body instanceof URLSearchParams) return "URLSearchParams";
return "object";
}
export function convertBodyToObject(body: unknown): any {
if (body instanceof FormData || body instanceof URLSearchParams) {
return [...body];
}
return body;
}

View File

@@ -0,0 +1,43 @@
import { Stream } from "@movie-web/providers";
import { RULE_IDS, setDomainRule } from "@/backend/extension/messaging";
function extractDomain(url: string): string | null {
try {
const u = new URL(url);
return u.hostname;
} catch {
return null;
}
}
function extractDomainsFromStream(stream: Stream): string[] {
if (stream.type === "hls") {
return [extractDomain(stream.playlist)].filter((v): v is string => !!v);
}
if (stream.type === "file") {
return Object.values(stream.qualities)
.map((v) => extractDomain(v.url))
.filter((v): v is string => !!v);
}
return [];
}
function buildHeadersFromStream(stream: Stream): Record<string, string> {
const headers: Record<string, string> = {};
Object.entries(stream.headers ?? {}).forEach((entry) => {
headers[entry[0]] = entry[1];
});
Object.entries(stream.preferredHeaders ?? {}).forEach((entry) => {
headers[entry[0]] = entry[1];
});
return headers;
}
export async function prepareStream(stream: Stream) {
await setDomainRule({
ruleId: RULE_IDS.PREPARE_STREAM,
targetDomains: extractDomainsFromStream(stream),
requestHeaders: buildHeadersFromStream(stream),
});
}

View File

@@ -1,7 +1,7 @@
import { ofetch } from "ofetch"; import { ofetch } from "ofetch";
import { getApiToken, setApiToken } from "@/backend/helpers/providerApi"; import { getApiToken, setApiToken } from "@/backend/helpers/providerApi";
import { getLoadbalancedProxyUrl } from "@/utils/providers"; import { getLoadbalancedProxyUrl } from "@/backend/providers/fetchers";
type P<T> = Parameters<typeof ofetch<T, any>>; type P<T> = Parameters<typeof ofetch<T, any>>;
type R<T> = ReturnType<typeof ofetch<T, any>>; type R<T> = ReturnType<typeof ofetch<T, any>>;

View File

@@ -3,13 +3,16 @@ import { nanoid } from "nanoid";
import { ofetch } from "ofetch"; import { ofetch } from "ofetch";
import { useCallback } from "react"; import { useCallback } from "react";
import { isExtensionActiveCached } from "@/backend/extension/messaging";
import { ScrapingItems, ScrapingSegment } from "@/hooks/useProviderScrape"; import { ScrapingItems, ScrapingSegment } from "@/hooks/useProviderScrape";
import { BACKEND_URL } from "@/setup/constants";
import { useAuthStore } from "@/stores/auth";
import { PlayerMeta } from "@/stores/player/slices/source"; import { PlayerMeta } from "@/stores/player/slices/source";
// for anybody who cares - these are anonymous metrics. // for anybody who cares - these are anonymous metrics.
// They are just used for figuring out if providers are broken or not // They are just used for figuring out if providers are broken or not
const metricsEndpoint = "https://backend.movie-web.app/metrics/providers"; const metricsEndpoint = `${BACKEND_URL}/metrics/providers`;
const captchaMetricsEndpoint = "https://backend.movie-web.app/metrics/captcha"; const captchaMetricsEndpoint = `${BACKEND_URL}/metrics/captcha`;
const batchId = () => nanoid(32); const batchId = () => nanoid(32);
export type ProviderMetric = { export type ProviderMetric = {
@@ -25,6 +28,15 @@ export type ProviderMetric = {
fullError?: string; fullError?: string;
}; };
export type ScrapeTool = "default" | "custom-proxy" | "extension";
export function getScrapeTool(): ScrapeTool {
if (isExtensionActiveCached()) return "extension";
const hasProxySet = !!useAuthStore.getState().proxySet;
if (hasProxySet) return "custom-proxy";
return "default";
}
function getStackTrace(error: Error, lines: number) { function getStackTrace(error: Error, lines: number) {
const topMessage = error.toString(); const topMessage = error.toString();
const stackTraceLines = (error.stack ?? "").split("\n", lines + 1); const stackTraceLines = (error.stack ?? "").split("\n", lines + 1);
@@ -33,10 +45,12 @@ function getStackTrace(error: Error, lines: number) {
} }
export async function reportProviders(items: ProviderMetric[]): Promise<void> { export async function reportProviders(items: ProviderMetric[]): Promise<void> {
if (!BACKEND_URL) return;
return ofetch(metricsEndpoint, { return ofetch(metricsEndpoint, {
method: "POST", method: "POST",
body: { body: {
items, items,
tool: getScrapeTool(),
batchId: batchId(), batchId: batchId(),
}, },
}); });
@@ -144,6 +158,7 @@ export function useReportProviders() {
} }
export function reportCaptchaSolve(success: boolean) { export function reportCaptchaSolve(success: boolean) {
if (!BACKEND_URL) return;
ofetch(captchaMetricsEndpoint, { ofetch(captchaMetricsEndpoint, {
method: "POST", method: "POST",
body: { body: {

View File

@@ -5,6 +5,11 @@ import { convertSubtitlesToSrt } from "@/components/player/utils/captions";
import { CaptionListItem } from "@/stores/player/slices/source"; import { CaptionListItem } from "@/stores/player/slices/source";
import { SimpleCache } from "@/utils/cache"; import { SimpleCache } from "@/utils/cache";
import {
isExtensionActiveCached,
sendExtensionRequest,
} from "../extension/messaging";
export const subtitleTypeList = list().map((type) => `.${type}`); export const subtitleTypeList = list().map((type) => `.${type}`);
const downloadCache = new SimpleCache<string, string>(); const downloadCache = new SimpleCache<string, string>();
downloadCache.setCompare((a, b) => a === b); downloadCache.setCompare((a, b) => a === b);
@@ -21,7 +26,22 @@ export async function downloadCaption(
let data: string | undefined; let data: string | undefined;
if (caption.needsProxy) { if (caption.needsProxy) {
if (isExtensionActiveCached()) {
const extensionResponse = await sendExtensionRequest({
url: caption.url,
method: "GET",
});
if (
!extensionResponse?.success ||
typeof extensionResponse.response.body !== "string"
) {
throw new Error("failed to get caption data from extension");
}
data = extensionResponse.response.body;
} else {
data = await proxiedFetch<string>(caption.url, { responseType: "text" }); data = await proxiedFetch<string>(caption.url, { responseType: "text" });
}
} else { } else {
data = await fetch(caption.url).then((v) => v.text()); data = await fetch(caption.url).then((v) => v.text());
} }

View File

@@ -144,12 +144,16 @@ export function decodeTMDBId(
const baseURL = "https://api.themoviedb.org/3"; const baseURL = "https://api.themoviedb.org/3";
const apiKey = conf().TMDB_READ_API_KEY;
const headers = { const headers = {
accept: "application/json", accept: "application/json",
Authorization: `Bearer ${conf().TMDB_READ_API_KEY}`, Authorization: `Bearer ${apiKey}`,
}; };
async function get<T>(url: string, params?: object): Promise<T> { async function get<T>(url: string, params?: object): Promise<T> {
if (!apiKey) throw new Error("TMDB API key not set");
const res = await mwFetch<any>(encodeURI(url), { const res = await mwFetch<any>(encodeURI(url), {
headers, headers,
baseURL, baseURL,

View File

@@ -1,15 +1,11 @@
import { import { Fetcher, makeSimpleProxyFetcher } from "@movie-web/providers";
Fetcher,
ProviderControls,
makeProviders,
makeSimpleProxyFetcher,
makeStandardFetcher,
targets,
} from "@movie-web/providers";
import { sendExtensionRequest } from "@/backend/extension/messaging";
import { getApiToken, setApiToken } from "@/backend/helpers/providerApi"; import { getApiToken, setApiToken } from "@/backend/helpers/providerApi";
import { getProviderApiUrls, getProxyUrls } from "@/utils/proxyUrls"; import { getProviderApiUrls, getProxyUrls } from "@/utils/proxyUrls";
import { convertBodyToObject, getBodyTypeFromBody } from "../extension/request";
function makeLoadbalancedList(getter: () => string[]) { function makeLoadbalancedList(getter: () => string[]) {
let listIndex = -1; let listIndex = -1;
return () => { return () => {
@@ -48,7 +44,7 @@ async function fetchButWithApiTokens(
return response; return response;
} }
function makeLoadBalancedSimpleProxyFetcher() { export function makeLoadBalancedSimpleProxyFetcher() {
const fetcher: Fetcher = async (a, b) => { const fetcher: Fetcher = async (a, b) => {
const currentFetcher = makeSimpleProxyFetcher( const currentFetcher = makeSimpleProxyFetcher(
getLoadbalancedProxyUrl(), getLoadbalancedProxyUrl(),
@@ -59,8 +55,34 @@ function makeLoadBalancedSimpleProxyFetcher() {
return fetcher; return fetcher;
} }
export const providers = makeProviders({ function makeFinalHeaders(
fetcher: makeStandardFetcher(fetch), readHeaders: string[],
proxiedFetcher: makeLoadBalancedSimpleProxyFetcher(), headers: Record<string, string>,
target: targets.BROWSER, ): Headers {
}) as any as ProviderControls; const lowercasedHeaders = readHeaders.map((v) => v.toLowerCase());
return new Headers(
Object.entries(headers).filter((entry) =>
lowercasedHeaders.includes(entry[0].toLowerCase()),
),
);
}
export function makeExtensionFetcher() {
const fetcher: Fetcher = async (url, ops) => {
const result = await sendExtensionRequest<any>({
url,
...ops,
body: convertBodyToObject(ops.body),
bodyType: getBodyTypeFromBody(ops.body),
});
if (!result?.success) throw new Error(`extension error: ${result?.error}`);
const res = result.response;
return {
body: res.body,
finalUrl: res.finalUrl,
statusCode: res.statusCode,
headers: makeFinalHeaders(ops.readHeaders, res.headers),
};
};
return fetcher;
}

View File

@@ -0,0 +1,27 @@
import {
makeProviders,
makeStandardFetcher,
targets,
} from "@movie-web/providers";
import { isExtensionActiveCached } from "@/backend/extension/messaging";
import {
makeExtensionFetcher,
makeLoadBalancedSimpleProxyFetcher,
} from "@/backend/providers/fetchers";
export function getProviders() {
if (isExtensionActiveCached()) {
return makeProviders({
fetcher: makeExtensionFetcher(),
target: targets.BROWSER_EXTENSION,
consistentIpForRequests: true,
});
}
return makeProviders({
fetcher: makeStandardFetcher(fetch),
proxiedFetcher: makeLoadBalancedSimpleProxyFetcher(),
target: targets.BROWSER,
});
}

View File

@@ -15,14 +15,14 @@ export function FlagIcon(props: FlagIconProps) {
if (props.langCode === "tok") if (props.langCode === "tok")
return ( return (
<div className="w-8 h-6 rounded bg-[#c8e1ed] flex justify-center items-center"> <div className="w-8 h-6 rounded bg-[#c8e1ed] flex justify-center items-center">
<img src="/tokiPona.svg" className="w-7 h-5" /> <img src="/flags/tokiPona.svg" className="w-7 h-5" />
</div> </div>
); );
if (props.langCode === "pirate") if (props.langCode === "pirate")
return ( return (
<div className="w-8 h-6 rounded bg-[#2E3439] flex justify-center items-center"> <div className="w-8 h-6 rounded bg-[#2E3439] flex justify-center items-center">
<img src="/skull.svg" className="w-4 h-4" /> <img src="/flags/skull.svg" className="w-4 h-4" />
</div> </div>
); );
@@ -37,6 +37,14 @@ export function FlagIcon(props: FlagIconProps) {
</div> </div>
); );
// Galicia - Not a country (Is a region of Spain) so have to add the flag manually
if (props.langCode === "gl-ES")
return (
<div className="w-8 h-6 rounded bg-[#2E3439] flex justify-center items-center">
<img src="/flags/galicia.svg" className="rounded" />
</div>
);
let backgroundClass = "bg-video-context-flagBg"; let backgroundClass = "bg-video-context-flagBg";
if (countryCode === "np") backgroundClass = "bg-white"; if (countryCode === "np") backgroundClass = "bg-white";

View File

@@ -109,7 +109,7 @@ export function LinksDropdown(props: { children: React.ReactNode }) {
return ( return (
<div className="relative is-dropdown"> <div className="relative is-dropdown">
<div <div
className="cursor-pointer tabbable rounded-full flex gap-2 text-white items-center py-2 px-3 bg-pill-background bg-opacity-50 hover:bg-pill-backgroundHover transition-[background,transform] duration-100 hover:scale-105" className="cursor-pointer tabbable rounded-full flex gap-2 text-white items-center py-2 px-3 bg-pill-background bg-opacity-50 hover:bg-pill-backgroundHover backdrop-blur-lg transition-[background,transform] duration-100 hover:scale-105"
tabIndex={0} tabIndex={0}
onClick={toggleOpen} onClick={toggleOpen}
onKeyUp={(evt) => evt.key === "Enter" && toggleOpen()} onKeyUp={(evt) => evt.key === "Enter" && toggleOpen()}

View File

@@ -7,7 +7,9 @@ import { Spinner } from "@/components/layout/Spinner";
interface Props { interface Props {
icon?: Icons; icon?: Icons;
onClick?: () => void; onClick?: (
event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>,
) => void;
children?: ReactNode; children?: ReactNode;
theme?: "white" | "purple" | "secondary" | "danger"; theme?: "white" | "purple" | "secondary" | "danger";
padding?: string; padding?: string;
@@ -21,11 +23,25 @@ interface Props {
export function Button(props: Props) { export function Button(props: Props) {
const navigate = useNavigate(); const navigate = useNavigate();
const { onClick, href, loading } = props; const { onClick, href, loading } = props;
const cb = useCallback(() => { const cb = useCallback(
(
event: React.MouseEvent<
HTMLAnchorElement | HTMLButtonElement,
MouseEvent
>,
) => {
if (loading) return; if (loading) return;
if (href) navigate(href); if (href && !onClick) {
else onClick?.(); event.preventDefault();
}, [onClick, href, navigate, loading]); if (!href.includes("http")) {
navigate(href);
} else {
window.open(href, "_blank", "noreferrer");
}
} else onClick?.(event);
},
[loading, href, onClick, navigate],
);
let colorClasses = "bg-white hover:bg-gray-200 text-black"; let colorClasses = "bg-white hover:bg-gray-200 text-black";
if (props.theme === "purple") if (props.theme === "purple")
@@ -41,7 +57,7 @@ export function Button(props: Props) {
props.padding ?? "px-4 py-3", props.padding ?? "px-4 py-3",
props.className, props.className,
colorClasses, colorClasses,
props.disabled ? "cursor-not-allowed bg-opacity-60 text-opacity-60" : null, props.disabled ? "!cursor-not-allowed bg-opacity-60 text-opacity-60" : null,
); );
if (props.disabled) if (props.disabled)
@@ -80,6 +96,7 @@ export function Button(props: Props) {
target="_blank" target="_blank"
rel="noreferrer" rel="noreferrer"
download={props.download} download={props.download}
onClick={cb}
> >
{content} {content}
</a> </a>

View File

@@ -25,7 +25,7 @@ export function IconPatch(props: IconPatchProps) {
return ( return (
<div className={props.className || undefined} onClick={props.onClick}> <div className={props.className || undefined} onClick={props.onClick}>
<div <div
className={`flex items-center justify-center rounded-full border-2 border-transparent bg-pill-background bg-opacity-50 transition-[background-color,color,transform,border-color] duration-75 ${transparentClasses} ${clickableClasses} ${activeClasses} ${sizeClasses}`} className={`flex items-center justify-center rounded-full border-2 border-transparent bg-pill-background bg-opacity-100 transition-[background-color,color,transform,border-color] duration-75 ${transparentClasses} ${clickableClasses} ${activeClasses} ${sizeClasses}`}
> >
<Icon icon={props.icon} /> <Icon icon={props.icon} />
</div> </div>

View File

@@ -1,6 +1,6 @@
import classNames from "classnames"; import classNames from "classnames";
export function Toggle(props: { onClick: () => void; enabled?: boolean }) { export function Toggle(props: { onClick?: () => void; enabled?: boolean }) {
return ( return (
<button <button
type="button" type="button"

View File

@@ -9,7 +9,7 @@ import { TextInputControl } from "../text-inputs/TextInputControl";
export interface SearchBarProps { export interface SearchBarProps {
placeholder?: string; placeholder?: string;
onChange: (value: string, force: boolean) => void; onChange: (value: string, force: boolean) => void;
onUnFocus: () => void; onUnFocus: (newSearch?: string) => void;
value: string; value: string;
} }
@@ -57,6 +57,20 @@ export const SearchBarInput = forwardRef<HTMLInputElement, SearchBarProps>(
className="w-full flex-1 bg-transparent px-4 py-4 pl-12 text-search-text placeholder-search-placeholder focus:outline-none sm:py-4 sm:pr-2" className="w-full flex-1 bg-transparent px-4 py-4 pl-12 text-search-text placeholder-search-placeholder focus:outline-none sm:py-4 sm:pr-2"
placeholder={props.placeholder} placeholder={props.placeholder}
/> />
{props.value.length > 0 && (
<div
onClick={() => {
props.onUnFocus("");
if (ref && typeof ref !== "function") {
ref.current?.focus();
}
}}
className="cursor-pointer hover:text-white absolute bottom-0 right-2 top-0 flex justify-center my-auto h-10 w-10 items-center hover:bg-search-hoverBackground active:scale-110 text-search-icon rounded-full transition-[transform,background-color] duration-200"
>
<Icon icon={Icons.X} className="transition-colors duration-200" />
</div>
)}
</Flare.Child> </Flare.Child>
</Flare.Base> </Flare.Base>
); );

View File

@@ -16,7 +16,7 @@ export function BrandPill(props: {
"flex items-center space-x-2 rounded-full px-4 py-2 text-type-logo", "flex items-center space-x-2 rounded-full px-4 py-2 text-type-logo",
props.backgroundClass ?? "bg-pill-background bg-opacity-50", props.backgroundClass ?? "bg-pill-background bg-opacity-50",
props.clickable props.clickable
? "transition-[transform,background-color] hover:scale-105 hover:bg-pill-backgroundHover hover:text-type-logo active:scale-95" ? "transition-[transform,background-color] hover:scale-105 hover:bg-pill-backgroundHover backdrop-blur-lg hover:text-type-logo active:scale-95"
: "", : "",
)} )}
> >

View File

@@ -0,0 +1,25 @@
export interface StepperProps {
current: number;
steps: number;
className?: string;
}
export function Stepper(props: StepperProps) {
const percentage = (props.current / props.steps) * 100;
return (
<div className={props.className}>
<p className="mb-2">
{props.current}/{props.steps}
</p>
<div className="max-w-full h-1 w-32 bg-onboarding-bar rounded-full overflow-hidden">
<div
className="h-full bg-onboarding-barFilled transition-[width] rounded-full"
style={{
width: `${percentage.toFixed(0)}%`,
}}
/>
</div>
</div>
);
}

View File

@@ -1,3 +1,4 @@
import classNames from "classnames";
import { ReactNode } from "react"; import { ReactNode } from "react";
interface ThinContainerProps { interface ThinContainerProps {
@@ -16,3 +17,16 @@ export function ThinContainer(props: ThinContainerProps) {
</div> </div>
); );
} }
export function CenterContainer(props: ThinContainerProps) {
return (
<div
className={classNames(
"min-h-screen w-full flex justify-center p-8 py-24 items-center",
props.classNames,
)}
>
<div className="w-[700px] max-w-full">{props.children}</div>
</div>
);
}

View File

@@ -19,7 +19,7 @@ export function useModal(id: string) {
export function ModalCard(props: { children?: ReactNode }) { export function ModalCard(props: { children?: ReactNode }) {
return ( return (
<div className="w-full max-w-[30rem] m-4"> <div className="w-full max-w-[30rem] m-4">
<div className="w-full bg-dropdown-background rounded-xl p-8 pointer-events-auto"> <div className="w-full bg-modal-background rounded-xl p-8 pointer-events-auto">
{props.children} {props.children}
</div> </div>
</div> </div>

View File

@@ -47,8 +47,22 @@ export function Volume(props: Props) {
if (dragging) percentage = makePercentage(dragPercentage); if (dragging) percentage = makePercentage(dragPercentage);
const percentageString = makePercentageString(percentage); const percentageString = makePercentageString(percentage);
const handleWheel = useCallback(
(event: React.WheelEvent<HTMLDivElement>) => {
event.preventDefault();
let newVolume = volume - event.deltaY / 1000;
newVolume = Math.max(0, Math.min(newVolume, 1));
setVolume(newVolume);
},
[volume, setVolume],
);
return ( return (
<div className={props.className} onMouseEnter={handleMouseEnter}> <div
className={props.className}
onMouseEnter={handleMouseEnter}
onWheel={handleWheel}
>
<div className="pointer-events-auto flex cursor-pointer items-center py-0"> <div className="pointer-events-auto flex cursor-pointer items-center py-0">
<div className="px-4 text-2xl text-white" onClick={handleClick}> <div className="px-4 text-2xl text-white" onClick={handleClick}>
<Icon icon={percentage > 0 ? Icons.VOLUME : Icons.VOLUME_X} /> <Icon icon={percentage > 0 ? Icons.VOLUME : Icons.VOLUME_X} />

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}
@@ -262,6 +262,14 @@ export function CaptionSettingsView({ id }: { id: string }) {
value={styling.backgroundOpacity * 100} value={styling.backgroundOpacity * 100}
textTransformer={(s) => `${s}%`} textTransformer={(s) => `${s}%`}
/> />
<CaptionSetting
label={t("settings.subtitles.backgroundBlurLabel")}
max={100}
min={0}
onChange={(v) => updateStyling({ backgroundBlur: v / 100 })}
value={styling.backgroundBlur * 100}
textTransformer={(s) => `${s}%`}
/>
<CaptionSetting <CaptionSetting
label={t("settings.subtitles.textSizeLabel")} label={t("settings.subtitles.textSizeLabel")}
max={200} max={200}

View File

@@ -75,6 +75,7 @@ function CustomCaptionOption() {
setCaption({ setCaption({
language: "custom", language: "custom",
srtData: converted, srtData: converted,
id: "custom-caption",
}); });
setCustomSubs(); setCustomSubs();
}); });
@@ -115,39 +116,38 @@ function useSubtitleList(subs: CaptionListItem[], searchQuery: string) {
export function CaptionsView({ id }: { id: string }) { export function CaptionsView({ id }: { id: string }) {
const { t } = useTranslation(); const { t } = useTranslation();
const router = useOverlayRouter(id); const router = useOverlayRouter(id);
const lang = usePlayerStore((s) => s.caption.selected?.language); const selectedCaptionId = usePlayerStore((s) => s.caption.selected?.id);
const [currentlyDownloading, setCurrentlyDownloading] = useState< const [currentlyDownloading, setCurrentlyDownloading] = useState<
string | null string | null
>(null); >(null);
const { selectLanguage, disable } = useCaptions(); const { selectCaptionById, disable } = useCaptions();
const captionList = usePlayerStore((s) => s.captionList); const captionList = usePlayerStore((s) => s.captionList);
const [searchQuery, setSearchQuery] = useState(""); const [searchQuery, setSearchQuery] = useState("");
const subtitleList = useSubtitleList(captionList, searchQuery); const subtitleList = useSubtitleList(captionList, searchQuery);
const [downloadReq, startDownload] = useAsyncFn( const [downloadReq, startDownload] = useAsyncFn(
async (language: string) => { async (captionId: string) => {
setCurrentlyDownloading(language); setCurrentlyDownloading(captionId);
return selectLanguage(language); return selectCaptionById(captionId);
}, },
[selectLanguage, setCurrentlyDownloading], [selectCaptionById, setCurrentlyDownloading],
); );
const content = subtitleList.map((v, i) => { const content = subtitleList.map((v) => {
return ( return (
<CaptionOption <CaptionOption
// key must use index to prevent url collisions // key must use index to prevent url collisions
// eslint-disable-next-line react/no-array-index-key key={v.id}
key={`${i}-${v.url}`}
countryCode={v.language} countryCode={v.language}
selected={lang === v.language} selected={v.id === selectedCaptionId}
loading={v.language === currentlyDownloading && downloadReq.loading} loading={v.id === currentlyDownloading && downloadReq.loading}
error={ error={
v.language === currentlyDownloading && downloadReq.error v.id === currentlyDownloading && downloadReq.error
? downloadReq.error.toString() ? downloadReq.error.toString()
: undefined : undefined
} }
onClick={() => startDownload(v.language)} onClick={() => startDownload(v.id)}
> >
{v.languageName} {v.languageName}
</CaptionOption> </CaptionOption>
@@ -176,7 +176,7 @@ export function CaptionsView({ id }: { id: string }) {
</div> </div>
</div> </div>
<Menu.ScrollToActiveSection className="!pt-1 mt-2 pb-3"> <Menu.ScrollToActiveSection className="!pt-1 mt-2 pb-3">
<CaptionOption onClick={() => disable()} selected={!lang}> <CaptionOption onClick={() => disable()} selected={!selectedCaptionId}>
{t("player.menus.subtitles.offChoice")} {t("player.menus.subtitles.offChoice")}
</CaptionOption> </CaptionOption>
<CustomCaptionOption /> <CustomCaptionOption />

View File

@@ -1,5 +1,6 @@
import { useMemo } from "react"; import { useCallback, useMemo } from "react";
import { Trans, useTranslation } from "react-i18next"; import { Trans, useTranslation } from "react-i18next";
import { useCopyToClipboard } from "react-use";
import { Button } from "@/components/buttons/Button"; import { Button } from "@/components/buttons/Button";
import { Icon, Icons } from "@/components/Icon"; import { Icon, Icons } from "@/components/Icon";
@@ -27,6 +28,7 @@ function StyleTrans(props: { k: string }) {
i18nKey={props.k} i18nKey={props.k}
components={{ components={{
bold: <Menu.Highlight />, bold: <Menu.Highlight />,
br: <br />,
ios_share: ( ios_share: (
<Icon icon={Icons.IOS_SHARE} className="inline-block text-xl -mb-1" /> <Icon icon={Icons.IOS_SHARE} className="inline-block text-xl -mb-1" />
), ),
@@ -42,16 +44,17 @@ export function DownloadView({ id }: { id: string }) {
const router = useOverlayRouter(id); const router = useOverlayRouter(id);
const { t } = useTranslation(); const { t } = useTranslation();
const downloadUrl = useDownloadLink(); const downloadUrl = useDownloadLink();
const [, copyToClipboard] = useCopyToClipboard();
const sourceType = usePlayerStore((s) => s.source?.type); const sourceType = usePlayerStore((s) => s.source?.type);
const selectedCaption = usePlayerStore((s) => s.caption?.selected); const selectedCaption = usePlayerStore((s) => s.caption?.selected);
const subtitleUrl = useMemo( const openSubtitleDownload = useCallback(() => {
() => const dataUrl = selectedCaption
selectedCaption
? convertSubtitlesToSrtDataurl(selectedCaption?.srtData) ? convertSubtitlesToSrtDataurl(selectedCaption?.srtData)
: null, : null;
[selectedCaption], if (!dataUrl) return;
); window.open(dataUrl);
}, [selectedCaption]);
if (!downloadUrl) return null; if (!downloadUrl) return null;
@@ -68,15 +71,24 @@ export function DownloadView({ id }: { id: string }) {
<StyleTrans k="player.menus.downloads.hlsDisclaimer" /> <StyleTrans k="player.menus.downloads.hlsDisclaimer" />
</Menu.Paragraph> </Menu.Paragraph>
<Button className="w-full" href={downloadUrl} theme="purple"> <Button
{t("player.menus.downloads.downloadPlaylist")} className="w-full"
theme="purple"
href={downloadUrl}
onClick={(event) => {
// Allow context menu & left click to copy
event.preventDefault();
copyToClipboard(downloadUrl);
}}
>
{t("player.menus.downloads.copyHlsPlaylist")}
</Button> </Button>
<Button <Button
className="w-full mt-2" className="w-full mt-2"
href={subtitleUrl ?? undefined} onClick={openSubtitleDownload}
disabled={!subtitleUrl} disabled={!selectedCaption}
theme="secondary" theme="secondary"
download="subtitles.srt"
> >
{t("player.menus.downloads.downloadSubtitle")} {t("player.menus.downloads.downloadSubtitle")}
</Button> </Button>
@@ -108,8 +120,8 @@ export function DownloadView({ id }: { id: string }) {
</Button> </Button>
<Button <Button
className="w-full mt-2" className="w-full mt-2"
href={subtitleUrl ?? undefined} onClick={openSubtitleDownload}
disabled={!subtitleUrl} disabled={!selectedCaption}
theme="secondary" theme="secondary"
download="subtitles.srt" download="subtitles.srt"
> >
@@ -123,24 +135,6 @@ export function DownloadView({ id }: { id: string }) {
); );
} }
export function CantDownloadView({ id }: { id: string }) {
const router = useOverlayRouter(id);
const { t } = useTranslation();
return (
<>
<Menu.BackLink onClick={() => router.navigate("/")}>
{t("player.menus.downloads.title")}
</Menu.BackLink>
<Menu.Section>
<Menu.Paragraph>
<StyleTrans k="player.menus.downloads.hlsExplanation" />
</Menu.Paragraph>
</Menu.Section>
</>
);
}
function AndroidExplanationView({ id }: { id: string }) { function AndroidExplanationView({ id }: { id: string }) {
const router = useOverlayRouter(id); const router = useOverlayRouter(id);
const { t } = useTranslation(); const { t } = useTranslation();
@@ -202,11 +196,6 @@ export function DownloadRoutes({ id }: { id: string }) {
<DownloadView id={id} /> <DownloadView id={id} />
</Menu.CardWithScrollable> </Menu.CardWithScrollable>
</OverlayPage> </OverlayPage>
<OverlayPage id={id} path="/download/unable" width={343} height={440}>
<Menu.CardWithScrollable>
<CantDownloadView id={id} />
</Menu.CardWithScrollable>
</OverlayPage>
<OverlayPage id={id} path="/download/ios" width={343} height={440}> <OverlayPage id={id} path="/download/ios" width={343} height={440}>
<Menu.CardWithScrollable> <Menu.CardWithScrollable>
<IOSExplanationView id={id} /> <IOSExplanationView id={id} />

View File

@@ -147,7 +147,7 @@ export function SourceSelectionView({
<Menu.BackLink onClick={() => router.navigate("/")}> <Menu.BackLink onClick={() => router.navigate("/")}>
{t("player.menus.sources.title")} {t("player.menus.sources.title")}
</Menu.BackLink> </Menu.BackLink>
<Menu.Section> <Menu.Section className="pb-4">
{sources.map((v) => ( {sources.map((v) => (
<SelectableLink <SelectableLink
key={v.id} key={v.id}

View File

@@ -4,6 +4,7 @@ import { OverlayDisplay } from "@/components/overlays/OverlayDisplay";
import { CastingInternal } from "@/components/player/internals/CastingInternal"; import { CastingInternal } from "@/components/player/internals/CastingInternal";
import { HeadUpdater } from "@/components/player/internals/HeadUpdater"; import { HeadUpdater } from "@/components/player/internals/HeadUpdater";
import { KeyboardEvents } from "@/components/player/internals/KeyboardEvents"; import { KeyboardEvents } from "@/components/player/internals/KeyboardEvents";
import { MediaSession } from "@/components/player/internals/MediaSession";
import { MetaReporter } from "@/components/player/internals/MetaReporter"; import { MetaReporter } from "@/components/player/internals/MetaReporter";
import { ProgressSaver } from "@/components/player/internals/ProgressSaver"; import { ProgressSaver } from "@/components/player/internals/ProgressSaver";
import { ThumbnailScraper } from "@/components/player/internals/ThumbnailScraper"; import { ThumbnailScraper } from "@/components/player/internals/ThumbnailScraper";
@@ -91,6 +92,7 @@ export function Container(props: PlayerProps) {
<VideoContainer /> <VideoContainer />
<ProgressSaver /> <ProgressSaver />
<KeyboardEvents /> <KeyboardEvents />
<MediaSession />
<div className="relative h-screen overflow-hidden"> <div className="relative h-screen overflow-hidden">
<VideoClickTarget showingControls={props.showingControls} /> <VideoClickTarget showingControls={props.showingControls} />
<HeadUpdater /> <HeadUpdater />

View File

@@ -55,6 +55,10 @@ export function CaptionCue({
color: styling.color, color: styling.color,
fontSize: `${(1.5 * styling.size).toFixed(2)}em`, fontSize: `${(1.5 * styling.size).toFixed(2)}em`,
backgroundColor: `rgba(0,0,0,${styling.backgroundOpacity.toFixed(2)})`, backgroundColor: `rgba(0,0,0,${styling.backgroundOpacity.toFixed(2)})`,
backdropFilter:
styling.backgroundBlur !== 0
? `blur(${Math.floor(styling.backgroundBlur * 64)}px)`
: "none",
}} }}
> >
<span <span

View File

@@ -1,6 +1,11 @@
import fscreen from "fscreen"; import fscreen from "fscreen";
import Hls, { Level } from "hls.js"; import Hls, { Level } from "hls.js";
import {
RULE_IDS,
isExtensionActiveCached,
setDomainRule,
} from "@/backend/extension/messaging";
import { import {
DisplayInterface, DisplayInterface,
DisplayInterfaceEvents, DisplayInterfaceEvents,
@@ -31,8 +36,8 @@ const levelConversionMap: Record<number, SourceQuality> = {
480: "480", 480: "480",
}; };
function hlsLevelToQuality(level: Level): SourceQuality | null { function hlsLevelToQuality(level?: Level): SourceQuality | null {
return levelConversionMap[level.height] ?? null; return levelConversionMap[level?.height ?? 0] ?? null;
} }
function qualityToHlsLevel(quality: SourceQuality): number | null { function qualityToHlsLevel(quality: SourceQuality): number | null {
@@ -41,6 +46,7 @@ function qualityToHlsLevel(quality: SourceQuality): number | null {
); );
return found ? +found[0] : null; return found ? +found[0] : null;
} }
function hlsLevelsToQualities(levels: Level[]): SourceQuality[] { function hlsLevelsToQualities(levels: Level[]): SourceQuality[] {
return levels return levels
.map((v) => hlsLevelToQuality(v)) .map((v) => hlsLevelToQuality(v))
@@ -130,7 +136,7 @@ export function makeVideoElementDisplayInterface(): DisplayInterface {
}); });
hls.on(Hls.Events.ERROR, (event, data) => { hls.on(Hls.Events.ERROR, (event, data) => {
console.error("HLS error", data); console.error("HLS error", data);
if (data.fatal) { if (data.fatal && src?.url === data.frag?.baseurl) {
emit("error", { emit("error", {
message: data.error.message, message: data.error.message,
stackTrace: data.error.stack, stackTrace: data.error.stack,
@@ -143,6 +149,24 @@ export function makeVideoElementDisplayInterface(): DisplayInterface {
if (!hls) return; if (!hls) return;
reportLevels(); reportLevels();
setupQualityForHls(); setupQualityForHls();
if (isExtensionActiveCached()) {
hls.on(Hls.Events.LEVEL_LOADED, async (_, data) => {
const chunkUrlsDomains = data.details.fragments.map(
(v) => new URL(v.url).hostname,
);
const chunkUrls = [...new Set(chunkUrlsDomains)];
await setDomainRule({
ruleId: RULE_IDS.SET_DOMAINS_HLS,
targetDomains: chunkUrls,
requestHeaders: {
...src.preferredHeaders,
...src.headers,
},
});
});
}
}); });
hls.on(Hls.Events.LEVEL_SWITCHED, () => { hls.on(Hls.Events.LEVEL_SWITCHED, () => {
if (!hls) return; if (!hls) return;

View File

@@ -41,6 +41,7 @@ export interface DisplayMeta {
} }
export interface DisplayCaption { export interface DisplayCaption {
id: string;
srtData: string; srtData: string;
language: string; language: string;
url?: string; url?: string;

View File

@@ -14,22 +14,32 @@ export function useCaptions() {
const lastSelectedLanguage = useSubtitleStore((s) => s.lastSelectedLanguage); const lastSelectedLanguage = useSubtitleStore((s) => s.lastSelectedLanguage);
const captionList = usePlayerStore((s) => s.captionList); const captionList = usePlayerStore((s) => s.captionList);
const selectLanguage = useCallback( const selectCaptionById = useCallback(
async (language: string) => { async (captionId: string) => {
const caption = captionList.find((v) => v.language === language); const caption = captionList.find((v) => v.id === captionId);
if (!caption) return; if (!caption) return;
const srtData = await downloadCaption(caption); const srtData = await downloadCaption(caption);
setCaption({ setCaption({
id: caption.id,
language: caption.language, language: caption.language,
srtData, srtData,
url: caption.url, url: caption.url,
}); });
resetSubtitleSpecificSettings(); resetSubtitleSpecificSettings();
setLanguage(language); setLanguage(caption.language);
}, },
[setLanguage, captionList, setCaption, resetSubtitleSpecificSettings], [setLanguage, captionList, setCaption, resetSubtitleSpecificSettings],
); );
const selectLanguage = useCallback(
async (language: string) => {
const caption = captionList.find((v) => v.language === language);
if (!caption) return;
return selectCaptionById(caption.id);
},
[captionList, selectCaptionById],
);
const disable = useCallback(async () => { const disable = useCallback(async () => {
setCaption(null); setCaption(null);
setLanguage(null); setLanguage(null);
@@ -56,5 +66,6 @@ export function useCaptions() {
selectLastUsedLanguage, selectLastUsedLanguage,
toggleLastUsed, toggleLastUsed,
selectLastUsedLanguageIfEnabled, selectLastUsedLanguageIfEnabled,
selectCaptionById,
}; };
} }

View File

@@ -5,6 +5,8 @@ import {
} from "@movie-web/providers"; } from "@movie-web/providers";
import { useAsyncFn } from "react-use"; import { useAsyncFn } from "react-use";
import { isExtensionActiveCached } from "@/backend/extension/messaging";
import { prepareStream } from "@/backend/extension/streams";
import { import {
connectServerSideEvents, connectServerSideEvents,
makeProviderUrl, makeProviderUrl,
@@ -13,12 +15,13 @@ import {
scrapeSourceOutputToProviderMetric, scrapeSourceOutputToProviderMetric,
useReportProviders, useReportProviders,
} from "@/backend/helpers/report"; } from "@/backend/helpers/report";
import { getLoadbalancedProviderApiUrl } from "@/backend/providers/fetchers";
import { getProviders } from "@/backend/providers/providers";
import { convertProviderCaption } from "@/components/player/utils/captions"; import { convertProviderCaption } from "@/components/player/utils/captions";
import { convertRunoutputToSource } from "@/components/player/utils/convertRunoutputToSource"; import { convertRunoutputToSource } from "@/components/player/utils/convertRunoutputToSource";
import { useOverlayRouter } from "@/hooks/useOverlayRouter"; import { useOverlayRouter } from "@/hooks/useOverlayRouter";
import { metaToScrapeMedia } from "@/stores/player/slices/source"; import { metaToScrapeMedia } from "@/stores/player/slices/source";
import { usePlayerStore } from "@/stores/player/store"; import { usePlayerStore } from "@/stores/player/store";
import { getLoadbalancedProviderApiUrl, providers } from "@/utils/providers";
export function useEmbedScraping( export function useEmbedScraping(
routerId: string, routerId: string,
@@ -39,7 +42,7 @@ export function useEmbedScraping(
let result: EmbedOutput | undefined; let result: EmbedOutput | undefined;
if (!meta) return; if (!meta) return;
try { try {
if (providerApiUrl) { if (providerApiUrl && !isExtensionActiveCached()) {
const baseUrlMaker = makeProviderUrl(providerApiUrl); const baseUrlMaker = makeProviderUrl(providerApiUrl);
const conn = await connectServerSideEvents<EmbedOutput>( const conn = await connectServerSideEvents<EmbedOutput>(
baseUrlMaker.scrapeEmbed(embedId, url), baseUrlMaker.scrapeEmbed(embedId, url),
@@ -47,7 +50,7 @@ export function useEmbedScraping(
); );
result = await conn.promise(); result = await conn.promise();
} else { } else {
result = await providers.runEmbedScraper({ result = await getProviders().runEmbedScraper({
id: embedId, id: embedId,
url, url,
}); });
@@ -70,6 +73,7 @@ export function useEmbedScraping(
report([ report([
scrapeSourceOutputToProviderMetric(meta, sourceId, null, "success", null), scrapeSourceOutputToProviderMetric(meta, sourceId, null, "success", null),
]); ]);
if (isExtensionActiveCached()) await prepareStream(result.stream[0]);
setSourceId(sourceId); setSourceId(sourceId);
setCaption(null); setCaption(null);
setSource( setSource(
@@ -103,7 +107,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
let result: SourcererOutput | undefined; let result: SourcererOutput | undefined;
try { try {
if (providerApiUrl) { if (providerApiUrl && !isExtensionActiveCached()) {
const baseUrlMaker = makeProviderUrl(providerApiUrl); const baseUrlMaker = makeProviderUrl(providerApiUrl);
const conn = await connectServerSideEvents<SourcererOutput>( const conn = await connectServerSideEvents<SourcererOutput>(
baseUrlMaker.scrapeSource(sourceId, scrapeMedia), baseUrlMaker.scrapeSource(sourceId, scrapeMedia),
@@ -111,7 +115,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
); );
result = await conn.promise(); result = await conn.promise();
} else { } else {
result = await providers.runSourceScraper({ result = await getProviders().runSourceScraper({
id: sourceId, id: sourceId,
media: scrapeMedia, media: scrapeMedia,
}); });
@@ -130,6 +134,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
]); ]);
if (result.stream) { if (result.stream) {
if (isExtensionActiveCached()) await prepareStream(result.stream[0]);
setCaption(null); setCaption(null);
setSource( setSource(
convertRunoutputToSource({ stream: result.stream[0] }), convertRunoutputToSource({ stream: result.stream[0] }),
@@ -144,7 +149,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
let embedResult: EmbedOutput | undefined; let embedResult: EmbedOutput | undefined;
if (!meta) return; if (!meta) return;
try { try {
if (providerApiUrl) { if (providerApiUrl && !isExtensionActiveCached()) {
const baseUrlMaker = makeProviderUrl(providerApiUrl); const baseUrlMaker = makeProviderUrl(providerApiUrl);
const conn = await connectServerSideEvents<EmbedOutput>( const conn = await connectServerSideEvents<EmbedOutput>(
baseUrlMaker.scrapeEmbed( baseUrlMaker.scrapeEmbed(
@@ -155,7 +160,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
); );
embedResult = await conn.promise(); embedResult = await conn.promise();
} else { } else {
embedResult = await providers.runEmbedScraper({ embedResult = await getProviders().runEmbedScraper({
id: result.embeds[0].embedId, id: result.embeds[0].embedId,
url: result.embeds[0].url, url: result.embeds[0].url,
}); });
@@ -186,6 +191,7 @@ export function useSourceScraping(sourceId: string | null, routerId: string) {
]); ]);
setSourceId(sourceId); setSourceId(sourceId);
setCaption(null); setCaption(null);
if (isExtensionActiveCached()) await prepareStream(embedResult.stream[0]);
setSource( setSource(
convertRunoutputToSource({ stream: embedResult.stream[0] }), convertRunoutputToSource({ stream: embedResult.stream[0] }),
convertProviderCaption(embedResult.stream[0].captions), convertProviderCaption(embedResult.stream[0].captions),

View File

@@ -0,0 +1,182 @@
import { useCallback, useEffect, useRef } from "react";
import { usePlayerStore } from "@/stores/player/store";
import { usePlayerMeta } from "../hooks/usePlayerMeta";
export function MediaSession() {
const { setDirectMeta } = usePlayerMeta();
const setShouldStartFromBeginning = usePlayerStore(
(s) => s.setShouldStartFromBeginning,
);
const shouldUpdatePositionState = useRef(false);
const lastPlaybackPosition = useRef(0);
const data = usePlayerStore.getState();
const changeEpisode = useCallback(
(change: number) => {
const nextEp = data.meta?.episodes?.find(
(v) => v.number === (data.meta?.episode?.number ?? 0) + change,
);
if (!data.meta || !nextEp) return;
const metaCopy = { ...data.meta };
metaCopy.episode = nextEp;
setShouldStartFromBeginning(true);
setDirectMeta(metaCopy);
},
[data.meta, setDirectMeta, setShouldStartFromBeginning],
);
const updatePositionState = useCallback(
(position: number) => {
// If the updated position needs to be buffered, queue an update
if (position > data.progress.buffered) {
shouldUpdatePositionState.current = true;
}
if (position > data.progress.duration) return;
lastPlaybackPosition.current = data.progress.time;
navigator.mediaSession.setPositionState({
duration: data.progress.duration,
playbackRate: data.mediaPlaying.playbackRate,
position,
});
},
[
data.mediaPlaying.playbackRate,
data.progress.buffered,
data.progress.duration,
data.progress.time,
],
);
useEffect(() => {
if (!("mediaSession" in navigator)) return;
// If the media is paused, update the navigator
if (data.mediaPlaying.isPaused) {
navigator.mediaSession.playbackState = "paused";
} else {
navigator.mediaSession.playbackState = "playing";
}
}, [data.mediaPlaying.isPaused]);
useEffect(() => {
if (!("mediaSession" in navigator)) return;
updatePositionState(data.progress.time);
}, [data.progress.time, data.mediaPlaying.playbackRate, updatePositionState]);
useEffect(() => {
if (!("mediaSession" in navigator)) return;
// If not already updating the position state, and the media is loading, queue an update
if (!shouldUpdatePositionState.current && data.mediaPlaying.isLoading) {
shouldUpdatePositionState.current = true;
}
// If the user has skipped (or MediaSession desynced) by more than 5 seconds, queue an update
if (
Math.abs(data.progress.time - lastPlaybackPosition.current) >= 5 &&
!data.mediaPlaying.isLoading &&
!shouldUpdatePositionState.current
) {
shouldUpdatePositionState.current = true;
}
// If not loading and the position state is queued, update it
if (shouldUpdatePositionState.current && !data.mediaPlaying.isLoading) {
shouldUpdatePositionState.current = false;
updatePositionState(data.progress.time);
}
lastPlaybackPosition.current = data.progress.time;
}, [updatePositionState, data.progress.time, data.mediaPlaying.isLoading]);
useEffect(() => {
if (
!("mediaSession" in navigator) ||
(!data.mediaPlaying.isLoading &&
data.mediaPlaying.isPlaying &&
!data.display)
)
return;
let title: string | undefined;
let artist: string | undefined;
if (data.meta?.type === "movie") {
title = data.meta?.title;
} else if (data.meta?.type === "show") {
artist = data.meta?.title;
title = `S${data.meta?.season?.number} E${data.meta?.episode?.number}: ${data.meta?.episode?.title}`;
}
navigator.mediaSession.metadata = new MediaMetadata({
title,
artist,
artwork: [
{
src: data.meta?.poster ?? "",
sizes: "342x513",
type: "image/png",
},
],
});
navigator.mediaSession.setActionHandler("play", () => {
if (data.mediaPlaying.isLoading) return;
data.display?.play();
updatePositionState(data.progress.time);
});
navigator.mediaSession.setActionHandler("pause", () => {
if (data.mediaPlaying.isLoading) return;
data.display?.pause();
updatePositionState(data.progress.time);
});
navigator.mediaSession.setActionHandler("seekto", (e) => {
if (!e.seekTime) return;
data.display?.setTime(e.seekTime);
updatePositionState(e.seekTime);
});
if ((data.meta?.episode?.number ?? 1) !== 1) {
navigator.mediaSession.setActionHandler("previoustrack", () => {
changeEpisode(-1);
});
} else {
navigator.mediaSession.setActionHandler("previoustrack", null);
}
if (data.meta?.episode?.number !== data.meta?.episodes?.length) {
navigator.mediaSession.setActionHandler("nexttrack", () => {
changeEpisode(1);
});
} else {
navigator.mediaSession.setActionHandler("nexttrack", null);
}
}, [
changeEpisode,
updatePositionState,
data.mediaPlaying.hasPlayedOnce,
data.mediaPlaying.isLoading,
data.progress.duration,
data.progress.time,
data.meta?.episode?.number,
data.meta?.episodes?.length,
data.display,
data.mediaPlaying,
data.meta?.episode?.title,
data.meta?.title,
data.meta?.type,
data.meta?.poster,
data.meta?.season?.number,
]);
return null;
}

View File

@@ -2,7 +2,10 @@ import classNames from "classnames";
import { ReactNode } from "react"; import { ReactNode } from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { StatusCircle } from "@/components/player/internals/StatusCircle"; import {
StatusCircle,
StatusCircleProps,
} from "@/components/player/internals/StatusCircle";
import { Transition } from "@/components/utils/Transition"; import { Transition } from "@/components/utils/Transition";
export interface ScrapeItemProps { export interface ScrapeItemProps {
@@ -23,7 +26,8 @@ const statusTextMap: Partial<Record<ScrapeCardProps["status"], string>> = {
pending: "player.scraping.items.pending", pending: "player.scraping.items.pending",
}; };
const statusMap: Record<ScrapeCardProps["status"], StatusCircle["type"]> = { const statusMap: Record<ScrapeCardProps["status"], StatusCircleProps["type"]> =
{
failure: "error", failure: "error",
notfound: "noresult", notfound: "noresult",
pending: "loading", pending: "loading",

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