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
- 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.
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).
- 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
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.