Merge branch 'dev' into proxy-syncing

This commit is contained in:
mrjvs 2024-01-01 19:07:39 +01:00 committed by GitHub
commit 90ecefac3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 639 additions and 70 deletions

View File

@ -60,36 +60,8 @@ A simple guide has been written to assist in hosting your own instance of movie-
|[Selfhosting guide](https://docs.movie-web.app)|
|---|
## 🤝 Thanks to all Contributors
This project would not be possible without our amazing contributors and the community. Thanks a lot! Keep rocking 🍻.
# 🤝 Contributors
[![Contributors](https://contrib.rocks/image?repo=movie-web/movie-web)](https://github.com/movie-web/movie-web/graphs/contributors)
This project would not be possible without our amazing contributors and the community.
<table>
<tbody>
<tr>
<td align="center" valign="top" width="100px">
<img src="https://images.weserv.nl/?url=https://github.com/JamesHawkinss.png&mask=circle"/><br />
<sub><a href="https://github.com/JamesHawkinss">@JamesHawkinss</a></sub>
</td>
<td align="center" valign="top" width="100px">
<img src="https://images.weserv.nl/?url=https://github.com/JipFr.png&mask=circle"/><br />
<sub><a href="https://github.com/JipFr">@JipFr</a></sub>
</td>
<td align="center" valign="top" width="100px">
<img src="https://images.weserv.nl/?url=https://github.com/mrjvs.png&mask=circle"/><br />
<sub><a href="https://github.com/mrjvs">@mrjvs</a></sub>
</td>
<td align="center" valign="top" width="100px">
<img src="https://images.weserv.nl/?url=https://github.com/binaryoverload.png&mask=circle"/><br />
<sub><a href="https://github.com/binaryoverload">@binaryoverload</a></sub>
</td>
</tr>
<tr>
<td align="center" valign="top" width="100px">
<img src="https://images.weserv.nl/?url=https://github.com/lem6ns.png&mask=circle"/><br />
<sub><a href="https://github.com/lem6ns">@lem6ns</a></sub>
</td>
</tr>
</tbody>
</table>

View File

@ -1,6 +1,6 @@
{
"name": "movie-web",
"version": "4.2.0",
"version": "4.2.1",
"private": true,
"homepage": "https://movie-web.app",
"scripts": {

76
public/tokiPona.svg Normal file
View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="600"
height="400"
version="1.1"
id="svg838"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs842" />
<rect
style="fill:#c8e1ed;fill-opacity:1.0;stroke-width:5.66929;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
id="rect4684"
width="600"
height="400"
x="0"
y="0" />
<g
transform="matrix(0.33755415,0,0,-0.33755415,188.33065,342.42618)"
fill="#000099"
stroke="none"
id="g1364">
<g
id="g1755"
transform="matrix(1.0249506,0,0,1.0249506,-8.2541353,-9.3390257)">
<path
fill="#000099"
stroke="none"
d="m 302,838 c -14,-14 -16,-126 -3,-147 5,-8 16,-11 25,-8 12,5 16,21 16,71 0,89 -10,112 -38,84 z"
id="path1352"
style="fill:#11119a;fill-opacity:1" />
<path
fill="#000099"
stroke="none"
d="m 521,775 c -27,-57 -32,-108 -10,-113 18,-3 84,122 75,144 -11,30 -44,15 -65,-31 z"
id="path1354"
style="fill:#11119a;fill-opacity:1" />
<path
fill="#000099"
stroke="none"
d="M 34,797 C 26,775 93,639 110,643 148,650 99,810 59,810 48,810 37,804 34,797 Z"
id="path1356"
style="fill:#11119a;fill-opacity:1" />
<path
fill="#000099"
stroke="none"
d="M 254,590 C 204,583 126,538 79,490 -19,390 14,144 136,67 199,27 243,17 336,23 c 125,7 212,62 275,172 53,92 32,220 -51,317 -62,71 -170,99 -306,78 z"
id="path1358"
style="fill:#11119a;fill-opacity:1" />
<path
fill="#ffff63"
stroke="none"
d="M 443,539 C 490,526 555,469 581,419 605,371 607,272 584,229 562,186 502,121 467,104 330,33 190,49 116,145 77,197 65,237 65,320 c 1,77 19,113 82,161 80,63 198,86 296,58 z"
id="path1360"
style="fill:#ffff77;fill-opacity:1" />
<path
fill="#000099"
stroke="none"
d="m 462,367 c -5,-7 -15,-28 -21,-48 -21,-67 -100,-120 -144,-98 -30,15 -65,56 -88,102 -21,40 -51,48 -57,14 -5,-26 53,-111 96,-141 89,-62 204,-7 252,119 15,40 -15,81 -38,52 z"
id="path1362"
style="fill:#11119a;fill-opacity:1" />
</g>
</g>
</svg>
<!--
len pi toki pona
COPYRIGHT:
Spencer van der Meulen (jan Pensa) ©2021
Licence: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Based on:
- original logo design by Sonja Lang.
- Toki Pona logo vector image from https://commons.wikimedia.org/wiki/File:Toki_pona.svg by Eequor.
- colors from image on https://www.teepublic.com/user/toki-pona by Sonja Lang.
-->

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -177,6 +177,7 @@
"downloads": {
"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",
"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í.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "Stáhnout",
"enableSubtitles": "Zapnout titulky",
"experienceSection": "Zážitek sledování",
"playbackItem": "Nastavení přehrávání",
"qualityItem": "Kvalita",
"sourceItem": "Zdroje videa",
"subtitleItem": "Nastavení titulků",
"videoSection": "Nastavení videa"
},
"sources": {
@ -239,6 +242,7 @@
"unknownOption": "Neznámý"
},
"subtitles": {
"customChoice": "Vybrat titulky ze souboru",
"customizeLabel": "Přizpůsobit",
"offChoice": "Vypnuto",
"settings": {
@ -408,6 +412,8 @@
}
},
"subtitles": {
"backgroundLabel": "Neprůhlednost pozadí",
"colorLabel": "Barva",
"previewQuote": "Nesmím se bát. Strach je zabiják mysli.",
"textSizeLabel": "Velikost textu",
"title": "Titulky"

View File

@ -177,6 +177,7 @@
"downloads": {
"disclaimer": "Videos werden direkt vom Provider heruntergeladen. movie-web hat keinen Einfluss darauf, wie Downloads bereitgestellt werden.",
"downloadPlaylist": "Playlist herunterladen",
"downloadSubtitle": "Aktuelle Untertitel 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.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "Download",
"enableSubtitles": "Untettitel aktivieren",
"experienceSection": "Anzeigeerlebnis",
"playbackItem": "Wiedergabeeinstellungen",
"qualityItem": "Qualität",
"sourceItem": "Videoquellen",
"subtitleItem": "Untertiteleinstellungen",
"videoSection": "Videoeinstellungen"
},
"sources": {
@ -239,6 +242,7 @@
"unknownOption": "Unbekannt"
},
"subtitles": {
"customChoice": "Untertitel aus Datei wählen",
"customizeLabel": "Anpassen",
"offChoice": "Aus",
"settings": {
@ -408,6 +412,8 @@
}
},
"subtitles": {
"backgroundLabel": "Hintergrunddeckkraft",
"colorLabel": "Farbe",
"previewQuote": "Das Gras wächst nicht schneller, wenn man daran zieht.",
"textSizeLabel": "Schriftgröße",
"title": "Untertitel"

View File

@ -120,7 +120,10 @@
},
"titles": {
"day": {
"default": "What would you like to watch this afternoon?"
"default": "What would you like to watch this afternoon?",
"extra": [
"Feeling adventurous? Jurassic Park might be the perfect choice."
]
},
"morning": {
"default": "What would you like to watch this morning?",

View File

@ -177,6 +177,7 @@
"downloads": {
"disclaimer": "Allalaadimine toimub otse teenusepakkujalt. movie-web ei saa kontrollida, kuidas allalaadimine toimub.",
"downloadPlaylist": "Laadige esitusloend alla",
"downloadSubtitle": "Laadige alla praegune subtiiter",
"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.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "Lae alla",
"enableSubtitles": "Luba Subtiitrid",
"experienceSection": "Vaatamise kogemus",
"playbackItem": "Taasesituse sätted",
"qualityItem": "Kvaliteet",
"sourceItem": "Video allikad",
"subtitleItem": "Subtiitri sätted",
"videoSection": "Video sätted"
},
"sources": {
@ -239,10 +242,11 @@
"unknownOption": "Teadmata"
},
"subtitles": {
"customChoice": "Vali subtiitrid failist",
"customizeLabel": "Kohanda",
"offChoice": "Välja",
"settings": {
"backlink": "Kohandatud Subtiitrid",
"backlink": "Kohandatud subtiitrid",
"delay": "Subtiitrite viivitus",
"fixCapitals": "Parandage suurtähtede kasutamine"
},
@ -408,6 +412,8 @@
}
},
"subtitles": {
"backgroundLabel": "Tausta läbipaistmatus",
"colorLabel": "Värv",
"previewQuote": "Ma ei tohi karta. Hirm on meelemõrvar.",
"textSizeLabel": "Teksti suurus",
"title": "Subtiitrid"

View File

@ -11,10 +11,10 @@
"title": "Où puis-je demander une série ou un film ?"
},
"q3": {
"body": "Nos résultats de recherche sont disponibles dans The Movie Database (TMDB), indépendamment du fait que nos sources possèdent ou non le contenu.",
"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.",
"title": "Les résultats de la recherche affichent l'émission ou le film, pourquoi ne puis-je pas le lire ?"
},
"title": "A propos de movie-web"
"title": "À propos de movie-web"
},
"actions": {
"copied": "Copié",
@ -57,7 +57,7 @@
},
"host": "Vous vous connectez à <0>{{hostname}}</0> - veuillez confirmer que vous lui faites confiance avant de créer un compte",
"no": "Retour",
"title": "Est-ce que vous avez confiance à ce serveur?",
"title": "Avez-vous confiance en ce serveur ?",
"yes": "Je fais confiance à ce serveur"
},
"verify": {
@ -176,7 +176,10 @@
"menus": {
"downloads": {
"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",
"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é.",
"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>.",
"shortTitle": "Télécharger / Android",
@ -214,10 +217,12 @@
},
"settings": {
"downloadItem": "Télécharger",
"enableSubtitles": "Activer les sous-titres",
"experienceSection": "Expérience de visionnage",
"playbackItem": "Paramètres de lecture",
"qualityItem": "Qualité",
"sourceItem": "Sources vidéo",
"subtitleItem": "Paramètres des sous-titres",
"videoSection": "Paramètres vidéo"
},
"sources": {
@ -235,6 +240,18 @@
},
"title": "Sources",
"unknownOption": "Inconnu"
},
"subtitles": {
"customChoice": "Importer des sous-titres depuis un fichier",
"customizeLabel": "Personnaliser",
"offChoice": "Désactivé",
"settings": {
"backlink": "Sous-titres personnalisés",
"delay": "Délai des sous-titres",
"fixCapitals": "Corriger les capitales"
},
"title": "Sous-titres",
"unknownLanguage": "Inconnu"
}
},
"metadata": {
@ -394,6 +411,13 @@
"userId": "ID de l'utilisateur"
}
},
"subtitles": {
"backgroundLabel": "Opacité du fond",
"colorLabel": "Couleur",
"previewQuote": "Je ne dois pas avoir peur. La peur est ce qui nous tue de l'intérieur.",
"textSizeLabel": "Taille des textes",
"title": "Sous-titres"
},
"unsaved": "Vous avez des changements non sauvegardés"
}
}

View File

@ -177,6 +177,7 @@
"downloads": {
"disclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות.",
"downloadPlaylist": "הורד פלייליסט",
"downloadSubtitle": "הורד את הכתוביות הנוכחיות",
"downloadVideo": "הורד וידאו",
"hlsDisclaimer": "ההורדות נלקחות ישירות מהספק. ל-movie-web אין שליטה על האופן שבו מסופקות ההורדות. שימו לב שאתם מורידים רשימת השמעה של HLS, זה מיועד למשתמשים שמכירים הזרמת מולטימדיה מתקדמת.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "הורד",
"enableSubtitles": "אפשר כתוביות",
"experienceSection": "חווית צפייה",
"playbackItem": "הגדרות ניגון",
"qualityItem": "איכות",
"sourceItem": "מקורות וידאו",
"subtitleItem": "הגדרות כתוביות",
"videoSection": "הגדרות וידאו"
},
"sources": {
@ -239,6 +242,7 @@
"unknownOption": "לא ידוע"
},
"subtitles": {
"customChoice": "בחר כתובית מקובץ",
"customizeLabel": "התאם",
"offChoice": "כבוי",
"settings": {
@ -401,13 +405,15 @@
"hostname": "שם מארח",
"insecure": "לא בטוח",
"notLoggedIn": "אתה לא מחובר",
"secure": "אבטח",
"secure": "מאובטח",
"title": "מידע על האפליקציה",
"unknownVersion": "לא ידוע",
"userId": "זהות המשתמש"
}
},
"subtitles": {
"backgroundLabel": "אטימות רקע",
"colorLabel": "צבע",
"previewQuote": "אסור לי לפחד. הפחד הוא קוטל הנפש.",
"textSizeLabel": "גודל הטקסט",
"title": "כתוביות"

View File

@ -1,6 +1,104 @@
{
"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.",
"faqTitle": "Domande comuni",
"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.",
"title": "Da dove arriva il contenuto?"
},
"q2": {
"body": "Non è possibile richiedere uno show o un film, movie-web non gestisce alcun contenuto. Tutti i contenuti sono visualizzati da sorgenti online.",
"title": "Dove posso richiedere una serie o un film?"
},
"q3": {
"body": "Nostri risultati sono alimentati da «The Movie Database (TMDB)» e visualizzare indipendentemente dal fatto che nostri sorgenti hanno effettivamente il contenuto.",
"title": "I risultati di ricerca mostrano la serie o il film, perché non posso riprodurlo?"
},
"title": "Su di movie-web"
},
"actions": {
"copied": "Copiato",
"copy": "Copia"
},
"auth": {
"createAccount": "Non hai ancora un account? <0>Crea un account</0>",
"deviceNameLabel": "Nome del dispositivo",
"deviceNamePlaceholder": "Telefono personale",
"generate": {
"description": "La tua frase password agisce come il tuo nome utente e password. Assicurati di tenerla al sicuro dato che ti servirà per accedere al tuo account",
"next": "Ho salvato il mio passphrase",
"passphraseFrameLabel": "Frase password",
"title": "La tua frase password"
},
"hasAccount": "Hai già un account? <0>Accedi </0>",
"login": {
"description": "Inserisci la tua frase password per accedere al proprio account",
"deviceLengthError": "Inserisci un nome per il dispositivo",
"passphraseLabel": "Frase password di 12 parole",
"passphrasePlaceholder": "Frase password",
"submit": "Accedi",
"title": "Accedi al proprio account",
"validationError": "Frase password incompleta o sbagliata"
},
"register": {
"information": {
"color1": "Colore profilo uno",
"color2": "Colore profilo due",
"header": "Inserisci un nome per il tuo dispositivo e seleziona, un colore e un'icona utente a tua scelta",
"icon": "Icona utente",
"next": "Avanti",
"title": "Informazioni sull'account"
}
},
"trust": {
"failed": {
"text": "L'avete configurata correttamente?",
"title": "Impossibile raggiungere il server"
},
"host": "Ti stai collegando a <0>{{hostname}}</0> - conferma la tua fiducia prima di creare un account",
"no": "Indietro",
"title": "Ti fidi di questo server?",
"yes": "Mi fido di questo server"
},
"verify": {
"description": "Inserisci il tuo frase password da prima per confermare che è salvato per creare il proprio account",
"invalidData": "I dati non sono validi",
"noMatch": "Frase password non corrisponde",
"passphraseLabel": "La propria frase password di 12 parole",
"recaptchaFailed": "Validazione ReCaptcha fallita",
"register": "Crea account",
"title": "Conferma la propria frase password"
}
},
"errors": {
"badge": "Si è rotto",
"details": "Dettagli errore",
"reloadPage": "Ricarica la pagina",
"showError": "Mostra dettagli dell'errore",
"title": "Si è verificato un errore!"
},
"footer": {
"legal": {
"disclaimer": "Disclaimer",
"disclaimerText": "movie-web non ospita qualsiasi file, si collega solo a fonti di terze parti. Se avete problemi legali, rivolgetevi ai file host e ai provider. movie-web non è responsabile per i file multimediali mostrati dai video provider."
},
"links": {
"discord": "Discord",
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Guardate i vostri preferiti programmi televisivi e film con questo app di streaming open source."
},
"global": {
"name": "movie-web"
"name": "movie-web",
"pages": {
"about": "Su di movie-web",
"dmca": "DMCA",
"login": "Accedi",
"pagetitle": "{{title}} - movie-web",
"register": "Registrarsi",
"settings": "Impostazioni"
}
},
"home": {
"bookmarks": {
@ -9,13 +107,33 @@
"continueWatching": {
"sectionTitle": "Continua a guardare"
},
"mediaList": {
"stopEditing": "Smettere di modificare"
},
"search": {
"allResults": "Ecco tutto ciò che abbiamo!",
"allResults": "È tutto ciò che abbiamo!",
"failed": "Impossibile trovare i media, riprova!",
"loading": "Caricamento...",
"noResults": "Non abbiamo trovato nulla!",
"placeholder": "Cosa vuoi guardare?",
"sectionTitle": "Risultati della ricerca"
},
"titles": {
"day": {
"default": "Cosa vorresti vedere questo pomeriggio?"
},
"morning": {
"default": "Cosa vorresti vedere questa mattina?",
"extra": [
"Ho sentito che «Prima Dell'alba» è buono"
]
},
"night": {
"default": "Cosa vorresti vedere questa stasera?",
"extra": [
"Stanco? Ho sentito che L'esorciccio è buono."
]
}
}
},
"media": {
@ -28,39 +146,278 @@
"navigation": {
"banner": {
"offline": "Controlla la tua connessione internet"
},
"menu": {
"about": "Su di movie-web",
"donation": "Donare",
"logout": "Esci",
"register": "Sincronizzare con il cloud",
"settings": "Impostazioni",
"support": "Impostazioni"
}
},
"notFound": {
"badge": "Non trovato",
"goHome": "Torna alla home",
"goHome": "Torna alla pagina iniziale",
"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"
},
"overlays": {
"close": "Chiudi"
},
"player": {
"back": {
"default": "Torna alla home",
"default": "Torna alla pagina iniziale",
"short": "Indietro"
},
"casting": {
"enabled": "Casting al dispositivo.."
},
"menus": {
"downloads": {
"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",
"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.",
"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>.",
"shortTitle": "Scarica / Android",
"title": "Scaricare su Android"
},
"onIos": {
"1": "Per scaricare su iOS, fai clic sul pulsante di scaricare, e poi nella nuova paggina, fai clic su <bold><ios_share /></bold> e poi<bold>Salva su FIle <ios_files /></bold>.",
"shortTitle": "Scarica / iOS",
"title": "Scaricare su iOS"
},
"onPc": {
"1": "Sul PC, fare clic sul pulsante di downloa, e poi nella nuova pagina, fai clic destro sul video e selezionare <bold>Salva video come</bold>",
"shortTitle": "Scarica / PC",
"title": "Scaricare su PC"
},
"title": "Scarica"
},
"episodes": {
"button": "Episodi",
"emptyState": "Non ci sono episodi in questa stagione, controlla più tardi!",
"episodeBadge": "E{{episode}}",
"loadingError": "Errore nel caricare la stagione",
"loadingList": "Caricamento...",
"loadingTitle": "Caricamento..."
},
"playback": {
"speedLabel": "Velocità di riproduzione",
"title": "Impostazioni di riproduzione"
},
"quality": {
"automaticLabel": "Qualità automatica",
"hint": "Si può provare <0>cambiare sorgente</0> per prendere diverse opzioni di qualità.",
"iosNoQuality": "A causa delle limitazioni imposti da Apple, la selezione della qualità non è disponibile su iOS per questa sorgente. Si può provare a <0>passare a un'altra sorgente</0> per scegliere opzioni di qualità diverse.",
"title": "Qualità"
},
"settings": {
"downloadItem": "Scarica",
"enableSubtitles": "Abilita i sottotitoli",
"experienceSection": "Esperienza di visione",
"playbackItem": "Impostazioni di riproduzione",
"qualityItem": "Qualità",
"sourceItem": "Sorgenti video",
"subtitleItem": "Impostazioni sottotitoli",
"videoSection": "Impostazioni video"
},
"sources": {
"title": "Fonti"
"failed": {
"text": "Si è verificato un errore trovare i video, provare con un'altra sorgente.",
"title": "Impossibile raschiare"
},
"noEmbeds": {
"text": "Non è stato possibile trovare alcun embed, provare con un'altra sorgente.",
"title": "Nessun embed trovato"
},
"noStream": {
"text": "Questa fonte non ha flussi per questo film o serie.",
"title": "Nessun flusso"
},
"title": "Sorgenti",
"unknownOption": "Sconosciuto"
},
"subtitles": {
"customChoice": "Selezionare i sottotitoli dal file",
"customizeLabel": "Personalizzare",
"offChoice": "Spento",
"settings": {
"backlink": "Sottotitoli personalizzati",
"delay": "Ritardo del sottotitolo",
"fixCapitals": "Correggere la capitalizzazione"
},
"title": "Sottotitoli",
"unknownLanguage": "Sconosciuto"
}
},
"metadata": {
"failed": {
"badge": "Fallito",
"homeButton": "Vai alla pagina iniziale",
"text": "Impossibile caricare i metadati da TMDB. Verifica che TMDB è offline o bloccato sulla propria connessione Internet.",
"title": "Impossibile caricare i metadati"
},
"notFound": {
"badge": "Non trovato",
"homeButton": "Torna alla home",
"homeButton": "Torna alla pagina iniziale",
"text": "Non siamo riusciti a trovare il media richiesto. È stato rimosso o hai manomesso l'URL.",
"title": "Impossibile trovare quel media."
}
},
"nextEpisode": {
"cancel": "Cancella",
"next": "Prossimo episodio"
},
"playbackError": {
"title": "Ops, qualcosa si è rotto!"
"badge": "Errore di riproduzione",
"errors": {
"errorAborted": "Il recupero del media è stato interrotto dalla richiesta dell'utente.",
"errorDecode": "Nonostante sia stato precedentemente stabilito che è utilizzabile, si è verificato un errore decodifica della risorsa multimediale, con conseguente errore.",
"errorGenericMedia": "Errore multimediale sconosciuto si è verificato.",
"errorNetwork": "Si è verificato un errore di rete che ha impedito il recupero del supporto, nonostante fosse precedentemente disponibile.",
"errorNotSupported": "L'oggetto media o media provider non è supportato."
},
"homeButton": "Torna a pagina iniziale",
"text": "Si è verificato un errore cercando di riprodurre i media. Riprova.",
"title": "Impossibile riprodurre il video!"
},
"scraping": {
"items": {
"failure": "Si è verificato un errore",
"notFound": "Non ha il video",
"pending": "Controllo per video..."
},
"notFound": {
"badge": "Non trovato",
"detailsButton": "Mostra i dettagli",
"homeButton": "Torna a pagina iniziale",
"text": "Abbiamo cercato tra i nostri fornitori e non abbiamo trovato i media che state cercando! Non ospitiamo i media e non abbiamo alcun controllo su ciò che è disponibile. Per maggiori dettagli, fare clic su \"Mostra i dettagli\" qui sotto.",
"title": "Non siamo riusciti a trovare quello"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} rimasto • Finisce a {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
}
},
"screens": {
"dmca": {
"text": "Benvenuti nella pagina di contatto DMCA di movie-web! Rispettiamo i diritti di proprietà intellettuale e vogliamo risolvere rapidamente qualsiasi problema di copyright. Se ritenete che il vostro lavoro protetto da copyright sia stato utilizzato in modo improprio sulla nostra piattaforma, inviate una notizia DMCA all'indirizzo e-mail indicato di seguito. Dovresti includere una descrizione del materiale protetto da copyright, i propri dati di contatto e una dichiarazione di buona fede. Ci impegniamo a risolvere tempestivamente questi problemi e apprezziamo la vostra collaborazione per mantenere movie-web un luogo che rispetta la creatività e i diritti d'autore.",
"title": "DMCA"
},
"loadingApp": "Caricamento dell'applicazione",
"loadingUser": "Caricamento del proprio profilo",
"loadingUserError": {
"logout": "Esci",
"reset": "Ripristino del server personalizzato",
"text": "Impossibile caricare il proprio profilo",
"textWithReset": "Impossibile caricare il proprio profile dal server personalizzato, vorresti ripristinare il server predefinito?"
},
"migration": {
"failed": "Impossible migrare i propri dati.",
"inProgress": "Attendere, stiamo migrando i propri dati."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Nome del dispositivo",
"deviceNamePlaceholder": "Telefono personale",
"editProfile": "Modifica",
"logoutButton": "Esci"
},
"actions": {
"delete": {
"button": "Eliminare l'account",
"confirmButton": "Eliminare l'account",
"confirmDescription": "Sei sicuro che vuoi eliminare il proprio account? Tutti i dati propri andranno persi!",
"confirmTitle": "Sei sicuro?",
"text": "Questa azione è irreversibile. Tutti i propri dati verranno eliminati e non sarà possibile recuperare nulla.",
"title": "Eliminare l'account"
},
"title": "Azioni"
},
"devices": {
"deviceNameLabel": "Nome dispositivo",
"failed": "Impossibile caricare sessioni",
"removeDevice": "Rimuovi",
"title": "Dispositivi"
},
"profile": {
"finish": "Finire di modificare",
"firstColor": "Colore del profilo uno",
"secondColor": "Colore del profilo due",
"title": "Modifica l'immagine del profilo",
"userIcon": "Icona utente"
},
"register": {
"cta": "Inizia",
"text": "Condividete i progressi di film o serie tra i dispositivi e manteneteli sincronizzati.",
"title": "Sincronizzazione con il cloud"
},
"title": "Account"
},
"appearance": {
"activeTheme": "Attivo",
"themes": {
"blue": "Blu",
"default": "Predefinito",
"gray": "Grigio",
"red": "Rosso",
"teal": "Verde acqua"
},
"title": "Aspetto"
},
"connections": {
"server": {
"description": "Se si desideri connettersi a un backend personalizzato per memorizzare i dati, attivare questo e fornire l'URL.",
"label": "Server personalizzato",
"urlLabel": "URL del server personalizzato"
},
"title": "Connessioni",
"workers": {
"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.",
"emptyState": "Non ci sono ancora lavoratori, aggiungetene uno sotto",
"label": "Utilizzare proxy worker personalizzati",
"urlLabel": "URL dei lavoratori",
"urlPlaceholder": "https://"
}
},
"locale": {
"language": "Lingua di applicazione",
"languageDescription": "Lingua applicata all'intera applicazione.",
"title": "Località"
},
"reset": "Reset",
"save": "Salva",
"sidebar": {
"info": {
"appVersion": "Versione dell'app",
"backendUrl": "URL backend",
"backendVersion": "Versione backend",
"hostname": "Hostname",
"insecure": "Insicuro",
"notLoggedIn": "Non sei connesso",
"secure": "Sicuro",
"title": "Informazioni dell'app",
"unknownVersion": "Sconosciuto",
"userId": "ID utente"
}
},
"subtitles": {
"backgroundLabel": "Opacità di sfondo",
"colorLabel": "Colore",
"previewQuote": "Non devo avere paura. La paura è l'assassino della mente.",
"textSizeLabel": "Dimensione testo",
"title": "Sottotitoli"
},
"unsaved": "Le modifiche non sono state salvate"
}
}

View File

@ -177,6 +177,7 @@
"downloads": {
"disclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। movie-web ले डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण गर्दैन।",
"downloadPlaylist": "डाउनलोड प्लेलिस्ट",
"downloadSubtitle": "हालको उपशीर्षक डाउनलोड गर्नुहोस्",
"downloadVideo": "डाउनलोड भिडियो",
"hlsDisclaimer": "डाउनलोडहरू सीधा प्रदायकबाट लिइन्छ। movie-webले डाउनलोडहरू कसरी प्रदान गरिन्छ भन्नेमा नियन्त्रण गर्दैन। कृपया ध्यान दिनुहोस् कि तपाइँ HLS प्लेलिस्ट डाउनलोड गर्दै हुनुहुन्छ, यो उन्नत मल्टिमिडिया स्ट्रिमिङसँग परिचित प्रयोगकर्ताहरूको लागि हो।",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "डाउनलोड",
"enableSubtitles": "उपशीर्षकहरू सक्षम गर्नुहोस्",
"experienceSection": "हेर्ने अनुभव",
"playbackItem": "प्लेब्याक सेटिङ",
"qualityItem": "क्वालिटी",
"sourceItem": "भिडियो स्रोतहरू",
"subtitleItem": "उपशीर्षक सेटिङ",
"videoSection": "भिडियो सेत्तिन्ग्स"
},
"sources": {
@ -239,14 +242,15 @@
"unknownOption": "अज्ञात"
},
"subtitles": {
"customChoice": "फाइलबाट उपशीर्षक चयन गर्नुहोस्",
"customizeLabel": "अनुकूलन गर्नुहोस्",
"offChoice": "बन्द",
"settings": {
"backlink": "अनुकूलन उपशीर्षकहरू",
"delay": "क्याप्शन ढिलाइ",
"delay": "उपशीर्षकको ढिलाइ",
"fixCapitals": "पूंजीकरण ठीक गर्नुहोस्"
},
"title": "क्याप्शन",
"title": "उपशीर्षक",
"unknownLanguage": "अज्ञात"
}
},
@ -408,9 +412,11 @@
}
},
"subtitles": {
"backgroundLabel": "पृष्ठभूमि अस्पष्टता",
"colorLabel": "रङ",
"previewQuote": "म डराउनु हुँदैन। डर दिमागको हत्यारा हो।",
"textSizeLabel": "टेक्स्ट साइज",
"title": "क्याप्शन"
"title": "उपशीर्षक"
},
"unsaved": "तपाईंसँग सुरक्षित नगरिएका परिवर्तनहरू छन्"
}

View File

@ -1,17 +1,39 @@
{
"about": {
"description": "Ahoy there! \"movie-web\" be a fine vessel on the digital seas, a web application scourin' the vast internet for streams. The crew be settin' their sights on a mostly minimalistic approach to enjoyin' the booty of entertainment. Arrr!",
"faqTitle": "Common queries",
"q1": {
"body": "Arrr! \"movie-web\" be a noble ship that don't harbor any content itself. When ye click to set yer eyes on a treasure, the application sets sail across the internet, scourin' the vast seas for the chosen media. Check the loading screen and the 'video sources' tab to spy on which source be providin' the entertainment. No media be uploaded by \"movie-web\" — it be all through this searchin' mechanism, savvy?",
"title": "From which cove does the content emerge, me heartie?"
},
"q2": {
"body": "Avast, ye landlubber! Be warned, ye can't be requestin' a show or movie on \"movie-web,\" for it don't manage any content. All the booty ye set yer eyes on be viewed through sources sailin' the internet. The ship merely be a vessel, not a keeper of the treasures. Navigate wisely, me heartie!",
"title": "Where be I able to make a hearty request for a show or movie?"
},
"q3": {
"body": "Arrr, set yer sights on this, me matey! Our search results be fueled by The Movie Database (TMDB), showin' the way regardless of whether our sources in the vast digital seas actually bear the coveted content. It be a guide, not a promise of a sure find. Navigate the waters wisely, for the winds of the internet can be fickle!",
"title": "Why be the search results unveilin' the show or movie, yet I can't set sail to watch it?"
},
"title": "The tales of \"movie-web\""
},
"actions": {
"copied": "Copied",
"copy": "Copy"
},
"auth": {
"createAccount": "Don't have a ship yet? <0>Hoist the sails and make yer own</0>",
"deviceNameLabel": "Ship name",
"deviceNamePlaceholder": "Muad'Dib's Pirate Ship",
"generate": {
"description": "If ye lose this, ye be a silly goose and will be posted on the wall of shame™",
"next": "Ahoy! I've stashed me secret code away for safe keepin'.",
"passphraseFrameLabel": "Secret Code",
"title": "Yer Passphrase"
},
"hasAccount": "Arrr! Ye already got a ship on the seas? <0>Board here, me heartie!</0>",
"login": {
"description": "Arr, ye be askin' for the key to me top-secret lair, also known as The Fortress of Wordsmithery, accessed only by recitin' the sacred incantation of the 12-word passphrase!",
"deviceLengthError": "Bestow a name upon yer contraption, me heartie!",
"passphraseLabel": "12-Word Passphrase",
"passphrasePlaceholder": "Passphrase",
"submit": "Hoist Anchor",
@ -24,6 +46,7 @@
"color2": "Second Mate color",
"header": "Enter a moniker for yer ship and choose a pirate icon and colors, arrr!",
"icon": "Pirate icon",
"next": "Forward",
"title": "Pirate Account information"
}
},
@ -43,14 +66,15 @@
"noMatch": "Passphrase doesn't match",
"passphraseLabel": "Yer passphrase",
"recaptchaFailed": "ReCaptcha validation failed",
"register": "Register",
"register": "Forge yer account, matey!",
"title": "Enter yer passphrase"
}
},
"errors": {
"badge": "Shiver me timbers",
"details": "Error details",
"details": "Ahoy! What be the secrets of the glitch?",
"reloadPage": "Reload the page",
"showError": "Reveal the details of the error, me matey",
"title": "That be an error, Captain"
},
"footer": {
@ -72,7 +96,7 @@
"dmca": "DMCA",
"login": "Login",
"pagetitle": "{{title}} - movie-web",
"register": "Register",
"register": "Forge yer account, matey!",
"settings": "Settings"
}
},
@ -89,10 +113,27 @@
"search": {
"allResults": "That's all we have, me heartie!",
"failed": "Failed to find media, try again!",
"loading": "Loading...",
"loading": "Hold yer horses, me heartie!",
"noResults": "We couldn't find anythin', arrr!",
"placeholder": "What do ye want to watch?",
"sectionTitle": "Searchin' results"
},
"titles": {
"day": {
"default": "What be yer fancy for this fine afternoon's viewing, me heartie?"
},
"morning": {
"default": "What be yer fancy for this mornin's viewing, me heartie?",
"extra": [
"I be hearin' that 'Before Sunrise' be a fine choice, me heartie"
]
},
"night": {
"default": "What be yer desire for the night's entertainment, me heartie?",
"extra": [
"Feelin' weary, are ye? I be hearin' 'The Exorcist' be a good pick to stir the spirits, me heartie."
]
}
}
},
"media": {
@ -108,6 +149,7 @@
},
"menu": {
"about": "About us",
"donation": "Share yer treasures and donate to the cause",
"logout": "Abandon ship",
"register": "Sync to the cloud",
"settings": "Settings",
@ -128,6 +170,9 @@
"default": "Back to home port",
"short": "Back"
},
"casting": {
"enabled": "Casting to the contraption, setting sail..."
},
"menus": {
"downloads": {
"disclaimer": "Downloads be taken directly from the provider. movie-web does not have control over how the downloads be provided.",
@ -169,10 +214,12 @@
},
"settings": {
"downloadItem": "Buried Treasure",
"enableSubtitles": "Unfurl the subtitles",
"experienceSection": "Viewing Experience",
"playbackItem": "Playback settings",
"qualityItem": "Quality",
"sourceItem": "Video sources",
"subtitleItem": "Set yer subtitle course",
"videoSection": "Video settings"
},
"sources": {
@ -190,6 +237,12 @@
},
"title": "Sources",
"unknownOption": "Unknown"
},
"subtitles": {
"customizeLabel": "Tailor it to yer liking",
"settings": {
"fixCapitals": "Mend the capital letters"
}
}
},
"metadata": {
@ -266,12 +319,12 @@
},
"actions": {
"delete": {
"button": "Abandon Account",
"confirmButton": "Abandon Account",
"confirmDescription": "Arrr ye sure ye want to abandon yer account? All yer booty will be lost!",
"button": "Abandon ship for all eternity",
"confirmButton": "Abandon ship for all eternity",
"confirmDescription": "Arrr ye sure ye want to abandon yer ship for all eternity? All yer booty will be lost!",
"confirmTitle": "Arrr ye sure?",
"text": "This action be irreversible. All booty will be deleted and nothin' can be recovered.",
"title": "Abandon Account"
"title": "Abandon ship for all eternity"
},
"title": "Actions"
},

View File

@ -7,12 +7,12 @@
"title": "Skąd pochodzą treści?"
},
"q2": {
"body": "Nie można złożyć wniosku o programu ani filmu, movie-web nie zarządza żadną treścią. Wszystkie treści są przeglądane za pośrednictwem źródeł w Internecie.",
"title": "Gdzie mogę złożyć wniosek o programie lub filmie?"
"body": "Nie można złożyć wniosku o serialu ani filmu, movie-web nie zarządza żadną treścią. Wszystkie treści są przeglądane za pośrednictwem źródeł w Internecie.",
"title": "Gdzie mogę złożyć wniosek o seriale lub filmie?"
},
"q3": {
"body": "Nasze wyniki wyszukiwania pochodzą z TMDB i są wyświetlane niezależnie od tego, czy nasze źródła faktycznie posiadają daną treść.",
"title": "W wyniku wyszukiwania wyświetlany jest program lub film. Dlaczego nie mogę go odtworzyć?"
"title": "W wyniku wyszukiwania wyświetlany jest serial lub film. Dlaczego nie mogę go odtworzyć?"
},
"title": "O movie-web"
},
@ -87,7 +87,7 @@
"dmca": "DMCA",
"github": "GitHub"
},
"tagline": "Oglądaj swoje ulubione programy i filmy za pomocą tej aplikacji streamingowej typu open source."
"tagline": "Oglądaj swoje ulubione seriale i filmy za pomocą tej aplikacji streamingowej typu open source."
},
"global": {
"name": "movie-web",
@ -139,8 +139,8 @@
"media": {
"episodeDisplay": "S{{season}} E{{episode}}",
"types": {
"movie": "Filmy",
"show": "Seriale"
"movie": "Film",
"show": "Serial"
}
},
"navigation": {
@ -177,6 +177,7 @@
"downloads": {
"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",
"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.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "Pobierz",
"enableSubtitles": "Włącz napisy",
"experienceSection": "Odtwarzanie",
"playbackItem": "Ustawienia odtwarzania",
"qualityItem": "Jakość",
"sourceItem": "Źródła wideo",
"subtitleItem": "Ustawienia napisów",
"videoSection": "Ustawienia wideo"
},
"sources": {
@ -232,13 +235,14 @@
"title": "Nie znaleziono osadzonych treści"
},
"noStream": {
"text": "To źródło nie ma strumieni dla tego filmu lub programu.",
"text": "To źródło nie ma strumieni dla tego filmu lub serialu.",
"title": "Brak strumienia"
},
"title": "Źródła",
"unknownOption": "Nieznany"
},
"subtitles": {
"customChoice": "Wybierz napisy z pliku",
"customizeLabel": "Dostosuj",
"offChoice": "Wyłączone",
"settings": {
@ -389,7 +393,7 @@
"locale": {
"language": "Język aplikacji",
"languageDescription": "Język zastosowany do całej aplikacji.",
"title": "Język"
"title": "Ustawienia regionalne"
},
"reset": "Reset",
"save": "Zapisz",
@ -408,6 +412,8 @@
}
},
"subtitles": {
"backgroundLabel": "Krycie tła",
"colorLabel": "Kolor",
"previewQuote": "Nie wolno mi się bać. Strach zabija myślenie.",
"textSizeLabel": "Rozmiar czcionki",
"title": "Napisy"

View File

@ -177,6 +177,7 @@
"downloads": {
"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",
"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.",
"onAndroid": {
@ -216,10 +217,12 @@
},
"settings": {
"downloadItem": "Baixar",
"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 legenda",
"videoSection": "Configurações de vídeo"
},
"sources": {
@ -239,6 +242,7 @@
"unknownOption": "Desconhecido"
},
"subtitles": {
"customChoice": "Selecione arquivo de legenda",
"customizeLabel": "Personalizar",
"offChoice": "Desativadas",
"settings": {
@ -408,6 +412,8 @@
}
},
"subtitles": {
"backgroundLabel": "Opacidade do fundo",
"colorLabel": "Cor",
"previewQuote": "Eu não devo ter medo. Medo é o assassino da mente.",
"textSizeLabel": "Tamanho do texto",
"title": "Legendas"

View File

@ -176,7 +176,10 @@
"menus": {
"downloads": {
"disclaimer": "การดาวน์โหลดจะถูกนํามาจากผู้ให้บริการโดยตรง movie-web ไม่สามารถควบคุมวิธีการดาวน์โหลดได้",
"downloadPlaylist": "ดาวน์โหลดเพลย์ลิสต์",
"downloadSubtitle": "ดาวน์โหลดคำบรรยายนี้",
"downloadVideo": "ดาวน์โหลดวิดีโอ",
"hlsDisclaimer": "การดาวน์โหลดจะเป็นการดาวน์โหลดโดยตรงจากผู้ให้บริการ โดยเว็บไซต์ movie-web ไม่สามารถควบคุมวิธีการที่ไฟล์จะถูกดาวน์โหลด โปรดทราบว่าหากคุณกำลังดาวน์โหลดเพลย์ลิสต์ HLS ซึ่งมีจุดประสงค์สำหรับผู้ใช้ที่มีความเข้าใจใน สตรีมมิ่ง และมัลติมีเดียขั้นสูง.",
"onAndroid": {
"1": "หากต้องการดาวน์โหลดบน Android ให้คลิกปุ่มดาวน์โหลด จากนั้นในหน้าใหม่ <bold>แตะ</bold> บนวิดีโอค้างไว้ จากนั้นเลือก <bold>บันทึก</bold>",
"shortTitle": "ดาวน์โหลด / Android",
@ -197,7 +200,7 @@
"episodes": {
"button": "ตอน",
"emptyState": "ไม่มีตอนเหล่านี้ในภาคนี้ โปรดกลับมาดูทีหลัง!",
"episodeBadge": "ต{{episode}}",
"episodeBadge": "ตอนที่ {{episode}}",
"loadingError": "การโหลดภาคผิดพลาด",
"loadingList": "กำลังโหลด…",
"loadingTitle": "กำลังโหลด…"
@ -214,10 +217,12 @@
},
"settings": {
"downloadItem": "ดาวน์โหลด",
"enableSubtitles": "เปิดคำบรรยาย",
"experienceSection": "ประสบการณ์รับชม",
"playbackItem": "ตั้งค่าการเล่น",
"qualityItem": "คุณภาพ",
"sourceItem": "แหล่งที่มาของวิดีโอ",
"subtitleItem": "ตั้งค่าคำบรรยาย",
"videoSection": "ตั้งค่าวิดีโอ"
},
"sources": {
@ -235,6 +240,17 @@
},
"title": "แหล่งที่มา",
"unknownOption": "ไม่ทราบ"
},
"subtitles": {
"customChoice": "เลือกคำบรรยายจากไฟล์",
"customizeLabel": "ปรับแต่ง",
"offChoice": "ปิด",
"settings": {
"backlink": "คำบรรยายแบบกำหนดเอง",
"delay": "เวลาดีเลย์คำบรรยาย"
},
"title": "คำบรรยาย",
"unknownLanguage": "ไม่ทราบ"
}
},
"metadata": {
@ -394,6 +410,13 @@
"userId": "รหัสผู้ใช้"
}
},
"subtitles": {
"backgroundLabel": "ความทึบของพื้นหลัง",
"colorLabel": "สี",
"previewQuote": "คำบรรยายจะมีลักษณะแบบนี้",
"textSizeLabel": "ขนาดข้อความ",
"title": "คำบรรยาย"
},
"unsaved": "คุณได้บันทึกการเปลี่ยนแปลงแล้ว"
}
}

View File

@ -1,5 +1,11 @@
{
"about": {
"description": "ilo Muwi-We li lukin li wile e sitelen. kulupu lawa li lawa pona",
"faqTitle": "sona wile",
"q1": {
"body": "ilo Muwi-We li mama ala e sitelen. sina lukin e sitelen la mi alasa e sitelen lon lipu ale. (sina ken sona e mama sitelen lon tenpo alasa lon poki 'mama'.) sitelen li awen ala lon ilo Muwi-We. ale li lon alasa ni",
"title": "sitelen li tan seme?"
},
"title": "ilo Muwi-We la"
},
"actions": {
@ -342,8 +348,8 @@
"languageDescription": "ilo li toki kepeken toki ni:",
"title": "toki"
},
"reset": "o sin",
"save": "o awen",
"reset": "o weka e ante",
"save": "o ante",
"unsaved": "ante sina li awen ala"
}
}

View File

@ -23,6 +23,8 @@ const countryOverrides: Record<string, string> = {
sv: "se",
et: "ee",
ne: "np",
uk: "ua",
hi: "in",
};
export function FlagIcon(props: FlagIconProps) {
@ -31,6 +33,13 @@ export function FlagIcon(props: FlagIconProps) {
if (countryOverrides[countryCode])
countryCode = countryOverrides[countryCode];
if (countryCode === "tok")
return (
<div className="w-8 h-6 rounded bg-[#c8e1ed] flex justify-center items-center">
<img src="/tokiPona.svg" className="w-7 h-5" />
</div>
);
if (countryCode === "pirate")
return (
<div className="w-8 h-6 rounded bg-[#2E3439] flex justify-center items-center">

View File

@ -63,7 +63,8 @@ function useBaseScrape() {
const lastIdTmp = lastId.current;
setSources((s) => {
if (s[id]) s[id].status = "pending";
if (lastIdTmp && s[lastIdTmp]) s[lastIdTmp].status = "success";
if (lastIdTmp && s[lastIdTmp] && s[lastIdTmp].status === "pending")
s[lastIdTmp].status = "success";
return { ...s };
});
setCurrentSource(id);

View File

@ -14,7 +14,10 @@ export function useRandomTranslation() {
const defaultTitle = t(`${key}.default`) ?? "";
if (!shouldJoke) return defaultTitle;
const keys = t(`${key}.extra`, { returnObjects: true });
const keys = t(`${key}.extra`, {
returnObjects: true,
defaultValue: defaultTitle,
});
if (Array.isArray(keys)) {
if (keys.length === 0) return defaultTitle;
return keys[Math.floor(seed * keys.length)];

View File

@ -37,7 +37,7 @@ export function ScrapeErrorPart(props: ScrapeErrorPartProps) {
if (v.reason) str += `${v.reason}\n`;
if (v.error?.message)
str += `${v.error.name ?? "unknown"}: ${v.error.message}\n`;
if (v.error) str += `${v.error.toString()}\n`;
else if (v.error) str += `${v.error.toString()}\n`;
});
return str;
}, [props, location]);