mirror of
https://github.com/sussy-code/smov.git
synced 2024-12-20 14:37:43 +01:00
Merge branch 'dev' of https://github.com/movie-web/movie-web into subtitle-file-type-control
This commit is contained in:
commit
f784f5f4b2
7 changed files with 179 additions and 15 deletions
|
@ -8,7 +8,7 @@
|
||||||
<a href="https://discord.gg/vXsRvye8BS"><img src="https://discordapp.com/api/guilds/871713465100816424/widget.png?style=banner2" alt="Discord Server"></a>
|
<a href="https://discord.gg/vXsRvye8BS"><img src="https://discordapp.com/api/guilds/871713465100816424/widget.png?style=banner2" alt="Discord Server"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
movie-web is a web app for watching movies easily. Check it out at **[movie.squeezebox.dev](https://movie.squeezebox.dev)**.
|
movie-web is a web app for watching movies easily. Check it out at **[movie-web.app](https://movie-web.app)**.
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "movie-web",
|
"name": "movie-web",
|
||||||
"version": "3.0.12",
|
"version": "3.0.13",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://movie-web.app",
|
"homepage": "https://movie-web.app",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -7,12 +7,12 @@ export function useVolumeControl(descriptor: string) {
|
||||||
const controls = useControls(descriptor);
|
const controls = useControls(descriptor);
|
||||||
const mediaPlaying = useMediaPlaying(descriptor);
|
const mediaPlaying = useMediaPlaying(descriptor);
|
||||||
|
|
||||||
const toggleVolume = () => {
|
const toggleVolume = (isKeyboardEvent = false) => {
|
||||||
if (mediaPlaying.volume > 0) {
|
if (mediaPlaying.volume > 0) {
|
||||||
setStoredVolume(mediaPlaying.volume);
|
setStoredVolume(mediaPlaying.volume);
|
||||||
controls.setVolume(0);
|
controls.setVolume(0, isKeyboardEvent);
|
||||||
} else {
|
} else {
|
||||||
controls.setVolume(storedVolume > 0 ? storedVolume : 1);
|
controls.setVolume(storedVolume > 0 ? storedVolume : 1, isKeyboardEvent);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@ import LanguageDetector from "i18next-browser-languagedetector";
|
||||||
// Languages
|
// Languages
|
||||||
import en from "./locales/en/translation.json";
|
import en from "./locales/en/translation.json";
|
||||||
import nl from "./locales/nl/translation.json";
|
import nl from "./locales/nl/translation.json";
|
||||||
|
import tr from "./locales/tr/translation.json";
|
||||||
|
import fr from "./locales/fr/translation.json";
|
||||||
|
|
||||||
import { captionLanguages } from "./iso6391";
|
import { captionLanguages } from "./iso6391";
|
||||||
|
|
||||||
const locales = {
|
const locales = {
|
||||||
|
@ -14,6 +17,12 @@ const locales = {
|
||||||
nl: {
|
nl: {
|
||||||
translation: nl,
|
translation: nl,
|
||||||
},
|
},
|
||||||
|
tr: {
|
||||||
|
translation: tr,
|
||||||
|
},
|
||||||
|
fr: {
|
||||||
|
translation: fr,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
i18n
|
i18n
|
||||||
// detect user language
|
// detect user language
|
||||||
|
|
|
@ -16,16 +16,34 @@
|
||||||
"placeholder": "Que voulez-vous voir?"
|
"placeholder": "Que voulez-vous voir?"
|
||||||
},
|
},
|
||||||
"media": {
|
"media": {
|
||||||
"title": "Impossible de trouver ce média",
|
"movie": "Films",
|
||||||
"description": "Nous n'avons pas pu trouver le média que vous avez demandé. Soit il a été supprimé, soit vous avez altéré l'URL."
|
"series": "Séries",
|
||||||
|
"stopEditing": "Arrêter l'édition",
|
||||||
|
"errors": {
|
||||||
|
"genericTitle": "Oups, c'est coupé !",
|
||||||
|
"failedMeta": "Impossible de charger les métadonnées",
|
||||||
|
"mediaFailed": "Nous n'avons pas réussi à récupérer le média que vous avez demandé. Veuillez vérifier votre connexion Internet et réessayer.",
|
||||||
|
"videoFailed": "Nous avons rencontré une erreur lors de la lecture de la vidéo que vous avez demandée. Si cela se reproduit, veuillez signaler le problème au serveur <0>Discord</0> ou sur <1>GitHub</1>."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"provider": {
|
"seasons": {
|
||||||
"title": "Ce fournisseur a été désactivé",
|
"seasonAndEpisode": "S{{saison}} E{{épisode}}"
|
||||||
"description": "Nous avons eu des problèmes avec le fournisseur ou bien il était trop instable pour être utilisé, donc nous avons dû le désactiver."
|
|
||||||
},
|
},
|
||||||
"page": {
|
"notFound": {
|
||||||
"title": "Impossible de trouver cette page",
|
"genericTitle": "Introuvable",
|
||||||
"description": "Nous avons cherché partout : sous les poubelles, dans le placard, derrière le proxy, mais nous n'avons finalement pas pu trouver la page que vous recherchez."
|
"backArrow": "Retour à l'accueil",
|
||||||
|
"media": {
|
||||||
|
"title": "Impossible de trouver ce média",
|
||||||
|
"description": "Nous n'avons pas trouvé le média que vous avez demandé. Soit il a été supprimé, soit vous avez modifié l'URL."
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"title": "Ce fournisseur a été désactivé",
|
||||||
|
"description": "Nous avons eu des problèmes avec le fournisseur ou il était trop instable pour être utilisé, nous avons donc dû le désactiver."
|
||||||
|
},
|
||||||
|
"page": {
|
||||||
|
"title": "Impossible de trouver cette page",
|
||||||
|
"description": "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."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"searchBar": {
|
"searchBar": {
|
||||||
"movie": "Film",
|
"movie": "Film",
|
||||||
|
@ -51,9 +69,12 @@
|
||||||
"playbackSpeed": "Vitesse"
|
"playbackSpeed": "Vitesse"
|
||||||
},
|
},
|
||||||
"popouts": {
|
"popouts": {
|
||||||
|
"back": "Retourner",
|
||||||
"sources": "Sources",
|
"sources": "Sources",
|
||||||
"seasons": "Saisons",
|
"seasons": "Saisons",
|
||||||
"captions": "Sous-titres",
|
"captions": "Sous-titres",
|
||||||
|
"playbackSpeed": "Vitesse de lecture",
|
||||||
|
"customPlaybackSpeed": "Vitesse de lecture personnalisée",
|
||||||
"captionPreferences": {
|
"captionPreferences": {
|
||||||
"title": "Personnaliser",
|
"title": "Personnaliser",
|
||||||
"delay": "Délai",
|
"delay": "Délai",
|
||||||
|
@ -77,13 +98,19 @@
|
||||||
"seasons": "Choisissez la saison que vous voulez regarder",
|
"seasons": "Choisissez la saison que vous voulez regarder",
|
||||||
"episode": "Sélectionnez un épisode",
|
"episode": "Sélectionnez un épisode",
|
||||||
"captions": "Choisissez une langue de sous-titres",
|
"captions": "Choisissez une langue de sous-titres",
|
||||||
"captionPreferences": "Personnalisez l'apparence des sous-titres"
|
"captionPreferences": "Personnalisez l'apparence des sous-titres",
|
||||||
|
"playbackSpeed": "Changer la vitesse de lecture"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
"fatalError": "Le lecteur vidéo a rencontré une erreur fatale, veuillez la signaler au serveur <0>Discord</0> ou sur <1>GitHub</1>."
|
"fatalError": "Le lecteur vidéo a rencontré une erreur fatale, veuillez la signaler au serveur <0>Discord</0> ou sur <1>GitHub</1>."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Paramètres",
|
||||||
|
"language": "Language",
|
||||||
|
"captionLanguage": "Langue des sous-titres"
|
||||||
|
},
|
||||||
"v3": {
|
"v3": {
|
||||||
"newSiteTitle": "Nouvelle version disponible!",
|
"newSiteTitle": "Nouvelle version disponible!",
|
||||||
"newDomain": "https://movie-web.app",
|
"newDomain": "https://movie-web.app",
|
||||||
|
|
128
src/setup/locales/tr/translation.json
Normal file
128
src/setup/locales/tr/translation.json
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
{
|
||||||
|
"global": {
|
||||||
|
"name": "movie-web"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"loading_series": "Favori dizileriniz aranıyor...",
|
||||||
|
"loading_movie": "Favori filmleriniz aranıyor...",
|
||||||
|
"loading": "Yükleniyor...",
|
||||||
|
"allResults": "Bu kadarını bulabildik!",
|
||||||
|
"noResults": "Hiçbir şey bulamadık!",
|
||||||
|
"allFailed": "Medya bulunamadı, tekrar deneyin!",
|
||||||
|
"headingTitle": "Arama sonuçları",
|
||||||
|
"bookmarks": "Yerimleri",
|
||||||
|
"continueWatching": "İzlemeye devam edin",
|
||||||
|
"title": "Ne izlemek istersiniz?",
|
||||||
|
"placeholder": "Ne izlemek istersiniz?"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"movie": "Film",
|
||||||
|
"series": "Dizi",
|
||||||
|
"stopEditing": "Düzenlemeyi durdur",
|
||||||
|
"errors": {
|
||||||
|
"genericTitle": "Hay aksi, bozuldu!",
|
||||||
|
"failedMeta": "Önbilgi yüklenemedi",
|
||||||
|
"mediaFailed": "İstediğiniz medyaya istek atarken hata oluştu, internet bağlantınızı kontrol edin ve tekrar deneyin.",
|
||||||
|
"videoFailed": "İstediğiniz videoyu oynatırken bir sorunla karşılaştık. Bu durum devam ederse lütfen bunu <0>Discord sunucumuza</0> veya <1>GitHub</1> üzerinden bildiriniz."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"seasons": {
|
||||||
|
"seasonAndEpisode": "S{{season}} B{{episode}}"
|
||||||
|
},
|
||||||
|
"notFound": {
|
||||||
|
"genericTitle": "Bulunamadı",
|
||||||
|
"backArrow": "Geri",
|
||||||
|
"media": {
|
||||||
|
"title": "Medya bulunamadı",
|
||||||
|
"description": "İstediğiniz medyayı bulamadık. URL'i yanlış girdiniz ya da medya kaldırıldı."
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"title": "Bu sağlayıcı devre dışı bırakıldı",
|
||||||
|
"description": "Sağlayıcı ile ilgili bir sorun oluştu ya da kullanılacak kadar stabil değildi bu yüzden devre dışı bırakmak zorunda kaldık."
|
||||||
|
},
|
||||||
|
"page": {
|
||||||
|
"title": "Sayfa bulunamadı",
|
||||||
|
"description": "Her yere baktık: bazanın altına, dolabın içine hatta ara sunucuya ama maalesef aradığınız sayfayı bulamadık."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchBar": {
|
||||||
|
"movie": "Film",
|
||||||
|
"series": "Dizi",
|
||||||
|
"Search": "Ara"
|
||||||
|
},
|
||||||
|
"videoPlayer": {
|
||||||
|
"findingBestVideo": "Sizin için en iyi videoyu buluyoruz...",
|
||||||
|
"noVideos": "Hay aksi, hiçbir video bulamadık",
|
||||||
|
"loading": "Yükleniyor...",
|
||||||
|
"backToHome": "Ana sayfaya dön",
|
||||||
|
"backToHomeShort": "Geri",
|
||||||
|
"seasonAndEpisode": "S{{season}} B{{episode}}",
|
||||||
|
"timeLeft": "{{timeLeft}} kaldı",
|
||||||
|
"finishAt": "{{timeFinished, datetime}}'de/da bitiyor",
|
||||||
|
"buttons": {
|
||||||
|
"episodes": "Bölümler",
|
||||||
|
"source": "Kaynak",
|
||||||
|
"captions": "Altyazılar",
|
||||||
|
"download": "İndir",
|
||||||
|
"settings": "Ayarlar",
|
||||||
|
"pictureInPicture": "Resim içinde Resim",
|
||||||
|
"playbackSpeed": "Oynatma Hızı"
|
||||||
|
},
|
||||||
|
"popouts": {
|
||||||
|
"back": "Geri git",
|
||||||
|
"sources": "Kaynaklar",
|
||||||
|
"seasons": "Sezonlar",
|
||||||
|
"captions": "Altyazılar",
|
||||||
|
"playbackSpeed": "Oynatma hızı",
|
||||||
|
"customPlaybackSpeed": "Özel oynatma hızı",
|
||||||
|
"captionPreferences": {
|
||||||
|
"title": "Kişiselleştirme",
|
||||||
|
"delay": "Gecikme",
|
||||||
|
"fontSize": "Boyut",
|
||||||
|
"opacity": "Opaklık",
|
||||||
|
"color": "Renk"
|
||||||
|
},
|
||||||
|
"episode": "B{{index}} - {{title}}",
|
||||||
|
"noCaptions": "Altyazı yok",
|
||||||
|
"linkedCaptions": "Kaynak Altyazıları",
|
||||||
|
"customCaption": "Özel altyazı",
|
||||||
|
"uploadCustomCaption": "Altyazı yükle",
|
||||||
|
"noEmbeds": "Bu kaynak için gömülü video bulunamadı",
|
||||||
|
|
||||||
|
"errors": {
|
||||||
|
"loadingWentWong": "{{seasonTitle}} için bölümler yüklenirken bir hata oluştu",
|
||||||
|
"embedsError": "İstediğiniz şey için gömülü video bulunurken bir hata oluştu"
|
||||||
|
},
|
||||||
|
"descriptions": {
|
||||||
|
"sources": "Hangi sağlayıcıyı kullanmak istersiniz?",
|
||||||
|
"embeds": "Görüntülemek istediğiniz videoyu seçiniz",
|
||||||
|
"seasons": "İzlemek istediğiniz sezonu seçiniz",
|
||||||
|
"episode": "Bir bölüm seçiniz",
|
||||||
|
"captions": "Altyazı dili seçiniz",
|
||||||
|
"captionPreferences": "Altyazıları istediğiniz gibi ayarlayın",
|
||||||
|
"playbackSpeed": "Oynatma hızınızı değiştirin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"fatalError": "Video oynatıcıda bir hata oluştu, lütfen bunu <0>Discord sunucumuzda</0> ya da <1>GitHub</1> üzeriden bildiriniz."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"title": "Ayarlar",
|
||||||
|
"language": "Dil",
|
||||||
|
"captionLanguage": "Altyazı Dili"
|
||||||
|
},
|
||||||
|
"v3": {
|
||||||
|
"newSiteTitle": "Yeni sürüm yayınlandı!",
|
||||||
|
"newDomain": "https://movie-web.app",
|
||||||
|
"newDomainText": "movie-web yakında yeni bir alan adına taşınacak: <0>https://movie-web.app</0>. <1>{{date}} tarihinde eski site çalışmayacağı için</1> yerimlerinizi güncellemeyi unutmayın.",
|
||||||
|
"tireless": "Bu yeni güncelleme için gece gündüz çalıştık, umarız aylardan beri hazırladığımız bu güncellemeyi beğenirsiniz.",
|
||||||
|
"leaveAnnouncement": "Götür beni!"
|
||||||
|
},
|
||||||
|
"casting": {
|
||||||
|
"casting": "Cihaza aktarılıyor..."
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"offline": "İnternet bağlantınızı kontrol ediniz"
|
||||||
|
}
|
||||||
|
}
|
|
@ -60,7 +60,7 @@ export function KeyboardShortcutsAction() {
|
||||||
|
|
||||||
// Mute
|
// Mute
|
||||||
case "m":
|
case "m":
|
||||||
toggleVolume();
|
toggleVolume(true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Decrease volume
|
// Decrease volume
|
||||||
|
|
Loading…
Reference in a new issue