Compare commits

...

20 Commits

Author SHA1 Message Date
Mehdi 2e1008abf3 Translated using Weblate (Persian)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fa/
Author: Mehdi <pyrexrj@gmail.com>
2024-04-22 20:45:11 +00:00
maximehrd 65cc20b25d Translated using Weblate (Dutch)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/nl/
Author: maximehrd <maxlol78000@gmail.com>
2024-04-22 20:45:11 +00:00
maximehrd 88e5fd8368 Translated using Weblate (French)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/fr/
Author: maximehrd <maxlol78000@gmail.com>
2024-04-22 20:45:11 +00:00
Queen 62e9dbd376 Translated using Weblate (Slovenian)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/sl/
Author: Queen <anastasiapevac@gmail.com>
2024-04-22 20:45:11 +00:00
Queen beb3ec53b2 Translated using Weblate (German)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/de/
Author: Queen <anastasiapevac@gmail.com>
2024-04-22 20:45:11 +00:00
FMEEE 9d4fce9920 Translated using Weblate (German)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/de/
Author: FMEEE <anketobi@ya.ru>
2024-04-22 20:45:11 +00:00
Cuong Pham edb7748cbe Translated using Weblate (Vietnamese)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/vi/
Author: Cuong Pham <cuong.phm@proton.me>
2024-04-22 20:45:11 +00:00
Cuong Pham 4095420b59 Translated using Weblate (Vietnamese)
Currently translated at 98.8% (336 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/vi/
Author: Cuong Pham <cuong.phm@proton.me>
2024-04-22 20:45:11 +00:00
Cuong Pham 16254b6b93 Translated using Weblate (Vietnamese)
Currently translated at 43.5% (148 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/vi/
Author: Cuong Pham <cuong.phm@proton.me>
2024-04-22 20:45:11 +00:00
Thais Palmer d8b574aad8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/pt_BR/
Author: Thais Palmer <eu@thaispalmer.com.br>
2024-04-22 20:45:11 +00:00
Raymond Nee 6e21fb908d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/zh_Hans/
Author: Raymond Nee <monstorix@outlook.com>
2024-04-22 20:45:11 +00:00
Jamie Poznanski 5a6fc32722 Translated using Weblate (Italian)
Currently translated at 100.0% (340 of 340 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-04-22 20:45:11 +00:00
superlincoln d6d298b439 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/zh_Hant/
Author: superlincoln <littlelittlelincoln@gmail.com>
2024-04-22 20:45:11 +00:00
Alex d16e2f16e2 Translated using Weblate (Russian)
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/ru/
Author: Alex <aslanych99@mail.ru>
2024-04-22 20:45:11 +00:00
superlincoln 0dacf53afa Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (340 of 340 strings)

Translation: movie-web/website
Translate-URL: https://weblate.476328473.xyz/projects/movie-web/website/zh_Hans/
Author: superlincoln <littlelittlelincoln@gmail.com>
2024-04-22 20:45:11 +00:00
Jorrin f3dd80f42b
Merge pull request #1150 from movie-web/fix/#962
decrease amount of margin of edit button on small screens
2024-04-22 22:45:07 +02:00
William Oldham cfc74dfa78
Merge branch 'dev' into fix/#962 2024-04-22 21:15:23 +01:00
William Oldham 1a3144a872
Merge pull request #1153 from movie-web/feature/#754
Improve how to change seasons
2024-04-22 21:14:09 +01:00
Jorrin ae81832037 improve how to change seasons 2024-04-22 20:26:54 +02:00
Jorrin 3da8955607 decrease amount of margin on small screens 2024-04-22 19:12:18 +02:00
14 changed files with 426 additions and 27 deletions

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Abbrechen",
"next": "Nächste Folge"
"next": "Nächste Folge",
"nextSeason": "Nächste Staffel"
},
"playbackError": {
"badge": "Wiedergabefehler",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Autoplay",
"autoplayDescription": "Spielen Sie nach Erreichen des Endes automatisch die nächste Episode einer Serie ab. Kann von Benutzern mit der Browsererweiterung, einem benutzerdefinierten Proxy oder mit der Standardeinrichtung aktiviert werden, sofern der Host dies zulässt.",
"autoplayLabel": "Automatisches Abspielen",
"language": "App-Sprache",
"languageDescription": "Sprache für die ganze App.",
"thumbnail": "Miniaturansichten generieren",

View File

@ -278,7 +278,8 @@
"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."
"unairedEpisodes": "One or more episodes in this season have been disabled because they haven't been aired yet.",
"seasons": "Seasons"
},
"playback": {
"speedLabel": "Playback speed",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "لغو",
"next": "قسمت بعدی"
"next": "قسمت بعدی",
"nextSeason": "فصل بعد"
},
"playbackError": {
"badge": "مشکلی در پخش به وجود آمده",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "پخش خودکار",
"autoplayDescription": "بعد از پایان یافتن قسمت بعدی یک سریال به صورت خودکار پخش شود. می‌تواند توسط کاربران با پسوند مرورگر، یک پروکسی سفارشی، یا با تنظیمات پیش‌فرض در صورت اجازه میزبان فعال شود.",
"autoplayLabel": "پخش خودکار",
"language": "زبان برنامه",
"languageDescription": "زبان برای کل برنامه اعمال شد.",
"thumbnail": "ایجاد تامبنیل",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Annuler",
"next": "Prochain épisode"
"next": "Prochain épisode",
"nextSeason": "Prochaine saison"
},
"playbackError": {
"badge": "Erreur de lecture",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Lecture automatique",
"autoplayDescription": "Lire automatiquement le prochain épisode d'une série après avoir atteint la fin. Peut être activé par les utilisateurs avec l'extension du navigateur, un proxy personnalisé ou avec la configuration par défaut si autorisé par l'hôte.",
"autoplayLabel": "Lecture automatique",
"language": "Langage de l'application",
"languageDescription": "Langue appliquée à lensemble de lapplication.",
"thumbnail": "Générer les miniatures",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Cancella",
"next": "Prossimo episodio"
"next": "Prossimo episodio",
"nextSeason": "Prossima stagione"
},
"playbackError": {
"badge": "Errore di riproduzione",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Autoplay",
"autoplayDescription": "Riproduzione automatica dell'episodio successivo di una serie dopo raggiungere il fine dell'episodio. Può essere abilitato dagli utenti con l'estensione del browser, con un proxy o con il setup predefinita, se è permesso dall'host.",
"autoplayLabel": "Autoplay",
"language": "Lingua di applicazione",
"languageDescription": "Lingua applicato all'intera applicazione.",
"thumbnail": "Generare miniature",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Annuleren",
"next": "Volgende aflevering"
"next": "Volgende aflevering",
"nextSeason": "Het volgende seizoen"
},
"playbackError": {
"badge": "Afspeelfout",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Automatisch afspelen",
"autoplayDescription": "Automatisch het volgende aflevering afspelen in een serie nadat het einde is bereikt. Kan worden ingeschakeld door gebruikers met de browserextensie, een aangepaste proxy of met de standaardinstellingen als toegestaan door de host.",
"autoplayLabel": "Automatisch afspelen",
"language": "Applicatietaal",
"languageDescription": "Taal toegepast op de gehele applicatie.",
"thumbnail": "Genereer miniaturen",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Cancelar",
"next": "Próximo episódio"
"next": "Próximo episódio",
"nextSeason": "Próxima temporada"
},
"playbackError": {
"badge": "Erro de reprodução",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Reprodução automática",
"autoplayDescription": "Reproduz automaticamente o próximo episódio de uma série após chegar ao fim. Pode ser ativado pelos usuários através da extensão de navegador, um proxy personalizado, ou pela configuração padrão, se permitido pelo provedor.",
"autoplayLabel": "Reprodução automática",
"language": "Idioma do aplicativo",
"languageDescription": "Idioma aplicado para todo o aplicativo.",
"thumbnail": "Gerar miniaturas",

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Отмена",
"next": "Следующий эпизод"
"next": "Следующий эпизод",
"nextSeason": "Следующий сезон"
},
"playbackError": {
"badge": "Ошибка воспроизведения",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "Автовоспроизведение",
"autoplayDescription": "Автоматическое воспроизведение следующего эпизода в серии после ее окончания. Может быть включено пользователями с расширением для браузера, пользовательским прокси или с настройками по умолчанию, если это разрешено хостом.",
"autoplayLabel": "Автовоспроизведение",
"language": "Язык приложения",
"languageDescription": "Язык применяется ко всему приложению.",
"thumbnail": "Генерировать миниатюры",

View File

@ -257,7 +257,7 @@
"disclaimer": "Prenosi se opravijo neposredno pri ponudniku vsebin. movie-web nima nadzora nad načinom zagotavljanja prenosov.",
"downloadSubtitle": "Prenesi trenutne podnapise",
"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\" namenjen uporabnikom, ki poznajo napredno pretakanje večpredstavnostnih vsebin.",
"hlsDisclaimer": "Prenosi potekajo neposredno od ponudnika. movie-web nima nadzora nad načinom zagotavljanja prenosov.<br /><br />Upoštevajte, da prenašate seznam predvajanja HLS, <bold>prenos ni priporočljiv, če niste seznanjeni z naprednimi formati pretakanja </bold>. Preizkusite različne vire za različne formate.",
"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>.",
"shortTitle": "Prenesi / Android",
@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "Prekliči",
"next": "Naslednja epizoda"
"next": "Naslednja epizoda",
"nextSeason": "Naslednja sezona"
},
"playbackError": {
"badge": "Napaka v predvajanju",
@ -513,16 +514,19 @@
},
"title": "Povezave",
"workers": {
"addButton": "Dodaj novega \"workerja\"",
"addButton": "Dodaj novega delovalca",
"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 delovalca, dodajte ga spodaj",
"label": "Uporaba posrednikov po meri",
"urlLabel": "Naslov Workerja (URL)",
"urlLabel": "Naslov delovalca (URL)",
"urlPlaceholder": "https://"
}
},
"preferences": {
"language": "Jezik",
"autoplay": "Samodejno predvajanje",
"autoplayDescription": "Samodejno predvaja naslednjo epizodo v seriji, ko dosežete konec. Uporabniki lahko to omogočijo z razširitvijo brskalnika, proxyjem po meri ali s privzeto nastavitvijo, če to dovoljuje gostitelj.",
"autoplayLabel": "Samodejno predvajanje",
"language": "Jezik aplikacije",
"languageDescription": "Jezik, ki se uporablja za celotno aplikacijo.",
"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.",
@ -536,7 +540,7 @@
"appVersion": "Verzija aplikacije",
"backendUrl": "Naslov zaledja",
"backendVersion": "Verzija zaledja",
"hostname": "Hostname",
"hostname": "Gostiteljsko ime",
"insecure": "\"Nevarna povezava\"",
"notLoggedIn": "Niste prijavljeni",
"secure": "Varna povezava",

View File

@ -57,6 +57,8 @@
},
"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",
"noHost": "Máy chủ chưa được cấu hình nên bạn không thể tạo tài khoản",
"noHostTitle": "Máy chủ chưa được cấu hình!",
"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"
},
@ -118,7 +120,12 @@
"noResults": "Chúng tôi không thể tìm thấy gì!",
"placeholder": {
"default": "Bạn muốn xem gì?",
"extra": []
"extra": [
"Bạn muốn khám phá điều gì?",
"Danh sách theo dõi của bạn có gì?",
"Phim yêu thích của bạn là gì?",
"Bộ phim yêu thích của bạn là gì?"
]
},
"sectionTitle": "Kết quả tìm kiếm"
},
@ -148,7 +155,8 @@
"types": {
"movie": "Phim",
"show": "Chương trình truyền hình"
}
},
"unreleased": "Chưa phát hành"
},
"navigation": {
"banner": {
@ -178,25 +186,177 @@
},
"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."
"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.",
"explainerIos": "Rất tiếc, tiện ích mở rộng trình duyệt không được hỗ trợ trên iOS, Nhấn <bold>Quay lại</bold> để chọn tùy chọn khác.",
"extensionHelp": "Nếu bạn đã cài đặt tiện ích mở rộng nhưng không được phát hiện, <bold>mở tiện ích mở rộng thông qua menu tiện ích mở rộng của trình duyệt</bold> và làm theo các bước trên màn hình.",
"linkChrome": "Cài đặt tiện ích mở rộng của Chrome",
"linkFirefox": "Cài đặt tiện ích mở rộng Firefox",
"notDetecting": "Đã cài đặt trên Chrome nhưng trang web không phát hiện ra nó? Hãy thử tải lại trang!",
"notDetectingAction": "Tải lại trang",
"status": {
"disallowed": "Tiện ích mở rộng không được bật cho trang này",
"disallowedAction": "Bật tiện ích mở rộng",
"failed": "Không thể yêu cầu trạng thái",
"loading": "Đang chờ bạn cài đặt tiện ích mở rộng",
"outdated": "Phiên bản tiện ích mở rộng quá cũ",
"success": "Tiện ích mở rộng đang hoạt động như mong đợi!"
},
"submit": "Tiếp tục",
"title": "Hãy bắt đầu với một tiện ích mở rộng"
},
"proxy": {
"back": "Quay lại",
"explainer": "Với phương pháp proxy, bạn có thể nhận được luồng chất lượng tuyệt vời bằng cách tạo proxy tự phục vụ.",
"input": {
"errorConnection": "Không thể kết nối với proxy",
"errorInvalidUrl": "Không phải là một URL hợp lệ",
"errorNotProxy": "Dự kiến có proxy nhưng lại có trang web",
"label": "Proxy URL",
"placeholder": "https://"
},
"link": "Tìm hiểu cách tạo proxy",
"submit": "Gửi proxy",
"title": "Hãy tạo một proxy mới"
},
"start": {
"explainer": "Để có được luồng tốt nhất có thể, bạn sẽ cần chọn phương thức phát trực tuyến nào bạn muốn sử dụng.",
"options": {
"default": {
"text": "Tôi không muốn luồng chất lượng tốt,<0 /> <1>hãy sử dụng thiết lập mặc định</1>"
},
"extension": {
"action": "Cài đặt tiện ích mở rộng",
"description": "Cài đặt tiện ích mở rộng trình duyệt và có quyền truy cập vào các nguồn tốt nhất.",
"quality": "Chất lượng tốt nhất",
"title": "Tiện ích mở rộng trình duyệt"
},
"proxy": {
"action": "Thiết lập proxy",
"description": "Thiết lập proxy chỉ trong 5 phút và có quyền truy cập vào các nguồn tuyệt vời.",
"quality": "Chất lượng tốt",
"title": "Proxy tùy chỉnh"
}
},
"title": "Hãy cùng cài đặt cho bạn movie-web nào"
}
},
"overlays": {
"close": "Đóng"
},
"player": {
"back": {
"default": "Quay lại trang chính",
"short": "Quay lại"
},
"casting": {
"enabled": "Đang truyền tới thiết bị..."
},
"menus": {
"downloads": {
"copyHlsPlaylist": "Sao chép liên kết danh sách phát HLS",
"disclaimer": "Tải xuống được lấy trực tiếp từ nhà cung cấp. movie-web không có quyền kiểm soát cách cung cấp nội dung tải xuống.",
"downloadSubtitle": "Tải xuống phụ đề hiện tại",
"downloadVideo": "Tải video",
"hlsDisclaimer": "Tải xuống được lấy trực tiếp từ nhà cung cấp. movie-web không có quyền kiểm soát cách cung cấp nội dung tải xuống.<br /><br />Xin lưu ý rằng bạn đang tải xuống danh sách phát HLS, <bold>không nên tải xuống nếu bạn không quen với các định dạng phát trực tuyến nâng cao</bold>. Hãy thử các nguồn khác nhau cho các định dạng khác nhau.",
"onAndroid": {
"1": "Để tải xuống trên Android, hãy nhấp vào nút tải xuống, sau đó trên trang mới, <bold>chạm và giữ</bold> trên video rồi chọn <bold>lưu4</bold>.",
"shortTitle": "Tải xuống / Android",
"title": "Tải xuống trên Android"
},
"onIos": {
"1": "Để tải xuống trên iOS, hãy nhấp vào nút tải xuống, sau đó trên trang mới, nhấp vào <bold><ios_share /></bold>, sau đó nhấp vào <bold>Lưu vào tệp <ios_files /></bold>.",
"shortTitle": "Tải xuống / iOS",
"title": "Đang tải xuống trên iOS"
},
"onPc": {
"1": "Trên PC, nhấp vào nút tải xuống, sau đó trên trang mới, nhấp chuột phải vào video và chọn <bold>Lưu video dưới dạng</bold>",
"shortTitle": "Tải xuống / PC",
"title": "Tải xuống trên PC"
},
"title": "Tải xuống"
},
"episodes": {
"button": "Tập",
"emptyState": "Không có tập nào trong mùa này, hãy kiểm tra lại sau!",
"episodeBadge": "E{{episode}}",
"loadingError": "Lỗi tải mùa",
"loadingList": "Đang tải...",
"loadingTitle": "Đang tải..."
"loadingTitle": "Đang tải...",
"unairedEpisodes": "Một hoặc nhiều tập trong phần này đã bị vô hiệu hóa vì chúng chưa được phát sóng."
},
"playback": {
"speedLabel": "Tốc độ phát lại",
"title": "Cài đặt phát lại"
},
"quality": {
"automaticLabel": "Chất lượng tự động",
"hint": "Bạn có thể thử <0>chuyển nguồn</0> để có các tùy chọn chất lượng khác nhau.",
"iosNoQuality": "Do các giới hạn do Apple xác định, lựa chọn chất lượng không có sẵn trên iOS cho nguồn này. Bạn có thể thử <0>chuyển sang nguồn khác</0> để có các tùy chọn chất lượng khác nhau.",
"title": "Chất lượng"
},
"settings": {
"audioItem": "Âm thanh",
"downloadItem": "Tải xuống",
"enableSubtitles": "Bật phụ đề",
"experienceSection": "Trải nghiệm xem",
"playbackItem": "Cài đặt phát lại",
"qualityItem": "Chất lượng",
"sourceItem": "Nguồn video",
"subtitleItem": "Cài đặt phụ đề",
"videoSection": "Cài đặt video"
},
"sources": {
"title": "Nguồn"
"failed": {
"text": "Đã xảy ra lỗi khi cố gắng tìm bất kỳ video nào, vui lòng thử nguồn khác.",
"title": "Không scrape được"
},
"noEmbeds": {
"text": "Chúng tôi không thể tìm thấy bất kỳ nội dung nhúng nào, vui lòng thử nguồn khác.",
"title": "Không tìm thấy nội dung nhúng nào"
},
"noStream": {
"text": "Nguồn này không có luồng cho phim hoặc chương trình này.",
"title": "Không có nguồn trực tiếp"
},
"title": "Nguồn",
"unknownOption": "không xác định"
},
"subtitles": {
"customChoice": "Thả hoặc tải lên tập tin",
"customizeLabel": "Tùy chỉnh",
"dropSubtitleFile": "Thả file phụ đề vào đây",
"offChoice": "Tắt",
"settings": {
"backlink": "Phụ đề tùy chỉnh",
"delay": "Độ trễ phụ đề",
"fixCapitals": "Sửa lỗi viết hoa"
},
"title": "Phụ đề",
"unknownLanguage": "không xác định"
}
},
"metadata": {
"api": {
"text": "Không thể tải API metadata, vui lòng kiểm tra kết nối Internet của bạn.",
"title": "Không tải được API metadata"
},
"dmca": {
"badge": "Loại bỏ",
"text": "Phương tiện này không còn khả dụng do có thông báo gỡ xuống hoặc khiếu nại về bản quyền.",
"title": "Phương tiện đã bị xóa"
},
"extensionPermission": {
"badge": "Thiếu quyền",
"button": "Sử dụng tiện ích mở rộng",
"text": "Bạn có tiện ích mở rộng của trình duyệt nhưng chúng tôi cần sự cho phép của bạn để bắt đầu sử dụng tiện ích mở rộng này.",
"title": "Định cấu hình tiện ích mở rộng"
},
"failed": {
"badge": "Thất bại",
"homeButton": "Về trang chủ",
"text": "Không thể tải metadata của phương tiện từ TMDB.",
"title": "Không tải được metadata"
},
"notFound": {
"badge": "Không tìm thấy",
"homeButton": "Quay lại trang chính",
@ -204,8 +364,199 @@
"title": "Không thể tìm thấy nội dung."
}
},
"nextEpisode": {
"cancel": "Hủy bỏ",
"next": "Tập tiếp theo",
"nextSeason": "Mùa tới"
},
"playbackError": {
"badge": "Lỗi phát lại",
"errors": {
"errorAborted": "Việc tìm nạp phương tiện đã bị hủy bỏ theo yêu cầu của người dùng.",
"errorDecode": "Mặc dù trước đó đã được xác định là có thể sử dụng được nhưng đã xảy ra lỗi khi cố gắng giải mã tài nguyên phương tiện, dẫn đến lỗi.",
"errorGenericMedia": "Đã xảy ra lỗi phương tiện không xác định.",
"errorNetwork": "Đã xảy ra một số loại lỗi mạng khiến phương tiện không thể được tìm nạp thành công, mặc dù trước đó đã có sẵn.",
"errorNotSupported": "Đối tượng phương tiện hoặc nhà cung cấp phương tiện không được hỗ trợ."
},
"homeButton": "Về trang chủ",
"text": "Đã xảy ra lỗi khi phát phương tiện. Vui lòng thử lại.",
"title": "Rất tiếc, đã hỏng!"
},
"scraping": {
"extensionFailure": {
"badge": "Đã tắt tiện ích mở rộng",
"enableExtension": "Bật tiện ích mở rộng",
"homeButton": "Về trang chủ",
"text": "Bạn đã cài đặt tiện ích mở rộng web phim.",
"title": "Vui lòng kích hoạt tiện ích mở rộng"
},
"items": {
"failure": "Xảy ra lỗi",
"notFound": "Không có video",
"pending": "Đang kiểm tra video..."
},
"notFound": {
"badge": "Không tìm thấy",
"detailsButton": "Hiển thị chi tiết",
"homeButton": "Về trang chủ",
"text": "Chúng tôi đã tìm kiếm thông qua các nhà cung cấp của chúng tôi và không thể tìm thấy phương tiện bạn đang tìm kiếm! Chúng tôi không lưu trữ phương tiện truyền thông và không kiểm soát những gì có sẵn. Vui lòng nhấp vào 'Hiển thị chi tiết' bên dưới để biết thêm chi tiết.",
"title": "Chúng tôi không thể tìm thấy cái đó"
}
},
"time": {
"regular": "{{timeWatched}} / {{duration}}",
"remaining": "{{timeLeft}} còn • Kết thúc lúc {{timeFinished, datetime}}",
"shortRegular": "{{timeWatched}}",
"shortRemaining": "-{{timeLeft}}"
},
"turnstile": {
"description": "Vui lòng xác minh rằng bạn là con người bằng cách hoàn thành Captcha ở bên phải. Điều này là để giữ an toàn cho web phim!",
"error": "Không thể xác minh nhân tính của bạn. Vui lòng thử lại.",
"title": "Chúng tôi cần xác minh rằng bạn là con người.",
"verifyingHumanity": "Đang xác minh nhân tính của bạn..."
}
},
"screens": {
"dmca": {
"text": "Chào mừng bạn đến với trang liên hệ DMCA của movie-web! Chúng tôi tôn trọng quyền sở hữu trí tuệ và muốn giải quyết mọi lo ngại về bản quyền một cách nhanh chóng. Nếu bạn cho rằng tác phẩm có bản quyền của mình đã bị sử dụng không đúng cách trên nền tảng của chúng tôi, vui lòng gửi thông báo DMCA chi tiết tới email bên dưới. Vui lòng bao gồm mô tả về tài liệu có bản quyền, chi tiết liên hệ của bạn và tuyên bố về niềm tin thiện chí. Chúng tôi cam kết giải quyết những vấn đề này một cách nhanh chóng và đánh giá cao sự hợp tác của bạn trong việc giữ cho web phim là một nơi tôn trọng tính sáng tạo và bản quyền.",
"title": "DMCA"
},
"loadingApp": "Đang tải ứng dụng",
"loadingUser": "Đang tải hồ sơ của bạn",
"loadingUserError": {
"logout": "Đăng xuất",
"reset": "Đặt lại máy chủ tùy chỉnh",
"text": "Không tải được hồ sơ của bạn",
"textWithReset": "Không tải được hồ sơ của bạn từ máy chủ tùy chỉnh, bạn có muốn đặt lại về máy chủ mặc định không?"
},
"migration": {
"failed": "Không thể di chuyển dữ liệu của bạn.",
"inProgress": "Vui lòng chờ, chúng tôi đang di chuyển dữ liệu của bạn. Việc này sẽ không mất nhiều thời gian."
}
},
"settings": {
"account": {
"accountDetails": {
"deviceNameLabel": "Tên thiết bị",
"deviceNamePlaceholder": "Điện thoại cá nhân",
"editProfile": "Biên tập",
"logoutButton": "Đăng xuất"
},
"actions": {
"delete": {
"button": "Xóa tài khoản",
"confirmButton": "Xóa tài khoản",
"confirmDescription": "Bạn có chắc rằng bạn muốn xóa tài khoản của bạn? Tất cả dữ liệu của bạn sẽ bị mất!",
"confirmTitle": "Bạn có chắc không?",
"text": "Hành động này là không thể đảo ngược. Tất cả dữ liệu sẽ bị xóa và không thể phục hồi được gì.",
"title": "Xóa tài khoản"
},
"title": "Hành động"
},
"devices": {
"deviceNameLabel": "Tên thiết bị",
"failed": "Không tải được phiên",
"removeDevice": "Di dời",
"title": "Thiết bị"
},
"profile": {
"finish": "Hoàn tất chỉnh sửa",
"firstColor": "Màu hồ sơ chính",
"secondColor": "Màu hồ sơ phụ",
"title": "Chỉnh sửa ảnh đại diện",
"userIcon": "Biểu tượng người dùng"
},
"register": {
"cta": "Bắt đầu",
"text": "Chia sẻ tiến trình xem của bạn giữa các thiết bị và giữ cho chúng được đồng bộ hóa.",
"title": "Đồng bộ hóa với đám mây"
},
"title": "Tài khoản"
},
"appearance": {
"activeTheme": "Áp dụng",
"themes": {
"blue": "Xanh da trời",
"default": "Mặc định",
"gray": "Xám",
"red": "Đỏ",
"teal": "Xanh mòng két"
},
"title": "Giao diện"
},
"connections": {
"server": {
"description": "Nếu bạn muốn kết nối với một chương trình phụ trợ tùy chỉnh để lưu trữ dữ liệu của mình, hãy bật tính năng này và cung cấp URL. <0>Hướng dẫn.</0>",
"label": "Máy chủ tùy chỉnh",
"urlLabel": "Máy chủ URL tùy chỉnh"
},
"setup": {
"doSetup": "Thực hiện thiết lập",
"errorStatus": {
"description": "Có vẻ như một hoặc nhiều mục trong thiết lập này cần bạn chú ý.",
"title": "Có điều gì đó cần bạn chú ý"
},
"itemError": "Hãy thực hiện lại quá trình thiết lập để khắc phục sự cố. Hãy thực hiện lại quá trình thiết lập để khắc phục sự cố.",
"items": {
"default": "Thiết lập mặc định",
"extension": "Tiện ích mở rộng",
"proxy": "Proxy tùy chỉnh"
},
"redoSetup": "Làm lại thiết lập",
"successStatus": {
"description": "Tất cả mọi thứ đã sẵn sàng để bạn bắt đầu xem phương tiện truyền thông yêu thích của mình.",
"title": "Mọi thứ đã được thiết lập!"
},
"unsetStatus": {
"description": "Vui lòng nhấp vào nút bên phải để bắt đầu quá trình thiết lập.",
"title": "Bạn chưa hoàn tất quá trình thiết lập"
}
},
"title": "Kết nối",
"workers": {
"addButton": "Thêm công nhân mới",
"description": "Để làm cho ứng dụng hoạt động, tất cả lưu lượng truy cập được chuyển qua proxy. Kích hoạt tính năng này nếu bạn muốn mang theo công nhân của mình. <0>Hướng dẫn.</0>",
"emptyState": "Chưa có công nhân, thêm một công nhân bên dưới",
"label": "Sử dụng nhân viên proxy tùy chỉnh",
"urlLabel": "URL công nhân",
"urlPlaceholder": "https://"
}
},
"preferences": {
"autoplay": "Tự chạy",
"autoplayDescription": "Tự động phát tập tiếp theo trong loạt phim sau khi xem hết. Người dùng có thể bật bằng tiện ích mở rộng trình duyệt, proxy tùy chỉnh hoặc bằng cài đặt mặc định nếu được máy chủ cho phép.",
"autoplayLabel": "Tự chạy",
"language": "Ngôn ngữ ứng dụng",
"languageDescription": "Ngôn ngữ áp dụng cho toàn bộ ứng dụng.",
"thumbnail": "Tạo hình thu nhỏ",
"thumbnailDescription": "Hầu hết các video không có hình thu nhỏ. Bạn có thể bật cài đặt này để tạo chúng nhanh chóng nhưng chúng có thể làm cho video của bạn chậm hơn.",
"thumbnailLabel": "Tạo hình thu nhỏ",
"title": "Tùy chỉnh"
},
"reset": "Cài lại",
"save": "Lưu",
"sidebar": {
"info": {
"appVersion": "Phiên bản ứng dụng",
"backendUrl": "URL phụ trợ",
"backendVersion": "Phiên bản phụ trợ",
"hostname": "Tên máy chủ",
"insecure": "không an toàn",
"notLoggedIn": "Bạn không đăng nhập",
"secure": "Chắc chắn",
"title": "Thông tin ứng dụng",
"unknownVersion": "không xác định",
"userId": "ID người dùng"
}
},
"subtitles": {
"backgroundBlurLabel": "Làm mờ nền",
"backgroundLabel": "Độ mờ nền",
"colorLabel": "Màu sắc",
"previewQuote": "Tôi không được sợ hãi. Sợ hãi thường giết chết tư duy.",
"textSizeLabel": "Cỡ chữ",
"title": "Phụ đề"
},
"unsaved": "Bạn có các thay đổi chưa lưu"
}
}

View File

@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "取消",
"next": "下一集"
"next": "下一集",
"nextSeason": "下一季"
},
"playbackError": {
"badge": "播放錯誤",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "自動播放",
"autoplayDescription": "當你看完一集後,下一集會自動播放。使用瀏覽器擴充功能或代理伺服器的用戶可以使用這功能。",
"autoplayLabel": "自動播放",
"language": "應用程式語言",
"languageDescription": "語言已應用於整個應用程式。",
"thumbnail": "生成縮圖",

View File

@ -1,6 +1,6 @@
{
"about": {
"description": "movie-web 是一款在互联网上搜寻流媒体的网络应用程序。团队致力于让用户采取最简约的方式消费内容。",
"description": "movie-web 是一款在互联网上搜寻流媒体的网络应用程序。团队致力于让用户采取最简易的方式观览内容。",
"faqTitle": "常见问题",
"q1": {
"body": "movie-web 不托管任何内容。您点选观看内容时,系统均从互联网搜寻(在加载提示页和“视频源”选项卡中,您可以看到正在使用的源)。媒体从未在 movie-web 中上传,所有内容均通过搜索机制而得。",
@ -366,7 +366,8 @@
},
"nextEpisode": {
"cancel": "取消",
"next": "下一集"
"next": "下一集",
"nextSeason": "下一季"
},
"playbackError": {
"badge": "播放错误",
@ -522,6 +523,9 @@
}
},
"preferences": {
"autoplay": "自动播放",
"autoplayDescription": "每集播放结束后自动启播下一集。使用浏览器扩展程序或自定义后端代理服务的用户可以手动启用此功能。若使用默认设置,则应在服务器允许的情况下启用。",
"autoplayLabel": "自动播放",
"language": "应用程序语言",
"languageDescription": "作用于整个应用程序的语言。",
"thumbnail": "生成缩略图",

View File

@ -25,7 +25,7 @@ export function EditButton(props: EditButtonProps) {
>
<span ref={parent}>
{props.editing ? (
<span className="mx-4 whitespace-nowrap">
<span className="mx-2 sm:mx-4 whitespace-nowrap">
{t("home.mediaList.stopEditing")}
</span>
) : (

View File

@ -212,9 +212,16 @@ function EpisodesView({
return (
<Menu.CardWithScrollable>
<Menu.BackLink onClick={goBack}>
{loadingState?.value?.season.title ||
t("player.menus.episodes.loadingTitle")}
<Menu.BackLink
onClick={goBack}
rightSide={
<span>
{loadingState?.value?.season.title ||
t("player.menus.episodes.loadingTitle")}
</span>
}
>
{t("player.menus.episodes.seasons")}
</Menu.BackLink>
{content}
</Menu.CardWithScrollable>