Release 1.0.39 (#186)

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali (Bangladesh))

Currently translated at 30.0% (97 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn_BD/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/nl/

* Added (Bengali (Bangladesh) to selection

* https://github.com/sschueller/peertube-android/issues/179

* https://github.com/sschueller/peertube-android/issues/179

* https://github.com/sschueller/peertube-android/issues/143

* Translated using Weblate (French)

Currently translated at 99.7% (347 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Turkish)

Currently translated at 99.7% (347 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/tr/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (348 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hant/

* Translated using Weblate (French)

Currently translated at 99.7% (347 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 93.6% (326 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 39.6% (138 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/nb_NO/

* Translated using Weblate (Turkish)

Currently translated at 99.7% (347 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/tr/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (348 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/nl/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (348 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/nl/

* Translated using Weblate (Swedish)

Currently translated at 93.6% (326 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/sv/

* Translated using Weblate (German)

Currently translated at 97.7% (340 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (Spanish)

Currently translated at 39.9% (139 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Italian)

Currently translated at 98.2% (342 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Polish)

Currently translated at 93.6% (326 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Czech)

Currently translated at 18.9% (66 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/cs/

* Translated using Weblate (Greek)

Currently translated at 19.8% (69 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/el/

* Translated using Weblate (Finnish)

Currently translated at 93.6% (326 of 348 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fi/

* Floating window support and cleaning up some background behavior (#182)

* Trying to add PIP mode for floating playback

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* Trying to add PIP mode for floating playback

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* PIP mode for floating playback.

* update exoplayer version, and fix code style issue. (#185)

* try to fix 'cannot make a new request because the previous response is still open' when login.

* Release v1.0.38 (#174)

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.7% (125 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 48.0% (155 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Bengali)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Spanish)

Currently translated at 42.1% (136 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Persian)

Currently translated at 40.2% (130 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fa/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* update library and more (#160)

* download files with friendly name (not video ID)

* Update Picasso library
FIX : add extension in downloaded filename.
download files with friendly name (not video ID)

* Update Gradle
Add 0.75x and 1.25x to play speed

* Release v1.0.35

* try to fix 'cannot make a new request because the previous response ... ' error (#164)

* Translations (#163)

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.7% (125 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 48.0% (155 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Bengali)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Spanish)

Currently translated at 42.1% (136 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Persian)

Currently translated at 40.2% (130 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fa/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* update library and more (#160)

* download files with friendly name (not video ID)

* Update Picasso library
FIX : add extension in downloaded filename.
download files with friendly name (not video ID)

* Update Gradle
Add 0.75x and 1.25x to play speed

* Release v1.0.35

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>

* try to fix 'cannot make a new request because the previous response is still open' when login.

Co-authored-by: Stefan Schüller <sschueller@techdroid.com>
Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>

* Release 1.0.36

* Translated using Weblate (Arabic)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ar/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/nl/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hant/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Master (#170)

* Translations (#163)

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.7% (125 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 48.0% (155 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Bengali)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Spanish)

Currently translated at 42.1% (136 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Persian)

Currently translated at 40.2% (130 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fa/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* update library and more (#160)

* download files with friendly name (not video ID)

* Update Picasso library
FIX : add extension in downloaded filename.
download files with friendly name (not video ID)

* Update Gradle
Add 0.75x and 1.25x to play speed

* Release v1.0.35

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>

* Release 1.0.36 (#166)

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.7% (125 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 48.0% (155 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Bengali)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Spanish)

Currently translated at 42.1% (136 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Persian)

Currently translated at 40.2% (130 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fa/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* update library and more (#160)

* download files with friendly name (not video ID)

* Update Picasso library
FIX : add extension in downloaded filename.
download files with friendly name (not video ID)

* Update Gradle
Add 0.75x and 1.25x to play speed

* Release v1.0.35

* try to fix 'cannot make a new request because the previous response ... ' error (#164)

* Translations (#163)

* Translated using Weblate (Italian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/it/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 38.7% (125 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 48.0% (155 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/de/

* Translated using Weblate (French)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fr/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* Translated using Weblate (Bengali)

Currently translated at 99.3% (321 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Spanish)

Currently translated at 42.1% (136 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/es/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Persian)

Currently translated at 40.2% (130 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/fa/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 99.6% (322 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Bengali)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/bn/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/pl/

* Translated using Weblate (Russian)

Currently translated at 100.0% (323 of 323 strings)

Translation: PeerTube/Android
Translate-URL: https://hosted.weblate.org/projects/peertube/android/ru/

* update library and more (#160)

* download files with friendly name (not video ID)

* Update Picasso library
FIX : add extension in downloaded filename.
download files with friendly name (not video ID)

* Update Gradle
Add 0.75x and 1.25x to play speed

* Release v1.0.35

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>

* try to fix 'cannot make a new request because the previous response is still open' when login.

Co-authored-by: Stefan Schüller <sschueller@techdroid.com>
Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>

* Release 1.0.36

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>
Co-authored-by: lishoujun <lsjun@aliyun.com>

* Adding configuration setting and supporting code to pause playback on back button. (#167)

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>
Co-authored-by: lishoujun <lsjun@aliyun.com>
Co-authored-by: Don Kimberlin <donkimberlin@hotmail.com>

* Making Selecting a search suggestion fill search field (#169)

* Adding configuration setting and supporting code to choose language (#168)

* Version Bump

* Fixed merge issue

* Server login (#175)

* Release v1.0.38

Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>
Co-authored-by: lishoujun <lsjun@aliyun.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Don Kimberlin <donkimberlin@hotmail.com>

* update exoplayer version, and fix code style issue.

Co-authored-by: Stefan Schüller <sschueller@techdroid.com>
Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Jeannette L <j.lavoie@net-c.ca>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Don Kimberlin <donkimberlin@hotmail.com>

* Restore lost translations

* Version Bump

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Stefan Schueller <sschueller@nunight.com>
Co-authored-by: Olivier Humbert <trebmuh@tuxfamily.org>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Heimen Stoffels <vistausss@outlook.com>
Co-authored-by: Don Kimberlin <donkimberlin@hotmail.com>
Co-authored-by: lishoujun <lishoujun@baidu.com>
Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: mostkai <admin@pwplayer.com>
Co-authored-by: B0pol <bopol@e.email>
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Co-authored-by: Mihail Iosilevitch <yosik@tutanota.com>
Co-authored-by: anonymous <noreply@weblate.org>
Co-authored-by: Juanro49 <juanrobertogarciasanchez@gmail.com>
Co-authored-by: Mostafa Ahangarha <ahangarha@gmail.com>
Co-authored-by: Szylu <chipolade@gmail.com>
Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Co-authored-by: jmgfr <13685004+jmgfr@users.noreply.github.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
This commit is contained in:
Stefan Schüller 2020-06-27 21:59:06 +02:00 committed by GitHub
parent 58f600fdf9
commit e2b32e248c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 698 additions and 182 deletions

View File

@ -1,3 +1,8 @@
### Version 1.0.39 Tag: v1.0.39 (2020-06-27)
* exoplayer update (@lishoujun)
* Floating window support (@dhk2)
* Various translations
### Version 1.0.38 Tag: v1.0.38 (2020-06-21)
* Multi server login address book
* Clear search history (@dhk2)

View File

@ -6,12 +6,12 @@ android {
applicationId "net.schueller.peertube"
minSdkVersion 21
targetSdkVersion 29
versionCode 1038
versionName "1.0.38"
versionCode 1039
versionName "1.0.39"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ext {
libVersions = [
exoplayer: '2.9.3'
exoplayer: '2.11.6'
]
}
javaCompileOptions {

View File

@ -34,7 +34,8 @@
android:name=".activity.VideoPlayActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
android:label="@string/title_activity_video_play"
android:launchMode="singleTop"
android:launchMode="singleInstance"
android:supportsPictureInPicture="true"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".activity.SettingsActivity"

View File

@ -17,23 +17,18 @@
*/
package net.schueller.peertube.activity;
import android.app.AlertDialog;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -45,8 +40,6 @@ import net.schueller.peertube.database.Server;
import net.schueller.peertube.database.ServerViewModel;
import net.schueller.peertube.fragment.AddServerFragment;
import java.util.List;
public class ServerAddressBookActivity extends CommonActivity implements AddServerFragment.OnFragmentInteractionListener {
@ -118,13 +111,25 @@ public class ServerAddressBookActivity extends CommonActivity implements AddServ
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder,
int direction) {
int position = viewHolder.getAdapterPosition();
Server server = adapter.getServerAtPosition(position);
Toast.makeText(ServerAddressBookActivity.this, "Deleting " +
server.getServerName(), Toast.LENGTH_LONG).show();
// Delete the server
mServerViewModel.delete(server);
new AlertDialog.Builder(ServerAddressBookActivity.this)
.setTitle(getString(R.string.server_book_del_alert_title))
.setMessage(getString(R.string.server_book_del_alert_msg))
.setPositiveButton(android.R.string.yes, (dialog, which) -> {
int position = viewHolder.getAdapterPosition();
Server server = adapter.getServerAtPosition(position);
// Toast.makeText(ServerAddressBookActivity.this, "Deleting " +
// server.getServerName(), Toast.LENGTH_LONG).show();
// Delete the server
mServerViewModel.delete(server);
})
.setNegativeButton(android.R.string.no, (dialog, which) -> {
adapter.notifyItemChanged(viewHolder.getAdapterPosition());
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
}
});
helper.attachToRecyclerView(recyclerView);

View File

@ -19,16 +19,24 @@
package net.schueller.peertube.activity;
import android.annotation.SuppressLint;
import android.app.AppOpsManager;
import android.app.PictureInPictureParams;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.util.Rational;
import android.util.TypedValue;
import android.view.WindowManager;
@ -39,6 +47,7 @@ import android.widget.RelativeLayout;
import net.schueller.peertube.R;
import net.schueller.peertube.fragment.VideoMetaDataFragment;
import net.schueller.peertube.fragment.VideoPlayerFragment;
import net.schueller.peertube.service.VideoPlayerService;
import java.util.Objects;
@ -71,13 +80,23 @@ public class VideoPlayActivity extends AppCompatActivity {
// get video ID
Intent intent = getIntent();
String videoUuid = intent.getStringExtra(VideoListActivity.EXTRA_VIDEOID);
Log.v(TAG, "click: " + videoUuid);
VideoPlayerFragment videoPlayerFragment = (VideoPlayerFragment)
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
assert videoPlayerFragment != null;
videoPlayerFragment.start(videoUuid);
String playingVideo = videoPlayerFragment.getVideoUuid();
Log.v(TAG, "oncreate click: " + videoUuid +" is trying to replace: "+playingVideo);
if (TextUtils.isEmpty(playingVideo)){
Log.v(TAG,"oncreate no video currently playing");
videoPlayerFragment.start(videoUuid);
} else if(!playingVideo.equals(videoUuid)){
Log.v(TAG,"oncreate different video playing currently");
videoPlayerFragment.stopVideo();
videoPlayerFragment.start(videoUuid);
} else {
Log.v(TAG,"oncreate same video playing currently");
}
// if we are in landscape set the video to fullscreen
int orientation = this.getResources().getConfiguration().orientation;
@ -86,6 +105,36 @@ public class VideoPlayActivity extends AppCompatActivity {
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
VideoPlayerFragment videoPlayerFragment = (VideoPlayerFragment)
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
assert videoPlayerFragment != null;
String videoUuid = intent.getStringExtra(VideoListActivity.EXTRA_VIDEOID);
Log.v(TAG, "new intent click: " + videoUuid +" is trying to replace: "+videoPlayerFragment.getVideoUuid());
assert videoPlayerFragment != null;
String playingVideo = videoPlayerFragment.getVideoUuid();
if (TextUtils.isEmpty(playingVideo)){
Log.v(TAG,"new intent no video currently playing");
videoPlayerFragment.start(videoUuid);
} else if(!playingVideo.equals(videoUuid)){
Log.v(TAG,"new intent different video playing currently");
videoPlayerFragment.stopVideo();
videoPlayerFragment.start(videoUuid);
} else {
Log.v(TAG,"new intent same video playing currently");
}
// if we are in landscape set the video to fullscreen
int orientation = this.getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
setOrientation(true);
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
@ -199,16 +248,115 @@ public class VideoPlayActivity extends AppCompatActivity {
Log.v(TAG, "onStart()...");
}
@SuppressLint("NewApi")
@Override
public void onUserLeaveHint () {
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
FragmentManager fragmentManager = getSupportFragmentManager();
VideoPlayerFragment videoPlayerFragment = (VideoPlayerFragment) fragmentManager.findFragmentById(R.id.video_player_fragment);
VideoMetaDataFragment videoMetaFragment = (VideoMetaDataFragment) fragmentManager.findFragmentById(R.id.video_meta_data_fragment);
String backgroundBehavior = sharedPref.getString("pref_background_behavior","backgroundStop");
switch(backgroundBehavior){
case "backgroundStop":
Log.v(TAG,"stop the video");
videoPlayerFragment.pauseVideo();
stopService(new Intent(this, VideoPlayerService.class));
super.onBackPressed();
break;
case "backgroundAudio":
Log.v(TAG,"play the Audio");
super.onBackPressed();
break;
case "backgroundFloat":
Log.v(TAG,"play in floating video");
//canEnterPIPMode makes sure API level is high enough
if (canEnterPipMode(this)) {
Log.v(TAG, "enabling pip");
enterPipMode();
} else {
Log.v(TAG, "unable to use pip");
}
break;
}
Log.v(TAG, "onUserLeaveHint()...");
}
// @RequiresApi(api = Build.VERSION_CODES.O)
@SuppressLint("NewApi")
public void onBackPressed() {
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
VideoPlayerFragment videoPlayerFragment = (VideoPlayerFragment)
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
//copying Youtube behavior to have back button exit full screen.
if (videoPlayerFragment.getIsFullscreen()){
Log.v(TAG,"exiting full screen");
videoPlayerFragment.fullScreenToggle();
return;
}
if (sharedPref.getBoolean("pref_back_pause", true)) {
VideoPlayerFragment videoPlayerFragment = (VideoPlayerFragment)
getSupportFragmentManager().findFragmentById(R.id.video_player_fragment);
assert videoPlayerFragment != null;
videoPlayerFragment.pauseVideo();
}
String backgroundBehavior = sharedPref.getString("pref_background_behavior","backgroundStop");
switch (backgroundBehavior){
case "backgroundStop":
Log.v(TAG,"stop the video");
videoPlayerFragment.pauseVideo();
stopService(new Intent(this, VideoPlayerService.class));
super.onBackPressed();
break;
case "backgroundAudio":
Log.v(TAG,"play the Audio");
super.onBackPressed();
break;
case "backgroundFloat":
Log.v(TAG,"play in floating video");
//canEnterPIPMode makes sure API level is high enough
if (canEnterPipMode(this)) {
Log.v(TAG, "enabling pip");
enterPipMode();
//fixes problem where back press doesn't bring up video list after returning from PIP mode
Intent intentSettings = new Intent(this, VideoListActivity.class);
this.startActivity(intentSettings);
} else {
Log.v(TAG,"Unable to enter PIP mode");
super.onBackPressed();
}
break;
}
Log.v(TAG, "onBackPressed()...");
super.onBackPressed();
}
public boolean canEnterPipMode(Context context) {
Log.v(TAG,"api version "+Build.VERSION.SDK_INT);
if (Build.VERSION.SDK_INT<28){
return false;
}
AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
return (AppOpsManager.MODE_ALLOWED== appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_PICTURE_IN_PICTURE, android.os.Process.myUid(), context.getPackageName()));
}
@RequiresApi(api = Build.VERSION_CODES.O)
public void enterPipMode() {
Rational rational = new Rational(239, 100);
Log.v(TAG,rational.toString());
PictureInPictureParams mParams =
new PictureInPictureParams.Builder()
.setAspectRatio(rational)
// .setSourceRectHint(new Rect(0,500,400,600))
.build();
enterPictureInPictureMode(mParams);
}
@Override
public void onPictureInPictureModeChanged (boolean isInPictureInPictureMode, Configuration newConfig) {
if (isInPictureInPictureMode) {
Log.v(TAG,"switched to pip ");
} else {
Log.v(TAG,"switched to normal");
}
}
}

View File

@ -18,6 +18,7 @@
package net.schueller.peertube.fragment;
import android.app.Activity;
import android.app.AppOpsManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@ -25,12 +26,15 @@ import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.IBinder;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
@ -65,6 +69,7 @@ import net.schueller.peertube.service.VideoPlayerService;
import java.util.Objects;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import retrofit2.Call;
import retrofit2.Callback;
@ -83,7 +88,7 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
private LinearLayout torrentStatus;
private static final String TAG = "VideoPlayerFragment";
private GestureDetector mDetector;
private ServiceConnection mConnection = new ServiceConnection() {
@ -135,6 +140,9 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
simpleExoPlayerView.setControllerShowTimeoutMs(1000);
simpleExoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
mDetector = new GestureDetector(context, new MyGestureListener());
simpleExoPlayerView.setOnTouchListener(touchListener);
torrentStatus = activity.findViewById(R.id.exo_torrent_status);
// Full screen Icon
@ -146,13 +154,7 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
fullscreenButton.setOnClickListener(view -> {
Log.d(TAG, "Fullscreen");
if (!isFullscreen) {
isFullscreen = true;
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
isFullscreen = false;
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
fullScreenToggle();
});
if (!mBound) {
@ -182,7 +184,7 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
mService.setCurrentVideo(video);
if (video == null) {
Toast.makeText(context, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "Unable to retrieve video information, try again later.", Toast.LENGTH_SHORT).show();
return;
}
@ -193,7 +195,7 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
@Override
public void onFailure(@NonNull Call<Video> call, @NonNull Throwable t) {
Log.wtf(TAG, t.fillInStackTrace());
Toast.makeText(context, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "Something went wrong: "+t.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
});
}
@ -251,11 +253,17 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
torrentStream.stopStream();
}
}
public void pauseVideo() {
mService.player.setPlayWhenReady(false);
}
public void pauseVideo() {
if (mBound){
mService.player.setPlayWhenReady(false);
}
}
public void pauseToggle() {
if (mBound) {
mService.player.setPlayWhenReady(!mService.player.getPlayWhenReady());
}
}
public void stopVideo() {
if (mBound) {
@ -279,7 +287,15 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
public Boolean getIsFullscreen() {
return isFullscreen;
}
public void fullScreenToggle() {
if (!isFullscreen) {
setIsFullscreen(true);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
setIsFullscreen(false);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
/**
* Torrent Playback
*
@ -373,4 +389,84 @@ public class VideoPlayerFragment extends Fragment implements VideoRendererEventL
Log.v(TAG, "onVideoDisabled()...");
}
public static boolean canEnterPipMode(Context context) {
Log.v(TAG,"api version "+Build.VERSION.SDK_INT);
if (Build.VERSION.SDK_INT<28){
return false;
}
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
if (!"BackgroundFloat".equals(sharedPref.getString("pref_background_behavior","backgroundStop"))){
return false;
}
AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
return (AppOpsManager.MODE_ALLOWED== appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_PICTURE_IN_PICTURE, android.os.Process.myUid(), context.getPackageName()));
}
View.OnTouchListener touchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return mDetector.onTouchEvent(event);
}
};
public String getVideoUuid(){
return mVideoUuid;
}
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
/*
@Override
public boolean onDown(MotionEvent event) {
Log.d("TAG","onDown: ");
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
Log.i("TAG", "onSingleTapConfirmed: ");
pauseToggle();
return true;
}
@Override
public void onLongPress(MotionEvent e) {
Log.i("TAG", "onLongPress: ");
}
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.i("TAG", "onDoubleTap: ");
return true;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
Log.i("TAG", "onScroll: ");
return true;
}
*/
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY) {
Log.d(TAG ,event1.toString());
Log.d(TAG,event2.toString());
Log.d(TAG, String.valueOf(velocityX));
Log.d(TAG , String.valueOf(velocityY));
//arbitrarily velocity speeds that seem to work to differentiate events.
if (velocityY>4000){
Log.d(TAG,"we have a drag down event");
if (canEnterPipMode(getContext())) {
getActivity().enterPictureInPictureMode();
}
}
if ((velocityX>2000) && (Math.abs(velocityY) <2000)){
Log.d(TAG,"swipe right "+velocityY);
}
if ((velocityX<2000) && (Math.abs(velocityY)<2000)){
Log.d(TAG,"swipe left "+velocityY);
}
return true;
}
}
}

View File

@ -69,7 +69,9 @@ public class Intents {
public static void Download(Context context, Video video) {
String url = video.getFiles().get(0).getFileDownloadUrl();
String destFilename = video.getName() + "." + MimeTypeMap.getFileExtensionFromUrl(URLUtil.guessFileName(url,null,null));
// make sure it is a valid filename
String destFilename = video.getName().replaceAll("[^a-zA-Z0-9]", "_") + "." + MimeTypeMap.getFileExtensionFromUrl(URLUtil.guessFileName(url,null,null));
//Toast.makeText(context, destFilename, Toast.LENGTH_LONG).show();
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription(video.getDescription());

View File

@ -57,7 +57,7 @@ public class AuthorizationInterceptor implements Interceptor {
Log.v("Authorization", "Intercept: Logout forced");
}
}else{
} else {
mainResponse = chain.proceed(chain.request());
}

View File

@ -19,15 +19,18 @@ package net.schueller.peertube.service;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.PictureInPictureParams;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.media.AudioManager;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import androidx.annotation.Nullable;
@ -35,9 +38,11 @@ import androidx.annotation.Nullable;
import android.support.v4.media.MediaDescriptionCompat;
import android.support.v4.media.session.MediaSessionCompat;
import android.util.Log;
import android.util.Rational;
import android.widget.Toast;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
@ -124,6 +129,10 @@ public class VideoPlayerService extends Service {
if (playerNotificationManager != null) {
playerNotificationManager.setPlayer(null);
}
//Was seeing an error when exiting the program about about not unregistering the receiver.
if (null!=myNoisyAudioStreamReceiver) {
this.unregisterReceiver(myNoisyAudioStreamReceiver);
}
if (player != null) {
player.release();
player = null;
@ -261,7 +270,7 @@ public class VideoPlayerService extends Service {
return Video.getMediaDescription(context, currentVideo);
}
});
mediaSessionConnector.setPlayer(player, null);
mediaSessionConnector.setPlayer(player);
// Audio Focus
AudioAttributes audioAttributes = new AudioAttributes.Builder()

View File

@ -1,2 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="br">ব্রেটন</string>
<string name="bzs">ব্রাজিলিয়ান সাইন ভাষা</string>
<string name="bs">বসনিয়ান</string>
<string name="bi">বিসলামা</string>
<string name="bn">বাংলা</string>
<string name="be">বেলারুসিয়ান</string>
<string name="eu">বাস্ক</string>
<string name="ba">বাশকির</string>
<string name="bm">বাম্বারা</string>
<string name="az">আজারবাইজান</string>
<string name="ay">আয়মারা</string>
<string name="av">অভরিক</string>
<string name="as">অসমি</string>
<string name="hy">আর্মেনিয়ান</string>
<string name="an">আরাগনিস</string>
<string name="ar">আরবি</string>
<string name="am">আমহারিক</string>
<string name="ase">আমেরিকান সাইন ভাষা</string>
<string name="sq">আলবানিয়ান</string>
<string name="ak">আকান</string>
<string name="af">আফ্রিকান</string>
<string name="aa">আফার</string>
<string name="ab">আবখাজিয়ান</string>
<string name="pref_description_background_play">সক্রিয় থাকলে ব্যাকগ্রাউন্ডে ভিডিও প্লে করতে থাকবে।</string>
<string name="pref_title_background_play">ব্যাকগ্রাউন্ড প্লেব্যাক</string>
<string name="pref_description_language">ভিডিওর ভাষা পছন্দ করো, কিছু পছন্দ না করলে সব ভাষার ভিডিও দেখা যাবে।</string>
<string name="pref_language">ভাষা ফিল্টার</string>
<string name="pref_description_show_nsfw">নিষিদ্ধ কন্টেন্ট দেখাও</string>
<string name="pref_title_show_nsfw">নিষিদ্ধ কন্টেন্ট</string>
<string name="pref_title_version">সংস্করণ</string>
<string name="pref_description_license">"
\n&lt;b&gt;গাহ্নু অফেরও সাধারণ গণ অনুমতিপত্র সং.৩.&lt;/b&gt;
\n
\nএই শক্তিশালী কপিলেফট লাইসেন্সের অনুমতি এই চুক্তির উপর নির্ভরশীল যে অনুমতিপত্রের দ্বারা আবদ্ধ সকল কাজ ও পরিবর্তনের সোর্স কোড উপলব্ধ করার মাধ্যমে, যার আওতায় পড়ে অনুমতিপত্রের দ্বারা আবদ্ধ কাজের বৃহত্তর অংশ একই অনুমতিপত্রের আওতায় আনার মাধ্যমে। কপিরাইট এবং লাইসেন্স নোটিশ সংরক্ষণ করা আবশ্যক। অবদানকারীগণ তাদের পেটেন্টর অধিকার অবশ্যই দেয়, যখন একটি পরিমার্জিত সংস্করণ ব্যবহার করে একটি পরিসেবা একটি নেটওয়ার্ক দিয়ে দেয়া হয়, সম্পূর্ণ সোর্স কোড এর পরিমার্জিত সংস্করণ উপলব্ধ তৈরি করা আবশ্যক।"<b>GNU Affero General Public License v3.0</b>\n\nPermissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.</string>
<string name="pref_description_torrent_player">একটি টরেন্ট স্ট্রিমের মাধ্যমে ভিডিও প্লেব্যাক করুন। এর জন্য স্টোরেজ অনুমতির প্রয়োজন । (আলফা, স্থিতিশীল নয়!)</string>
<string name="pref_title_torrent_player">টরেন্ট ভিডিও প্লেয়ার</string>
<string name="pref_description_app_theme">থিমটি কার্যকর হওয়ার জন্য অ্যাপ্লিকেশন পুনরায় চালু করো।</string>
<string name="pref_title_app_theme">অ্যাপ থিম</string>
<string name="pref_description_dark_mode">অন্ধকার মোড কার্যকর করার জন্য অ্যাপ্লিকেশন রিস্টার্ট করো।</string>
<string name="pref_title_dark_mode">অন্ধকার মোড</string>
<string name="invalid_url">অবৈধ ইউআরএল।</string>
<string name="menu_share">শেয়ার</string>
<string name="descr_overflow_button">আরও</string>
<string name="no_data_available">ফলাফল নেই</string>
<string name="title_activity_search">সার্চ</string>
<string name="search_hint">সার্চ পিয়ারটিউব</string>
<string name="title_activity_url_video_play">ইউআরএলভিডিওপ্লেক্রিয়া</string>
<string name="video_row_account_avatar">অ্যাকাউন্ট অবতার</string>
<string name="video_row_video_thumbnail">ভিডিও থাম্বনেইল</string>
<string name="meta_data_views">" দৃষ্ট"</string>
<string name="bottom_nav_title_account">অ্যাকাউন্ট</string>
<string name="bottom_nav_title_subscriptions">সাবস্ক্রিপশন</string>
<string name="bottom_nav_title_local">স্থানীয়</string>
<string name="bottom_nav_title_recent">সাম্প্রতিক</string>
<string name="bottom_nav_title_trending">আলোচিত</string>
<string name="bottom_nav_title_discover">আবিষ্কার</string>
<string name="action_bar_title_account">অ্যাকাউন্ট</string>
<string name="action_bar_title_logout">লগ আউট</string>
<string name="action_bar_title_settings">সেটিংস</string>
<string name="action_bar_title_search">সার্চ</string>
<string name="permission_rationale">ই-মেইল পূরণ করার জন্য কন্টাক্ট-এর অনুমতি দিন।</string>
<string name="error_field_required">এটি প্রয়োজনীয় ফিল্ড</string>
<string name="error_incorrect_password">ভুল পাসওয়ার্ড</string>
<string name="error_invalid_password">পাসওয়ার্ড খুব ছোট</string>
<string name="error_invalid_email">ভুল ইমেইল আইডি</string>
<string name="action_sign_in_short">সাইন ইন</string>
<string name="action_sign_in">সাইন ইন</string>
<string name="prompt_password">পাসওয়ার্ড</string>
<string name="prompt_email">ইমেল / ব্যবহারকারীর নাম</string>
<string name="prompt_server">সার্ভার</string>
<string name="title_activity_login">সাইন ইন</string>
<string name="title_activity_settings">সেটিংস</string>
</resources>

View File

@ -6,42 +6,42 @@
<string name="title_activity_login">সাইন ইন</string>
<!-- Strings related to login -->
<string name="prompt_server">সার্ভার</string>
<string name="prompt_email">ইমেল / ইয়ুজারনে</string>
<string name="prompt_email">ইমেল / ব্যবহারকারীর না</string>
<string name="prompt_password">পাসওয়ার্ড</string>
<string name="action_sign_in">সাইন ইন</string>
<string name="action_sign_in_short">সাইন ইন</string>
<string name="error_invalid_email">ভুল ইমেল আইডি</string>
<string name="error_invalid_email">ভুল ইমেল আইডি</string>
<string name="error_invalid_password">পাসওয়ার্ড খুব ছোট</string>
<string name="error_incorrect_password">ভুল পাসওয়ার্ড</string>
<string name="error_field_required">এটি জরুরি ফিল্ড</string>
<string name="error_field_required">এটি প্রয়োজনীয় ফিল্ড</string>
<string name="permission_rationale">ই-মেইল পূরণ করার জন্য কন্টাক্ট-এর অনুমতি দিন।</string>
<!-- Action bar -->
<string name="action_bar_title_search">সার্চ</string>
<string name="action_bar_title_settings">সেটিং</string>
<string name="action_bar_title_settings">সেটিং</string>
<string name="action_bar_title_logout">লগ আউট</string>
<!-- Bottom navigation bar -->
<string name="bottom_nav_title_discover">হোম</string>
<string name="bottom_nav_title_discover">আবিষ্কার</string>
<string name="bottom_nav_title_trending">আলোচিত</string>
<string name="bottom_nav_title_subscriptions">সাবস্ক্রিপশন</string>
<string name="bottom_nav_title_account">কাউন্ট</string>
<string name="bottom_nav_title_account">অ্যাকাউন্ট</string>
<!-- Strings related to Settings -->
<string name="peertube_required_server_version" translatable="false">1.0.0-alpha.7</string>
<string name="pref_default_api_base_url" formatted="false" translatable="false">https://troll.tv</string>
<string name="pref_title_peertube_server">পিয়ারটিউব সার্ভার</string>
<!-- Strings related to Video meta data -->
<string name="meta_data_seperator" translatable="false">\u0020-\u0020</string>
<string name="meta_data_views">\u0020Views</string>
<string name="meta_data_views">" দৃষ্ট"</string>
<string name="meta_data_owner_seperator" translatable="false">\@</string>
<string name="video_row_video_thumbnail">ভিডিও থাম্বনেল</string>
<string name="video_row_account_avatar">Account Avatar</string>
<string name="video_row_video_thumbnail">ভিডিও থাম্বনে</string>
<string name="video_row_account_avatar">অ্যাকাউন্ট অবতার</string>
<string name="pref_title_show_nsfw">নিষিদ্ধ কন্টেন্ট</string>
<string name="pref_description_show_nsfw">নিষিদ্ধ কন্টেন্ট দেখাও</string>
<string name="pref_language">ভাষা ফিল্টার</string>
<string name="pref_description_language">ভিডিওর ভাষা পছন্দ করুন, কিছু পছন্দ না করলে সব ভাষার ভিডিও দেখা যাবে.</string>
<string name="title_activity_url_video_play">ইউআরএলভিডিওপ্লেঅ্যাক্টিভিটি</string>
<string name="pref_description_language">ভিডিওর ভাষা পছন্দ কর, কিছু পছন্দ না করলে সব ভাষার ভিডিও দেখা যাবে</string>
<string name="title_activity_url_video_play">ইউআরএলভিডিওপ্লেক্রিয়া</string>
<string name="pref_title_torrent_player">টরেন্ট ভিডিও প্লেয়ার</string>
<string name="pref_description_torrent_player">একটি টরেন্ট স্ট্রিম মাধ্যমে ভিডিও প্লেব্যাক করুন। এর জন্য স্টোরেজ অনুমতির প্রয়োজন । (আলফা, স্থিতিশীল নয়!)</string>
<string name="pref_title_license">লাইসেন্স</string>
<string name="pref_description_torrent_player">একটি টরেন্ট স্ট্রিমের মাধ্যমে ভিডিও প্লেব্যাক করুন। এর জন্য স্টোরেজ অনুমতির প্রয়োজন । (আলফা, স্থিতিশীল নয়!)</string>
<string name="pref_title_license">অনুমতিপত্র</string>
<string name="pref_description_license">
\n<b>গাহ্নু অফেরও সাধারণ গণ অনুমতিপত্র সং.৩.</b>
\n
@ -49,15 +49,15 @@
<string name="pref_title_version">সংস্করণ</string>
<string name="search_hint">সার্চ পিয়ারটিউব</string>
<string name="title_activity_search">সার্চ</string>
<string name="no_data_available">" কোন উত্তর নেই"</string>
<string name="no_data_available">ফলাফল নেই</string>
<string name="descr_overflow_button">আরও</string>
<string name="menu_share">শেয়ার</string>
<string name="playback_channel_name" translatable="false">PeerTube</string>
<string name="invalid_url">অবৈধ ইউআরএল।</string>
<string name="pref_title_dark_mode">ডার্ক মোড</string>
<string name="pref_description_dark_mode">ডার্ক মোড কার্যকর করার জন্য অ্যাপ্লিকেশন রিস্টার্ট করুন</string>
<string name="pref_title_dark_mode">অন্ধকার মোড</string>
<string name="pref_description_dark_mode">অন্ধকার মোড কার্যকর করার জন্য অ্যাপ্লিকেশন রিস্টার্ট কর</string>
<string name="pref_title_app_theme">অ্যাপ থিম</string>
<string name="pref_description_app_theme">থিমটি কার্যকর হওয়ার জন্য অ্যাপ্লিকেশন পুনরায় চালু করুন</string>
<string name="pref_description_app_theme">থিমটি কার্যকর হওয়ার জন্য অ্যাপ্লিকেশন পুনরায় চালু কর</string>
<string name="ab">আবখাজিয়ান</string>
<string name="aa">আফার</string>
<string name="af">আফ্রিকান</string>
@ -98,74 +98,74 @@
<string name="cse">চেক সাইন ভাষা</string>
<string name="da">ড্যানিশ</string>
<string name="dsl">ড্যানিশ সাংকেতিক ভাষা</string>
<string name="dv">ধিভেি</string>
<string name="nl">ডাচ</string>
<string name="dv">ধিভেি</string>
<string name="nl">ডাচ</string>
<string name="dz">জংখ্যা</string>
<string name="en">ইংলিশ</string>
<string name="eo">Esperanto</string>
<string name="et">Estonian</string>
<string name="ee">Ewe</string>
<string name="fo">Faroese</string>
<string name="fj">Fijian</string>
<string name="fi">Finnish</string>
<string name="fr">French</string>
<string name="en">ইংরেজি</string>
<string name="eo">এসপেরানটা</string>
<string name="et">এসটোনীয়</string>
<string name="ee">ইওয়ি</string>
<string name="fo">ফারোয়েস</string>
<string name="fj">ফিজান</string>
<string name="fi">ফিনিশ</string>
<string name="fr">ফরাসি</string>
<string name="fsl">ফরাসি সাংকেতিক ভাষা</string>
<string name="ff">Fulah</string>
<string name="gl">Galician</string>
<string name="lg">Ganda</string>
<string name="ka">Georgian</string>
<string name="de">German</string>
<string name="ff">ফুলাহ</string>
<string name="gl">গালিসীয়</string>
<string name="lg">গানডা</string>
<string name="ka">জর্জিয়</string>
<string name="de">জার্মান</string>
<string name="gsg">জার্মান সাংকেতিক ভাষা</string>
<string name="gn">Guarani</string>
<string name="gu">Gujarati</string>
<string name="ht">Haitian</string>
<string name="ha">Hausa</string>
<string name="he">Hebrew</string>
<string name="hz">Herero</string>
<string name="hi">Hindi</string>
<string name="ho">Hiri Motu</string>
<string name="hu">Hungarian</string>
<string name="is">Icelandic</string>
<string name="ig">Igbo</string>
<string name="id">Indonesian</string>
<string name="iu">Inuktitut</string>
<string name="ik">Inupiaq</string>
<string name="ga">Irish</string>
<string name="it">Italian</string>
<string name="ja">Japanese</string>
<string name="gn">গুরানি</string>
<string name="gu">গুজরাটি</string>
<string name="ht">হাইতান</string>
<string name="ha">হাওসা</string>
<string name="he">হিব্রু</string>
<string name="hz">হেরেরো</string>
<string name="hi">হিন্দি</string>
<string name="ho">হিরি মোটু</string>
<string name="hu">হানগেরীয়</string>
<string name="is">আইসল্যান্ডিক</string>
<string name="ig">ইগবো</string>
<string name="id">ইন্দোনেশীয়</string>
<string name="iu">ইনুক্টিটুট</string>
<string name="ik">ইনুপিয়াক</string>
<string name="ga">আইরিশ</string>
<string name="it">ইতালিয়</string>
<string name="ja">জাপানিজ</string>
<string name="jsl">জাপানি সাইন ভাষা</string>
<string name="jv">Javanese</string>
<string name="kl">Kalaallisut</string>
<string name="kn">Kannada</string>
<string name="kr">Kanuri</string>
<string name="ks">Kashmiri</string>
<string name="kk">Kazakh</string>
<string name="km">Khmer</string>
<string name="ki">Kikuyu</string>
<string name="rw">Kinyarwanda</string>
<string name="ky">Kirghiz</string>
<string name="tlh">Klingon</string>
<string name="kv">Komi</string>
<string name="kg">Kongo</string>
<string name="ko">Korean</string>
<string name="avk">Kotava</string>
<string name="kj">Kuanyama</string>
<string name="ku">Kurdish</string>
<string name="lo">Lao</string>
<string name="lv">Latvian</string>
<string name="li">Limburgan</string>
<string name="ln">Lingala</string>
<string name="lt">Lithuanian</string>
<string name="jbo">Lojban</string>
<string name="lu">Luba-Katanga</string>
<string name="lb">Luxembourgish</string>
<string name="mk">Macedonian</string>
<string name="mg">Malagasy</string>
<string name="ms">Malay (macrolanguage)</string>
<string name="ml">Malayalam</string>
<string name="mt">Maltese</string>
<string name="gv">Manx</string>
<string name="mi">Maori</string>
<string name="jv">জাভানিজ</string>
<string name="kl">কালাল্লিসুট</string>
<string name="kn">কান্নাডা</string>
<string name="kr">কানুরি</string>
<string name="ks">কাশমিরি</string>
<string name="kk">কাযাখ</string>
<string name="km">খমার</string>
<string name="ki">কিকুয়ু</string>
<string name="rw">কিনয়ারওয়ান্ডা</string>
<string name="ky">কিরঘিয</string>
<string name="tlh">ক্লিন্টোন</string>
<string name="kv">কোমি</string>
<string name="kg">কঙ্গো</string>
<string name="ko">কোরিয়ান</string>
<string name="avk">কোটাভা</string>
<string name="kj">কুয়ানইয়ামা</string>
<string name="ku">কুর্ডিশ</string>
<string name="lo">লাও</string>
<string name="lv">লাটভীয়</string>
<string name="li">লিমবুরগান</string>
<string name="ln">লিনগালা</string>
<string name="lt">লিথুনীয়</string>
<string name="jbo">লোজবান</string>
<string name="lu"></string>
<string name="lb">লাক্সেমবোর্গীয়</string>
<string name="mk">ম্যাসিডোনিয়</string>
<string name="mg">মালাগাসি</string>
<string name="ms">মালয় (বড়ভাষা)</string>
<string name="ml">মালায়ালাম</string>
<string name="mt">মাল্টিজ</string>
<string name="gv">মান্ক্স</string>
<string name="mi">মাওরি</string>
<string name="mr">Marathi</string>
<string name="mh">Marshallese</string>
<string name="el">Modern Greek (1453-)</string>
@ -174,8 +174,8 @@
<string name="nv">Navajo</string>
<string name="ng">Ndonga</string>
<string name="ne">Nepali (macrolanguage)</string>
<string name="nd">North Ndebele</string>
<string name="se">Northern Sami</string>
<string name="nd">উত্তর ডেবেলে</string>
<string name="se">উত্তর সামি</string>
<string name="no">Norwegian</string>
<string name="nb">Norwegian Bokmål</string>
<string name="nn">Norwegian Nynorsk</string>
@ -212,8 +212,8 @@
<string name="sl">Slovenian</string>
<string name="so">Somali</string>
<string name="sfs">দক্ষিণ আফ্রিকান সাংকেতিক ভাষা</string>
<string name="nr">South Ndebele</string>
<string name="st">Southern Sotho</string>
<string name="nr">দক্ষিণ ডেবেলে</string>
<string name="st">দক্ষিণ সোথো</string>
<string name="es">Spanish</string>
<string name="su">Sundanese</string>
<string name="sw">Swahili (macrolanguage)</string>
@ -243,7 +243,7 @@
<string name="vi">Vietnamese</string>
<string name="wa">Walloon</string>
<string name="cy">Welsh</string>
<string name="fy">Western Frisian</string>
<string name="fy">পশ্চিম ফ্রিসিয়ান</string>
<string name="wo">Wolof</string>
<string name="xh">Xhosa</string>
<string name="yi">Yiddish</string>
@ -268,9 +268,9 @@
<string name="brown">বাদামী</string>
<string name="gray">ধুসর</string>
<string name="bluegray">নীলচে ধূসর</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">.৫x</string>
<string name="video_speed_10">Normal</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_15">১.৫x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_active_icon" translatable="false">{faw-check}</string>
<string name="video_expand_icon" translatable="false">{faw-expand}</string>
@ -282,8 +282,8 @@
<string name="video_download_icon" translatable="false">{faw-download}</string>
<string name="video_save_icon" translatable="false">{faw-save}</string>
<string name="pref_title_background_play">ব্যাকগ্রাউন্ড প্লেব্যাক</string>
<string name="pref_description_background_play">সক্রিয় থাকলে ব্যাকগ্রাউন্ডে ভিডিও প্লে করতে থাকুন</string>
<string name="bottom_nav_title_local">Local</string>
<string name="pref_description_background_play">সক্রিয় থাকলে ব্যাকগ্রাউন্ডে ভিডিও প্লে করতে থাকবে</string>
<string name="bottom_nav_title_local">স্থানীয়</string>
<string name="title_activity_account">একাউন্ট</string>
<string name="menu_video_more_report">রিপোর্ট</string>
<string name="menu_video_more_blacklist">নিষিদ্ধ তালিকা</string>
@ -308,7 +308,7 @@
<string name="video_rating_like" translatable="false">like</string>
<string name="video_rating_dislike" translatable="false">dislike</string>
<string name="deeppurple">গাঢ় বেগুনি</string>
<string name="action_bar_title_account">কাউন্ট</string>
<string name="action_bar_title_account">অ্যাকাউন্ট</string>
<string name="bottom_nav_title_recent">সাম্প্রতিক</string>
<string name="menu_video_options_playback_speed">প্লেব্যাক এর গতি</string>
<string name="menu_video_options_quality">কোয়ালিটি</string>

View File

@ -31,4 +31,10 @@
<string name="error_invalid_password">Toto heslo je příliš krátké</string>
<string name="bottom_nav_title_trending">Trendy</string>
<string name="title_activity_search">Hledat</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
<string name="video_speed_20">2×</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_10">Normální</string>
<string name="video_speed_05">0,5×</string>
</resources>

View File

@ -88,7 +88,7 @@
<string name="en">Englisch</string>
<string name="eo">Esperanto</string>
<string name="et">Estnisch</string>
<string name="pref_title_torrent_player">Torrent-Video-Player</string>
<string name="pref_title_torrent_player">Torrent-Videoabspieler</string>
<string name="ee">Ewe-Sprache</string>
<string name="fo">Färöisch</string>
<string name="fj">Fidschianisch</string>
@ -286,7 +286,7 @@
<string name="account_about_subscribers">Abonnenten:</string>
<string name="account_about_description">Beschreibung:</string>
<string name="account_about_joined">Mitglied seit:</string>
<string name="api_error">Etwas ist schief gelaufen, bitte versuchen Sie es später!</string>
<string name="api_error">Etwas ist schiefgelaufen, bitte versuche es später noch einmal!</string>
<string name="action_bar_title_server_selection">Server auswählen</string>
<string name="permission_rationale">Kontaktberechtigung für die E-Mail-Vervollständigung erteilen.</string>
<string name="pref_description_language">Eine Videosprache auswählen, statt alle Videos in allen Sprachen anzuzeigen.</string>
@ -294,9 +294,25 @@
<string name="server_selection_select_a_server">Wählen Sie einen Server aus der Liste oder geben Sie ihn direkt ein.</string>
<string name="login_current_server_hint">Aktueller Server</string>
<string name="title_activity_url_video_play">UrlVideoPlayActivity</string>
<string name="pref_description_license"><b>GNU Affero General Public License v3.0</b>
\n
\nBerechtigungen dieser stärksten Copyleft-Lizenz bedingen, sämtlichen Quellcode von lizenzierten Werken und Modifikationen, einschließlich größere Werke, die ein lizenziertes Werk verwenden, unter derselben Lizenz bereitzustellen.
\nUrheberrechts- und Lizenzhinweise müssen erhalten bleiben. Mitarbeitende gewähren eine ausdrückliche Genehmigung der Verwertungsrechte. Wenn eine modifizierte Version verwendet wird, um einen Dienst über ein Netzwerk anzubieten, muss der vollständige Quellcode der modifizierten Version verfügbar gemacht werden.</string>
<string name="pref_description_license">
\n<b>GNU Affero General Public License v3.0</b>
\n
\nBerechtigungen dieser stärksten Copyleft-Lizenz bedingen, sämtlichen Quellcode von lizenzierten Werken und Modifikationen, einschließlich größere Werke, die ein lizenziertes Werk verwenden, unter derselben Lizenz bereitzustellen. Urheberrechts- und Lizenzhinweise müssen erhalten bleiben. Mitarbeitende gewähren eine ausdrückliche Genehmigung der Verwertungsrechte. Wenn eine modifizierte Version verwendet wird, um einen Dienst über ein Netzwerk anzubieten, muss der vollständige Quellcode der modifizierten Version verfügbar gemacht werden.</string>
<string name="pref_description_torrent_player">Videowiedergabe über einen Torrentstream. Dies erfordert Speicherberechtigungen. (Alphastadium, nicht stabil!)</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
<string name="server_book_add_add_button">Hinzufügen</string>
<string name="server_book_add_password">Passwort</string>
<string name="server_book_add_username">Benutzername</string>
<string name="server_book_add_pick_server_button">Suchen</string>
<string name="server_book_add_server_url">Server-URL</string>
<string name="me_help_and_feedback_button">Hilfe &amp; Rückmeldung</string>
<string name="me_logout_button">Abmelden</string>
<string name="server_book_valid_url_is_required">Gültige URL ist erforderlich</string>
<string name="authentication_login_failed">Anmeldung fehlgeschlagen!</string>
<string name="authentication_login_success">Anmeldung erfolgreich</string>
<string name="clear_search_history_prompt">Möchten Sie den Suchverlauf dauerhaft löschen\?</string>
<string name="clear_search_history">Suchverlauf löschen</string>
<string name="pref_description_language_app">Wählen Sie die Sprache für die Anwendungsschnittstelle aus. Starten Sie die Anwendung neu, damit die Änderung wirksam wird.</string>
<string name="pref_language_app">Sprache der Anwendung</string>
</resources>

View File

@ -35,4 +35,9 @@
<string name="pref_title_dark_mode">Σκοτεινή λειτουργία</string>
<string name="pref_description_dark_mode">Επανεκκινήστε την εφαρμογή για να τεθεί σε ισχύ η σκοτεινή λειτουργία.</string>
<string name="pref_title_app_theme">Θέμα εφαρμογής</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
<string name="video_speed_20">2×</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_05">0,5×</string>
</resources>

View File

@ -72,10 +72,10 @@
<string name="brown">Marrón</string>
<string name="gray">Gris</string>
<string name="bluegray">Gris azulado</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">0,5×</string>
<string name="video_speed_10">Normal</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_20">2×</string>
<string name="action_set_url">Seleccione servidor</string>
<string name="server_selection_signup_allowed">Registro permitido: %s</string>
<string name="server_selection_signup_allowed_yes"></string>
@ -111,4 +111,6 @@
\n<b>GNU Affero General Public License v3.0</b>
\n
\nLos permisos de esta fuerte licencia copyleft están condicionados a hacer disponible el código fuente completo de los trabajos licenciados y las modificaciones, que incluyen trabajos más grandes usando un trabajo licenciado, bajo la misma licencia. Los derechos de autor y los avisos de licencia deben ser preservados. Los colaboradores proporcionan una concesión expresa de los derechos de patente. Cuando se utiliza una versión modificada para proporcionar un servicio a través de una red, el código fuente completo de la versión modificada debe estar disponible.</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -298,6 +298,6 @@
<string name="na">nauru</string>
<string name="ky">kirgiisi</string>
<string name="tk">turkmeeni</string>
<string name="video_speed_125">1.25x</string>
<string name="video_speed_075">0.75x</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -6,15 +6,15 @@
<string name="title_activity_login">Se connecter</string>
<!-- Strings related to login -->
<string name="prompt_server">Serveur</string>
<string name="prompt_email">Courriel / Nom dutilisateur</string>
<string name="prompt_email">Courriel / nom dutilisateur</string>
<string name="prompt_password">Mot de passe</string>
<string name="action_sign_in">Se connecter</string>
<string name="action_sign_in_short">Se connecter</string>
<string name="error_invalid_email">Cette adresse de courriel n\'est pas valide</string>
<string name="error_invalid_password">Ce mot de passe est trop court</string>
<string name="error_incorrect_password">Ce mot de passe est incorrect</string>
<string name="error_field_required">Ce champs est requis</string>
<string name="permission_rationale">Permission contacts requise pour la complétion des adresses de courriel.</string>
<string name="error_field_required">Ce champ est requis</string>
<string name="permission_rationale">Accorder la permission de contact pour la complétion des adresses de courriel.</string>
<!-- Action bar -->
<string name="action_bar_title_search">Rechercher</string>
<string name="action_bar_title_settings">Paramètres</string>
@ -40,8 +40,8 @@
<string name="pref_description_torrent_player">Lecture de vidéo via un flux torrent. Ceci requiert les permissions de stockage. (Alpha, instable !)</string>
<string name="pref_title_license">Licence</string>
<string name="pref_description_license">
\n<b>GNU Affero General Public License v3.0</b>
\n
\n<b>GNU Affero General Public License v3.0</b>
\n
\nLes autorisations de cette licence de copyleft la plus forte sont conditionnées à la mise à disposition d\'un code source complet des œuvres sous licence et des modifications, qui comprennent des œuvres plus grandes utilisant une œuvre sous licence, sous la même licence. Les avis de droit d\'auteur et de licence doivent être conservés. Les contributeurs accordent expressément des droits de brevet. Lorsqu\'une version modifiée est utilisée pour fournir un service sur un réseau, le code source complet de la version modifiée doit être mis à disposition.</string>
<string name="pref_title_version">Version</string>
<string name="search_hint">Rechercher sur PeerTube</string>
@ -117,7 +117,7 @@
<string name="account_about_joined">Inscrit·e le :</string>
<string name="api_error">Quelque chose sest mal passé, veuillez essayer plus tard !</string>
<string name="action_bar_title_server_selection">Sélectionnez un serveur</string>
<string name="ab">Abkhaze</string>
<string name="ab">abkhaze</string>
<string name="aa">afar</string>
<string name="af">afrikaans</string>
<string name="ak">akan</string>
@ -310,6 +310,27 @@
<string name="za">zhuang</string>
<string name="zu">zoulou</string>
<string name="login_current_server_hint">Serveur actuel</string>
<string name="video_speed_075">0.75x</string>
<string name="video_speed_125">1.25x</string>
<string name="video_speed_075">0,75×</string>
<string name="video_speed_125">1,25×</string>
<string name="title_activity_server_address_book">Livre d\'adresse</string>
<string name="authentication_login_success">Identification réussie</string>
<string name="authentication_login_failed">Identification échouée !</string>
<string name="server_book_list_has_login">a un identifiant</string>
<string name="server_book_add_add_button">Ajouter</string>
<string name="server_book_add_password">Mot de passe</string>
<string name="server_book_add_username">Nom d\'utilisateur</string>
<string name="server_book_add_pick_server_button">Rechercher</string>
<string name="server_book_add_server_url">Url du serveur</string>
<string name="server_book_add_label">Étiquette</string>
<string name="me_help_and_feedback_button">Aide et commentaire</string>
<string name="me_logout_button">Déconnexion</string>
<string name="server_book_valid_url_is_required">Une URL valide est requise</string>
<string name="server_book_label_is_required">L\'étiquette du serveur est obligatoire</string>
<string name="server_book_no_servers_found">Le livre des serveurs est vide</string>
<string name="clear_search_history_prompt">Souhaitez-vous supprimer définitivement l\'historique de recherche \?</string>
<string name="clear_search_history">Effacer l\'historique de la recherche</string>
<string name="pref_description_language_app">Sélectionnez la langue de l\'interface de l\'application. Redémarrez l\'application pour que le changement prenne effet.</string>
<string name="pref_language_app">Langue de l\'application</string>
<string name="pref_description_back_pause">Mettre la lecture d\'arrière-plan en pause en appuyant sur la touche de retour pendant la lecture de la vidéo.</string>
<string name="pref_title_back_pause">Pause sur le bouton retour</string>
</resources>

View File

@ -298,4 +298,22 @@
<string name="api_error">Qualcosa è andato storto, per favore prova più tardi!</string>
<string name="action_bar_title_server_selection">Seleziona un server</string>
<string name="login_current_server_hint">Server attuale</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
<string name="server_book_list_has_login">ha dati di accesso</string>
<string name="server_book_add_add_button">Aggiungi</string>
<string name="server_book_add_password">Password</string>
<string name="server_book_add_username">Nome utente</string>
<string name="server_book_add_pick_server_button">Cerca</string>
<string name="server_book_add_server_url">URL del server</string>
<string name="me_help_and_feedback_button">Aiuto &amp; suggerimenti</string>
<string name="me_logout_button">Esci</string>
<string name="server_book_valid_url_is_required">Un URL valido è richiesto</string>
<string name="server_book_no_servers_found">Il libro del server è vuoto</string>
<string name="authentication_login_failed">Accesso fallito!</string>
<string name="authentication_login_success">Accesso riuscito</string>
<string name="clear_search_history_prompt">Vuoi eliminare definitivamente la cronologia delle ricerche\?</string>
<string name="clear_search_history">Cancella la cronologia delle ricerche</string>
<string name="pref_description_language_app">Seleziona la lingua per l\'interfaccia dell\'applicazione. Riavvia l\'app per rendere effettive le modifiche.</string>
<string name="pref_language_app">Lingua dell\'applicazione</string>
</resources>

View File

@ -93,9 +93,9 @@
<string name="cyan">Turkis</string>
<string name="lime">Lime</string>
<string name="amber">Rav</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_05">0,5×</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_20">2×</string>
<string name="pref_description_background_play">Hvis påskrudd vil videoer spilles videre i bakgrunnen.</string>
<string name="video_login_required_for_service">Du må logge inn for å bruke denne tjenesten</string>
<string name="ko">Koreansk</string>
@ -123,4 +123,6 @@
<string name="uk">Ukrainsk</string>
<string name="ur">Urdu</string>
<string name="vi">Vietnamesisk</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -12,8 +12,7 @@
<string name="error_invalid_password">Dit wachtwoord is te kort</string>
<string name="error_incorrect_password">Dit wachtwoord is onjuist</string>
<string name="error_field_required">Dit veld is vereist</string>
<string name="permission_rationale">"Toegang tot contactpersonen is benodigd om e-mailadressen
\n aan te vullen."</string>
<string name="permission_rationale">Toegang tot contactpersonen is benodigd om e-mailadressen aan te vullen.</string>
<string name="action_bar_title_search">Zoeken</string>
<string name="action_bar_title_settings">Instellingen</string>
<string name="action_bar_title_logout">Uitloggen</string>
@ -258,10 +257,10 @@
<string name="brown">Bruin</string>
<string name="gray">Grijs</string>
<string name="bluegray">Blauwgrijs</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">0,5×</string>
<string name="video_speed_10">Normaal</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_20">2×</string>
<string name="pref_title_background_play">Afspelen op achtergrond</string>
<string name="pref_description_background_play">Als dit wordt ingeschakeld, dan speelt de video na minimaliseren af op de achtergrond.</string>
<string name="title_activity_account">Account</string>
@ -288,8 +287,8 @@
<string name="account_about_joined">Lid geworden op:</string>
<string name="api_error">Er is iets misgegaan; probeer het later opnieuw!</string>
<string name="pref_description_license">
\n<b>GNU Affero General Public License v3.0</b>
\n
\n<b>GNU Affero General Public License v3.0</b>
\n
\nPermissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.</string>
<string name="action_set_url">Server kiezen</string>
<string name="server_selection_signup_allowed">Registreren toegestaan: %s</string>
@ -300,6 +299,28 @@
<string name="server_selection_peertube_server_url">PeerTube-server-url</string>
<string name="action_bar_title_server_selection">Server kiezen</string>
<string name="login_current_server_hint">Huidige server</string>
<string name="video_speed_075">0.75x</string>
<string name="video_speed_125">1.25x</string>
<string name="video_speed_075">0,75×</string>
<string name="video_speed_125">1,25×</string>
<string name="title_activity_server_address_book">Adresboek</string>
<string name="server_book_list_has_login">Inloggen benodigd</string>
<string name="server_book_add_add_button">Toevoegen</string>
<string name="server_book_add_password">Wachtwoord</string>
<string name="server_book_add_username">Gebruikersnaam</string>
<string name="server_book_add_pick_server_button">Zoeken</string>
<string name="server_book_add_server_url">Server-url</string>
<string name="server_book_add_label">Label</string>
<string name="me_help_and_feedback_button">Hulp en feedback</string>
<string name="me_logout_button">Uitloggen</string>
<string name="server_book_valid_url_is_required">Geldige url vereist</string>
<string name="server_book_label_is_required">Serverlabel vereist</string>
<string name="server_book_no_servers_found">De serverboeken zijn leeg</string>
<string name="authentication_login_failed">Inloggen mislukt!</string>
<string name="authentication_login_success">Ingelogd</string>
<string name="hello_blank_fragment">Hallo blanco fragment</string>
<string name="clear_search_history_prompt">Weet je zeker dat je de zoekgeschiedenis permanent wilt wissen\?</string>
<string name="clear_search_history">Zoekgeschiedenis wissen</string>
<string name="pref_description_language_app">Kies de in de app te gebruiken taal. Herstart de app om de wijziging toe te passen.</string>
<string name="pref_language_app">App-taal</string>
<string name="pref_description_back_pause">Pauzeer het afspelen als er op de terugknop wordt gedrukt.</string>
<string name="pref_title_back_pause">Pauzeren na drukken op terugknop</string>
</resources>

View File

@ -70,10 +70,10 @@
<string name="server_selection_signup_allowed_yes">Tak</string>
<string name="server_selection_signup_allowed">Rejestracja dozwolona: %s</string>
<string name="action_set_url">Wybierz serwer</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2×</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_10">Normalny</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">0,5×</string>
<string name="bluegray">Szaroniebieski</string>
<string name="gray">Szary</string>
<string name="brown">Brązowy</string>
@ -298,4 +298,6 @@
<string name="permission_rationale">Udziel pozwolenia na kontakt w celu uzupełnienia wiadomości e-mail.</string>
<string name="pref_title_version">Wersja</string>
<string name="pref_title_license">Licencja</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -239,10 +239,10 @@
<string name="brown">Коричневый</string>
<string name="gray">Серый</string>
<string name="bluegray">Серо-голубой</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">0,5×</string>
<string name="video_speed_10">Нормальная</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_20">2×</string>
<string name="pref_title_background_play">Фоновое воспроизведение</string>
<string name="pref_description_background_play">Если включено, продолжает воспроизводить видео в фоновом режиме.</string>
<string name="bottom_nav_title_local">Местоположение</string>
@ -301,4 +301,6 @@
<string name="action_bar_title_server_selection">Выберите сервер</string>
<string name="server_selection_set_server">Сервер: %s</string>
<string name="title_activity_url_video_play">UrlVideoPlayActivity</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -299,4 +299,6 @@
<string name="server_selection_peertube_server_url">PeerTube server URL</string>
<string name="action_bar_title_server_selection">Välj server</string>
<string name="login_current_server_hint">Aktuell server</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
</resources>

View File

@ -6,12 +6,12 @@
<!-- Strings related to login -->
<string name="prompt_server">Sunucu</string>
<string name="prompt_email">E-posta / Kullanıcı adı</string>
<string name="prompt_password">Şifre</string>
<string name="prompt_password">Parola</string>
<string name="action_sign_in">Oturum aç</string>
<string name="action_sign_in_short">Oturum aç</string>
<string name="error_invalid_email">Bu e-posta adresi geçersiz</string>
<string name="error_invalid_password">Bu şifre çok kısa</string>
<string name="error_incorrect_password">Bu şifre yanlış</string>
<string name="error_invalid_password">Bu parola çok kısa</string>
<string name="error_incorrect_password">Bu parola yanlış</string>
<string name="error_field_required">Bu alan gereklidir</string>
<string name="permission_rationale">E-posta tanımlamaları için Rehber izni verin.</string>
<!-- Action bar -->
@ -29,7 +29,7 @@
<string name="pref_title_peertube_server">PeerTube Sunucusu</string>
<!-- Strings related to Video meta data -->
<string name="meta_data_seperator" translatable="false">\u0020-\u0020</string>
<string name="meta_data_views">\u0020 Görüntüleme</string>
<string name="meta_data_views">" Görüntüleme"</string>
<string name="meta_data_owner_seperator" translatable="false">\@</string>
<string name="video_row_video_thumbnail">İzleti Küçük Resmi</string>
<string name="video_row_account_avatar">Hesap Resmi</string>
@ -265,10 +265,10 @@
<string name="brown">Kahverengi</string>
<string name="gray">Gri</string>
<string name="bluegray">Mavi gri</string>
<string name="video_speed_05">0.5x</string>
<string name="video_speed_05">0,5×</string>
<string name="video_speed_10">Normal</string>
<string name="video_speed_15">1.5x</string>
<string name="video_speed_20">2x</string>
<string name="video_speed_15">1,5×</string>
<string name="video_speed_20">2×</string>
<string name="video_option_speed_icon" translatable="false">{faw-play-circle}</string>
<string name="video_option_quality_icon" translatable="false">{faw-cog}</string>
<string name="video_speed_active_icon" translatable="false">{faw-check}</string>
@ -328,4 +328,27 @@
<string name="server_selection_peertube_server_url">PeerTube Sunucusu URL\'si</string>
<string name="action_bar_title_server_selection">Sunucu Seç</string>
<string name="login_current_server_hint">Mevcut Sunucu</string>
<string name="server_book_list_has_login">Oturum Açma Var</string>
<string name="server_book_no_servers_found">Sunucu defteri boş</string>
<string name="pref_description_back_pause">Video oynatımı sırasında geri düğmesine basıldığında arka planda oynatmayı duraklat.</string>
<string name="pref_title_back_pause">Geri düğmesine basıldığında duraklat</string>
<string name="video_speed_125">1,25×</string>
<string name="video_speed_075">0,75×</string>
<string name="title_activity_server_address_book">Adres Defteri</string>
<string name="server_book_add_add_button">Ekle</string>
<string name="server_book_add_password">Parola</string>
<string name="server_book_add_username">Kullanıcı adı</string>
<string name="server_book_add_pick_server_button">Arama</string>
<string name="server_book_add_server_url">Sunucu URL\'si</string>
<string name="server_book_add_label">Etiket</string>
<string name="me_help_and_feedback_button">Yardım &amp; Geri Bildirim</string>
<string name="me_logout_button">Oturumu kapat</string>
<string name="server_book_valid_url_is_required">Geçerli URL gerekli</string>
<string name="server_book_label_is_required">Sunucu etiketi gerekli</string>
<string name="authentication_login_failed">Oturum Açma Başarısız!</string>
<string name="authentication_login_success">Oturum Açma Başarılı</string>
<string name="clear_search_history_prompt">Arama geçmişini kalıcı olarak silmek istiyor musunuz\?</string>
<string name="clear_search_history">Arama Geçmişini Temizle</string>
<string name="pref_description_language_app">Uygulama arayüzü için dil seçin. Değişikliklerin etkili olması için uygulamayı yeniden başlatın.</string>
<string name="pref_language_app">Uygulama Dili</string>
</resources>

View File

@ -36,7 +36,7 @@
<string name="pref_description_torrent_player">透過種子串流播放影片。這需要儲存權限。Alpha 版,不穩定!)</string>
<string name="pref_title_license">授權條款</string>
<string name="pref_description_license">
\n<b>Affero通用公眾授權條款 v3.0</b>
\n<b>GNU Affero通用公眾授權條款 v3.0</b>
\n
\n這份最強的著作傳式授權條款提供作品完整的原始碼與修改其中包含了使用同一個授權條款的作品。著作權與授權條款聲明都必須保留。貢獻者提供明確的專利權授予。當修改版被用於提供透過網路的服務時修改版的完整原始碼也必須釋出。</string>
<string name="pref_title_version">版本</string>
@ -301,4 +301,26 @@
<string name="login_current_server_hint">目前的伺服器</string>
<string name="video_speed_125">1.25x</string>
<string name="video_speed_075">0.75x</string>
<string name="title_activity_server_address_book">地址簿</string>
<string name="server_book_list_has_login">已登入</string>
<string name="server_book_add_add_button">新增</string>
<string name="server_book_add_password">密碼</string>
<string name="server_book_add_username">使用者名稱</string>
<string name="server_book_add_pick_server_button">搜尋</string>
<string name="server_book_add_server_url">伺服器 Url</string>
<string name="server_book_add_label">標籤</string>
<string name="me_help_and_feedback_button">說明與回饋</string>
<string name="me_logout_button">登出</string>
<string name="server_book_valid_url_is_required">有效的 URL 必填</string>
<string name="server_book_label_is_required">伺服器標籤必填</string>
<string name="server_book_no_servers_found">伺服器參考書為空</string>
<string name="authentication_login_failed">登入失敗!</string>
<string name="authentication_login_success">登入成功</string>
<string name="hello_blank_fragment">您好空白片段</string>
<string name="clear_search_history_prompt">您想要永久刪除搜尋歷史紀錄嗎?</string>
<string name="clear_search_history">清除搜尋歷史</string>
<string name="pref_description_language_app">選取應用程式界面的語言。重新啟動應用程式以讓變更生效。</string>
<string name="pref_language_app">應用程式語言</string>
<string name="pref_description_back_pause">當影片播放時按下後退鈕後暫停背景播放。</string>
<string name="pref_title_back_pause">在後退鈕上暫停</string>
</resources>

View File

@ -1,6 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="backgroundBehavior">
<item>@string/pref_background_audio</item>
<item>@string/pref_background_stop</item>
<item>@string/pref_background_float</item>
</string-array>
<string-array name="backgroundBehaviorValues">
<item>backgroundAudio</item>
<item>backgroundStop</item>
<item>backgroundFloat</item>
</string-array>
<string-array name="themeArray">
<item>@string/red</item>
<item>@string/pink</item>
@ -64,6 +77,7 @@
<item>@string/eu</item>
<item>@string/be</item>
<item>@string/bn</item>
<item>@string/bn_rBD</item>
<item>@string/bi</item>
<item>@string/bs</item>
<item>@string/bzs</item>
@ -259,6 +273,7 @@
<item>eu</item>
<item>be</item>
<item>bn</item>
<item>bn_rBD</item>
<item>bi</item>
<item>bs</item>
<item>bzs</item>
@ -437,6 +452,7 @@
<string-array name="supportedLanguagesValues">
<item>ar</item>
<item>bn</item>
<item>bn_rBD</item>
<item>cs</item>
<item>de</item>
<item>el</item>
@ -462,6 +478,7 @@
<string-array name = "supportedLanguagesArray">
<item>@string/ar</item>
<item>@string/bn</item>
<item>@string/bn_rBD</item>
<item>@string/cs</item>
<item>@string/de</item>
<item>@string/el</item>

View File

@ -65,6 +65,13 @@
<string name="pref_language_app">Application Language</string>
<string name="pref_description_language_app">Select language for application interface. Restart app for change to take effect.</string>
<string name="pref_background_audio">Continue as a background audio stream</string>
<string name="pref_background_stop">Stop all playback</string>
<string name="pref_background_float">Continue playing video in floating window</string>
<string name="pref_background_behavior">Background playing Configuration</string>
<string name="settings_api_error_float">Android version does not support floating video</string>
<string name="settings_permissions_error_float">Picture in picture permission is disabled for this app in Android Settings</string>
<string name="pref_background_behavior_summary">How a playing video responds when going to background</string>
<string name="clear_search_history">Clear Search History</string>
<string name="clear_search_history_prompt">Do you want to permanently delete the search history?</string>
<!-- languages -->
@ -87,6 +94,7 @@
<string name="eu">Basque</string>
<string name="be">Belarusian</string>
<string name="bn">Bengali</string>
<string name="bn_rBD">Bengali (Bangladesh)</string>
<string name="bi">Bislama</string>
<string name="bs">Bosnian</string>
<string name="bzs">Brazilian Sign Language</string>
@ -330,7 +338,7 @@
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="action_bar_title_address_book" />
<string name="authentication_login_success">Login Successfull</string>
<string name="authentication_login_success">Login Successful</string>
<string name="authentication_login_failed">Login Failed!</string>
<string name="server_book_no_servers_found">Server Books is empty</string>
<string name="server_book_label_is_required">Server label is required</string>
@ -352,6 +360,8 @@
<string name="title_activity_server_address_book">Address Book</string>
<string name="video_speed_075">0.75x</string>
<string name="video_speed_125">1.25x</string>
<string name="server_book_del_alert_title">Remove Server</string>
<string name="server_book_del_alert_msg">Are you sure you want to remove this server from the address book?</string>
<!-- Constants, Don't translate -->
<string name="pref_token_access" translatable="false">pref_token_access</string>
@ -361,7 +371,5 @@
<string name="pref_auth_username" translatable="false">pref_auth_username</string>
<string name="pref_auth_password" translatable="false">pref_auth_password</string>
<!-- TODO: Remove or change this placeholder text -->
</resources>

View File

@ -36,6 +36,16 @@
android:title="@string/pref_language_app" />
/>
<ListPreference
android:defaultValue="@array/empty_array"
android:entries="@array/backgroundBehavior"
android:entryValues="@array/backgroundBehaviorValues"
android:key="pref_background_behavior"
android:summary="@string/pref_background_behavior_summary"
android:title="@string/pref_background_behavior" />
/>
<ListPreference
android:title="@string/pref_title_app_theme"
android:summary="@string/pref_description_app_theme"