diff --git a/src/components/popout/FloatingCard.tsx b/src/components/popout/FloatingCard.tsx
index b4fd250c..47bfcb59 100644
--- a/src/components/popout/FloatingCard.tsx
+++ b/src/components/popout/FloatingCard.tsx
@@ -154,7 +154,7 @@ export const FloatingCardView = {
className="flex cursor-pointer items-center space-x-2 transition-colors duration-200 hover:text-white"
>
- Close
+ {t("videoPlayer.popouts.close")}
);
diff --git a/src/setup/i18n.ts b/src/setup/i18n.ts
index 6116434a..d3aa261f 100644
--- a/src/setup/i18n.ts
+++ b/src/setup/i18n.ts
@@ -9,6 +9,7 @@ import en from "./locales/en/translation.json";
import fr from "./locales/fr/translation.json";
import nl from "./locales/nl/translation.json";
import pirate from "./locales/pirate/translation.json";
+import pl from "./locales/pl/translation.json";
import tr from "./locales/tr/translation.json";
import zh from "./locales/zh/translation.json";
@@ -37,6 +38,9 @@ const locales = {
pirate: {
translation: pirate,
},
+ pl: {
+ translation: pl,
+ },
};
i18n
// pass the i18n instance to react-i18next.
diff --git a/src/setup/locales/en/translation.json b/src/setup/locales/en/translation.json
index d8b81da4..d90b568b 100644
--- a/src/setup/locales/en/translation.json
+++ b/src/setup/locales/en/translation.json
@@ -71,7 +71,16 @@
"popouts": {
"back": "Go back",
"sources": "Sources",
- "seasons": "Seasons",
+ "close": "Close",
+ "seasons": {
+ "title":"Seasons",
+ "other": "Other seasons",
+ "noSeason": "No season"
+ },
+ "episodes": {
+ "unknown": "Unknown episode",
+ "noEpisode": "No episode"
+ },
"captions": "Captions",
"playbackSpeed": "Playback speed",
"customPlaybackSpeed": "Custom playback speed",
diff --git a/src/setup/locales/pl/translation.json b/src/setup/locales/pl/translation.json
new file mode 100644
index 00000000..a85d9c70
--- /dev/null
+++ b/src/setup/locales/pl/translation.json
@@ -0,0 +1,137 @@
+{
+ "global": {
+ "name": "movie-web"
+ },
+ "search": {
+ "loading_series": "Szukamy twoich ulubionych seriali...",
+ "loading_movie": "Szukamy twoich ulubionych filmów...",
+ "loading": "Wczytywanie...",
+ "allResults": "To wszystko co mamy!",
+ "noResults": "Nie mogliśmy niczego znaleźć!",
+ "allFailed": "Nie udało się znaleźć mediów, Spróbuj ponownie!",
+ "headingTitle": "Wyniki wyszukiwania",
+ "bookmarks": "Zakładki",
+ "continueWatching": "Kontynuuj oglądanie",
+ "title": "Co chciałbyś obejrzeć?",
+ "placeholder": "Co chciałbyś obejrzeć?"
+ },
+ "media": {
+ "movie": "Film",
+ "series": "Serial",
+ "stopEditing": "Zatrzymaj edycje",
+ "errors": {
+ "genericTitle": "Ups, popsuło się!",
+ "failedMeta": "Nie udało się wczytać metadanych",
+ "mediaFailed": "Nie udało nam się zarządać mediów, sprawdź połączenie sieciowe i spróbuj ponownie.",
+ "videoFailed": "Napotkaliśmy błąd podczas odtwarzania rządanego video. Jeśli problem będzie się powtarzać prosimy o zgłoszenie problemu na <0>Serwer Discord0> lub na <1>GitHub1>."
+ }
+ },
+ "seasons": {
+ "seasonAndEpisode": "S{{season}} E{{episode}}"
+ },
+ "notFound": {
+ "genericTitle": "Nie znaleziono",
+ "backArrow": "Wróć na stronę główną",
+ "media": {
+ "title": "Nie można znaleźć multimediów",
+ "description": "Nie mogliśmy znaleźć rządanych multimediów. Albo zostały usunięte, albo grzebałeś przy adresie URL."
+ },
+ "provider": {
+ "title": "Ten dostawca został wyłączony",
+ "description": "Mieliśmy problemy z tym dostawcą, albo był zbyt niestabilny, więc musieliśmy go wyłączyć."
+ },
+ "page": {
+ "title": "Nie można znaleźć tej strony",
+ "description": "Szukaliśmy wszędzie: w koszu, w szafie a nawet w piwnicy, ale nie byliśmy w stanie znaleźć strony której szukasz."
+ }
+ },
+ "searchBar": {
+ "movie": "Filmy",
+ "series": "Seriale",
+ "Search": "Szukaj"
+ },
+ "videoPlayer": {
+ "findingBestVideo": "Szukamy najlepszego video dla ciebie",
+ "noVideos": "Oj, Nie mogliśmy znaleźć żadnego video",
+ "loading": "Wczytywanie...",
+ "backToHome": "Wróć na stronę główną",
+ "backToHomeShort": "Wróć",
+ "seasonAndEpisode": "S{{season}} E{{episode}}",
+ "timeLeft": "Pozostało {{timeLeft}}",
+ "finishAt": "Zakończ na {{timeFinished, datetime}}",
+ "buttons": {
+ "episodes": "Odcinki",
+ "source": "Źródło",
+ "captions": "Napisy",
+ "download": "Pobierz",
+ "settings": "Ustawienia",
+ "pictureInPicture": "Obraz w obrazie (PIP)",
+ "playbackSpeed": "Prędkość odtwarzania"
+ },
+ "popouts": {
+ "close": "Zamknąć",
+ "seasons": {
+ "title":"Sezony",
+ "other": "Inne sezony",
+ "noSeason": "Brak sezonu"
+ },
+ "episodes": {
+ "unknown": "Nieznany odcinki",
+ "noEpisode": "Brak odcinki"
+ },
+ "back": "Wróć",
+ "sources": "Źródła",
+ "captions": "Napisy",
+ "playbackSpeed": "Prędkość odtwarzania",
+ "customPlaybackSpeed": "Niestandardowa prędkość odtwarzania",
+ "captionPreferences": {
+ "title": "Personalizuj",
+ "delay": "Opóźnienie",
+ "fontSize": "Rozmiar",
+ "opacity": "Przeźroczystość",
+ "color": "Kolor"
+ },
+ "episode": "E{{index}} - {{title}}",
+ "noCaptions": "Brak napisów",
+ "linkedCaptions": "Załączone napisy",
+ "customCaption": "Napisy niestandardowe",
+ "uploadCustomCaption": "Załącz",
+ "noEmbeds": "Nie znaleziono osadzonych mediów dla tego źródła",
+
+ "errors": {
+ "loadingWentWong": "Coś poszło nie tak {{seasonTitle}}",
+ "embedsError": "Coś poszło nie tak przy wczytywaniu osadzonych mediów"
+ },
+ "descriptions": {
+ "sources": "Którego dostawcy chciałbyś używać?",
+ "embeds": "Wybierz, które video chcesz zobaczyć",
+ "seasons": "Wybierz, który sezon chcesz obejrzeć",
+ "episode": "Wybierz odcinek",
+ "captions": "Zmień język napisów",
+ "captionPreferences": "Ustaw napisy, tak jak ci to odpowiada",
+ "playbackSpeed": "Zmień prędkość odtwarzania"
+ }
+ },
+ "errors": {
+ "fatalError": "Odtwarzacz napotkał poważny błąd, Prosimy o złoszenie tego na <0>Serwer Discord0> lub na <1>GitHub1>."
+ }
+ },
+ "settings": {
+ "title": "Ustawienia",
+ "language": "Język",
+ "captionLanguage": "Język napisów"
+ },
+ "v3": {
+ "newSiteTitle": "Nowa wersja została wydana!",
+ "newDomain": "https://movie-web.app",
+ "newDomainText": "movie-web przeniesie się wkrótce na nowy adres: <0>https://movie-web.app0>. Prosimy zaaktualizować swoje zakładki ponieważ <1>stara strona przestanie działać {{date}}.1>",
+ "tireless": "Pracowaliśmy niestrudzenie nad tą aktualizacją, Mamy nadzieję że będziecie zadowoleni z tego nad czym pracowaliśmy przez ostatnie parę miesięcy.",
+ "leaveAnnouncement": "Zabierz mnie tam!"
+ },
+ "casting": {
+ "casting": "Przesyłanie do urządzenia..."
+ },
+ "errors": {
+ "offline": "Sprawdź swoje połączenie sieciowe"
+ }
+}
diff --git a/src/setup/locales/tr/translation.json b/src/setup/locales/tr/translation.json
index 326cc35d..bab6cd1d 100644
--- a/src/setup/locales/tr/translation.json
+++ b/src/setup/locales/tr/translation.json
@@ -71,7 +71,16 @@
"popouts": {
"back": "Geri git",
"sources": "Kaynaklar",
- "seasons": "Sezonlar",
+ "close":"Kapat",
+ "seasons": {
+ "title":"Sezonlar",
+ "other": "Diğer sezonlar",
+ "noSeason": "Sezon yok"
+ },
+ "episodes": {
+ "unknown": "Bilinmeyen bölüm",
+ "noEpisode": "Bölüm yok"
+ },
"captions": "Altyazılar",
"playbackSpeed": "Oynatma hızı",
"customPlaybackSpeed": "Özel oynatma hızı",
diff --git a/src/video/components/popouts/EpisodeSelectionPopout.tsx b/src/video/components/popouts/EpisodeSelectionPopout.tsx
index bd152378..c80045bd 100644
--- a/src/video/components/popouts/EpisodeSelectionPopout.tsx
+++ b/src/video/components/popouts/EpisodeSelectionPopout.tsx
@@ -99,10 +99,10 @@ export function EpisodeSelectionPopout() {
<>
navigate("/episodes")}
- backText={`To ${currentSeasonInfo?.title.toLowerCase()}`}
+ backText={currentSeasonInfo?.title}
/>
{currentSeasonInfo
@@ -115,12 +115,15 @@ export function EpisodeSelectionPopout() {
{season.title}
))
- : "No season"}
+ : t("videoPlayer.popouts.seasons.noSeason")}
navigate("/episodes/seasons")}
className="flex cursor-pointer items-center space-x-2 transition-colors duration-200 hover:text-white"
>
- Other seasons
+ {t("videoPlayer.popouts.seasons.other")}
}
@@ -181,7 +184,7 @@ export function EpisodeSelectionPopout() {
})}
))
- : "No episodes"}
+ : t("videoPlayer.popouts.episodes.noEpisode")}
)}