Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Croatian)
Currently translated at 99.5% (735 of 738 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (French (Louisiana))
Currently translated at 0.2% (2 of 738 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (738 of 738 strings)
Added translation using Weblate (French (Louisiana))
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (French)
Currently translated at 99.7% (736 of 738 strings)
Added translation using Weblate (Arabic (Tunisian))
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Kannada)
Currently translated at 5.8% (43 of 738 strings)
Translated using Weblate (Kannada)
Currently translated at 5.1% (4 of 78 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Russian)
Currently translated at 99.8% (737 of 738 strings)
Translated using Weblate (German)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (German)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 99.0% (731 of 738 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.7% (736 of 738 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Russian)
Currently translated at 99.7% (736 of 738 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 50.0% (39 of 78 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Japanese)
Currently translated at 99.4% (734 of 738 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Slovak)
Currently translated at 21.7% (17 of 78 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 62.8% (49 of 78 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (78 of 78 strings)
Translated using Weblate (Polish)
Currently translated at 61.5% (48 of 78 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 23.0% (18 of 78 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Flavian <3zorro.1@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jose Delvani <delvani.eletricista@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Ray <ray@users.noreply.hosted.weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
Co-authored-by: ShareASmile <ShareASmile@users.noreply.hosted.weblate.org>
Co-authored-by: Tấn Lực Trương <september122022ios16@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: abhijithkjg <abhijithkj2001@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kaajjo <claymanoff@gmail.com>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: yosrinajar <yosron3@gmail.com>
Co-authored-by: zeineb-b <zeinebbouhejba21@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Vietnamese)
Currently translated at 46.7% (36 of 77 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Spanish)
Currently translated at 99.7% (736 of 738 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (738 of 738 strings)
Translated using Weblate (German)
Currently translated at 99.7% (736 of 738 strings)
Translated using Weblate (Korean)
Currently translated at 31.1% (24 of 77 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Korean)
Currently translated at 98.9% (726 of 734 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (734 of 734 strings)
Translated using Weblate (German)
Currently translated at 99.7% (732 of 734 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (German)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Hungarian)
Currently translated at 16.8% (13 of 77 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (730 of 730 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (730 of 730 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Apious <apious@kakao.com>
Co-authored-by: Eduardo Malaspina <vaio0@swismail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Pi-Cla <pirateclip@protonmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Tim Trek <T.Trek@byom.de>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Tấn Lực Trương <september122022ios16@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translation: NewPipe/Metadata
Remove checkDisplayIndexModified because it was causing more problems than it solved. Now when adding new playlists they won't necessarily appear at the top, but will get sorted alphabetically along with the other playlists with index -1. This will be the case until any playlist is sorted, at which point all indices are assigned and newly added playlists will appear at the top again.
earlier only overall amount of videos was shown. Now overall duration is shown there too - as formatted by existing Localization.concatenateStrings() and Localization.getDurationString().
show all videos OverallDuration in local Playlist too
refactor to make implementation in LocalPlaylistFragment and PlaylistFragment more obviously similar
unfortunately could not refactor upto BaseLocalListFragment
revert the changes for online Playlists
because they are paginated and may be infinite i.e. correct count may come only from the service->extractor chain which unfortunately does not give overall duration yet
next try to improve user-experience with online Playlist
just show that duration is longer (">") than the calculated value in case there is more page(s)
even more improve user-experience for online Playlist
by adding the duration of next items as soon as they are made visible
make showing of playlists duration configurable, disabled by default
adjusted duration to be handled as long because it comes as long from extractor
no idea why I handled it as int earlier
Revert "make showing of playlists duration configurable, disabled by default", refactor
This reverts commit bc1ba17a20d3dd1763210f81d7ca67c5f1734a3d.
Fix rebase
Apply review
Rename video -> stream
Remove unused settings keys
NewPipe is contacting its servers without asking for the users' consent. This is categorized as "tracking" by F-Droid (see https://github.com/TeamNewPipe/NewPipe/discussions/10785).
This commit disables checking for udpates by default and adds a dialog asking for the user's consent to automatically check for updates if the app version is eligible for them. After upgrading to a version containing this commit the user is asked directly on the first app start. On fresh installs however, showing it on the first app start contributes to a bad onboarding an welcoming experience. Therefore, the dialog is shown at the second app start.
Co-authored-by: Stypox <stypox@pm.me>
Currently translated at 96.4% (703 of 729 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Danish)
Currently translated at 96.4% (703 of 729 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Danish)
Currently translated at 88.3% (644 of 729 strings)
Translated using Weblate (Danish)
Currently translated at 88.3% (644 of 729 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Georgian)
Currently translated at 92.2% (71 of 77 strings)
Translated using Weblate (Uzbek (latin))
Currently translated at 62.6% (457 of 729 strings)
Translated using Weblate (Santali)
Currently translated at 12.6% (92 of 729 strings)
Translated using Weblate (French)
Currently translated at 89.6% (69 of 77 strings)
Translated using Weblate (Japanese)
Currently translated at 11.6% (9 of 77 strings)
Translated using Weblate (Bulgarian)
Currently translated at 5.1% (4 of 77 strings)
Translated using Weblate (Bengali)
Currently translated at 20.7% (16 of 77 strings)
Translated using Weblate (German)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Bengali (India))
Currently translated at 40.7% (297 of 729 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 85.5% (624 of 729 strings)
Translated using Weblate (Tamil)
Currently translated at 46.6% (340 of 729 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 55.1% (402 of 729 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (German)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.7% (76 of 77 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.4% (725 of 729 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Croatian)
Currently translated at 99.4% (725 of 729 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Croatian)
Currently translated at 2.5% (2 of 77 strings)
Translated using Weblate (Malay)
Currently translated at 48.6% (355 of 729 strings)
Translated using Weblate (Croatian)
Currently translated at 99.3% (724 of 729 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Finnish)
Currently translated at 98.3% (717 of 729 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 22.0% (17 of 77 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.4% (696 of 729 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Vietnamese)
Currently translated at 42.8% (33 of 77 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Esperanto)
Currently translated at 70.7% (516 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 94.6% (690 of 729 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (French)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Santali)
Currently translated at 10.0% (73 of 729 strings)
Translated using Weblate (Turkish)
Currently translated at 42.8% (33 of 77 strings)
Translated using Weblate (German)
Currently translated at 81.8% (63 of 77 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Kannada)
Currently translated at 5.4% (40 of 729 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Croatian)
Currently translated at 88.7% (647 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 20.7% (16 of 77 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (French)
Currently translated at 99.8% (728 of 729 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Catalan)
Currently translated at 86.5% (631 of 729 strings)
Translated using Weblate (Telugu)
Currently translated at 58.9% (430 of 729 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Tigrinya)
Currently translated at 8.9% (65 of 729 strings)
Translated using Weblate (Russian)
Currently translated at 98.7% (76 of 77 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Slovak)
Currently translated at 99.7% (727 of 729 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 85.5% (624 of 729 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (728 of 729 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (German)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (728 of 729 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Swedish)
Currently translated at 99.8% (728 of 729 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (728 of 729 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (German)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (German)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (729 of 729 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Serbian)
Currently translated at 18.1% (14 of 77 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (77 of 77 strings)
Translated using Weblate (Greek)
Currently translated at 24.6% (19 of 77 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (German)
Currently translated at 100.0% (728 of 728 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Kannada)
Currently translated at 5.5% (40 of 726 strings)
Translated using Weblate (Sinhala)
Currently translated at 2.6% (2 of 76 strings)
Translated using Weblate (Sinhala)
Currently translated at 4.1% (30 of 726 strings)
Translated using Weblate (Bulgarian)
Currently translated at 5.2% (4 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Turkish)
Currently translated at 99.8% (725 of 726 strings)
Translated using Weblate (Slovak)
Currently translated at 98.4% (715 of 726 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (French)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Italian)
Currently translated at 99.5% (723 of 726 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (German)
Currently translated at 100.0% (726 of 726 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 21.0% (16 of 76 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Romanian)
Currently translated at 99.8% (724 of 725 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (725 of 725 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrey F <firsan777@mail.ru>
Co-authored-by: Angelk90 <angelo.k90@hotmail.it>
Co-authored-by: Chethan <76928501+ch3thanhs@users.noreply.github.com>
Co-authored-by: Danr <mdp43140@gmail.com>
Co-authored-by: David Svane <davidcygnus@users.noreply.hosted.weblate.org>
Co-authored-by: Deleted User <noreply+77891@weblate.org>
Co-authored-by: DuninduH <mateyh37@gmail.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Heidhou chazanouvha <Heidhou@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihfandi <ihfandicahyo@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jan Layola <gilajan@protonmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Juan Martinez <jjml.nipon@gmail.com>
Co-authored-by: KarmaKat <lloydwestbury@gmail.com>
Co-authored-by: Kuko <kuko7@protonmail.ch>
Co-authored-by: LiJu09 <lisojuraj@gmail.com>
Co-authored-by: Martin Constantino–Bodin <martin.bodin@ens-lyon.org>
Co-authored-by: Mehmet <mehmetyalcin.0103@gmail.com>
Co-authored-by: Michalis <michalisntovas@yahoo.gr>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nils Van Zuijlen <nils.van-zuijlen@mailo.com>
Co-authored-by: Nista <42772160+Nista11@users.noreply.github.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: P.O <rasmusson.mikael@protonmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Pi-Cla <pirateclip@protonmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Ray <ray@users.noreply.hosted.weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Scrambled777 <weblate.scrambled777@simplelogin.com>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Subbarayudu <raidu.g6@gmail.com>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: T1z3n <info@njbraun.de>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: Xəyyam Qocayev <xxmn77@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: cat <158170307+cultcats@users.noreply.github.com>
Co-authored-by: ds-z <drazen.sostaric01@gmail.com>
Co-authored-by: dyare darbani <darbanidyare@gmail.com>
Co-authored-by: fsbat0 <fsbat0@users.noreply.hosted.weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: hshbuk <hsh.bukchin@gmail.com>
Co-authored-by: jspast <joao.pastorello@protonmail.com>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: v1s7 <v1s7@users.noreply.hosted.weblate.org>
Co-authored-by: Åzze <laitinen.jere222@gmail.com>
Co-authored-by: Çağla Pickaxe <caglapickaxe@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ka/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/si/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
`streamInfo` and `channelInfo` have to be initialized, since the only
way to construct the class it to pass them. So we can remove the null
check boilerplate and make some of the accessors `NonNull`.
Nowhere else does this (write a setting if it’s not set).
It took me a while to see that this code does not do what it intends,
because `defaultFormat` is already the default value in the first
`context.getString`, so calling `getMediaFormatFromKey` again is the
exact same call (“do you know the definition of insanity…”) and will
return `null` again …
So let’s drop the setting write and just rely on the default values.
This change is in line with a recent change in how the play/pause button behaves in the player ui: if the buffering indicator is shown, it's still possible to toggle play/pause, to allow e.g. pausing videos before they even start.
This change was needed because on Android 13+ notification actions can't be null, and thus the buffering hourglass action wasn't shown.
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Danish)
Currently translated at 88.2% (640 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 17.1% (13 of 76 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Romanian)
Currently translated at 99.4% (721 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Indonesian)
Currently translated at 97.3% (74 of 76 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (French)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Polish)
Currently translated at 61.8% (47 of 76 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 28.9% (22 of 76 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Bengali)
Currently translated at 78.7% (571 of 725 strings)
Translated using Weblate (Basque)
Currently translated at 95.0% (689 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (Lithuanian)
Currently translated at 92.9% (674 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 30.2% (23 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (724 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 32.0% (232 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Romanian)
Currently translated at 89.3% (648 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (German)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 72.3% (55 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 3.9% (3 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 99.7% (723 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 71.0% (515 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 2.6% (2 of 76 strings)
Translated using Weblate (Tigrinya)
Currently translated at 8.4% (61 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Finnish)
Currently translated at 98.3% (713 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 70.0% (508 of 725 strings)
Added translation using Weblate (English (Old))
Added translation using Weblate (Aymara)
Added translation using Weblate (English (Middle))
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (German (Low))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Kashmiri)
Added translation using Weblate (Burmese)
Translated using Weblate (Tigrinya)
Currently translated at 3.5% (26 of 725 strings)
Translated using Weblate (Georgian)
Currently translated at 91.1% (661 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.8% (717 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 42.1% (32 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 31.3% (227 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 35.5% (27 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Bulgarian)
Currently translated at 63.8% (463 of 725 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 66.3% (481 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.6% (715 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 31.5% (24 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.3% (706 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 98.4% (714 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 21.0% (16 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.2% (712 of 725 strings)
Deleted translation using Weblate (English (Middle))
Co-authored-by: /dev/urandom <dev.urandom@posteo.org>
Co-authored-by: A <ogloppi@mailbox.org>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Ans Virlis <tddakk@yahoo.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Cem TÜRKER <cemburbut@gmail.com>
Co-authored-by: Danr <mdp43140@gmail.com>
Co-authored-by: David Svane <davidcygnus@users.noreply.hosted.weblate.org>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Erik Matson <erik@nextleveltranslation.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Giorgi Taba K'obakhidze <t@gtk.ge>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihfandi <ihfandicahyo@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jener Gomes <jenerg1@gmail.com>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: LiftedStarfish <liftedstarfish@protonmail.com>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Nista <42772160+Nista11@users.noreply.github.com>
Co-authored-by: P.O <rasmusson.mikael@protonmail.com>
Co-authored-by: PiryusQ <piryusq@gmail.com>
Co-authored-by: Ray <ray@users.noreply.hosted.weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Tmpod <tom@tmpod.dev>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: ferarilalon <ferarilalongpt@gmail.com>
Co-authored-by: fsbat0 <fsbat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: notlin4 <iamnotlin4@gmail.com>
Co-authored-by: searinminecraft <114207889+searinminecraft@users.noreply.github.com>
Co-authored-by: sum1tookshoe <gamingwithshoe@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: İbrahim Dinç <woltytherespectful@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Disable loading all tabs at once, since there can be many of them, and use default strategy of only keeping in memory the two tabs adjacent to the current tab.
Reduced memory footprint of FeedUpdateInfo objects. Those objects might stay around for a while and accumulate (up to BUFFER_COUNT_BEFORE_INSERT = 20 at the moment), so in order not to fill up the memory it's better to keep as little data as possible.
Previously ChannelInfo data was stored, causing ReadyChannelTabLinkHandler objects to be also stored uselessly (and those channel tabs contain prefetched JSON data which used ~700KB of memory).
The fix just involves removing some really outdated code (6 years ago) added in 33e29be7db (diff-38bd2cf1b92659b499c08e1cf6ac9ef384c7e13381b906f2f98c57cbb758756dR778) (blame: 9318bb5306/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailActivity.java (L778)).
What that code did was setting the 'buddy' image to the uploader avatar as a placeholder, and then setting the actual image if it existed and after it had loaded.
That code remained there up until now, but now it doesn't make sense anymore, since Picasso already takes care of setting placeholders.
The problem is, starting from #10066 the actual uploader image is set before (not after) those lines of code, making them do the wrong thing, i.e. always overwrite the currently set image.
But then why did the channel avatar image work normally sometimes?
My guess is that since Picasso loads images in the background, when opening a video from scratch setting the placeholder still happened before Picasso finished loading the image.
However when the image is already cached it's loaded much faster and therefore setting the placeholder happens after, effectively hiding the loaded image.
Currently translated at 78.7% (571 of 725 strings)
Translated using Weblate (Basque)
Currently translated at 95.0% (689 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (Lithuanian)
Currently translated at 92.9% (674 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 30.2% (23 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (724 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 32.0% (232 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Romanian)
Currently translated at 89.3% (648 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (German)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 72.3% (55 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 3.9% (3 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 99.7% (723 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 71.0% (515 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 2.6% (2 of 76 strings)
Translated using Weblate (Tigrinya)
Currently translated at 8.4% (61 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Finnish)
Currently translated at 98.3% (713 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 70.0% (508 of 725 strings)
Added translation using Weblate (English (Old))
Added translation using Weblate (Aymara)
Added translation using Weblate (English (Middle))
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (German (Low))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Kashmiri)
Added translation using Weblate (Burmese)
Translated using Weblate (Tigrinya)
Currently translated at 3.5% (26 of 725 strings)
Translated using Weblate (Georgian)
Currently translated at 91.1% (661 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.8% (717 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 42.1% (32 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 31.3% (227 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 35.5% (27 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Bulgarian)
Currently translated at 63.8% (463 of 725 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 66.3% (481 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.6% (715 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 31.5% (24 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.3% (706 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 98.4% (714 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 21.0% (16 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.2% (712 of 725 strings)
Deleted translation using Weblate (English (Middle))
Co-authored-by: /dev/urandom <dev.urandom@posteo.org>
Co-authored-by: A <ogloppi@mailbox.org>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Ans Virlis <tddakk@yahoo.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: Cem TÜRKER <cemburbut@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Erik Matson <erik@nextleveltranslation.com>
Co-authored-by: Giorgi Taba K'obakhidze <t@gtk.ge>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jener Gomes <jenerg1@gmail.com>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: LiftedStarfish <liftedstarfish@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: P.O <rasmusson.mikael@protonmail.com>
Co-authored-by: PiryusQ <piryusq@gmail.com>
Co-authored-by: Ray <ray@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: ferarilalon <ferarilalongpt@gmail.com>
Co-authored-by: fsbat0 <fsbat@duck.com>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: notlin4 <iamnotlin4@gmail.com>
Co-authored-by: sum1tookshoe <gamingwithshoe@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: İbrahim Dinç <woltytherespectful@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eo/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
This format is not supported by ExoPlayer when returned as HLS streams, so we
can't play streams using this format and this delivery method.
Also improve the Javadoc of ListHelper.getPlayableStreams.
This behavior was present before 0.24.0 and the player UI separation and
avoided crashes for which their exception contained
"Context.startForegroundService() did not then call Service.startForeground()".
Some player nullability checks have been also added, and the player service is
now stopped when it has been started from a media button and there is nothing
to play.
As the player can be null in some cases, we have to make sure that the player
is not null, by using Optionals on the player itself instead of its methods
returning Optionals.
If the player is null, the play queue audio track menu will now be hidden.
As the fragment context can be null in some cases, we have to make sure that
the context is not null before calling
DeviceUtils.hasAnimationsAnimatorDurationEnabled.
If the context is null, the button will now not be hidden automatically.
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 17.1% (13 of 76 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Finnish)
Currently translated at 98.0% (711 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.2% (712 of 725 strings)
Translated using Weblate (Indonesian)
Currently translated at 94.7% (72 of 76 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Hebrew)
Currently translated at 51.3% (39 of 76 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Polish)
Currently translated at 61.8% (47 of 76 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (76 of 76 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Åzze <laitinen.jere222@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Thai)
Currently translated at 29.3% (213 of 725 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 95.0% (689 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.7% (723 of 725 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (German)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Portuguese)
Currently translated at 95.2% (685 of 719 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 99.1% (713 of 719 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (German)
Currently translated at 81.3% (61 of 75 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (French)
Currently translated at 98.4% (708 of 719 strings)
Translated using Weblate (German)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 99.3% (714 of 719 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.8% (718 of 719 strings)
Translated using Weblate (French)
Currently translated at 97.7% (703 of 719 strings)
Translated using Weblate (German)
Currently translated at 99.4% (715 of 719 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Czech)
Currently translated at 95.5% (687 of 719 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (718 of 719 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (German)
Currently translated at 99.3% (714 of 719 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translation: NewPipe/Metadata
Although the permission to modify PRs is granted to the entire workflow, the job still reports that it does not the permission to do so:
GITHUB_TOKEN Permissions
Contents: read
Metadata: read
PullRequests: read
This adds the permission to the job directly
- Currently, only a list of videos separated by newline are added in
the share content.
- This makes it difficult to identify a specific video in a list of
Urls.
- Used string resources for the sharing content formats.
- Added a confirmation dialog for users to choose between sharing
playlist formats.
- Added Playlist name as the header and corresponding video name for
each video url in following format.
Playlist
- Music1: https://media-url1
- Music2: https://media-url2
- Music3: https://media-url3
Co-authored-by: TobiGr <tobigr@users.noreply.github.com>
Instead of searching for the first audio stream matching a compatible media
format, this change makes SecondaryStreamHelper.getAudioStreamFor use methods
isLimitingDataUsage, getAudioFormatComparator and getAudioIndexByHighestRank of
ListHelper to get an audio stream which can be muxed into a video-only stream,
if available.
This allows users to download videos with the highest audio quality available
if no resolution limit on mobile data usage has been set.
The order of formats used to search a compatible audio stream has been kept.
Do not restore last opened license after a rotation change when the license was closed earlier.
This commit adds onCancelListener and onDismissListener to the AlertDialogs which are used to display the licenses.
Currently translated at 0.5% (4 of 702 strings)
Translated using Weblate (Kazakh)
Currently translated at 6.6% (5 of 75 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (702 of 702 strings)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Spanish)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (701 of 702 strings)
Translated using Weblate (Japanese)
Currently translated at 98.2% (690 of 702 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (German)
Currently translated at 80.0% (60 of 75 strings)
Translated using Weblate (German)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Greek)
Currently translated at 97.8% (687 of 702 strings)
Translated using Weblate (Serbian)
Currently translated at 98.5% (692 of 702 strings)
Translated using Weblate (German)
Currently translated at 99.5% (699 of 702 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.8% (685 of 686 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hungarian)
Currently translated at 99.7% (684 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 16.0% (12 of 75 strings)
Translated using Weblate (Galician)
Currently translated at 99.5% (683 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 16.0% (12 of 75 strings)
Translated using Weblate (Bengali)
Currently translated at 83.8% (575 of 686 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (686 of 686 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aidos <goldenbit.kz@yandex.kz>
Co-authored-by: Daniel Rozario <rozario@tuta.io>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Tibor Botfai (gidano) <gidano@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nexi <nexiphotographer@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translation: NewPipe/Metadata
imageListToDbUrl should be used if the URL is going to be saved to the database, to avoid saving nothing in case at the moment of saving the user preference is to not show images.
Following settings have been move to the new category:
- import database (from ContenttSettings)
- export database (from ContenttSettings)
- reset settings (from DebugSettings)
Add the separate utility class PlayButtonHelper to handle the initialization of the listeners.
The ClickListeners on playlist controls had different behaviours. This commit fixes that.
The commit also refactors the way how the app determines whether it is started for the first time. The previous version was not clean and recent in this PR caused it to fail.
The breakage of these tests is related to the channel tabs changes.
The testRememberRecentStreams test method has been removed, as it doesn't seem
to be relevant anymore to managing subscriptions.
YouTube's "Desktop Max" thumbnails are 2560x423, while our previous placeholder banner was 2550x427. The extractor actually returns a lower resolution "Desktop Max" banner at 1060x175, but the ratio wrt 2560x423 is off by ~0.1%
The PNG was optimized with OptiPNG
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).
* added LoadingDialog for improving download experience
* [LoadingDialog] Apply some review comments and make title customizable.
* removed permission handling from loading Dialog
* fix checks
* remove <p> Tag from first sentence
---------
Co-authored-by: rishabaggarwal <Rishabaggarwal@sharechat.com>
Co-authored-by: TobiGr <tobigr@users.noreply.github.com>
The RuntimeException was not explicitly declared and thus not caught at every call of this constructor. This change ensures that this possible exception is handled by the dedicated error handlers.
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Malayalam)
Currently translated at 6.6% (5 of 75 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (German)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (German)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Swedish)
Currently translated at 99.7% (684 of 686 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Albanian)
Currently translated at 82.7% (568 of 686 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (French)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Added translation using Weblate (Burmese)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Slovak)
Currently translated at 98.9% (679 of 686 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (German)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Croatian)
Currently translated at 91.8% (628 of 684 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (French)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 98.6% (675 of 684 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Urdu)
Currently translated at 74.2% (508 of 684 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.2% (679 of 684 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Galician)
Currently translated at 99.5% (681 of 684 strings)
Translated using Weblate (Finnish)
Currently translated at 89.9% (615 of 684 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (684 of 684 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jani Kinnunen <janikinnunen340@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Joel A <joeax910@student.liu.se>
Co-authored-by: Jorge Pelaez <jorpelae@yahoo.co.jp>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Milan Šalka <salka.milan@googlemail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Shifa Graphics <shifagraphix@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: W L <wl@mailhole.de>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tellmeY18 <vysakh_b190622ec@nitc.ac.in>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ml/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
Currently translated at 5.3% (4 of 75 strings)
Translated using Weblate (Urdu)
Currently translated at 73.2% (501 of 684 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Polish)
Currently translated at 61.3% (46 of 75 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (75 of 75 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (684 of 684 strings)
Translated using Weblate (German)
Currently translated at 100.0% (684 of 684 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Shifa Graphics <shifagraphix@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: rickeesingh <rickeesingh231@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ur/
Translation: NewPipe/Metadata
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (French)
Currently translated at 93.2% (69 of 74 strings)
Translated using Weblate (Toki Pona)
Currently translated at 6.5% (45 of 683 strings)
Translated using Weblate (Toki Pona)
Currently translated at 2.7% (2 of 74 strings)
Translated using Weblate (French)
Currently translated at 100.0% (683 of 683 strings)
Added translation using Weblate (Toki Pona)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 96.3% (658 of 683 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 8.3% (57 of 683 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (French)
Currently translated at 100.0% (683 of 683 strings)
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: John Donne <akheron@zaclys.net>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: William <Electroboss@users.noreply.hosted.weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tok/
Translation: NewPipe/Metadata
Currently translated at 72.9% (54 of 74 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (German)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Dutch)
Currently translated at 64.8% (48 of 74 strings)
Translated using Weblate (German)
Currently translated at 81.0% (60 of 74 strings)
Translated using Weblate (Albanian)
Currently translated at 81.0% (552 of 681 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (French)
Currently translated at 93.2% (69 of 74 strings)
Translated using Weblate (Vietnamese)
Currently translated at 33.7% (25 of 74 strings)
Translated using Weblate (Bulgarian)
Currently translated at 66.5% (453 of 681 strings)
Translated using Weblate (Finnish)
Currently translated at 87.3% (595 of 681 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (German)
Currently translated at 81.0% (60 of 74 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Japanese)
Currently translated at 12.1% (9 of 74 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Vietnamese)
Currently translated at 32.4% (24 of 74 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Romanian)
Currently translated at 96.0% (654 of 681 strings)
Translated using Weblate (Japanese)
Currently translated at 99.7% (679 of 681 strings)
Translated using Weblate (Korean)
Currently translated at 12.1% (9 of 74 strings)
Translated using Weblate (Korean)
Currently translated at 12.1% (9 of 74 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (681 of 681 strings)
Translated using Weblate (German)
Currently translated at 79.7% (59 of 74 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (681 of 681 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AhHyeon An <toto1444@gmail.com>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Anonymous <deni76@tutanota.com>
Co-authored-by: Anxhelo Lushka <anxhelo1995@gmail.com>
Co-authored-by: Arsi Kiikka <arsikiikka20@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Etienne Barrier <etienne.barrier@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: MJ Kim <faith@users.noreply.hosted.weblate.org>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translation: NewPipe/Metadata
- don't check for isAudioOnly == !videoEnabled, as this prevents enabling again
video and text tracks renderers in some cases;
- when reloading play queue manager if that's needed, disable or enable video
and text tracks renderers, as they may need to be enabled again in some cases
like starting a video in main player, opening play queue, switching to
background player on it and switching back to main player;
- disable or enable video renderers also for streams with AUDIO_STREAM
StreamType, as doing so doesn't raise any issue and simplifies code;
- reword and move some comments to make them easier to understand.
- fix checkstyle errors
- tests do not run in order, so each one has to do its own assertions separately from what others did
- the uid of an entity in the database needn't be the same of the one created in-memory, since the uid gets assigned upon inserting in the database
- some database functions return a `Completable` that doesn't do anything until it is subscribed to or awaited, so I added `.awaitBlocking()` where needed
- the data of an entity in-memory does not get updated automatically when the corresponding entity in the database is changed, so some tests have been removed
- `manager.insertSubscription` only inserts recent streams, so they need to have a date set on them (I also made related items hardcoded and not dependent on what the channel is currently doing)
Taken from #8712 with updated screenshots and applied reviews.
Co-authored-by: Nico Haas <nico.haas@aisec.fraunhofer.de>
Co-authored-by: poolitzer <github@poolitzer.eu>
Co-authered-by: TobiGr <tobigr@users.noreply.github.com>
Currently translated at 55.4% (41 of 74 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Malayalam)
Currently translated at 83.7% (572 of 683 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (French)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Tigrinya)
Currently translated at 2.1% (15 of 683 strings)
Translated using Weblate (Tigrinya)
Currently translated at 4.0% (3 of 74 strings)
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 22.2% (152 of 683 strings)
Translated using Weblate (Turkish)
Currently translated at 98.8% (675 of 683 strings)
Added translation using Weblate (Tigrinya)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (683 of 683 strings)
Added translation using Weblate (Kannada)
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 13.4% (92 of 683 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Korean)
Currently translated at 12.1% (9 of 74 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (683 of 683 strings)
Added translation using Weblate (English (Middle))
Added translation using Weblate (English (Old))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Aymara)
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (Kashmiri)
Added translation using Weblate (German (Low))
Translated using Weblate (Korean)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Latvian)
Currently translated at 93.7% (640 of 683 strings)
Translated using Weblate (Dutch)
Currently translated at 64.8% (48 of 74 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 95.9% (71 of 74 strings)
Translated using Weblate (German)
Currently translated at 74.3% (55 of 74 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (683 of 683 strings)
Deleted translation using Weblate (Kashmiri)
Deleted translation using Weblate (Arabic (Najdi))
Deleted translation using Weblate (Aymara)
Deleted translation using Weblate (Sicilian)
Deleted translation using Weblate (English (Old))
Deleted translation using Weblate (English (Middle))
Deleted translation using Weblate (German (Low))
Translated using Weblate (Belarusian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Slovak)
Currently translated at 17.5% (13 of 74 strings)
Translated using Weblate (French)
Currently translated at 90.5% (67 of 74 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.2% (678 of 683 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Italian)
Currently translated at 97.2% (664 of 683 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (French)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (German)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (German)
Currently translated at 100.0% (683 of 683 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AhHyeon An <toto1444@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Arnis Jaundzeikars <sangsatori@theradiant.space>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Domokun <domokun@asdasd.nl>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Surfoo <surfooo@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: ai <woldu@duck.com>
Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com>
Co-authored-by: ctntt <pavlov_mainstreamed@slmail.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gbpu <gui.beppu@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jeffin-v <jeffin@posteo.net>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: 이정희 <daemul72@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ti/
Translation: NewPipe/Metadata
Translated using Weblate (Hungarian)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (683 of 683 strings)
Translated using Weblate (Galician)
Currently translated at 99.7% (681 of 683 strings)
Translated using Weblate (Hungarian)
Currently translated at 17.5% (13 of 74 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translated using Weblate (Hindi)
Currently translated at 100.0% (74 of 74 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translated using Weblate (N’Ko)
Currently translated at 98.5% (673 of 683 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (683 of 683 strings)
Currently translated at 6.7% (5 of 74 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 12.9% (86 of 664 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.3% (660 of 664 strings)
Translated using Weblate (Estonian)
Currently translated at 99.6% (662 of 664 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (German)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 0.0% (0 of 74 strings)
Translated using Weblate (N’Ko)
Currently translated at 8.9% (59 of 661 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (659 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Added translation using Weblate (N’Ko)
Translated using Weblate (Bambara)
Currently translated at 0.1% (1 of 661 strings)
Translated using Weblate (Bambara)
Currently translated at 1.3% (1 of 74 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (74 of 74 strings)
Added translation using Weblate (Bambara)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Estonian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Bakary Kaba <mbkaba@live.fr>
Co-authored-by: Bdd55oo <giggzuv9z.eofjx@aleeas.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hoàng Lâm Lê <work.lehoanglam@gmail.com>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: mono <monodevx@gmail.com>
Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bm/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
Translation: NewPipe/Metadata
Translated using Weblate (German)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (French)
Currently translated at 99.3% (660 of 664 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Catalan)
Currently translated at 93.2% (619 of 664 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 41.4% (275 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 4.0% (3 of 74 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
Translated using Weblate (Dutch)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Turkish)
Currently translated at 99.3% (660 of 664 strings)
Translated using Weblate (Georgian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 67.9% (451 of 664 strings)
Translated using Weblate (French)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (French)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 98.9% (657 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 84.6% (562 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Turkish)
Currently translated at 99.5% (661 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (French)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (German)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 100.0% (664 of 664 strings)
Translated using Weblate (N’Ko)
Currently translated at 5.4% (4 of 74 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
Translated using Weblate (N’Ko)
Currently translated at 9.4% (7 of 74 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
We don't know if, on muxed video streams we get for all services which support
multiple audio languages, that the audio language returned is the original one
or not, even if it should be the case.
In order to avoid saying potential false information, this word has been
removed from the string resource (ID and value) and the corresponding layout ID
in the download dialog.
NewPipe Extractor now extracts all YouTube Itags and therefore only those which can be handled by the player need to be retrieved from the list of all available streams.
As some devices not present in ExoPlayer's list may not implement
MediaCodec.setOutputSurface(Surface) properly, this workaround could be useful
on these devices.
It forces ExoPlayer to fall back on releasing and re-instantiating video codec
instances, which is always used on Android 5 and lower due to addition of this
method in Android 6.
To do so, a CustomMediaCodecVideoRenderer, based on ExoPlayer's
MediaVideoCodecRenderer which always return true for the
codecNeedsSetOutputSurfaceWorkaround method has been added, which is used in
CustomRenderersFactory, a class based on DefaultRenderersFactory which always
returns our CustomMediaCodecVideoRenderer as the video renderers.
CustomRenderersFactory replaces DefaultRenderersFactory in the player, in the
case this setting is enabled.
- Remove redundant player restart requirement note, as it is written on the
ExoPlayer settings description page;
- Add precision about the setting effect/limitation, as it only applies on
progressive contents/media sources and not on every content/media source;
- Remove translations of this description, to ensure that they will be updated
by translators.
Media tunneling may be not supported by more devices than the ones we
whitelisted before.
As a matter of fact, the list of devices on which media tunneling is disabled
could be not maintainable in the future, especially if the list of devices
grows more and more.
A preferable solution is to allow users to configure this setting themselves,
allowing them to not wait for their device(s) to be whitelisted in a future
NewPipe update.
This solution has been applied in this commit and works on every build type.
The corresponding preference in the debug settings has been of course removed
and the code used to prevent media tunneling activation on specific devices has
been removed.
This option could help to avoid decoder initialization issues, which falls back
to lower-priority decoders if decoder initialization fails. This may result in
poor playback performance than when using primary decoders.
It is disabled by default, but can be enabled in ExoPlayer settings.
This fragment has been added into SettingsResourceRegistry, to allow searches
in its options.
It has been placed at the place of the previous playback load interval size
setting (so in Video and Audio settings).
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Swedish)
Currently translated at 59.4% (44 of 74 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 18.9% (14 of 74 strings)
Translated using Weblate (Danish)
Currently translated at 98.3% (650 of 661 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Korean)
Currently translated at 99.8% (660 of 661 strings)
Translated using Weblate (French)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (German)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Indonesian)
Currently translated at 74.3% (55 of 74 strings)
Translated using Weblate (Czech)
Currently translated at 98.6% (73 of 74 strings)
Translated using Weblate (Ukrainian)
Currently translated at 98.6% (73 of 74 strings)
Translated using Weblate (Basque)
Currently translated at 43.2% (32 of 74 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 85.6% (566 of 661 strings)
Translated using Weblate (Belarusian)
Currently translated at 92.7% (613 of 661 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Latvian)
Currently translated at 89.7% (593 of 661 strings)
Translated using Weblate (Malay)
Currently translated at 54.3% (359 of 661 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.3% (650 of 661 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.7% (646 of 661 strings)
Translated using Weblate (Lithuanian)
Currently translated at 97.4% (644 of 661 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Korean)
Currently translated at 99.8% (660 of 661 strings)
Translated using Weblate (Hungarian)
Currently translated at 97.4% (644 of 661 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (English)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Assamese)
Currently translated at 14.8% (98 of 661 strings)
Translated using Weblate (Georgian)
Currently translated at 96.6% (639 of 661 strings)
Translated using Weblate (Bosnian)
Currently translated at 17.8% (118 of 661 strings)
Translated using Weblate (Gujarati)
Currently translated at 9.9% (66 of 661 strings)
Translated using Weblate (Marathi)
Currently translated at 8.4% (56 of 661 strings)
Translated using Weblate (Odia)
Currently translated at 99.8% (660 of 661 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Bengali)
Currently translated at 87.7% (580 of 661 strings)
Translated using Weblate (Bengali (India))
Currently translated at 45.9% (304 of 661 strings)
Translated using Weblate (Filipino)
Currently translated at 34.9% (231 of 661 strings)
Translated using Weblate (Danish)
Currently translated at 97.5% (645 of 661 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Belarusian)
Currently translated at 91.2% (603 of 661 strings)
Translated using Weblate (Belarusian)
Currently translated at 91.2% (603 of 661 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Albanian)
Currently translated at 83.9% (555 of 661 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 85.3% (564 of 661 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Catalan)
Currently translated at 93.3% (617 of 661 strings)
Translated using Weblate (Bulgarian)
Currently translated at 68.9% (456 of 661 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Finnish)
Currently translated at 90.0% (595 of 661 strings)
Translated using Weblate (Croatian)
Currently translated at 96.2% (636 of 661 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.7% (646 of 661 strings)
Translated using Weblate (Hebrew)
Currently translated at 98.7% (653 of 661 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Asturian)
Currently translated at 71.5% (473 of 661 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Dutch)
Currently translated at 98.3% (650 of 661 strings)
Translated using Weblate (French)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (German)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (English)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Korean)
Currently translated at 10.8% (8 of 74 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Belarusian)
Currently translated at 84.2% (557 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 95.9% (71 of 74 strings)
Translated using Weblate (Belarusian)
Currently translated at 78.9% (522 of 661 strings)
Translated using Weblate (Persian)
Currently translated at 99.3% (657 of 661 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Filipino)
Currently translated at 34.9% (231 of 661 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (French)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Russian)
Currently translated at 89.1% (66 of 74 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Sinhala)
Currently translated at 3.4% (23 of 661 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 64.8% (48 of 74 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Polish)
Currently translated at 60.8% (45 of 74 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (74 of 74 strings)
Translated using Weblate (Russian)
Currently translated at 78.3% (58 of 74 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 18.9% (14 of 74 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (661 of 661 strings)
Translated using Weblate (German)
Currently translated at 100.0% (661 of 661 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Alfred Makne Poulsen <alfred@omj.dk>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Rui Martins <martins.ro@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Sean Minnaert <sean.minnaert@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Simon Nilsson <Observeramera@pm.me>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Xəyyam Qocayev <xxmn77@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: fincent <fincentpm@protonmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jc <jcwkgxc@nightorb.com>
Co-authored-by: komiratsu192 <502badgateway@duck.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tndsG <tharushtnds@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: 모르것다 <jjs4809@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
This change makes the app using the behavior when there is no default browser
on Android 11 and lower, by opening a system chooser when there is no browser
available (on all Android versions).
Also catch any exception when the system chooser cannot be opened and show the
"No app on your device can open this" toast in this case, as an
`ActivityNotFoundException` could be thrown if no app is available to open a
given web link.
Translated using Weblate (Hindi)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (654 of 655 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (654 of 655 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (German)
Currently translated at 100.0% (655 of 655 strings)
Translated using Weblate (Russian)
Currently translated at 75.3% (55 of 73 strings)
Translated using Weblate (Belarusian)
Currently translated at 74.4% (487 of 654 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.8% (653 of 654 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.2% (649 of 654 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Slovenian)
Currently translated at 64.2% (420 of 654 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (German)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (English)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Belarusian)
Currently translated at 6.8% (5 of 73 strings)
Translated using Weblate (Belarusian)
Currently translated at 74.3% (486 of 654 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (German)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Vietnamese)
Currently translated at 98.4% (644 of 654 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (German)
Currently translated at 100.0% (654 of 654 strings)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Bengali)
Currently translated at 21.9% (16 of 73 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 69.8% (51 of 73 strings)
Translated using Weblate (Portuguese)
Currently translated at 69.8% (51 of 73 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Dutch)
Currently translated at 65.7% (48 of 73 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 28.7% (21 of 73 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (653 of 654 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Basque)
Currently translated at 45.2% (33 of 73 strings)
Translated using Weblate (German)
Currently translated at 73.9% (54 of 73 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (653 of 654 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (French)
Currently translated at 99.6% (652 of 654 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (German)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.0% (11 of 73 strings)
Translated using Weblate (German)
Currently translated at 73.9% (54 of 73 strings)
Translated using Weblate (Thai)
Currently translated at 32.0% (209 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.0% (11 of 73 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 64.3% (47 of 73 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Indonesian)
Currently translated at 76.7% (56 of 73 strings)
Translated using Weblate (Polish)
Currently translated at 60.2% (44 of 73 strings)
Translated using Weblate (Hindi)
Currently translated at 21.9% (16 of 73 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 17.8% (13 of 73 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (652 of 652 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Phahim Hasan <phahimhasanrakib@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <S3aBreeze@users.noreply.hosted.weblate.org>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Sierzh <my-email@tut.by>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: ThePsychoBuck <Thepsychobuck@protonmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: komiratsu19273240ad76c354986 <2011945@naver.com>
Co-authored-by: petlyh <88139840+petlyh@users.noreply.github.com>
Co-authored-by: phneutral26 <github@phileric.anonaddy.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Štefan Baebler <stefan.baebler@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
- Fix misconfiguration in manifest ('http|https|market' is not valid)
- Split ShareUtils functions taking a boolean parameter into pairs of functions with better names and less runtime checks
- Move all Kore-related functions to KoreUtils
- Remove the toast_no_player string
Currently translated at 21.9% (16 of 73 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 69.8% (51 of 73 strings)
Translated using Weblate (Portuguese)
Currently translated at 69.8% (51 of 73 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Dutch)
Currently translated at 65.7% (48 of 73 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 28.7% (21 of 73 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (653 of 654 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Basque)
Currently translated at 45.2% (33 of 73 strings)
Translated using Weblate (German)
Currently translated at 73.9% (54 of 73 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (653 of 654 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (French)
Currently translated at 99.6% (652 of 654 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (German)
Currently translated at 100.0% (654 of 654 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.0% (11 of 73 strings)
Translated using Weblate (German)
Currently translated at 73.9% (54 of 73 strings)
Translated using Weblate (Thai)
Currently translated at 32.0% (209 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 15.0% (11 of 73 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 64.3% (47 of 73 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Indonesian)
Currently translated at 76.7% (56 of 73 strings)
Translated using Weblate (Polish)
Currently translated at 60.2% (44 of 73 strings)
Translated using Weblate (Hindi)
Currently translated at 21.9% (16 of 73 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (73 of 73 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 17.8% (13 of 73 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (652 of 652 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Phahim Hasan <phahimhasanrakib@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <S3aBreeze@users.noreply.hosted.weblate.org>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: petlyh <88139840+petlyh@users.noreply.github.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
The following is the list of all commits squashed together:
Regain function for option `Positions in lists`
use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.
fix#8176 by eliminating exit delay
Regain function for option `Positions in lists`
update code with developer's comments
apply static import to methods in util class DependentPreferenceHelper
Regain function for option `Positions in lists`
use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.
fix behavior for displaying progress bar when autoplay off but video resume on
not to retrieve unnecessary states when position in lists disabled
fix mistake in code
simplify conditional logic
update doc comment and remove unused method
Fix not showing duration if position indicators disabled
Positions in lists only depends on watch history
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Lithuanian)
Currently translated at 99.3% (648 of 652 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Assamese)
Currently translated at 15.0% (98 of 652 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Slovenian)
Currently translated at 2.7% (2 of 72 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Lithuanian)
Currently translated at 99.3% (648 of 652 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (651 of 652 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (652 of 652 strings)
Translated using Weblate (German)
Currently translated at 100.0% (652 of 652 strings)
Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: ErnestasKaralius <ernis.karalius@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Francesco Saltori <francescosaltori@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HudobniVolk <hudobni.volk@tuta.io>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pieter van der Razemond <pietervanderrazemond@mailbox.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sl/
Translation: NewPipe/Metadata
Apps targeting {@link android.os.Build.VERSION_CODES#R} on devices running OS versions {@link android.os.Build.VERSION_CODES#R Android R} or later, will receive a {@code null} value when preferences are cleared.
* Translated using Weblate (Hebrew)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (German)
Currently translated at 100.0% (650 of 650 strings)
Added translation using Weblate (Assamese)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (650 of 650 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (German)
Currently translated at 72.2% (52 of 72 strings)
Translated using Weblate (Danish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Catalan)
Currently translated at 95.5% (620 of 649 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 10.6% (69 of 649 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Arabic)
Currently translated at 51.3% (37 of 72 strings)
Translated using Weblate (Bengali)
Currently translated at 89.9% (584 of 649 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Thai)
Currently translated at 32.2% (209 of 649 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (647 of 649 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (German)
Currently translated at 66.6% (48 of 72 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (French)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (German)
Currently translated at 100.0% (649 of 649 strings)
Translated using Weblate (Hindi)
Currently translated at 19.4% (14 of 72 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (648 of 648 strings)
Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: ERYpTION <eryption.x6tf8@simplelogin.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SalusVF <salus.vf@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translation: NewPipe/Metadata
* Translated using Weblate (Slovenian)
Currently translated at 63.6% (414 of 650 strings)
* Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (650 of 650 strings)
* Translated using Weblate (Assamese)
Currently translated at 3.6% (24 of 650 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: ERYpTION <eryption.x6tf8@simplelogin.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SalusVF <salus.vf@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: HudobniVolk <hudobni.volk@tuta.io>
This commit adds the ability to copy to clipboard hashtags, URLs and timestamps
when long-pressing them.
Some changes in our TextView class related to text setting have been required
and metadata items are now using a NewPipeTextView instead of a standard
TextView.
Six new classes have been added:
- a custom LinkMovementMethod class;
- a custom ClickableSpan class, LongPressClickableSpan, in order to set a long
press event;
- a class to avoid code duplication in CommentTextOnTouchListener, TouchUtils;
- three implementations of LongPressClickableSpan used when linkifying text:
- HashtagLongPressClickableSpan for hashtags;
- TimestampLongPressClickableSpan for timestamps;
- UrlLongPressClickableSpan for URLs.
We provide visual feedback via a toast to the user that, well, they're supposed to wait; but with the benefit of the cache openAddToPlaylistDialog() may return (almost) immediately, which would render the toast otiose (if not a bit confusing). This commit improves that by cancelling the toast once the wait's over
... (by 'abusing' RxJava's ambWith();
ref on compose() and Transformer: https://blog.danlew.net/2015/03/02/dont-break-the-chain/
and for me, first time laying my hands at RxJava so kindly bear with me; open for suggestions)
pending result for openAddToPlaylistDialog() and openDownloadDialog()
Despite marked deprecated, setRetainInstance(true) is probably our best bet (since a ViewModel is probably too overkill for our present purpose)
so we won't hold up UI while fetching media info for Add to Playlist or Download actions
lest user might think it freezes when in fact a network request is underway
- Handle finish() call instead of passing around callbacks to setOnDismissListener()
- Don't start over again if returning to DialogFragment before orientation change
This seems to solve a bug where the Open action menu dialog does not appear the first time on cold start on older Android (8.0).
This is also the order of things in MainActivity and probably good practice.
Currently translated at 93.0% (67 of 72 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (French)
Currently translated at 91.6% (66 of 72 strings)
Translated using Weblate (Urdu)
Currently translated at 66.9% (434 of 648 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Telugu)
Currently translated at 6.9% (5 of 72 strings)
Translated using Weblate (Telugu)
Currently translated at 66.9% (434 of 648 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Tamil)
Currently translated at 54.0% (350 of 648 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (648 of 648 strings)
Co-authored-by: Ahmad Raza <ahmadrazaxm@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Kiss Attila <gaxeco4855@pro5g.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/te/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
Some services may only have video streams and no separate audio streams available.
This commit will add audio background playback support for those services.
It uses the video source as audio source for background playback.
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Esperanto)
Currently translated at 74.3% (482 of 648 strings)
Translated using Weblate (German)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (French)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (German)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (German)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (German)
Currently translated at 99.8% (647 of 648 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (648 of 648 strings)
Translated using Weblate (Greek)
Currently translated at 99.6% (646 of 648 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger1024@duck.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Skarvinius <saab_samuel@hotmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: argonfilm <gradicchuck@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translation: NewPipe/Metadata
Add a check that the queue position is not the last in the queue before
showing "Enqueue next".
Previously the "Enqueue next" action would always be shown if the queue
length was greater than one, this meant even if you were at the end of
the queue (when "Enqueue" would have the same effect as "Enqueue next")
the action would still be shown.
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (French)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 9.1% (59 of 646 strings)
Translated using Weblate (Punjabi (Pakistan))
Currently translated at 19.6% (127 of 646 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.0% (640 of 646 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 5.5% (4 of 72 strings)
Translated using Weblate (Hindi)
Currently translated at 18.0% (13 of 72 strings)
Translated using Weblate (Hungarian)
Currently translated at 11.1% (8 of 72 strings)
Translated using Weblate (Portuguese)
Currently translated at 69.4% (50 of 72 strings)
Translated using Weblate (Filipino)
Currently translated at 5.5% (4 of 72 strings)
Translated using Weblate (Filipino)
Currently translated at 35.9% (232 of 646 strings)
Translated using Weblate (Catalan)
Currently translated at 95.9% (620 of 646 strings)
Translated using Weblate (Hindi)
Currently translated at 78.7% (509 of 646 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 69.4% (50 of 72 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Persian)
Currently translated at 61.1% (44 of 72 strings)
Translated using Weblate (Russian)
Currently translated at 41.6% (30 of 72 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 6.1% (40 of 646 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Odia)
Currently translated at 2.7% (2 of 72 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (French)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Odia)
Currently translated at 30.1% (195 of 646 strings)
Translated using Weblate (Russian)
Currently translated at 41.6% (30 of 72 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.2% (596 of 646 strings)
Translated using Weblate (Hindi)
Currently translated at 69.6% (450 of 646 strings)
Added translation using Weblate (Norwegian Nynorsk)
Translated using Weblate (Georgian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Icelandic)
Currently translated at 99.0% (640 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 6.9% (5 of 72 strings)
Translated using Weblate (German)
Currently translated at 62.5% (45 of 72 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Georgian)
Currently translated at 20.1% (130 of 646 strings)
Translated using Weblate (Georgian)
Currently translated at 98.6% (71 of 72 strings)
Added translation using Weblate (Georgian)
Co-authored-by: AudricV <avdivers84@gmail.com>
Co-authored-by: Boros Zsombor <zsombor2626@gmail.com>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: L-M-H <lars.magnus@herland.priv.no>
Co-authored-by: M. Ll <mklr95@gmail.com>
Co-authored-by: M4SK <themightyloki@free.fr>
Co-authored-by: Nahla Hamdi <nahlahamdi87@gmail.com>
Co-authored-by: Net <nizamismidov4@gmail.com>
Co-authored-by: Nikoloz <nukushatugushi@gmail.com>
Co-authored-by: Pedro Henrique Vilela do Nascimento <pedro.hvn@usp.br>
Co-authored-by: Platon Terekhov <gibbonsville_cowal@simplelogin.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Trendyne <eiko@chiru.no>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: Артём Нефедов <artem10397g@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ka/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translation: NewPipe/Metadata
android:exported in now required in the manifest on all activities/services/receivers/providers. It was set to true for those that need to interact with outside apps or the OS, while others have exported=false.
This also required updating LeakCanary to the latest version as the older version being used was not using android:exported in AndroidManifest.xml.
- Avoid NullPointerException crashes if there is no UiModeManager or desktop
system service mode
- Use final for every exception
- Suppress missing fields warnings
- Add missing NonNull annotation
This method is not needed anymore, as ShareUtils.copyToClipboard does
almost the same thing (no label is set on the ClipData used to copy text,
contrary to what Utility did, but using "text" as a ClipData label doesn't seem
useful).
It was used in MissionAdapter.handlePopupItem to copy the SHA1 or the MD5 of a
file.
Currently translated at 6.1% (40 of 646 strings)
Translated using Weblate (Santali)
Currently translated at 10.3% (67 of 646 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 63.8% (46 of 72 strings)
Translated using Weblate (Arabic)
Currently translated at 50.0% (36 of 72 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Portuguese)
Currently translated at 69.4% (50 of 72 strings)
Translated using Weblate (Bulgarian)
Currently translated at 4.1% (3 of 72 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 16.6% (12 of 72 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.2% (596 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 99.8% (645 of 646 strings)
Translated using Weblate (Korean)
Currently translated at 99.8% (645 of 646 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Punjabi (Pakistan))
Currently translated at 18.4% (119 of 646 strings)
Translated using Weblate (Slovak)
Currently translated at 9.7% (7 of 72 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 97.2% (70 of 72 strings)
Translated using Weblate (Polish)
Currently translated at 59.7% (43 of 72 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Turkish)
Currently translated at 99.8% (645 of 646 strings)
Translated using Weblate (German)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hungarian)
Currently translated at 9.8% (7 of 71 strings)
Translated using Weblate (Punjabi)
Currently translated at 5.6% (4 of 71 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Asturian)
Currently translated at 2.8% (2 of 71 strings)
Translated using Weblate (Punjabi)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Vietnamese)
Currently translated at 98.9% (639 of 646 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 99.5% (643 of 646 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (646 of 646 strings)
Added translation using Weblate (English (Middle))
Added translation using Weblate (English (Old))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (Kashmiri)
Added translation using Weblate (German (Low))
Added translation using Weblate (Aymará)
Added translation using Weblate (Kazakh)
Translated using Weblate (Bulgarian)
Currently translated at 2.8% (2 of 71 strings)
Translated using Weblate (Bengali)
Currently translated at 90.5% (585 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (646 of 646 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Enol P <enolp@softastur.org>
Co-authored-by: Ergün Can Taş <erguntas1968@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: L-M-H <lars.magnus@herland.priv.no>
Co-authored-by: Lyudmil Borisov <lyuskoborisov@abv.bg>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Preston Waters <masatox3@yahoo.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rohan Deb Sarkar <rohandebsarkar+git@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Sebi <stoican_sebi@yahoo.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Thọ Bùi Nguyễn Hoàng <buitho061997@gmail.com>
Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: zaioti <zaioti@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ast/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Punjabi (Pakistan))
Currently translated at 18.4% (119 of 646 strings)
Translated using Weblate (Slovak)
Currently translated at 9.7% (7 of 72 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 97.2% (70 of 72 strings)
Translated using Weblate (Polish)
Currently translated at 59.7% (43 of 72 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (72 of 72 strings)
Translated using Weblate (Turkish)
Currently translated at 99.8% (645 of 646 strings)
Translated using Weblate (German)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hungarian)
Currently translated at 9.8% (7 of 71 strings)
Translated using Weblate (Punjabi)
Currently translated at 5.6% (4 of 71 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Asturian)
Currently translated at 2.8% (2 of 71 strings)
Translated using Weblate (Punjabi)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Vietnamese)
Currently translated at 98.9% (639 of 646 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 99.5% (643 of 646 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (646 of 646 strings)
Added translation using Weblate (English (Middle))
Added translation using Weblate (English (Old))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (Kashmiri)
Added translation using Weblate (German (Low))
Added translation using Weblate (Aymará)
Added translation using Weblate (Kazakh)
Translated using Weblate (Bulgarian)
Currently translated at 2.8% (2 of 71 strings)
Translated using Weblate (Bengali)
Currently translated at 90.5% (585 of 646 strings)
Translated using Weblate (Punjabi)
Currently translated at 99.6% (644 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (646 of 646 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Enol P <enolp@softastur.org>
Co-authored-by: Ergün Can Taş <erguntas1968@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Lyudmil Borisov <lyuskoborisov@abv.bg>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rohan Deb Sarkar <rohandebsarkar+git@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Thọ Bùi Nguyễn Hoàng <buitho061997@gmail.com>
Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: zaioti <zaioti@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ast/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
Currently translated at 4.6% (30 of 646 strings)
Deleted translation using Weblate (Sicilian)
Deleted translation using Weblate (Kazakh)
Deleted translation using Weblate (Kashmiri)
Deleted translation using Weblate (German (Low))
Deleted translation using Weblate (English (Old))
Deleted translation using Weblate (English (Middle))
Deleted translation using Weblate (Aymará)
Deleted translation using Weblate (Arabic (Najdi))
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (French)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (German)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.5% (38 of 71 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.5% (643 of 646 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (646 of 646 strings)
Translated using Weblate (Portuguese)
Currently translated at 69.0% (49 of 71 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Croatian)
Currently translated at 99.5% (642 of 645 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (French)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (German)
Currently translated at 100.0% (645 of 645 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: William <eduardo.957@hotmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: sonix-github <sonix.internet@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translation: NewPipe/Metadata
Dates and times are localized using PrettyTime. Added a note to guide translators to also localize that library to create a fully localized experience.
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (French)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (645 of 645 strings)
Translated using Weblate (French)
Currently translated at 99.5% (642 of 645 strings)
Translated using Weblate (Greek)
Currently translated at 99.6% (643 of 645 strings)
Translated using Weblate (Icelandic)
Currently translated at 99.0% (636 of 642 strings)
Translated using Weblate (Polish)
Currently translated at 59.1% (42 of 71 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Icelandic)
Currently translated at 83.1% (534 of 642 strings)
Translated using Weblate (Punjabi (Pakistan))
Currently translated at 18.3% (118 of 642 strings)
Translated using Weblate (Punjabi (Pakistan))
Currently translated at 1.4% (1 of 71 strings)
Translated using Weblate (Icelandic)
Currently translated at 83.0% (533 of 642 strings)
Translated using Weblate (Aymara (Southern))
Currently translated at 0.1% (1 of 642 strings)
Translated using Weblate (Swedish)
Currently translated at 60.5% (43 of 71 strings)
Translated using Weblate (Russian)
Currently translated at 30.9% (22 of 71 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (French)
Currently translated at 100.0% (642 of 642 strings)
Added translation using Weblate (Punjabi (Pakistan))
Translated using Weblate (Icelandic)
Currently translated at 70.0% (450 of 642 strings)
Translated using Weblate (Undetermined)
Currently translated at 21.4% (138 of 642 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Undetermined)
Currently translated at 18.3% (118 of 642 strings)
Translated using Weblate (Icelandic)
Currently translated at 2.8% (2 of 71 strings)
Translated using Weblate (Icelandic)
Currently translated at 51.5% (331 of 642 strings)
Translated using Weblate (French)
Currently translated at 91.5% (65 of 71 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Italian)
Currently translated at 43.6% (31 of 71 strings)
Translated using Weblate (Basque)
Currently translated at 45.0% (32 of 71 strings)
Translated using Weblate (Punjabi)
Currently translated at 84.7% (544 of 642 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Tamil)
Currently translated at 54.8% (352 of 642 strings)
Translated using Weblate (Tamil)
Currently translated at 54.8% (352 of 642 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (642 of 642 strings)
Added translation using Weblate (Undetermined)
Translated using Weblate (Icelandic)
Currently translated at 7.3% (47 of 642 strings)
Translated using Weblate (Icelandic)
Currently translated at 4.6% (30 of 642 strings)
Added translation using Weblate (Icelandic)
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Chitraarasu <chitraarasu@kirshi.co>
Co-authored-by: Chitraarasu.k <kchitraarasu@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mehmet Ali <2045uuttb@relay.firefox.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: OneGuitars <xiaozhuojun1125@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Trendyne <eiko@chiru.no>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: julboudin <boudin.julie@orange.fr>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Артём Нефедов <artem10397g@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/is/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa_PK/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translation: NewPipe/Metadata
* add a open in browser button
* Corrected a few things that needed to be changed
* Remove unneeded changes.
* Remove unneeded changes.
* Add showAndSetOpenInBrowserButtonAction function
* modify some codes
* Fix crash when the user clicks download then quits the history fragment
* add a nonnull annotation to the context parameter in the DownloadDialog constructor.
* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"
This reverts commit 968d7a7603.
* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"
This reverts commit 968d7a7603, reversing
changes made to 52963ba37d.
Reverted merge
jlhzxc
* update project to the latest dev branch
* Revert "update project to the latest dev branch"
This reverts commit fb3ed83d51.
revert changes to build files
* Revert "Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash""
This reverts commit f9e1835e71.
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 67.6% (48 of 71 strings)
Translated using Weblate (Portuguese)
Currently translated at 67.6% (48 of 71 strings)
Translated using Weblate (Bengali)
Currently translated at 90.9% (584 of 642 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (641 of 642 strings)
Translated using Weblate (Danish)
Currently translated at 91.4% (587 of 642 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 64.4% (414 of 642 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (641 of 642 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (642 of 642 strings)
Added translation using Weblate (Aymara (Southern))
Added translation using Weblate (Aymará)
Translated using Weblate (Bengali)
Currently translated at 88.9% (571 of 642 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 28.1% (20 of 71 strings)
Translated using Weblate (Turkish)
Currently translated at 32.3% (23 of 71 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Hindi)
Currently translated at 70.2% (451 of 642 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Dutch)
Currently translated at 98.9% (635 of 642 strings)
Translated using Weblate (French)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (642 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (640 of 642 strings)
Translated using Weblate (German)
Currently translated at 100.0% (642 of 642 strings)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Tamil)
Currently translated at 52.6% (337 of 640 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 60.5% (43 of 71 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Tamil)
Currently translated at 52.5% (336 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Slovak)
Currently translated at 8.4% (6 of 71 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 98.1% (628 of 640 strings)
Translated using Weblate (Galician)
Currently translated at 99.6% (638 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 88.7% (63 of 71 strings)
Translated using Weblate (Hindi)
Currently translated at 4.2% (3 of 71 strings)
Translated using Weblate (Portuguese)
Currently translated at 60.5% (43 of 71 strings)
Translated using Weblate (Hindi)
Currently translated at 68.7% (440 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 99.3% (636 of 640 strings)
Translated using Weblate (English)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 63.3% (45 of 71 strings)
Translated using Weblate (Swedish)
Currently translated at 47.8% (34 of 71 strings)
Translated using Weblate (French)
Currently translated at 90.1% (64 of 71 strings)
Translated using Weblate (Spanish)
Currently translated at 57.7% (41 of 71 strings)
Translated using Weblate (Polish)
Currently translated at 57.7% (41 of 71 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 15.4% (11 of 71 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 100.0% (640 of 640 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Kimmer Jensen <mail@akj.io>
Co-authored-by: Andrew Boonin <catassasin331@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Denys Nykula <vegan@libre.net.ua>
Co-authored-by: Eduardo Malaspina <vaio0@swismail.com>
Co-authored-by: Elias Quispe Chura <ilaies_2012@hotmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Error Specialist <errorspecialist02@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florin Voicu <florin.bkk@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hasan <hasanyildiz0@yaani.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hossain Rizbi <rsajib387@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Leonardo Brauna <leonardo_brauna@hotmail.com.br>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Marc Barten <mwbarten@hotmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Max Xie <monyxie@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: NTFSynergy <ntfsynergy@gmail.com>
Co-authored-by: Nico Guo <fewis64883@herrain.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SEENUVASAN T <seenuthiruvpm@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Tom Sawyer <weblate@grymkoll.se>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vas R <mrkomododragon1234@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gonzalo <misctrashy@gmail.com>
Co-authored-by: komiratsu19273240ad76c354986 <2011945@naver.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pitachips <hjkim3323@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: variable virus <variablevirus@gmail.com>
Co-authored-by: weughgh <ahmedhuntingpro@proton.me>
Co-authored-by: zaioti <zaioti@tuta.io>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: 이정희 <daemul72@gmail.com>
Co-authored-by: 정주찬 <ju1801@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 52.6% (337 of 640 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 60.5% (43 of 71 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Tamil)
Currently translated at 52.5% (336 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Slovak)
Currently translated at 8.4% (6 of 71 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 98.1% (628 of 640 strings)
Translated using Weblate (Galician)
Currently translated at 99.6% (638 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 88.7% (63 of 71 strings)
Translated using Weblate (Hindi)
Currently translated at 4.2% (3 of 71 strings)
Translated using Weblate (Portuguese)
Currently translated at 60.5% (43 of 71 strings)
Translated using Weblate (Hindi)
Currently translated at 68.7% (440 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 99.3% (636 of 640 strings)
Translated using Weblate (English)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 63.3% (45 of 71 strings)
Translated using Weblate (Swedish)
Currently translated at 47.8% (34 of 71 strings)
Translated using Weblate (French)
Currently translated at 90.1% (64 of 71 strings)
Translated using Weblate (Spanish)
Currently translated at 57.7% (41 of 71 strings)
Translated using Weblate (Polish)
Currently translated at 57.7% (41 of 71 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (71 of 71 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 15.4% (11 of 71 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 100.0% (640 of 640 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Denys Nykula <vegan@libre.net.ua>
Co-authored-by: Eduardo Malaspina <vaio0@swismail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Error Specialist <errorspecialist02@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Leonardo Brauna <leonardo_brauna@hotmail.com.br>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Marc Barten <mwbarten@hotmail.com>
Co-authored-by: Max Xie <monyxie@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: NTFSynergy <ntfsynergy@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SEENUVASAN T <seenuthiruvpm@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Tom Sawyer <weblate@grymkoll.se>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vas R <mrkomododragon1234@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: weughgh <ahmedhuntingpro@proton.me>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
* Add play queue button to video details fragment
* Use existing ic_list icon
* Still open play queue even when queue is empty
* Change app:srcCompat to android:src
Before if the list before updating contained item 'test' at position 0 and after updating that value went to the bottom, the list would incorrectly scroll to the bottom to follow that item. Now the scrolling is done after the list is updated.
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (70 of 70 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (69 of 69 strings)
Translated using Weblate (Interlingua)
Currently translated at 35.0% (224 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 62.3% (43 of 69 strings)
Translated using Weblate (Korean)
Currently translated at 10.1% (7 of 69 strings)
Translated using Weblate (French)
Currently translated at 89.8% (62 of 69 strings)
Translated using Weblate (Hebrew)
Currently translated at 55.0% (38 of 69 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (69 of 69 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (69 of 69 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 13.0% (9 of 69 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 5.8% (4 of 68 strings)
Translated using Weblate (French)
Currently translated at 89.7% (61 of 68 strings)
Translated using Weblate (French)
Currently translated at 89.7% (61 of 68 strings)
Translated using Weblate (Bengali)
Currently translated at 22.0% (15 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 73.5% (50 of 68 strings)
Translated using Weblate (Russian)
Currently translated at 30.8% (21 of 68 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hungarian)
Currently translated at 7.3% (5 of 68 strings)
Translated using Weblate (Croatian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Polish)
Currently translated at 58.8% (40 of 68 strings)
Translated using Weblate (Bengali)
Currently translated at 88.7% (568 of 640 strings)
Translated using Weblate (Malayalam)
Currently translated at 90.7% (581 of 640 strings)
Translated using Weblate (Interlingua)
Currently translated at 33.5% (215 of 640 strings)
Translated using Weblate (Croatian)
Currently translated at 98.1% (628 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hungarian)
Currently translated at 93.9% (601 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Somali)
Currently translated at 89.0% (570 of 640 strings)
Translated using Weblate (German)
Currently translated at 66.1% (45 of 68 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Armenian)
Currently translated at 29.2% (187 of 640 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Urdu)
Currently translated at 67.1% (430 of 640 strings)
Translated using Weblate (Croatian)
Currently translated at 97.5% (624 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 61.7% (42 of 68 strings)
Translated using Weblate (Russian)
Currently translated at 22.0% (15 of 68 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 72.0% (49 of 68 strings)
Translated using Weblate (Italian)
Currently translated at 41.1% (28 of 68 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.6% (638 of 640 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Bulgarian)
Currently translated at 72.0% (461 of 640 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 64.6% (414 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Slovak)
Currently translated at 8.8% (6 of 68 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 70.5% (48 of 68 strings)
Translated using Weblate (Filipino)
Currently translated at 36.8% (236 of 640 strings)
Translated using Weblate (Bulgarian)
Currently translated at 70.6% (452 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 32.3% (22 of 68 strings)
Translated using Weblate (Telugu)
Currently translated at 65.6% (420 of 640 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 97.1% (622 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Japanese)
Currently translated at 99.2% (635 of 640 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Evghenii Botnari <botnarievgheniy@gmail.com>
Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: Francisco Ruiz <fjrbas@yahoo.es>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hin Weisner <translatu.godwit@aleeas.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JScocktail <yarbutt2005@gmail.com>
Co-authored-by: Jalaluddin <ju81@ymail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Josu <bi000@protonmail.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Laura Vasconcelos Pereira Felippe <lauravpf@gmail.com>
Co-authored-by: Lenn Art <gitlab@wunstblog.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Louis V <michumadame1@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: MatthieuPh <matthieu.philippe@protonmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MΛX <maxkorsov@protonmail.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Pieter van der Razemond <pietervanderrazemond@mailbox.org>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: STV <steeven.lombardi@gmail.com>
Co-authored-by: Samar Ali <samarali.dev@gmail.com>
Co-authored-by: Santhosh J <santhoshj296@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Tadeusz Dudek <t--o_o@outlook.com>
Co-authored-by: ThePlanetaryDroid <gmeyq5y0@duck.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Viktor <xasertop@gmail.com>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Xəyyam Qocayev <xxmn77@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zoldtukor <emailekhez@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: i-am-SangWoo-Lee <i.am.sangwoo.lee@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: rakijagamer-2003 <rakijaisthebest@abv.bg>
Co-authored-by: remon-drk <omerdoruk005@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Co-authored-by: yunna <yunna.in@gmail.com>
Co-authored-by: Симеон Цветков <sicvetkov@uni-sofia.bg>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn_BD/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Though still make sure metadata is updated after the thumbnail is loaded.
This fixes the wrong seekbar properties (duration and current position) being shown in the notification sometimes.
A while ago NewPipe called the metadata update function very often, so checks were needed to ensure not wasting time updating metadata if it were already up to date. Now, instead, the metadata update function is called exactly when needed, i.e. when metadata changes, so such checks are not needed anymore (and were probably also a little resource-heavy).
Before the thumbnail finishes loading for the new video the player is now playing, the old thumbnail was being used, leading to wrong thumbnails set in the media session and the notification.
The thumbnail was not being updated in the media session metadata after it was loaded, since there was no metadata update in that case, only a notification update.
Before the Target would sometimes be garbage collected before being called with the loaded channel icon, since Picasso holds weak references to targets. This meant that sometimes a new streams notification would not be shown, because the lambda that should have shown it had already been garbage collected.
After making the playlist and video thumbnails' scaleType fitCenter, the 24dp*24dp thumbnails would appear as a square, which would be strange, since the image view is 16:9.
- Show placeholders until the image is loaded because timeout can be very long and missing profile pictures and video thumbnails make app inconvenient to use
- Adapt profile picture and video thumbnail placeholders to light theme
- Replace profile picture and video thumbnail placeholders with vector graphics
Change square bitmap transformation strategy: change the bitmap transformation strategy when a 1:1 aspect ratio is
enabled to not stretch the bitmap but rather crop it.
On Android 11/12, the way the whole thumbnail was used for the
notification icon was not ideal, however the setting to toggle a 1:1
(as it states in settings) resulted in distortions.
Fix this by simply cropping the bitmap.
Also update the 1:1 mode strings to remove mentions of scaling or
distortions, as those no longer apply.
The search menu item gets added in first place when the feed fragment is added as a tab to the main fragment. So the main fragment's menu items' orderInCategory should start from 2.
Currently translated at 2.9% (2 of 68 strings)
Translated using Weblate (French)
Currently translated at 69.1% (47 of 68 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 91.2% (584 of 640 strings)
Translated using Weblate (Armenian)
Currently translated at 28.7% (184 of 640 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Added translation using Weblate (Kazakh)
Translated using Weblate (Bengali)
Currently translated at 20.5% (14 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 99.3% (636 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Latvian)
Currently translated at 92.6% (593 of 640 strings)
Translated using Weblate (Bengali)
Currently translated at 19.1% (13 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (French)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.7% (42 of 68 strings)
Translated using Weblate (French)
Currently translated at 66.1% (45 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 11.7% (8 of 68 strings)
Translated using Weblate (Turkish)
Currently translated at 32.3% (22 of 68 strings)
Translated using Weblate (Bengali)
Currently translated at 88.9% (569 of 640 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (635 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 97.1% (622 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 39.7% (27 of 68 strings)
Translated using Weblate (Polish)
Currently translated at 55.8% (38 of 68 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Persian)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 66.1% (45 of 68 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmiz@proton.me>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Erik J <ej_rostock@web.de>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Julie WF <julie-99@live.no>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ReVanced <revanced2022@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SameenAhnaf <sameenahnaf@yahoo.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yeldar Kudaibergenov <mail@yeldar.org>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: patrik <jpekman@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: riveravaldez <riveravaldezmail@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zica <9918800@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
We don't seem to agree on which character to use as a separator between `release` and `X.X.X` in release branch names (e.g. `release-0.23.1` or `release/0.23.0`). All those names start with `release`, though, so let's use that to identify releases.
Currently translated at 89.0% (564 of 633 strings)
Translated using Weblate (Finnish)
Currently translated at 95.8% (607 of 633 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 65.5% (415 of 633 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Added translation using Weblate (English (Old))
Translated using Weblate (French)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Basque)
Currently translated at 25.3% (17 of 67 strings)
Translated using Weblate (Filipino)
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 88.3% (559 of 633 strings)
Translated using Weblate (Bengali (India))
Currently translated at 49.2% (312 of 633 strings)
Translated using Weblate (Bengali (India))
Currently translated at 49.2% (312 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 36.9% (234 of 633 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 90.5% (573 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 64.1% (43 of 67 strings)
Translated using Weblate (Dutch)
Currently translated at 70.1% (47 of 67 strings)
Translated using Weblate (Italian)
Currently translated at 38.8% (26 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 31.3% (21 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 85.6% (542 of 633 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (Malayalam)
Currently translated at 92.1% (583 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 93.0% (589 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 4.4% (3 of 67 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 75.0% (475 of 633 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 93.8% (594 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 93.8% (594 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 4.4% (3 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Belarusian)
Currently translated at 1.4% (1 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 84.9% (538 of 633 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 50.3% (319 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 63.8% (404 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Serbian)
Currently translated at 92.4% (585 of 633 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.7% (619 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Cerins <cerins4141@gmail.com>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Công Phúc <timnguyenaklc1133@gmail.com>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Himadri Bhattacharjee <handhimadrink@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jacob <axin6e7weujc@beconfidential.com>
Co-authored-by: Jalaluddin <ju81@ymail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Linkan Majumder <linkan469@gmail.com>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Mathias Hamza Vedsted-Mirza <mathiashamzamirza@outlook.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nicky Db <nickydbruyn@gmail.com>
Co-authored-by: Nikhil Anilkumar <rootshell348@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Nizami semidov <revanced2022@gmail.com>
Co-authored-by: Onni <onnip@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Steven Felix <stevenfelix505@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: metezd <itoldyouthat@protonmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: vmisovic <vladimir.misovic03@gmail.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: Éfrit <efrit@posteo.net>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/da/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
A custom HlsPlaylistParserFactory cannot be used anymore to play HLS streams.
This needs to be replaced by a custom HlsDataSourceFactory, which returns a ByteArrayDataSource (where the bytes of this DataSource correspond to the bytes of the playlist string) and a specified DataSource for other request types.
This model has two limitations:
- if media requests are relative, the URI from which the manifest comes from (either the manifest URI (preferred) or the master URI (if applicable)) must be returned, otherwise the content will be not playable, as it will be an invalid URL, or it may be treat as something unexpected, for instance as a file for DefaultDataSources;
- if the playlist is a master playlist, endless loops should be encountered because the DataSources created for media playlists will use the master playlist response instead of fetching the corresponding playlist. With the current model of HlsDataSourceFactory, there is no possibility to distinguish the playlist type or the URI that is requested.
If ExoPlayer provides a way to create HlsMediaSources with an HlsPlaylist in the future, it should be used instead of this solution.
This ensures to not remove streams from the StreamInfo lists themselves, and so to not have to create list copies.
The toast shown in RouterActivity, when there is no audio stream available for external players, is now shown, in the same case, when pressing the background button in VideoDetailFragment.
This IllegalStateException, almost not reproducible, indicates that another SimpleCache instance uses the cache folder, which was so trying to be created at least twice.
Moving the SimpleCache creation in PlayerDataSource should avoid this exception.
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
Detailed changes:
- External players:
- Add a message instruction about stream selection;
- Add a message when there is no stream available for external players;
- Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.
- Player:
- Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
- Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
- Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
- Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).
- Download dialog:
- Add message about support of progressive HTTP streams only for downloading;
- Remove several duplicated code and update relevant usages;
- Support downloading of contents with an unknown media format.
- ListHelper:
- Catch NumberFormatException when trying to compare two video streams between them.
- Tests:
- Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.
- Other places:
- Fixes deprecation of changes made in the extractor;
- Improve some code related to the files changed.
- Issues fixed and/or improved with the changes:
- Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
- Crash when loading PeerTube streams with a separated audio;
- Lack of some streams on some YouTube videos (OTF streams);
- Loading times of YouTube streams, after a quality change or a playback start;
- View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
- Watchable time of YouTube ended livestreams;
- Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
* Bandcamp: Was facing in the wrong direction and used an incorrect logo
* Media CCC: Update logo
* YT: Added NewPipe logo so that it's not just a rectangle
Currently translated at 45.6% (289 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 47.2% (299 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Tagalog)
Currently translated at 9.4% (60 of 633 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (10 of 67 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.1% (41 of 67 strings)
Translated using Weblate (Slovak)
Currently translated at 7.4% (5 of 67 strings)
Translated using Weblate (Persian)
Currently translated at 62.6% (42 of 67 strings)
Translated using Weblate (Swedish)
Currently translated at 50.7% (34 of 67 strings)
Translated using Weblate (Spanish)
Currently translated at 59.7% (40 of 67 strings)
Translated using Weblate (Indonesian)
Currently translated at 79.1% (53 of 67 strings)
Translated using Weblate (Polish)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Hebrew)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Russian)
Currently translated at 17.9% (12 of 67 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 10.4% (7 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 28.3% (19 of 67 strings)
Translated using Weblate (German)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 18.7% (119 of 633 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 98.5% (624 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 95.7% (606 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Korean)
Currently translated at 71.8% (455 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Croatian)
Currently translated at 98.4% (623 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 28.7% (182 of 633 strings)
DefaultControlDispatcher was removed in ExoPlayer 2.16.0, so the class
extending it that handled play/pause was removed in #8020.
The new solution is to use an instance of ForwardingPlayer. Call
sessionConnector.setPlayer with an instance of ForwardingPlayer that
overrides play() and pause() and calls the callback methods.
Currently translated at 45.6% (289 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 47.2% (299 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Tagalog)
Currently translated at 9.4% (60 of 633 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (10 of 67 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.1% (41 of 67 strings)
Translated using Weblate (Slovak)
Currently translated at 7.4% (5 of 67 strings)
Translated using Weblate (Persian)
Currently translated at 62.6% (42 of 67 strings)
Translated using Weblate (Swedish)
Currently translated at 50.7% (34 of 67 strings)
Translated using Weblate (Spanish)
Currently translated at 59.7% (40 of 67 strings)
Translated using Weblate (Indonesian)
Currently translated at 79.1% (53 of 67 strings)
Translated using Weblate (Polish)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Hebrew)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Russian)
Currently translated at 17.9% (12 of 67 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 10.4% (7 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 28.3% (19 of 67 strings)
Translated using Weblate (German)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 18.7% (119 of 633 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 98.5% (624 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 95.7% (606 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Korean)
Currently translated at 71.8% (455 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
The changelogs were just copied from 982.txt for all languages that had it, since the subject of the hotfix release was the same, i.e. youtube breaking
Fix fetch of video streams (when switching between tracks in a play queue) and subtitles when using a seamless transition between background and video players
Make the use of the new method setDisabledTrackTypes in DefaultTrackSelector.ParametersBuilder, which disables selection of tracks type for every TrackGroup instead of the current group, which is the current behavior.
This removes the use of the deprecated of setSelectionOverride method.
Note that for progressive media, the content is still fetched, but only for initialization purposes (so requests are pretty small, most of times with a few kilobytes size).
It never kicked in since we are never returning a retry() Result, but always either success() or failure() (see createWork() function). Also, there is already a default (exponential backoff starting from 30 seconds), so no need to override it.
added: MediaItemTag for ManagedMediaSources.
added: silent track for FailedMediaSource.
added: keyframe fast forward at initial playback buffer.
added: error notification on silently skipped streams.
- Put checkstyle files into checkstyle/ subfolder so that the gradle task does not implicitly depend on the whole project, fixing many warnings during build and possibly increasing build performance.
- Remove unused SuppressionXpathFilter from config file.
- Remove outdated suppressions from suppressions file.
This also allows saving a remote playlist locally.
- Add an "Add to playlist" button to the queue menu in the Player.
- Move the appendAllToPlaylist functionality from PlayQueueActivity to
Player.
Fixes: #8004
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Bosnian)
Currently translated at 4.6% (3 of 65 strings)
Translated using Weblate (Bosnian)
Currently translated at 19.7% (122 of 617 strings)
Translated using Weblate (Croatian)
Currently translated at 98.2% (606 of 617 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (Serbian)
Currently translated at 94.9% (586 of 617 strings)
Translated using Weblate (Sardinian)
Currently translated at 99.6% (615 of 617 strings)
Translated using Weblate (Italian)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (German)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Estonian)
Currently translated at 99.6% (615 of 617 strings)
Translated using Weblate (Tamil)
Currently translated at 55.2% (341 of 617 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.8% (616 of 617 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.4% (583 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Japanese)
Currently translated at 10.7% (7 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (613 of 615 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (613 of 613 strings)
Added translation using Weblate (Bosnian)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: luciana <ludiazsp_182@live.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: sasukeiscool <jaflagasd@gmail.com>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
Doing this programmatically is just a no-go when themes are being set
in some other places (the toolbar is using a custom theme, in this
case), so, instead of hunting down the proper theme, just let the
system do its work.
- Add adjustment_step_key to settings_keys.xml to be used when
saving/loading the step size.
- Remove the global stepSize variable and the code that saves it to
outState/loads it from savedInstanceState because it's now saved to
Shared Preferences.
- Move initially setting step size to setupStepSizeSelector to be
consistent with the other view setup methods, using the value loaded
from Shared Preferences.
- Save the step size to Shared Preferences inside setStepSize.
Fixes: #7031
Currently translated at 49.2% (32 of 65 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 58.4% (38 of 65 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (French)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (Italian)
Currently translated at 38.4% (25 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 55.3% (36 of 65 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.8% (35 of 65 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (German)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (French)
Currently translated at 65.6% (42 of 64 strings)
Translated using Weblate (Dutch)
Currently translated at 71.8% (46 of 64 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 80.4% (493 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Benedikt Freisen <b.freisen@gmx.net>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 49.2% (32 of 65 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 58.4% (38 of 65 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (French)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (Italian)
Currently translated at 38.4% (25 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 55.3% (36 of 65 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.8% (35 of 65 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (German)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (French)
Currently translated at 65.6% (42 of 64 strings)
Translated using Weblate (Dutch)
Currently translated at 71.8% (46 of 64 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 80.4% (493 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Benedikt Freisen <b.freisen@gmx.net>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.
To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced.
A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.
To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
ExoPlayer right now fetches HLS video tracks even if you disable them (with setRendererDisabled or setSelectionOverride).
See issue 9282 of ExoPlayer's issue tracker for more information.
* Replaced by ``wasLastResolvedVideoAndAudioSeparated``
* Uses an ``Optional`` instead (we can't determine if the video and audio streams are separated when we did not fetch it)
Unable to compile!
* Cleaned up ``getMostCompactAudioIndex`` and ``getHighestQualityAudioIndex`` into a new method ``getAudioIndexByHighestRank``
* Removed unreadable code and use Java Streams API
* Tests work as expected
Prefering video-only streams to video streams for our player will allow us to make seamless transitions on 360 and 720p qualities on YouTube.
External players and the downloader are not affected by this change.
This is only available when playing video-only streams (and when there is no audio stream and only video streams with audio) and audio-only streams.
For more details about which conditions are required to get this transition, look at the changes in the useVideoSource(boolean) method of the Player class.
It ensures that queues are not the same. Without this check when you have multiple videos in the backstack and navigating back via Back button you'll get duplicated videos
This happened in fullscreen player: while play-pause, brightness, volume, ... buttons were correctly centered in the app UI, the fast seek overlay was centered in the system UI, causing a mismatch between the two that looked ugly
Currently translated at 100.0% (64 of 64 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 6.2% (4 of 64 strings)
Translated using Weblate (Malay)
Currently translated at 60.0% (368 of 613 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Finnish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 63.9% (392 of 613 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 64.0% (41 of 64 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.1% (34 of 64 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (German)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Polish)
Currently translated at 54.6% (35 of 64 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (64 of 64 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.2% (584 of 613 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Slovak)
Currently translated at 98.0% (601 of 613 strings)
Translated using Weblate (Hungarian)
Currently translated at 99.5% (610 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (63 of 63 strings)
Translated using Weblate (Dutch)
Currently translated at 46.0% (29 of 63 strings)
Translated using Weblate (Hebrew)
Currently translated at 52.3% (33 of 63 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (63 of 63 strings)
Translated using Weblate (Interlingua)
Currently translated at 35.0% (215 of 613 strings)
Translated using Weblate (Danish)
Currently translated at 49.1% (301 of 613 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.2% (578 of 613 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Finnish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 99.6% (611 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 28.5% (18 of 63 strings)
Translated using Weblate (Dutch)
Currently translated at 28.5% (18 of 63 strings)
Translated using Weblate (Swedish)
Currently translated at 48.3% (30 of 62 strings)
Translated using Weblate (French)
Currently translated at 66.1% (41 of 62 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Estonian)
Currently translated at 99.8% (612 of 613 strings)
Translated using Weblate (Catalan)
Currently translated at 99.1% (608 of 613 strings)
Translated using Weblate (Tamil)
Currently translated at 55.4% (340 of 613 strings)
Translated using Weblate (Finnish)
Currently translated at 99.0% (607 of 613 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Armenian)
Currently translated at 19.0% (117 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.8% (612 of 613 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (612 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Catalan)
Currently translated at 99.3% (609 of 613 strings)
Translated using Weblate (Lithuanian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (German)
Currently translated at 100.0% (613 of 613 strings)
Added translation using Weblate (German (Low))
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Malay)
Currently translated at 4.8% (3 of 62 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 4.8% (3 of 62 strings)
Translated using Weblate (Galician)
Currently translated at 94.9% (581 of 612 strings)
Translated using Weblate (Malay)
Currently translated at 60.1% (368 of 612 strings)
Translated using Weblate (Malay)
Currently translated at 60.1% (368 of 612 strings)
Translated using Weblate (Tamil)
Currently translated at 49.8% (305 of 612 strings)
Translated using Weblate (Finnish)
Currently translated at 97.2% (595 of 612 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (612 of 612 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 57.1% (350 of 612 strings)
Translated using Weblate (French)
Currently translated at 99.6% (610 of 612 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 7.6% (47 of 612 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Tamil)
Currently translated at 44.6% (273 of 612 strings)
Translated using Weblate (Arabic)
Currently translated at 99.8% (611 of 612 strings)
Co-authored-by: A <ville.mourujarvi@hostedweblate.mail.kapsi.fi>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albert Vila <vilacalvo.albert@gmail.com>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alfonso Scarpino <alfonso.scarpino@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Denys Nykula <nykula@ukr.net>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: John Smith <a@shatin.ml>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lim Jia Ming <jiaminglimjm@protonmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Mark <theMurk@protonmail.com>
Co-authored-by: Mohammed Anas <6daf084a-8eaf-40fb-86c7-8500077c3b69@anonaddy.me>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: My <quentin.lalle@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SamTada <SamLbttyw@protonmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
Co-authored-by: Thomas Frarke <goetzknecht23@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Ville Rantanen <v.r@iki.fi>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jojo <welwhazosky@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: xainsworth <202120614015@ogr.balikesir.edu.tr>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ms/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
The previous/reverted behavior caused unwanted data transmission:
* Removed loading via handleResults/loadMoreItems-callback because the RecyclerView is apparently not immediately updated in the UI when the data is set which causes one load of data to much.
* Always recreate the footer so that it's not possible to attach the same instance twice
* Removed support for creating a custom footer as it's never used
* Supply the header with an supplier
* This might not fix the problem completely as we currently can only create the header once inside Channel, Playlist and RelatedItems-Fragment - allowing creation of multiple headers might be done in the future if the issues still arise
* Other minor fixes
* Don't minimize images that are too wide -> they will get stretched otherwise
* Don't try to modify the issue/comment when nothing changed
* Fixed typo
The workaround set before was not applied when switching to main player with content thumbnail from popup or background player. This commit fixes this by applying the workaround when switching to main player with content thumbnail from popup or background player.
* Add changelog for NewPipe 0.22.0 (983)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
ExoPlayer's default behavior is to use a multiplication of target segment by a coefficient (3,5).
This coefficient (and this behavior) cannot be customized without using a custom HlsPlaylistTracker right now.
New behavior is to wait 15 seconds before throwing a PlaylistStuckException.
This should improve a lot HLS live streaming on (very) low-latency livestreams with buffering issues, especially on YouTube with their HLS manifests.
Instead of trying to reload the play queue manager and then throwing an error, BehindLiveWindowExceptions now make the app seek to the default playback position, like recommended by ExoPlayer.
The buffering state is shown in this case.
Error handling of other exceptions is not changed.
This checks if the uploaderUrl is in the database, if not it gets the
uploaderUrl and puts it in the database. This is similar to the fetching
of uploaderUrl when it doesn't exist done in #6919.
Also use createNotification when error occurs in getStreamInfo.
The issue was caused by an ExoPlayer change, which when setting a media source, resets the current playback position and the current window index by default.
Also set player recovery in more places to fix playback position not propely set in some cases after a player type switch.
* Consolidated main-setttings into a single file
* Debug settings are only enabled in the DEBUG build
* Moved LeakCanary (debug) specific stuff into a small class that's only shipped with the debug build
* Other minor fixes
Currently translated at 58.4% (374 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.8% (607 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (638 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Swedish)
Currently translated at 25.8% (16 of 62 strings)
Translated using Weblate (Portuguese)
Currently translated at 67.7% (42 of 62 strings)
Translated using Weblate (Ukrainian)
Currently translated at 82.2% (51 of 62 strings)
Translated using Weblate (Telugu)
Currently translated at 51.4% (328 of 638 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Czech)
Currently translated at 97.1% (620 of 638 strings)
Translated using Weblate (Japanese)
Currently translated at 99.2% (633 of 638 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (French)
Currently translated at 99.5% (635 of 638 strings)
Translated using Weblate (French)
Currently translated at 99.5% (635 of 638 strings)
Translated using Weblate (Santali)
Currently translated at 13.9% (89 of 638 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (62 of 62 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 59.6% (37 of 62 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 66.1% (41 of 62 strings)
Translated using Weblate (Persian)
Currently translated at 62.9% (39 of 62 strings)
Translated using Weblate (Spanish)
Currently translated at 58.0% (36 of 62 strings)
Translated using Weblate (Dutch)
Currently translated at 12.9% (8 of 62 strings)
Translated using Weblate (Hebrew)
Currently translated at 51.6% (32 of 62 strings)
Translated using Weblate (Portuguese)
Currently translated at 66.1% (41 of 62 strings)
Translated using Weblate (Ukrainian)
Currently translated at 80.6% (50 of 62 strings)
Translated using Weblate (Dutch)
Currently translated at 98.4% (628 of 638 strings)
Translated using Weblate (Hindi)
Currently translated at 4.9% (3 of 61 strings)
Translated using Weblate (Hungarian)
Currently translated at 6.5% (4 of 61 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Russian)
Currently translated at 99.8% (637 of 638 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (French)
Currently translated at 99.3% (634 of 638 strings)
Translated using Weblate (Hungarian)
Currently translated at 6.5% (4 of 61 strings)
Translated using Weblate (Hungarian)
Currently translated at 6.5% (4 of 61 strings)
Translated using Weblate (Hungarian)
Currently translated at 4.9% (3 of 61 strings)
Translated using Weblate (Telugu)
Currently translated at 51.0% (326 of 638 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Swedish)
Currently translated at 24.5% (15 of 61 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Croatian)
Currently translated at 98.7% (630 of 638 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.8% (637 of 638 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.0% (632 of 638 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 58.4% (373 of 638 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (638 of 638 strings)
Added translation using Weblate (English (Middle))
Translated using Weblate (Dutch)
Currently translated at 11.4% (7 of 61 strings)
Translated using Weblate (Telugu)
Currently translated at 50.6% (323 of 638 strings)
Translated using Weblate (Hebrew)
Currently translated at 97.9% (625 of 638 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (637 of 638 strings)
Translated using Weblate (Japanese)
Currently translated at 98.5% (629 of 638 strings)
Translated using Weblate (Russian)
Currently translated at 98.1% (626 of 638 strings)
Translated using Weblate (French)
Currently translated at 98.5% (629 of 638 strings)
Translated using Weblate (Spanish)
Currently translated at 99.0% (632 of 638 strings)
Translated using Weblate (German)
Currently translated at 100.0% (638 of 638 strings)
Translated using Weblate (English)
Currently translated at 100.0% (631 of 631 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (631 of 631 strings)
Translated using Weblate (French)
Currently translated at 99.6% (629 of 631 strings)
Translated using Weblate (Telugu)
Currently translated at 43.2% (273 of 631 strings)
Translated using Weblate (Japanese)
Currently translated at 99.8% (630 of 631 strings)
Translated using Weblate (French)
Currently translated at 99.6% (629 of 631 strings)
Co-authored-by: Abhishek Kumar <abhi7737-22@yahoo.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alfonso Scarpino <alfonso.scarpino@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andreas P <andreas.polnas93@hotmail.com>
Co-authored-by: Andrey F <firsan777@mail.ru>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Boros Zsombor <zsombor2626@gmail.com>
Co-authored-by: Calcitem <calcitem@outlook.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Name Protected <notemailprotected@protonmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yuki Monkey <ymonkey32@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: evfjunior <evfjunior@protonmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: ndrnry <ondernuray@gmail.com>
Co-authored-by: nzgha <nzgha@runbox.com>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: wmd arg <wmdarg3@gmail.com>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: 刘韬 <lyuutau@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translation: NewPipe/Metadata
* When rewinding: Check if <0,5s
* When fast-forwarding: Check if player has completed or the current playback has ended
This allows rewinding on the endscreen
* Deduplicated and simplified a lot of code
* Fixed ``invalidSeekConditions`` so that it's possible to seek while the player is loading (like currently the case)
How fast a tests is executed on a shared CI pipeline is not predictable as the build might be throttled because other builds are running.
Therefore adding extremely short timeouts inside the tests - where they can't be changed - is a bad idea.
Removed them for now.
* Replace JUnit asserts with AssertJ in HistoryRecordManagerTest
They provide a wider range of assertions, which allow for more detailed error messages.
Also convert SearchHistoryEntry to kotlin data class for better error messages, since toString() is implemented.
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Add annotations to methods and parameters.
Replace Jetbrains' @NotNull with Androidx' @NonNull annotatiation.
Make class variables static if possible.
Use constants for some Strings.
Simplify if conditions.
The wrong @Decorator was put in the wrong place to mark the throwable fieldd as transient, now this is fixed and the exception is not serialized. So if a non-serializable throwable is passed, that's not an issue, since it's not going to be serialized. The need for EnsureExceptionSerializable is also gone.
Do not open the setting for a specific notification channel (Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS), but the settings for all notifications by the app (Settings.ACTION_APP_NOTIFICATION_SETTINGS)
This commit calls getStreamInfo causing a full network fetch of stream
info (I believe only if required) when adding a stream item to the
queue. This should prevent UI issues of missing metadata when queueing
videos that have been fast-loaded and are missing metadata.
Fixes#7035
### Please do **not** open pull requests for *new features* now, as we are planning to rewrite large chunks of the code. Only bugfix PRs will be accepted. More details will be announced soon!
NewPipe contribution guidelines
===============================
@ -22,6 +24,7 @@ You'll see *exactly* what is sent, be able to add **your comments**, and then se
* NewPipe is translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). Log in there with your GitHub account, or register.
* Add the language you want to translate if it is not there already: see [How to add a new language](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-add-a-new-language-to-NewPipe) in the wiki.
* NewPipe uses the [PrettyTime](https://github.com/ocpsoft/prettytime) library to display localized versions of dates and times. It needs to be translated, too. Read [these instructions to add a new language](https://www.ocpsoft.org/prettytime/#section-14) and [this issue](https://github.com/TeamNewPipe/NewPipe/issues/9134) for more info.
## Code contribution
@ -68,7 +71,7 @@ The [checkStyle](https://github.com/checkstyle/checkstyle) plugin verifies that
- Go to `File -> Settings -> Plugins`, search for `checkstyle` and install `CheckStyle-IDEA`.
- Go to `File -> Settings -> Tools -> Checkstyle`.
- Add NewPipe's configuration file by clicking the `+` in the right toolbar of the "Configuration File" list.
- Under the "Use a local Checkstyle file" bullet, click on `Browse` and pick the file named `checkstyle.xml` in the project's root folder.
- Under the "Use a local Checkstyle file" bullet, click on `Browse` and, enter `checkstyle` folder under the project's root path and pick the file named `checkstyle.xml`.
- Enable "Store relative to project location" so that moving the directory around does not create issues.
- Insert a description in the top bar, then click `Next` and then `Finish`.
- Activate the configuration file you just added by enabling the checkbox on the left.
Thanks for taking the time to fill out this form! :hugs:
Note that you can also ask questions on our [IRC channel](https://web.libera.chat/#newpipe).
- type:checkboxes
id:checklist
attributes:
label:"Checklist"
options:
- label:"I made sure that there are *no existing issues or discussions* - [open](https://github.com/TeamNewPipe/NewPipe/issues) or [closed](https://github.com/TeamNewPipe/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required:true
- label:"I have read the [FAQ](https://newpipe.net/FAQ/) and my question isn't listed."
required:true
- label:"I have taken the time to fill in all the required details. I understand that the question will be dismissed otherwise."
required:true
- label:"I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required:true
- type:textarea
id:what-is-the-question
attributes:
label:What is/are your question(s)?
validations:
required:true
- type:textarea
id:additional-information
attributes:
label:Additional information
description:Any other information you'd like to include, for instance sketches, mockups, pictures of cats, etc.
Oh no, a bug! It happens. Thanks for reporting an issue with NewPipe. To make it easier for us to help you please enter detailed information in the template we have provided below. If a section isn't relevant, just delete it, though it would be helpful to still provide as much detail as possible.
-->
<!-- IF YOU DON'T FILL IN THE TEMPLATE PROPERLY, YOUR ISSUE IS LIABLE TO BE CLOSED. If you feel tired/lazy right now, open your issue some other time. We'll wait. -->
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the Preview). -->
### Checklist
<!-- This checklist is COMPULSORY. The first box has been checked for you to show you how it is done. -->
- [x] I am using the latest version - x.xx.x <!-- Check https://github.com/TeamNewPipe/NewPipe/releases -->
- [ ] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo. <!-- Seriously, check. O_O -->
- [ ] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
- [ ] This issue contains only one bug. I will open one issue for every bug report I want to file.
### Steps to reproduce the bug
<!--
1. Go to '...'
2. Press on '....'
3. Swipe down to '....'
-->
<!-- If you can't cause the bug to show up again reliably (and hence don't have a proper set of steps to give us), please still try to give as many details as possible on how you think you encountered the bug. -->
### Actual behavior
<!-- Tell us what happens with the steps given above. -->
### Expected behavior
<!-- Tell us what you expect to happen. -->
### Screenshots/Screen recordings
<!-- If applicable, add screenshots or a screen recording to help explain your problem. GitHub supports uploading them directly in the issue text box. If your file is too big for Github to accept, feel free to paste a link from an image/video hoster here instead. -->
<!-- DON'T POST SCREENSHOTS OF THE ERROR PAGE. Use the buttons given on the error page to paste the error as text in the Logs section below. -->
### Logs
<!-- If your bug includes a crash (where you're shown the Error Report page with a bunch of info), tap on "Copy formatted report" at the bottom and paste it here: -->
<!-- That's right, here! -->
<!-- Please fill this section if you did not provide a log generated by NewPipe -->
description:Create a bug report to help us improve
labels:[bug, needs triage]
body:
- type:markdown
attributes:
value:|
Thank you for helping to make NewPipe better by reporting a bug. :hugs:
Please fill in as much information as possible about your bug so that we don't have to play "information ping-pong" and can help you immediately.
- type:checkboxes
id:checklist
attributes:
label:"Checklist"
options:
- label:"I am able to reproduce the bug with the latest version given here: [CLICK THIS LINK](https://github.com/TeamNewPipe/NewPipe/releases/latest)."
required:true
- label:"I made sure that there are *no existing issues* - [open](https://github.com/TeamNewPipe/NewPipe/issues) or [closed](https://github.com/TeamNewPipe/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required:true
- label:"I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
required:true
- label:"I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise."
required:true
- label:"This issue contains only one bug."
required:true
- label:"I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required:true
- type:input
id:app-version
attributes:
label:Affected version
description:"In which NewPipe version did you encounter the bug?"
placeholder:"x.xx.x - Can be seen in the app from the 'About' section in the sidebar"
validations:
required:true
- type:textarea
id:steps-to-reproduce
attributes:
label:Steps to reproduce the bug
description:|
What did you do for the bug to show up?
If you can't cause the bug to show up again reliably (and hence don't have a proper set of steps to give us), please still try to give as many details as possible on how you think you encountered the bug.
placeholder:|
1. Go to '...'
2. Press on '....'
3. Swipe down to '....'
validations:
required:true
- type:textarea
id:expected-behavior
attributes:
label:Expected behavior
description:|
Tell us what you expect to happen.
- type:textarea
id:actual-behavior
attributes:
label:Actual behavior
description:|
Tell us what happens with the steps given above.
- type:textarea
id:screen-media
attributes:
label:Screenshots/Screen recordings
description:|
A picture or video is worth a thousand words.
If applicable, add screenshots or a screen recording to help explain your problem.
GitHub supports uploading them directly in the text box.
If your file is too big for Github to accept, try to compress it (ZIP-file) or feel free to paste a link to an image/video hoster here instead.
:heavy_exclamation_mark:DON'T POST SCREENSHOTS OF THE ERROR PAGE.
Instead, follow the instructions in the "Logs" section below.
- type:textarea
id:logs
attributes:
label:Logs
description:|
If your bug includes a crash (where you're shown the Error Report page with a bunch of info), tap on "Copy formatted report" at the bottom and paste it here.
- type:input
id:device-os-info
attributes:
label:Affected Android/Custom ROM version
description:|
With what operating system (+ version) did you encounter the bug?
<!-- IF YOU DON'T FILL IN THE TEMPLATE PROPERLY, YOUR ISSUE IS LIABLE TO BE CLOSED. If you are currently unable to do so for any reason, open your issue some other time. We'll wait. -->
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the Preview tab). -->
### Checklist
<!-- This checklist is COMPULSORY. The first box has been checked for you to show you how it is done. -->
- [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo. <!-- Seriously, check. O_O -->
- [ ] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
- [ ] This issue contains only one feature request. I will open one issue for every feature I want to request.
#### What feature do you want?
<!-- Explain how you want the app's look or behavior to change to suit your needs. -->
#### Why do you want this feature?
<!-- Describe any problem or limitation you come across while using the app which would be solved by this feature. -->
Thank you for helping to make NewPipe better by suggesting a feature. :hugs:
Your ideas are highly welcome! The app is made for you, the users, after all.
- type:checkboxes
id:checklist
attributes:
label:"Checklist"
options:
- label:"I made sure that there are *no existing issues* - [open](https://github.com/TeamNewPipe/NewPipe/issues) or [closed](https://github.com/TeamNewPipe/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required:true
- label:"I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
required:true
- label:"I'm aware that this is a request for NewPipe itself and that requests for adding a new service need to be made at [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor/issues)."
required:true
- label:"I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise."
required:true
- label:"This issue contains only one feature request."
required:true
- label:"I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required:true
- type:textarea
id:feature-description
attributes:
label:Feature description
description:|
Explain how you want the app's look or behavior to change to suit your needs.
validations:
required:true
- type:textarea
id:why-is-the-feature-requested
attributes:
label:Why do you want this feature?
description:|
Describe any problem or limitation you come across while using the app which would be solved by this feature.
validations:
required:true
- type:textarea
id:additional-information
attributes:
label:Additional information
description:Any other information you'd like to include, for instance sketches, mockups, pictures of cats, etc.
<!-- IF YOU DON'T FILL IN THE TEMPLATE PROPERLY, YOUR ISSUE IS LIABLE TO BE CLOSED. If you feel tired/lazy right now, open your issue some other time. We'll wait. -->
<!-- The comments between these brackets won't show up in the submitted issue (as you can see in the Preview). -->
### Checklist
<!-- This checklist is COMPULSORY. The first box has been checked for you to show you how it is done. -->
- [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo. <!-- Seriously, check. O_O (If there's already an issue but you'd like to see if something changed, just make a comment on the issue instead of opening a new one.) -->
- [ ] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
#### What's your question(s)?
#### Additional context
<!-- Add any other context, like screenshots or links, about the question here.
<!-- Delete this if it doesn't apply to your PR. -->
-
#### APK testing
#### APK testing
<!-- Use a new, meaningfully named branch. The name is used as a suffix for the app ID to allow installing and testing multiple versions of NewPipe, e.g. "commentfix", if your PR implements a bugfix for comments. (No names like "patch-0" and "feature-1".) -->
<!-- Remove the following line if you directly link the APK created by the CI pipeline. Directly linking is preferred if you need to let users test.-->
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR.
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration [on this wiki page](https://github.com/TeamNewPipe/NewPipe/wiki/Download-APK-for-PR).
#### Due diligence
- [ ] I read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md).
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>경고: 이 버전은 베타 버전이므로, 버그가 발생할 수도 있습니다. 만약 버그가 발생하였다면, 우리의 GITHUB 저장소에서 ISSUE를 열람하여 주십시오.</b>
<b>NEWPIPE 또는 이것의 FORK을 구글 플레이스토어에 올리는 것은 그들의 이용약관을 위반합니다.</b>
NewPipe는 어떤 구글 프레임워크 라이브러리나, 유튜브 API를 사용하지 않습니다. 웹사이트는 단지 필요한 정보를 가져오기 위해 구문 분석 됩니다. 따라서 이 앱은 구글 서비스의 설치 없이 기기에서 사용될 수 있습니다. 또한, 카피레프트 자유 소프트웨어인 NewPipe를 사용하기 위해 유튜브 계정이 필요하지 않습니다.
### Features
* 영상 검색
* 영상의 일반적인 정보 표시
* 유튜브 영상 보기
* 유튜브 영상 듣기
* 팝업 모드 (floating player)
* 영상 공유
* 영상 다운로드
* 음성만 다운로드
* Kodi에서 영상 열람
* 다음/관련된 영상 표시
* 특정 언어로 유튜브 검색
* 연령 제한 컨텐츠 시청/차단
* 채널에 대한 일반적인 정보 표시
* 채널 검색
* 채널에서 영상 시청
* Orbot/Tor 지원 (아직 직접적이지 않음)
* 1080p/2K/4K 지원
* 기록 보기
* 채널 구독
* 기록 검색
* 재생목록 검색/시청
* 추가된 재생목록 시청
* 영상 추가
* 지역 재생목록
* 자막
* 실시간 방송 지원
* 댓글 표시
### Supported Services
NewPipe는 여러가지 서비스를 지원합니다. 우리의 [문서](https://teamnewpipe.github.io/documentation/)는 새로운 서비스가 앱과 추출기에 어떻게 추가될 수 있는지에 대한 더 많은 정보를 제공합니다. 만약 새로운 서비스를 추가하고자 한다면, 우리에게 연락해 주시기 바랍니다. 현재 지원되는 서비스:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube instances \[beta\]
* Bandcamp \[beta\]
## Updates
NewPipe 코드의 변경이 있을 때(기능 추가 또는 버그 수정으로 인해), 결국 릴리즈가 발생할 것입니다. 이것들의 형식은 x.xx.x 입니다.
이 새로운 버전을 얻기 위해서, 당신은:
1. 직접 디버그 APK를 생성할 수 있습니다. 이 방법은 당신의 기기에서 새로운 기능을 얻을 수 있는 가장 빠른 방법이지만, 꽤 많이 복잡합니다.
따라서 우리는 다른 방법들 중 하나를 사용하는 것을 추천합니다.
2. 우리의 커스텀 저장소를 F-Droid에 추가하고 우리가 릴리즈를 게시하는 대로 저곳에서 릴리즈를 설치할 수 있습니다.
이에 대한 설명서는 이곳에서 확인할 수 있습니다: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
3. 우리가 릴리즈를 게시하는 대로 [GitHub Releases](https://github.com/TeamNewPipe/NewPipe/releases)에서 APK를 다운받고 이것을 설치할 수 있습니다.
4. F-Droid를 통해 업데이트 할 수 있습니다. F-Droid는 변화를 인식하고, 스스로 APK를 생성하고, 이것에 서명하고, 사용자들에서 업데이트를 전달해야만 하기 때문에,
이것은 업데이트를 받는 가장 느린 방법입니다.
우리는 대부분의 사용자에게 2번쨰 방법을 추천합니다. 방법 2 또는 3을 사용하여 설치된 APK는 서로 호환되지만, 방법 4를 사용하여 설치된 것들과는 호환되지 않습니다. 이것은 방법 2 또는 3에서는 같은 (우리의)서명 키가 사용되지만, 방법 4에서는 다른 (F-Droid의)서명 키가 사용되기 때문입니다. 방법 1을 사용하여 디버그 APK를 생성하는 것에서는 키가 완전히 제외됩니다. 서명 키는 사용자가 앱에 악의적인 업데이트를 설치하는 것에 대해 속지 않도록 보장하는 것을 도와줍니다.
한편, 만약 어떠한 이유(예. NewPipe의 핵심 기능이 손상되었고 F-Droid가 아직 업데이트를 가지지 않는 경우) 때문에 소스를 바꾸길 원한다면,
우리는 다음과 같은 절차를 따르는 것을 권장합니다:
1. 당신의 기록, 구독, 그리고 재생목록을 유지할 수 있도록 Settings > Content > Export Database 를 통해 데이터를 백업하십시오.
2. NewPipe를 삭제하십시오.
3. 새로운 소스에서 APK를 다운로드하고 이것을 설치하십시오.
4. Step 1의 Settings > Content > Import Database 을 통해 데이터를 불러오십시오.
## Contribution
당신이 아이디어, 번역, 디자인 변경, 코드 정리, 또는 정말 큰 코드 수정에 대한 의견이 있다면, 도움은 항상 환영합니다.
더 많이 수행될수록 더 많이 발전할 수 있습니다!
만약 참여하고 싶다면, 우리의 [컨트리뷰션 공지](.github/CONTRIBUTING.md)를 참고하십시오.
만약 NewPipe가 마음에 들었다면, 우리는 기부에 대해 기꺼이 환영합니다. bitcoin을 보내거나, Bountysource 또는 Liberapay를 통해 기부할 수 있습니다. NewPipe에 기부하는 것에 대한 자세한 정보를 원한다면, 우리의 [웹사이트](https://newpipe.net/donate)를 방문하여 주십시오.
<td><ahref="https://www.bountysource.com/teams/newpipe"><imgsrc="assets/bountysource_qr_code.png"alt="Visit NewPipe at bountysource.com"width="100px"></a></td>
<td><ahref="https://www.bountysource.com/teams/newpipe/issues"><imgsrc="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"height="30px"alt="Check out how many bounties you can earn."></a></td>
</tr>
</table>
## Privacy Policy
NewPipe 프로젝트는 미디어 웹 서비스를 사용하는 것에 대한 사적의, 익명의 경험을 제공하는 것을 목표로 하고 있습니다.
그러므로, 앱은 당신의 동의 없이 어떤 데이터도 수집하지 않습니다. NewPipe의 개인정보보호정책은 당신이 충돌 리포트를 보내거나, 또는 우리의 블로그에 글을 남길 때 어떤 데이터가 보내지고 저장되는지에 대해 상세히 설명합니다. 이 문서는 [여기](https://newpipe.net/legal/privacy/)에서 확인할 수 있습니다.
<h3align="center">We are planning to <i>rewrite</i> large chunks of the codebase, to bring about <ahref="https://github.com/TeamNewPipe/NewPipe/discussions/10118">a new, modern and stable NewPipe</a>!</h3>
<h4align="center">Please do <b>not</b> open pull requests for <i>new features</i> now, only bugfix PRs will be accepted.</h4>
<palign="center"><ahref="https://f-droid.org/packages/org.schabi.newpipe/"><imgsrc="https://fdroid.gitlab.io/artwork/badge/get-it-on-en.svg" alt="Get it on F-Droid"height=80/></a></p>
<palign="center"><ahref="#screenshots">Screenshots</a>•<ahref="#description">Description</a>•<ahref="#features">Features</a>•<ahref="#installation-and-updates">Installation and updates</a>•<ahref="#contribution">Contribution</a>•<ahref="#donate">Donate</a>•<ahref="#license">License</a></p>
<palign="center"><ahref="#screenshots">Screenshots</a>•<ahref="#supported-services">Supported Services</a>•<ahref="#description">Description</a>•<ahref="#features">Features</a>•<ahref="#installation-and-updates">Installation and updates</a>•<ahref="#contribution">Contribution</a>•<ahref="#donate">Donate</a>•<ahref="#license">License</a></p>
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
*Read this document in other languages: [Deutsch](doc/README.de.md), [English](README.md), [Español](doc/README.es.md), [Français](doc/README.fr.md), [हिन्दी](doc/README.hi.md), [Italiano](doc/README.it.md), [한국어](doc/README.ko.md), [Português Brasil](doc/README.pt_BR.md), [Polski](doc/README.pl.md), [ਪੰਜਾਬੀ ](doc/README.pa.md), [日本語](doc/README.ja.md), [Română](doc/README.ro.md), [Soomaali](doc/README.so.md), [Türkçe](doc/README.tr.md), [正體中文](doc/README.zh_TW.md), [অসমীয়া](doc/README.asm.md), [Српски](doc/README.sr.md)*
<b>WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.</b>
<b>PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
> [!warning]
> <b>THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>
>
> <b>PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
NewPipe currently supports these services:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube instances \[beta\]
* Bandcamp \[beta\]
<!-- We link to the service websites separately to avoid people accidentally opening a website they didn't want to. -->
* YouTube ([website](https://www.youtube.com/)) and YouTube Music ([website](https://music.youtube.com/)) ([wiki](https://en.wikipedia.org/wiki/YouTube))
* PeerTube ([website](https://joinpeertube.org/)) and all its instances (open the website to know what that means!) ([wiki](https://en.wikipedia.org/wiki/PeerTube))
<!-- Hidden span to keep old links compatible. -->
As you can see, NewPipe supports multiple video and audio services. Though it started off with YouTube, other people have added more services over the years, making NewPipe more and more versatile!
Partially due to circumstance, and partially due to its popularity, YouTube is the best supported out of these services. If you use or are familiar with any of these other services, please help us improve support for them! We're looking for maintainers for SoundCloud and PeerTube.
If you intend to add a new service, please get in touch with us first! Our [docs](https://teamnewpipe.github.io/documentation/) provide more information on how a new service can be added to the app and to the [NewPipe Extractor](https://github.com/TeamNewPipe/NewPipeExtractor).
## Description
NewPipe works by fetching the required data from the official API (e.g. PeerTube) of the service you're using. If the official API is restricted (e.g. YouTube) for our purposes, or is proprietary, the app parses the website or uses an internal API instead. This means that you don't need an account on any service to use NewPipe.
Also, since they are free and open source software, neither the app nor the Extractor use any proprietary libraries or frameworks, such as Google Play Services. This means you can use NewPipe on devices or custom ROMs that do not have Google apps installed.
### Features
* Watch videos at resolutions up to 4K
* Listen to audio in the background, only loading the audio stream to save data
<!-- Hidden span to keep old links compatible. You should remove this span if you're translating the README into another language.-->
<spanid="updates"></span>
## Installation and updates
You can install NewPipe using one of the following methods:
1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
2. Download the APK from [GitHub Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, and then push the update to users.
4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
5. If you're interested in a specific feature or bugfix provided in a Pull Request in this repo, you can also download its APK from within the PR. Read the PR description for instructions. The great thing about PR-specific APKs is that they're installed side-by-side the official app, so you don't have to worry about losing your data or messing anything up.
We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other (meaning that if you installed NewPipe using either method 1 or 2, you can also update NewPipe using the other), but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app. When using method 5, each APK is signed with a different random key supplied by GitHub Actions, so you cannot even update it. You will have to backup and restore the app data each time you wish to use a new APK.
In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality breaks and F-Droid doesn't have the latest update yet), we recommend following this procedure:
1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
1. Back up your data via Settings > Backup and Restore > Export Database so you keep your history, subscriptions, and playlists
2. Uninstall NewPipe
3. Download the APK from the new source and install it
4. Import the data from step 1 via Settings > Content > Import Database
4. Import the data from step 1 via Settings > Backup and Restore > Import Database
<b>Note: when you're importing a database into the official app, always make sure that it is the one you exported _from_ the official app. If you import a database exported from an APK other than the official app, it may break things. Such an action is unsupported, and you should only do so when you're absolutely certain you know what you're doing.</b>
## Contribution
Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
The more is done the better it gets!
If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
Whether you have ideas, translations, design changes, code cleaning, or even major code changes, help is always welcome. The app gets better and better with each contribution, no matter how big or small! If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
If you like NewPipe, you're welcome to send a donation. We prefer Liberapay, as it is both open-source and non-profit. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
<td><ahref="https://www.bountysource.com/teams/newpipe"><imgsrc="assets/bountysource_qr_code.png"alt="Visit NewPipe at bountysource.com"width="100px"></a></td>
<td><ahref="https://www.bountysource.com/teams/newpipe/issues"><imgsrc="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"height="30px"alt="Check out how many bounties you can earn."></a></td>
</tr>
</table>
## Privacy Policy
The NewPipe project aims to provide a private, anonymous experience for using media web services.
Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
The NewPipe project aims to provide a private, anonymous experience for using web-based media services. Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or leave a comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
NewPipe is Free Software: You can use, study share and improve it at your
will. Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
NewPipe is Free Software: You can use, study, share, and improve it at will. Specifically you can redistribute and/or modify it under the terms of the [GNU General Public License](https://www.gnu.org/licenses/gpl.html) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
"description":"The BBC is the world’s leading public service broadcaster. We’re impartial and independent, and every day we create distinctive, world-class programmes and content which inform, educate and entertain millions of people in the UK and around the world. SUBSCRIBE to our YouTube channel to get the best of BBC entertainment and comedy programmes, stories from science and nature documentaries, and much more! https://bit.ly/2IXqEIn Get ALL your fresh TV, and sofa-hugging box sets on iPlayer https://bbc.in/2J18jYJ"
},
{
"name":"Linus Tech Tips",
"additional":"1M subscribers•233 videos",
"description":"Looking for a Tech YouTuber?\n\nLinus Tech Tips is a passionate team of \"professionally curious\" experts in consumer technology and video production which aims to inform and educate people of all ages through our entertaining videos. We create product reviews, step-by-step computer build guides, and a variety of other tech-focused content.\n\nSchedule:\nNew videos every Saturday to Thursday @ 10:00am Pacific\nLive WAN Show podcasts every Friday @ ~5:00pm Pacific"
},
{
"name":"Marques Brownlee",
"additional":"13 subscribers•12K videos",
"description":"MKBHD: Quality Tech Videos | YouTuber | Geek | Consumer Electronics | Tech Head | Internet Personality!\n\nbusiness@MKBHD.com\n\nNYC"
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT, `notification_mode` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatarUrl",
"columnName":"avatar_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subscriberCount",
"columnName":"subscriber_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"notificationMode",
"columnName":"notification_mode",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_subscriptions_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"search_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT)",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"creationDate",
"columnName":"creation_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"search",
"columnName":"search",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_search_history_search",
"unique":false,
"columnNames":[
"search"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys":[]
},
{
"tableName":"streams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"streamType",
"columnName":"stream_type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"duration",
"columnName":"duration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"uploaderUrl",
"columnName":"uploader_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"viewCount",
"columnName":"view_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"textualUploadDate",
"columnName":"textual_upload_date",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploadDate",
"columnName":"upload_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isUploadDateApproximation",
"columnName":"is_upload_date_approximation",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_streams_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"stream_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"accessDate",
"columnName":"access_date",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"repeatCount",
"columnName":"repeat_count",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"access_date"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_stream_history_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"stream_state",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"progressMillis",
"columnName":"progress_time",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `thumbnail_url` TEXT)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys":[]
},
{
"tableName":"playlist_stream_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name":"index_playlist_stream_join_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"playlists",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"playlist_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"remote_playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"streamCount",
"columnName":"stream_count",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_remote_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name":"index_remote_playlists_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields":[
{
"fieldPath":"streamId",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscription_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"subscription_id"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_feed_subscription_id",
"unique":false,
"columnNames":[
"subscription_id"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"subscriptions",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"subscription_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"feed_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"icon",
"columnName":"icon_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"sortOrder",
"columnName":"sort_order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_feed_group_sort_order",
"unique":false,
"columnNames":[
"sort_order"
],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed_group_subscription_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT, `notification_mode` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatarUrl",
"columnName":"avatar_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subscriberCount",
"columnName":"subscriber_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"notificationMode",
"columnName":"notification_mode",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_subscriptions_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"search_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL)",
"fields":[
{
"fieldPath":"creationDate",
"columnName":"creation_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"search",
"columnName":"search",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_search_history_search",
"unique":false,
"columnNames":[
"search"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys":[]
},
{
"tableName":"streams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"streamType",
"columnName":"stream_type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"duration",
"columnName":"duration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"uploaderUrl",
"columnName":"uploader_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"viewCount",
"columnName":"view_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"textualUploadDate",
"columnName":"textual_upload_date",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploadDate",
"columnName":"upload_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isUploadDateApproximation",
"columnName":"is_upload_date_approximation",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_streams_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"stream_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"accessDate",
"columnName":"access_date",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"repeatCount",
"columnName":"repeat_count",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"access_date"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_stream_history_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"stream_state",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"progressMillis",
"columnName":"progress_time",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `thumbnail_url` TEXT, `is_thumbnail_permanent` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isThumbnailPermanent",
"columnName":"is_thumbnail_permanent",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys":[]
},
{
"tableName":"playlist_stream_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name":"index_playlist_stream_join_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"playlists",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"playlist_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"remote_playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"streamCount",
"columnName":"stream_count",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_remote_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name":"index_remote_playlists_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields":[
{
"fieldPath":"streamId",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscription_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"subscription_id"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_feed_subscription_id",
"unique":false,
"columnNames":[
"subscription_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"subscriptions",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"subscription_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"feed_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"icon",
"columnName":"icon_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"sortOrder",
"columnName":"sort_order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_feed_group_sort_order",
"unique":false,
"columnNames":[
"sort_order"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed_group_subscription_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT, `notification_mode` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatarUrl",
"columnName":"avatar_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subscriberCount",
"columnName":"subscriber_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"notificationMode",
"columnName":"notification_mode",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_subscriptions_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"search_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL)",
"fields":[
{
"fieldPath":"creationDate",
"columnName":"creation_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"search",
"columnName":"search",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_search_history_search",
"unique":false,
"columnNames":[
"search"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys":[]
},
{
"tableName":"streams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"streamType",
"columnName":"stream_type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"duration",
"columnName":"duration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"uploaderUrl",
"columnName":"uploader_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"viewCount",
"columnName":"view_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"textualUploadDate",
"columnName":"textual_upload_date",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploadDate",
"columnName":"upload_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isUploadDateApproximation",
"columnName":"is_upload_date_approximation",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_streams_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"stream_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"accessDate",
"columnName":"access_date",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"repeatCount",
"columnName":"repeat_count",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"access_date"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_stream_history_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"stream_state",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"progressMillis",
"columnName":"progress_time",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id"
],
"autoGenerate":false
},
"indices":[],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `is_thumbnail_permanent` INTEGER NOT NULL, `thumbnail_stream_id` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isThumbnailPermanent",
"columnName":"is_thumbnail_permanent",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"thumbnailStreamId",
"columnName":"thumbnail_stream_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys":[]
},
{
"tableName":"playlist_stream_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name":"index_playlist_stream_join_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"playlists",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"playlist_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"remote_playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"streamCount",
"columnName":"stream_count",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_remote_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name":"index_remote_playlists_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields":[
{
"fieldPath":"streamId",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscription_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"stream_id",
"subscription_id"
],
"autoGenerate":false
},
"indices":[
{
"name":"index_feed_subscription_id",
"unique":false,
"columnNames":[
"subscription_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"subscriptions",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"subscription_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"feed_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"icon",
"columnName":"icon_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"sortOrder",
"columnName":"sort_order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"uid"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_feed_group_sort_order",
"unique":false,
"columnNames":[
"sort_order"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed_group_subscription_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT, `notification_mode` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatarUrl",
"columnName":"avatar_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subscriberCount",
"columnName":"subscriber_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"notificationMode",
"columnName":"notification_mode",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_subscriptions_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"search_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL)",
"fields":[
{
"fieldPath":"creationDate",
"columnName":"creation_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"search",
"columnName":"search",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"id"
]
},
"indices":[
{
"name":"index_search_history_search",
"unique":false,
"columnNames":[
"search"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys":[]
},
{
"tableName":"streams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"streamType",
"columnName":"stream_type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"duration",
"columnName":"duration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"uploaderUrl",
"columnName":"uploader_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"viewCount",
"columnName":"view_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"textualUploadDate",
"columnName":"textual_upload_date",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploadDate",
"columnName":"upload_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isUploadDateApproximation",
"columnName":"is_upload_date_approximation",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_streams_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"stream_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"accessDate",
"columnName":"access_date",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"repeatCount",
"columnName":"repeat_count",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id",
"access_date"
]
},
"indices":[
{
"name":"index_stream_history_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"stream_state",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"progressMillis",
"columnName":"progress_time",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id"
]
},
"indices":[],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `is_thumbnail_permanent` INTEGER NOT NULL, `thumbnail_stream_id` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isThumbnailPermanent",
"columnName":"is_thumbnail_permanent",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"thumbnailStreamId",
"columnName":"thumbnail_stream_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys":[]
},
{
"tableName":"playlist_stream_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name":"index_playlist_stream_join_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"playlists",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"playlist_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"remote_playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"streamCount",
"columnName":"stream_count",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_remote_playlists_name",
"unique":false,
"columnNames":[
"name"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name":"index_remote_playlists_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields":[
{
"fieldPath":"streamId",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscription_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id",
"subscription_id"
]
},
"indices":[
{
"name":"index_feed_subscription_id",
"unique":false,
"columnNames":[
"subscription_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"subscriptions",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"subscription_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"feed_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"icon",
"columnName":"icon_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"sortOrder",
"columnName":"sort_order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_feed_group_sort_order",
"unique":false,
"columnNames":[
"sort_order"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed_group_subscription_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT, `notification_mode` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"avatarUrl",
"columnName":"avatar_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"subscriberCount",
"columnName":"subscriber_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"description",
"columnName":"description",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"notificationMode",
"columnName":"notification_mode",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_subscriptions_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"search_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL)",
"fields":[
{
"fieldPath":"creationDate",
"columnName":"creation_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"search",
"columnName":"search",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"id"
]
},
"indices":[
{
"name":"index_search_history_search",
"unique":false,
"columnNames":[
"search"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys":[]
},
{
"tableName":"streams",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"title",
"columnName":"title",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"streamType",
"columnName":"stream_type",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"duration",
"columnName":"duration",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"uploaderUrl",
"columnName":"uploader_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"viewCount",
"columnName":"view_count",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"textualUploadDate",
"columnName":"textual_upload_date",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploadDate",
"columnName":"upload_date",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"isUploadDateApproximation",
"columnName":"is_upload_date_approximation",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_streams_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"stream_history",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"accessDate",
"columnName":"access_date",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"repeatCount",
"columnName":"repeat_count",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id",
"access_date"
]
},
"indices":[
{
"name":"index_stream_history_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"stream_state",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"streamUid",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"progressMillis",
"columnName":"progress_time",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id"
]
},
"indices":[],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `is_thumbnail_permanent` INTEGER NOT NULL, `thumbnail_stream_id` INTEGER NOT NULL, `display_index` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"isThumbnailPermanent",
"columnName":"is_thumbnail_permanent",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"thumbnailStreamId",
"columnName":"thumbnail_stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"displayIndex",
"columnName":"display_index",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[],
"foreignKeys":[]
},
{
"tableName":"playlist_stream_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name":"index_playlist_stream_join_stream_id",
"unique":false,
"columnNames":[
"stream_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys":[
{
"table":"playlists",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"playlist_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"remote_playlists",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `display_index` INTEGER NOT NULL, `stream_count` INTEGER)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"serviceId",
"columnName":"service_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"url",
"columnName":"url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"thumbnailUrl",
"columnName":"thumbnail_url",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"uploader",
"columnName":"uploader",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"displayIndex",
"columnName":"display_index",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"streamCount",
"columnName":"stream_count",
"affinity":"INTEGER",
"notNull":false
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_remote_playlists_service_id_url",
"unique":true,
"columnNames":[
"service_id",
"url"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields":[
{
"fieldPath":"streamId",
"columnName":"stream_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"subscriptionId",
"columnName":"subscription_id",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":false,
"columnNames":[
"stream_id",
"subscription_id"
]
},
"indices":[
{
"name":"index_feed_subscription_id",
"unique":false,
"columnNames":[
"subscription_id"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys":[
{
"table":"streams",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"stream_id"
],
"referencedColumns":[
"uid"
]
},
{
"table":"subscriptions",
"onDelete":"CASCADE",
"onUpdate":"CASCADE",
"columns":[
"subscription_id"
],
"referencedColumns":[
"uid"
]
}
]
},
{
"tableName":"feed_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields":[
{
"fieldPath":"uid",
"columnName":"uid",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"icon",
"columnName":"icon_id",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"sortOrder",
"columnName":"sort_order",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"autoGenerate":true,
"columnNames":[
"uid"
]
},
"indices":[
{
"name":"index_feed_group_sort_order",
"unique":false,
"columnNames":[
"sort_order"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys":[]
},
{
"tableName":"feed_group_subscription_join",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",