1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2026-01-15 22:18:03 +00:00

Compare commits

..

159 Commits

Author SHA1 Message Date
Tobi
70b9330b61 Merge pull request #6432 from TeamNewPipe/release_0.21.4
Release 0.21.4
2021-06-07 22:41:30 +02:00
TobiGr
f1e8667945 NewPipe 0.21.4 (970) 2021-06-07 21:40:02 +02:00
Tobi
509f501696 Merge pull request #6438 from TeamNewPipe/fix/metadataView
Increase width of metadata text view
2021-06-07 21:39:24 +02:00
TobiGr
3fe0368486 Update NewPIpe extractor to 0.21.4 2021-06-07 20:45:26 +02:00
Hosted Weblate
8f027e274e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (German)

Currently translated at 56.8% (29 of 51 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (655 of 657 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (French)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (German)

Currently translated at 56.8% (29 of 51 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (Interlingua)

Currently translated at 40.1% (264 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (French)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (German)

Currently translated at 100.0% (657 of 657 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Michal L <michalrmsmi@wp.pl>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-06-07 20:43:54 +02:00
Stypox
f6bca68da2 Merge pull request #6442 from Douile/fix/useless-duration
Hide queue duration when displaying segment panel
2021-06-07 07:11:13 +02:00
Douile
d921e2e61b Hide queue duration when displaying segment panel
Fixes #6441
2021-06-07 02:10:44 +01:00
TobiGr
0f7ed0ec70 Kotlin auto formatting 2021-06-06 11:57:14 +02:00
TobiGr
49b12ea4f8 Increase space for metadata typeview
Some translations come with longer words causing them to wrap at strange positions
2021-06-06 11:57:14 +02:00
Tobi
69fc466323 Update 970.txt
Fixed typo
2021-06-05 23:37:47 +02:00
Tobi
81d00f2e97 Run CI on PRs which target the master branch
This is a fix for the release PRs
2021-06-05 17:34:27 +02:00
TobiGr
ded6540422 Update extractor version 2021-06-05 17:26:16 +02:00
TobiGr
583a028529 Add changelog for 0.21.4 2021-06-05 17:23:57 +02:00
Tobi
f1bb56e2fb Merge pull request #6430 from TeamNewPipe/localization
Localization updates and small code improvements
2021-06-05 17:20:37 +02:00
TobiGr
f583dd47ac Annotate StoredFileHelper.createSAF() as NonNull 2021-06-05 16:34:22 +02:00
TobiGr
7e3b3453c0 Suppress a warning 2021-06-05 16:13:12 +02:00
TobiGr
abc354f516 Use reqireContext(), requireActivity() instead of getters 2021-06-05 16:13:12 +02:00
TobiGr
79efffe12f Replace three dots with ellipsis symbol 2021-06-05 16:13:12 +02:00
Hosted Weblate
25130db371 Translated using Weblate (German)
Currently translated at 56.0% (28 of 50 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (German)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Interlingua)

Currently translated at 40.0% (263 of 657 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Russian)

Currently translated at 98.9% (650 of 657 strings)

Translated using Weblate (French)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (German)

Currently translated at 98.9% (650 of 657 strings)

Translated using Weblate (English)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Interlingua)

Currently translated at 34.6% (222 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Odia)

Currently translated at 4.2% (27 of 641 strings)

Translated using Weblate (Odia)

Currently translated at 2.0% (1 of 50 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 99.3% (637 of 641 strings)

Translated using Weblate (Swedish)

Currently translated at 87.3% (560 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 70.0% (35 of 50 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Translated using Weblate (Lithuanian)

Currently translated at 4.0% (2 of 50 strings)

Translated using Weblate (Bengali)

Currently translated at 93.7% (601 of 641 strings)

Translated using Weblate (Interlingua)

Currently translated at 34.3% (220 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hritik R <hpujhari7@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jacque Fresco <aidter@use.startmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Juraj Timko <timko@netrix.sk>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Louis Morel <louismorel03@outlook.fr>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zhiheng Xu <xeric.2002@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jul-debug <jul333666@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: Обилић <mudo2233@tutanota.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-06-05 16:08:27 +02:00
Tobi
932eb94f9d Merge pull request #6429 from TiA4f8R/fix-play-with-kodi-player-button
Fix Play with Kodi button in Player always prompts to install Kore
2021-06-05 14:32:09 +02:00
Stypox
9bf4eff173 Merge pull request #6421 from TeamNewPipe/fix/playback_speed
Fix playback speed not being updated in PlayQueueAcitvity
2021-06-05 13:46:45 +02:00
TiA4f8R
9fc3ddeab7 Fix Play with Kodi button in Player always prompts to install Kore 2021-06-05 12:48:34 +02:00
TobiGr
98fdbec442 Fix playback speed not being updated in PlayQueuAcitvity
Fixes #6419
2021-06-05 12:24:59 +02:00
bopol
332b90d6c1 Merge pull request #6337 from litetex/fix-broken-yt-liked-comments
[YouTube] Fix broken likes in comments
2021-06-04 22:32:48 +02:00
Tobi
db2e03eb14 Merge pull request #6402 from XiangRongLin/save_backup_bug
Fix and improve setting import and export paths
2021-06-04 22:22:09 +02:00
TobiGr
8ed8b94ec7 Update extractor version to ff11c2df2a22cc10d9fd7e59538d10ca7ccbaffb 2021-06-04 16:20:20 +02:00
Tobi
63c9308f59 Merge pull request #5946 from Stypox/metadata
Show content metadata below the description
2021-06-03 20:51:33 +02:00
litetex
1306a777fc Using Localization.shortCount() and old likeCount 2021-06-03 14:40:00 +02:00
Tobi
f739ed7581 Merge pull request #6280 from TiA4f8R/open-in-browser-long-press-menu
Add Open in browser option to long-press menu
2021-06-03 13:45:25 +02:00
TiA4f8R
b4d6015464 Add the Open in browser option when long-pressing a stream for local and online playlists and for history 2021-06-03 13:21:31 +02:00
TiA4f8R
b9aaafdb30 Add Open in browser option to long-press menu
Add Open in browser option to long-press menu when long pressing a stream and a subscription
2021-06-03 13:15:08 +02:00
Tobi
71aa6c6e92 Merge pull request #6309 from mhmdanas/fix-channel-details-long-press-menu-on-feeds
Add "Show channel details" option in remote (non-local) playlists
2021-06-03 12:25:50 +02:00
Tobi
f98d2631e5 Merge pull request #6242 from evermind-zz/fixes-for-upstream
fix Rotation crash on „Video not available“ page (#5941)
2021-06-03 12:22:23 +02:00
Stypox
9e94c81ef2 Always show scrollbars for metadata tags 2021-06-02 21:23:48 +02:00
Stypox
d025ef11f8 Sort tags in metadata section 2021-06-02 21:23:42 +02:00
TiA4f8R
fe7536e374 Change NewPipe IRC links in the contribution guidelines (#6415)
* Change NewPipe IRC links in the contribution guidelines

* Remove redundant line break

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

Co-authored-by: Mohammed Anas <32234660+mhmdanas@users.noreply.github.com>
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2021-06-02 16:27:08 +00:00
Stypox
14256137e8 Use chips to show tags in metadata section
Clicking on chips opens the search fragment
Long clicking copies to clipboard
2021-06-02 16:15:02 +02:00
Stypox
bc3e43ac58 Add button to allow selecting text in the description
Since now selection is disabled by default, this fixes #5453
2021-06-02 14:36:34 +02:00
Stypox
d0d5373be9 Allow copying metadata to clipboard 2021-06-02 14:19:25 +02:00
Stypox
997267bad1 Show video metadata below the decription 2021-06-02 14:19:25 +02:00
Robin
ef6d0cc4b1 Merge pull request #6414 from mhmdanas/upgrade-prettytime-5.0.1
Upgrade PrettyTime to 5.0.1
2021-06-02 13:47:42 +02:00
mhmdanas
ffad244e1e Upgrade PrettyTime to 5.0.1 2021-06-02 01:14:43 +03:00
Tobi
fdee7c3d06 Merge pull request #6410 from sauravrao637/6409
Fixed channel description textView
2021-06-01 11:02:47 +02:00
camo0112
142cde975f fixed channel description textView 2021-06-01 10:43:57 +05:30
XiangRongLin
004907d306 Annotate methode parameters as NonNull 2021-05-31 15:09:57 +02:00
XiangRongLin
05eb0d0fbe Commit path immediately when import backup 2021-05-31 12:40:14 +02:00
XiangRongLin
f13a1b04e6 Set ImportExportDataPath only on successful import
Also set the folder instead of the file itself as path
2021-05-31 12:38:21 +02:00
XiangRongLin
fd4408e572 Set ImportExportDataPath only on successful export 2021-05-31 12:36:21 +02:00
TiA4f8R
a84ab7413c Change IRC chat button link in READMEs (#6393)
* Change the IRC chat button link in the original README

* Change the IRC chat button link in the Spanish README

* Change the IRC chat button link in the Japanese README

* Change the IRC chat button link in the Korean README

* Change the IRC chat button link in the Brazilian Portuguese README

* Change the IRC chat button link in the Romanian README

* Change the IRC chat button link in the Somali README

* Change the IRC chat button link in the Turkish README
2021-05-29 14:18:15 +02:00
Tobi
62b593da08 Merge pull request #6118 from sauravrao637/errorHandlingInSubcribe
Error handling in subscribe() in DownloadDialog
2021-05-29 11:30:36 +02:00
Tobi
0eb69b6659 Merge pull request #6353 from Imericxu/fix-pasting-rich-text-in-search
Fix unwanted rich text formatting when pasting
2021-05-29 09:12:07 +02:00
Robin
67b83388b1 Merge pull request #6387 from TeamNewPipe/empty_fragment_design
Fix empty fragment text not centered when text longer than one line
2021-05-28 17:48:38 +02:00
Tobi
ecc998aea8 Merge pull request #6373 from TeamNewPipe/bandcamp-links
Improve Bandcamp intent filters
2021-05-28 15:17:00 +02:00
TobiGr
6956d16f0e Update dependency for core library desugaring
Hopefully fixes reproducible builds.
2021-05-28 15:07:30 +02:00
TobiGr
f1bc4f5c20 Update junit from 4.13.1 to 4.13.2
https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.2.md
2021-05-28 15:04:39 +02:00
Tobi
f134e2d02a Merge pull request #6385 from sauravrao637/6371
Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST
2021-05-28 14:23:04 +02:00
TobiGr
6ec72ef945 Fix empty fragment text not centered when text longer than one line 2021-05-28 12:43:21 +02:00
Tobi
e8d518cd6c Add Libera webchat link 2021-05-28 11:59:27 +02:00
camo0112
b564433ff6 Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST 2021-05-28 03:38:53 +05:30
TiA4f8R
79f7dcd1a3 Merge pull request #6384 from TeamNewPipe/change-matrix-irc-link
Update Matrix link of NewPipe IRC from Freenode to Libera.chat
2021-05-27 23:09:19 +02:00
TiA4f8R
23ee9b7867 Update Matrix link of NewPipe IRC from Freenode to Libera.chat 2021-05-27 22:07:45 +02:00
TobiGr
afbf36900f Merge branch 'master' into dev 2021-05-27 20:04:16 +02:00
Tobi
2829851e49 Merge pull request #6358 from TeamNewPipe/release_0.21.3
Release 0.21.3
2021-05-27 16:36:43 +02:00
TobiGr
2b8fda3511 Release NewPipe 0.21.3 (969) 2021-05-27 16:36:00 +02:00
TobiGr
d31959990e Update extractor version to 0.21.3 2021-05-27 16:36:00 +02:00
Tobi
26c535db84 Change IRC link
Move from freenode webchat to libera chat
2021-05-27 09:56:27 +02:00
Zhiheng Xu
ea1b910d7e Simplify code 2021-05-26 12:01:58 -04:00
Zhiheng Xu
8f4c6fb6ac Add comment 2021-05-26 12:01:58 -04:00
Zhiheng Xu
9b1861417c Add formatting removal on paste for search
Closes #5912
2021-05-26 12:01:58 -04:00
XiangRongLin
8080c32b1f Merge pull request #6345 from Imericxu/test-and-update-playqueue
Test and clean up PlayQueue
2021-05-26 17:46:24 +02:00
XiangRongLin
4b27aec196 Merge pull request #6360 from litetex/used-adoptopenjdk-instead-of-zulu
Use AdoptOpenJDK instead of Zulu in GitHub actions
2021-05-26 17:42:04 +02:00
Fynn Godau
38fb510375 [Bandcamp] Increase accuracy of intent filters 2021-05-26 15:11:38 +02:00
Fynn Godau
6422e31b10 [Bandcamp] Handles links without /
Co-authored-by: yashpalgoyal1304 <yashpalgoyal1304@gmail.com>
2021-05-26 15:08:43 +02:00
Zhiheng Xu
c0f47195a2 Remove Enclosed.class runner
Does not affect Gradle tests and only benefits IDE workflow
2021-05-24 13:03:52 -04:00
Zhiheng Xu
40f66977c7 Rewrite addToHistory test without using reflection 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e518c0dc14 Rename mockPlayQueue(…) to makePlayQueue(…) 2021-05-24 12:20:19 -04:00
Zhiheng Xu
2e161a1f45 Change shuffle() guard to check for size <= 2
After testing the app, I realized that shuffling a queue with size 2
does nothing
2021-05-24 12:20:19 -04:00
Zhiheng Xu
5ab6e84044 Remove redundant clearing of list 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e1a6347c4e Refactor shuffle and update documentation
- Add early return for invalid sizes to shuffle

 - Rename variables to be more descriptive

 - Refactor moving list element, removing unnecessary operations

 - Unwrap if clause for adding to history because the condition is
   guaranteed by the guard clause

 - Inline the value 0 for the ReorderEvent

 - Update documentation to reflect new changes
2021-05-24 12:20:19 -04:00
Zhiheng Xu
bf8e8798d9 Add test for setIndex 2021-05-24 12:20:19 -04:00
Zhiheng Xu
08949ee347 Refactor static methods to package private
Stops Android Studio from "recognizing" them as tests
2021-05-24 12:20:19 -04:00
Eric Xu
92a67bb8cb Rearrange fields
Final fields should be arranged first
2021-05-24 12:20:19 -04:00
Eric Xu
363bbf5fd3 Test getItem(int) 2021-05-24 12:20:19 -04:00
Eric Xu
77f6940336 Refactor making a PlayQueueItem to static method 2021-05-24 12:20:19 -04:00
Eric Xu
e8eeac6735 Resolve TODO in indexOf(...)
PlayQueueItem overrides equals and hashCode, so using indexOf is
perfectly fine.
2021-05-24 12:20:19 -04:00
Eric Xu
775fbc9a75 Rewrite setIndex(int) to pass unit tests
Original did not cover the case of when streams is empty and
documentation does not specify any input restrictions.

There's an ambiguity with broadcasting an event between the
documentation and the actual code (see TODO).
2021-05-24 12:20:19 -04:00
Eric Xu
8d0f2d371d Test PlayQueue.setIndex(...) 2021-05-24 12:20:19 -04:00
Eric Xu
8efe2859b8 Refactor assignments to field declaration
Assignments that don't require the constructor can be moved out.
2021-05-24 12:20:19 -04:00
Eric Xu
441c68ead2 Add hashCode() to match equals(other) 2021-05-24 12:20:19 -04:00
Eric Xu
882b235a78 Test PlayQueue equals 2021-05-24 12:20:19 -04:00
Eric Xu
4cd1f201f5 Refactor streams to initialize with values 2021-05-24 12:20:19 -04:00
Eric Xu
013c59f904 Refactor ArrayList fields to List 2021-05-24 12:20:19 -04:00
Eric Xu
57474e2dab Refactor and optimize equals
- Remove multiple casts of obj

 - Simply use object equals on the streams because PlayQueueItem’s
   equals already compares urls
2021-05-24 12:20:19 -04:00
TobiGr
139ced885d Update extractor version 2021-05-23 22:56:44 +02:00
litetex
10b1da135e Update ci.yml 2021-05-23 14:54:49 +02:00
Tobi
f0bb2e8687 Merge pull request #6307 from TeamNewPipe/peertube_hls
Add support for PeerTube HLS streams
2021-05-23 12:07:31 +02:00
TobiGr
4643ccef6f Fix incorrcetly formatted translations 2021-05-23 12:06:08 +02:00
TobiGr
753ca7cb53 Update translations
Translated using Weblate (French)
Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Arabic)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 97.5% (625 of 641 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 13.5% (87 of 641 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Dutch)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Estonian)

Currently translated at 95.9% (615 of 641 strings)

Translated using Weblate (Bengali)

Currently translated at 93.7% (601 of 641 strings)

Translated using Weblate (French)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Lithuanian)

Currently translated at 69.5% (446 of 641 strings)

Translated using Weblate (Spanish)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (641 of 641 strings)
2021-05-23 11:55:34 +02:00
TobiGr
87d2f33e55 Add support for PeerTube HLS streams 2021-05-23 11:53:35 +02:00
XiangRongLin
fc7944d287 Merge pull request #6319 from ATofighi/feat-6039-store-backup-location
Save backup import/export location for future import/exports
2021-05-21 21:08:33 +02:00
XiangRongLin
376e5c1546 Remove unnecessary conversion between file and path 2021-05-21 20:24:11 +02:00
Alireza Tofighi
e8ad947d37 Split up FilePathHelperTest tests in simpler methods 2021-05-21 22:44:38 +04:30
Alireza Tofighi
067528211f Add more tests for FilePathUtils.isValidDirectoryPath for better coverage 2021-05-21 20:28:42 +04:30
Alireza Tofighi
92ab9cae27 Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability 2021-05-21 20:24:57 +04:30
Alireza Tofighi
fa2b11b768 Move ContentSettingsFragment.isValidPath to helpers and add unit test for it. 2021-05-21 20:21:58 +04:30
Alireza Tofighi
82f43ac6a6 Save backup import/export location for feature import/exports 2021-05-17 21:57:27 +04:30
David BrazSan
c7660b8c2d Excluding forgotten parts of the original raw (#6317) 2021-05-17 14:59:48 +00:00
XiangRongLin
847831c195 Merge pull request #6308 from mhmdanas/make-minor-changes
Make some minor changes
2021-05-17 12:14:00 +02:00
XiangRongLin
e0b246431f Merge pull request #6312 from ATofighi/fix-6298-report-page-back-not-working
Fix ErrorActivity actionbar back button not working
2021-05-17 12:12:12 +02:00
Alireza Tofighi
c808beec30 Fix ErrorActivity actionbar back button not working
The issue is because of R.id.home != android.R.id.home
2021-05-16 02:19:52 +04:30
yashpalgoyal1304
2d4a3c2554 Generalised/tense-corrected the example (#6302)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2021-05-15 17:34:24 +00:00
mhmdanas
b2b9938484 Put show channel details option in more long-press menus 2021-05-15 19:20:27 +03:00
mhmdanas
eb1cefe2fa Make some minor changes 2021-05-15 18:48:16 +03:00
Tobi
5eb5dbddde Merge pull request #6294 from Redirion/exodowngrade
Downgrade ExoPlayer to 2.12
2021-05-15 10:58:41 +02:00
TobiGr
bfe3eff5ff Fix warnings for translations 2021-05-15 10:04:27 +02:00
TobiGr
e7936e6c9a Fix warnings for translations 2021-05-15 09:57:24 +02:00
TobiGr
514f92e6f2 Update translations
Translated using Weblate (English)
Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (636 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Slovenian)

Currently translated at 82.7% (529 of 639 strings)

Translated using Weblate (Slovenian)

Currently translated at 82.7% (529 of 639 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 94.5% (604 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hebrew)

Currently translated at 46.0% (23 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Serbian)

Currently translated at 16.0% (8 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.0% (49 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Estonian)

Currently translated at 10.0% (5 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/

Translated using Weblate (German)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
2021-05-15 09:41:15 +02:00
iamthesenate1
68fd7a031f Add No Login Required translation 2021-05-14 22:34:13 +02:00
Robin
95f61542b5 TEST: Downgrade ExoPlayer to 2.12 2021-05-14 14:47:53 +02:00
Tobi
9fc6f19702 Merge pull request #6288 from Redirion/debugtunnellingoff
Add debug option to disable media tunneling
2021-05-14 13:04:35 +02:00
Robin
4038617d59 removed _text_ from show_original_time_ago and disable_media_tunneling 2021-05-14 12:25:07 +02:00
Robin
98ccd577d6 Fixed checkstyle 2021-05-14 12:15:48 +02:00
Robin
1d43a2362c Add debug option to disable media tunneling 2021-05-14 12:05:52 +02:00
TobiGr
0ff675171b Update extractor version 2021-05-14 09:23:50 +02:00
TobiGr
59594c6637 Add changelog for 0.21.3 2021-05-14 00:03:07 +02:00
Tobi
9595733563 Merge pull request #6274 from mhmdanas/remove-extra-newline-in-translation
Remove extra newlines in strings
2021-05-12 22:19:35 +02:00
mhmdanas
5eb1d49857 Remove extra newlines in strings 2021-05-12 22:16:12 +03:00
TobiGr
fa1fdbf73e Fix translations
Fix outdated slovenian translation
2021-05-12 16:27:51 +02:00
TobiGr
52e52b3ca1 Update translations
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.1% (397 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 90.6% (579 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 48.9% (24 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/

Translated using Weblate (Indonesian)

Currently translated at 100.0% (49 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/

Translated using Weblate (Tamazight (Central Atlas))

Currently translated at 32.8% (210 of 639 strings)

Added translation using Weblate (Marathi)

Added translation using Weblate (Marathi)

Translated using Weblate (Spanish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hindi)

Currently translated at 85.4% (546 of 639 strings)

Translated using Weblate (Marathi)

Currently translated at 10.9% (70 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 90.9% (581 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 20.4% (10 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/

Translated using Weblate (English)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hungarian)

Currently translated at 87.6% (560 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 85.4% (546 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 91.8% (587 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 30.6% (15 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/

Translated using Weblate (Romanian)

Currently translated at 8.1% (4 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ro/

Translated using Weblate (Portuguese)

Currently translated at 53.0% (26 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/

Translated using Weblate (Spanish)

Currently translated at 26.5% (13 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/

Translated using Weblate (Serbian)

Currently translated at 14.2% (7 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/

Translated using Weblate (Estonian)

Currently translated at 8.1% (4 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/

Translated using Weblate (Estonian)

Currently translated at 8.1% (4 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/

Translated using Weblate (Marathi)

Currently translated at 11.8% (76 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hungarian)

Currently translated at 91.7% (586 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 89.2% (570 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 90.7% (580 of 639 strings)
2021-05-12 16:27:43 +02:00
Saurav Rao
5b4fbe32b1 Fix trying to delete object not in list (#6127)
* fix trying to delete object by index -1

* correction in checkstyle-supressions.xml

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-12 14:33:00 +02:00
litetex
31ea44ccf1 Fixed player not automatically playing (#6266)
* Fixed player not automatically playing

Should also fix https://github.com/TeamNewPipe/NewPipe/issues/6179

* Added comment
2021-05-12 10:20:39 +02:00
Tobi
d26ca194b3 Merge pull request #5671 from ix5/download-deleter-snackbars
Downloader: Deleter: Dismiss previous Snackbars
2021-05-05 10:46:46 +02:00
evermind
a012e26d63 fix Rotation crash on „Video not available“ page (#5941)
The EmptyFragment should not have a constructor at all.
Now a static methods creates the Fragment and arguments
are handled via a Bundle.
2021-05-05 08:55:54 +02:00
Saurav Rao
f80b1fb2fe added NoLoginRequired (#5994)
Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-04 17:57:19 +00:00
ix5
38ed07caa7 Downloader: Deleter: Dismiss previous Snackbars
Bug:
In Downloader view, while deleting items, Snackbars at the
bottom of the UI keep queuing up. You need to wait for all
of them to dismiss themselves for files to actually be
deleted. If you close NewPipe before all snackbars are
dismissed, your files will not be deleted and show up again
next time you start NewPipe.

Fix:
When running append(), trigger the commit() action
immediately and cancel all delayed callbacks for commit().

This prevents Snackbars from stacking up in reverse order.

Fixes: https://github.com/TeamNewPipe/NewPipe/issues/5660
2021-05-04 19:44:09 +02:00
Tobi
72ee4be495 Merge pull request #6152 from Isira-Seneviratne/Use_Animator_addListener
Use Animator.addListener() extension.
2021-05-04 19:37:03 +02:00
Robin
c85b97a484 Fix: fragmentSize is below the minimum (#6238)
noticed logs " CacheDataSink: fragmentSize is below the minimum recommended value of 2097152. This may cause poor cache performance.

this fixes the issue by using ExoPlayers MIN_RECOMMENDED_FRAGMENT_SIZE. Unfortunately that field is private:
aeb306a164/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/CacheDataSink.java (L123)
2021-05-04 19:08:25 +02:00
Tobi
c7510c628f Merge pull request #6189 from mhmdanas/fix-some-warnings
Fix some warnings
2021-05-04 18:54:17 +02:00
Tobi
3ca1e550fe Merge pull request #5997 from TeamNewPipe/reChaptcha
Do not set reCaptcha cookie when there is no cookie stored
2021-05-04 18:53:12 +02:00
Tobi
01e8944077 Merge pull request #6206 from Redirion/exo2133
Update ExoPlayer to 2.13.3
2021-05-04 11:58:21 +02:00
Yağızhan
d6ab3298a3 Added Turkish README (#6219) 2021-05-02 16:55:49 +00:00
Robin
97b28bba4d Update ExoPlayer to 2.13.3 2021-04-30 11:48:01 +02:00
mhmdanas
7f6674a0e6 Remove strings without default values 2021-04-30 01:02:57 +03:00
mhmdanas
2c1df5f875 Actually fix the parentFile warning 2021-04-30 01:02:46 +03:00
mhmdanas
e7ae215ab0 Fix some warnings 2021-04-28 00:28:36 +03:00
TobiGr
4a9c790652 Merge branch 'master' into dev 2021-04-26 19:13:17 +02:00
TobiGr
5a5a24bf1a Added translation using Weblate (Latin)
Added translation using Weblate (Latin)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Malayalam)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 2.0% (1 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/

Translated using Weblate (Hebrew)

Currently translated at 44.8% (22 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/

Translated using Weblate (Malayalam)

Currently translated at 6.1% (3 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ml/

Translated using Weblate (Indonesian)

Currently translated at 100.0% (49 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (49 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/

Translated using Weblate (Somali)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 8.1% (52 of 639 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Added translation using Weblate (Dutch (Middle))

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.1% (397 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 89.6% (573 of 639 strings)

Translated using Weblate (German)

Currently translated at 53.0% (26 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/

Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.5% (13 of 49 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/

Translated using Weblate (Tamazight (Central Atlas))

Currently translated at 31.1% (199 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 16.4% (105 of 639 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (639 of 639 strings)
2021-04-26 11:59:35 +02:00
Isira Seneviratne
3fe80ec5ac Use Animator.addListener() extension. 2021-04-24 07:45:12 +05:30
Saurav Rao
e52048c69e Update shot_10.png to include Bandcamp in the list of services (#6140)
* update shot_10.png

* updated shot_10.png

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-04-23 09:39:08 +00:00
Robin
ceb930aed6 Merge pull request #6139 from subraizada3/dev
Only show 'download has started' toast when download is started
2021-04-22 09:56:14 +02:00
Sub Raizada
e775037366 Only show 'download has started' toast when a download has started 2021-04-22 02:45:04 +00:00
camo0112
4357e02c58 user can report the error 2021-04-20 16:21:20 +05:30
camo0112
67c0ceedc9 Error handling in subscribe() in DownloadDialog 2021-04-20 13:06:40 +05:30
Robin
0039312a64 Merge pull request #6109 from sauravrao637/codeImrovement
Replaced if/else with switch in ErrorActivity, supress false lint warning
2021-04-19 16:45:45 +02:00
camo0112
57f1152751 suppress false warning (which affect only library projects) 2021-04-19 19:26:15 +05:30
Robin
bfb9be1225 Merge pull request #6037 from mhmdanas/allow-installation-on-external-storage
Allow installation on external storage
2021-04-19 15:01:10 +02:00
camo0112
fc4dd4524a Replaced if/else with switch 2021-04-19 10:52:52 +05:30
mhmdanas
edf8bf2c9d Allow installation on external storage 2021-04-10 12:15:33 +03:00
TobiGr
c0c78ae9bb Do not set reChaptache cookie when there is no cookie stored
In DownloaderImpl#getCookies(String url) the reChaptcha cookie is set if it is not null. For this reason, the cookie was set in every request.
2021-04-04 12:27:12 +02:00
179 changed files with 3263 additions and 1120 deletions

View File

@@ -41,6 +41,6 @@ You'll see exactly what is sent, be able to add your comments, and then send it.
## Communication
* The [#newpipe](irc:irc.freenode.net/newpipe) channel on freenode has the core team and other developers in it. [Click here for webchat](https://webchat.freenode.net/?channels=newpipe)!
* You can also use a Matrix account to join the Newpipe channel at [#freenode_#newpipe:matrix.org](https://matrix.to/#/#freenode_#newpipe:matrix.org).
* The #newpipe channel on Libera Chat (`ircs://irc.libera.chat:6697/newpipe`) has the core team and other developers in it. [Click here for webchat](https://web.libera.chat/#newpipe)!
* You can also use a Matrix account to join the NewPipe channel at [#newpipe:libera.chat](https://matrix.to/#/#newpipe:libera.chat).
* Post suggestions, changes, ideas etc. on GitHub or IRC.

View File

@@ -1,8 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 💬 IRC
url: https://webchat.freenode.net/#newpipe
url: https://web.libera.chat/#newpipe
about: Chat with us via IRC for quick Q/A
- name: 💬 Matrix
url: https://matrix.to/#/#freenode_#newpipe:matrix.org
url: https://matrix.to/#/#newpipe:libera.chat
about: Chat with us via Matrix for quick Q/A

View File

@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- dev
- master
push:
branches:
- dev
@@ -25,7 +26,7 @@ jobs:
uses: actions/setup-java@v2
with:
java-version: 8
distribution: "zulu"
distribution: "adopt"
- name: Cache Gradle dependencies
uses: actions/cache@v2
@@ -54,7 +55,7 @@ jobs:
uses: actions/setup-java@v2
with:
java-version: 8
distribution: "zulu"
distribution: "adopt"
- name: Cache Gradle dependencies
uses: actions/cache@v2
@@ -79,7 +80,7 @@ jobs:
# uses: actions/setup-java@v2
# with:
# java-version: 11 # Sonar requires JDK 11
# distribution: "zulu"
# distribution: "adopt"
# - name: Cache SonarCloud packages
# uses: actions/cache@v2

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/Licencia-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/es/" alt="Estado de la traducción"><img src="https://hosted.weblate.org/widgets/newpipe/es/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/Canal%20de%20IRC%20-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/Canal%20de%20IRC%20-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -18,7 +18,7 @@
<p align="center"><a href="https://newpipe.net">Sitio web</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">Preguntas Frecuentes</a> &bull; <a href="https://newpipe.net/press/">Prensa</a></p>
<hr>
*Lea esto en otros idiomas: [English](README.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md) .*
*Lea esto en otros idiomas: [English](README.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>AVISO: ESTA ES UNA VERSIÓN BETA, POR LO TANTO, PUEDE ENCONTRAR BUGS (ERRORES). SI ENCUENTRA UNO, ABRA UN ISSUE A TRAVÉS DE NUESTRO REPOSITORIO GITHUB.</b>

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="ライセンス: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="ビルド状態"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="翻訳状態"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC チャンネル: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC チャンネル: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource 寄付"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -17,7 +17,7 @@
<p align="center"><a href="https://newpipe.net">ウェブサイト</a> &bull; <a href="https://newpipe.net/blog/">ブログ</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">ニュース</a></p>
<hr>
*他の言語で読む: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt.br.md), [日本語](README.ja.md), [Română](README.ro.md) *
*他の言語で読む: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt.br.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md)*
<b>注意: これはベータ版のため、バグが発生する可能性があります。もしバグが発生した場合、GitHub のリポジトリで Issue を開いてください。</b>

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -17,7 +17,7 @@
<p align="center"><a href="https://newpipe.net">Website</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Press</a></p>
<hr>
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md).*
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>경고: 이 버전은 베타 버전이므로, 버그가 발생할 수도 있습니다. 만약 버그가 발생하였다면, 우리의 GITHUB 저장소에서 ISSUE를 열람하여 주십시오.</b>

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -17,7 +17,7 @@
<p align="center"><a href="https://newpipe.net">Website</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Press</a></p>
<hr>
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md) .*
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.</b>
@@ -45,6 +45,7 @@ NewPipe does not use any Google framework libraries, nor the YouTube API. Websit
### Features
* Search videos
* No Login Required
* Display general info about videos
* Watch YouTube videos
* Listen to YouTube videos
@@ -94,7 +95,7 @@ You can install NewPipe using one of the following methods:
We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality was broken and F-Droid doesn't have the update yet), we recommend following this procedure:
In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality breaks and F-Droid doesn't have the latest update yet), we recommend following this procedure:
1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
2. Uninstall NewPipe
3. Download the APK from the new source and install it

View File

@@ -10,7 +10,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -18,7 +18,7 @@
<p align="center"><a href="https://newpipe.net">Site</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Press</a></p>
<hr>
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md).*
*Read this in other languages: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>AVISO: ESTA É UMA VERSÃO BETA, PORTANTO, VOCÊ PODE ENCONTRAR BUGS. ENCONTROU ALGUM, ABRA UM ISSUE ATRAVÉS DO NOSSO REPOSITÓRIO GITHUB.</b>
@@ -93,7 +93,7 @@ Quando uma alteração no código NewPipe (devido à adição de recursos ou fix
Recomendamos o método 2 para a maioria dos usuários. Os APKs instalados usando o método 2 ou 3 são compatíveis entre si, mas não com aqueles instalados usando o método 4. Isso se deve à mesma chave de assinatura (nossa) sendo usada para 2 e 3, mas uma chave de assinatura diferente (F-Droid's) está sendo usada para 4. Construir um APK depuração usando o método 1 exclui totalmente uma chave. Assinar chaves ajudam a garantir que um usuário não seja enganado para instalar uma atualização maliciosa em um aplicativo.
Enquanto isso, se você quiser trocar de fontes por algum motivo (por exemplo, a funcionalidade principal do NewPipe foi quebrada e o F-Droid ainda não tem a atualização), recomendamos seguir este procedimento:
1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlistsFaça backup de seus dados através de Configurações > Conteúdo > Exportar Base de Dados para que você mantenha seu histórico, inscrições e playlists
1. Faça backup de seus dados através de Configurações > Conteúdo > Exportar Base de Dados para que você mantenha seu histórico, inscrições e playlists
2. Desinstale o NewPipe
3. Baixe o APK da nova fonte e instale-o
4. Importe os dados da etapa 1 via Configurações > Conteúdo > Inportar Banco de Dados

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -17,7 +17,7 @@
<p align="center"><a href="https://newpipe.net">Website</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Presă</a></p>
<hr>
*Citiţi în alte limbi: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md)*
*Citiţi în alte limbi: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>Atenţionare: ACEASTA ESTE O VERSIUNE BETA, AŞA CĂ S-AR PUTE SĂ ÎNTÂLNIŢI ERORI. DACĂ SE ÎNTÂMPLĂ ACEST LUCRU, DESCHIDEŢI UN ISSUE PRIN REPSITORY-UL NOSTRU GITHUB.</b>
@@ -45,6 +45,7 @@ NewPipe nu foloseşte nici-o bibliotecă Google framework sau API-ul Youtube. We
### Funcţii
* Căutarea videoclipurilor
* Nu este necesară logarea
* Afişarea informaţiilor generale despre videoclipuri
* Urmărirea videoclipurilor Youtube
* Ascultarea videoclipurilor Youtube

View File

@@ -9,7 +9,7 @@
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="Laysinka: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Darajada Dhismaha"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Heerka Turjimaada"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://webchat.freenode.net/#newpipe" alt="Kanaalka IRC: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="Kanaalka IRC: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Kuwa Bountysource "><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
@@ -17,7 +17,7 @@
<p align="center"><a href="https://newpipe.net">Website-ka</a> &bull; <a href="https://newpipe.net/blog/">Maqaalada</a> &bull; <a href="https://newpipe.net/FAQ/">Su'aalaha Aalaa La-iswaydiiyo</a> &bull; <a href="https://newpipe.net/press/">Warbaahinta</a></p>
<hr>
*Ku akhri luuqad kale: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md).*
*Ku akhri luuqad kale: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>DIGNIIN: MIDKAN, NOOCA APP-KA EE HADDA WALI TIJAABO AYUU KU JIRAA, SIDAA DARTEED CILLADO AYAAD LA KULMI KARTAA. HADAAD LA KULANTO, KA FUR ARIN SHARAXAYA QAYBTANADA ARRIMAHA EE GITHUB-KA.</b>

145
README.tr.md Normal file
View File

@@ -0,0 +1,145 @@
<p align="center"><a href="https://newpipe.net"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
<h2 align="center"><b>NewPipe</b></h2>
<h4 align="center">Android için hafif ve özgür bir akış arayüzü.</h4>
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on-tr.svg"></a></p>
<p align="center">
<a href="https://github.com/TeamNewPipe/NewPipe/releases" alt="GitHub sürümleri"><img src="https://img.shields.io/github/release/TeamNewPipe/NewPipe.svg" ></a>
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="Lisans: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Derleme Durumu"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Çeviri Durumu"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC kanalı: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource ödülleri"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
<p align="center"><a href="#ekran-fotoğrafları">Ekran fotoğrafları</a> &bull; <a href="#açıklama">Açıklama</a> &bull; <a href="#özellikler">Özellikler</a> &bull; <a href="#kurulum-ve-güncellemeler">Kurulum ve güncellemeler</a> &bull; <a href="#katkıda-bulunma">Katkıda bulunma</a> &bull; <a href="#bağış">Bağış</a> &bull; <a href="#lisans">Lisans</a></p>
<p align="center"><a href="https://newpipe.net">Web sitesi</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">SSS</a> &bull; <a href="https://newpipe.net/press/">Basın</a></p>
<hr>
*Bu sayfayı diğer dillerde okuyun: [English](README.md), [Español](README.es.md), [한국어](README.ko.md), [Soomaali](README.so.md), [Português Brasil](README.pt_BR.md), [日本語](README.ja.md), [Română](README.ro.md), [Türkçe](README.tr.md).*
<b>UYARI: BU SÜRÜM BETA SÜRÜMÜDÜR, BU NEDENLE HATALARLA KARŞILAŞABİLİRSİNİZ. HATA BULURSANIZ BU GITHUB DEPOSUNDA BUNU BİLDİRİN.</b>
<b>GOOGLE PLAY STORE'A NEWPIPE VEYA BAŞKA BİR KOPYASINI KOYMAK, PLAY STORE ŞARTLARINI VE KOŞULLARINI İHLAL EDER.</b>
## Ekran fotoğrafları
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
## Açıklama
NewPipe herhangi bir Google çerçeve kütüphanesini, ya da YouTube API hizmetlerini kullanmaz. Gerekli web hizmetleri yalnızca gerekli bilgileri almak için kaynak olarak kullanılır, bu nedenle bu uygulama Google hizmetleri yüklü olmayan cihazlarda da kullanılabilir. Ayrıca, copyleft özgür yazılımı olan NewPipe'ı kullanmak için bir YouTube hesabına ihtiyacınız yoktur.
### Özellikler
* Video arama
* Videolar hakkında genel bilgileri görüntüleme
* YouTube videoları izleme
* YouTube videolarını dinleme
* Pop-up modu (hareketli oynatıcı)
* Video izlemek için akış oynatıcısını seçme
* Video indirme
* Sadece ses indirme
* Videoyu Kodi'de açma
* Sonraki video/ilgili videolar
* YouTube'u belirli bir dilde arayın
* Yaş sınırlı içeriği izleme/engelleme
* Kanallar hakkındaki genel bilgileri görüntüleme
* Kanal arama
* Bir kanaldaki videoları izleme
* Orbot/Tor desteği (henüz direkt olarak değil)
* 1080p/2K/4K desteği
* Geçmişi görme
* Kanallara abone olma
* Geçmişte arama
* Oynatma listesi arama/oynatma
* Çalma listelerini sıralayıp oynatın
* Videoları sırayla oynatın
* Yerel oynatma listeleri
* Altyazılar
* Canlı yayın desteği
* Yorumları görme
### Desteklenen servisler
NewPipe birden fazla hizmeti destekler. Uygulamaya ve ayıklayıcıya yeni bir hizmet ekleme konusunda daha fazla bilgiye [kılavuzlarımızdan](https://teamnewpipe.github.io/documentation/) ulaşabilirsiniz. Yeni bir hizmet eklemek istiyorsanız lütfen bizimle iletişime geçin. Şu anda desteklenen hizmetler şunlardır:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube \[beta\]
* Bandcamp \[beta\]
<!-- Eski bağlantıları uyumlu tutmak için gizli span. -->
<span id="updates"></span>
## Kurulum ve güncellemeler
Aşağıdaki yöntemlerden birini kullanarak NewPipe'ı kurabilirsiniz:
1. Özel depomuzu F-Droid'e ekleyin ve oradan yükleyin. Kılavuzu şurada bulabilirsiniz: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
2. APK'yı [Github sürümlerinden](https://github.com/TeamNewPipe/NewPipe/releases) indirin ve kurun.
3. F-Droid ile güncelleyin. Bu, güncellemeleri almanın en yavaş yöntemidir, çünkü F-Droid değişiklikleri tanımalı, APK'yı kendisi oluşturmalı, imzalamalı ve ardından güncellemeyi kullanıcılara dağıtmalıdır.
4. Kendiniz bir APK derleyin. Bu yöntem, cihazınızda yeni özellikler edinmenin en hızlı yoludur, ancak çok daha karmaşıktır, bu nedenle diğer yöntemlerden birini kullanmanızı öneririz.
Çoğu kullanıcı için yöntem 1'i öneririz. Yöntem 1 veya 2 kullanılarak yüklenen APK'lar birbiriyle uyumludur, ancak yöntem 3 kullanılarak yüklenenlerle uyumlu değildir. Bu durum, 1 ve 2 için kullanılan aynı imzalama anahtarıın (bizim anahtarımız) 3 için kullanılan imzalama anahtarından (F-Droid'in anahtarı) farklı olmasından kaynaklanmaktadır. Yöntem 4 kullanılarak oluşturulan deneysel APK'larda anahtar yoktur. İmzalama anahtarları, bir kullanıcının bir uygulamaya kötü amaçlı bir güncelleme yüklemek için kandırılmadığından emin olmanıza yardımcı olur.
Bu arada, herhangi bir nedenle kaynakları değiştirmek istiyorsanız (örneğin, NewPipe'ın temel bir işlevi bozuldu ve F-Droid tarafında henüz bir güncelleme yayınlanmadı), bu prosedürü izlemenizi öneririz:
1. Verilerinizi yedekleyin. `NewPipe Ayarları > İçerik > Veritabanını dışa aktar` seçeneklerini izleyerek aboneliklerinizi, oynatma listelerinizi ve geçmişinizi yedekleyin.
2. NewPipe'ı kaldırın
3. APK dosyasını yeni bir kaynaktan indirin ve yükleyin
4. `Ayarlar > İçerik > Veritabanını içe aktar` seçeneklerini izleyerek 1. adımdaki verileri içe aktarın
## Katkıda bulunma
Fikirleriniz, çevirileriniz, tasarım değişiklikleriniz, kod temizlemeniz veya ağır kod değişiklikleriniz olsun, yardımınıza her zaman açığız.
Yapılan her değişiklikle NewPipe daha da iyi bir konuma geliyor!
Eğer yer almak istiyorsanız, [katkı sağlayanlar için hazırladığımız notları](.github/CONTRIBUTING.md) kontrol edin.
<a href="https://hosted.weblate.org/engage/newpipe/">
<img src="https://hosted.weblate.org/widgets/newpipe/-/287x66-grey.png" alt="Çeviri istatistikleri" />
</a>
## Bağış
NewPipe'ı beğendiyseniz, yapacağınız bağışlar bizi motive eder. Bitcoin gönderebilir veya Bountysource veya Liberapay aracılığıyla bağış yapabilirsiniz. NewPipe'a bağış yapma hakkında daha fazla bilgi için lütfen [web sitemizi](https://newpipe.net/donate) ziyaret edin.
<table>
<tr>
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin"></td>
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR kodu" width="100px"></td>
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
</tr>
<tr>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" ></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="liberapay.com üzerinde NewPipe'ı ziyaret edin" width="100px"></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Liberapay aracılığıyla bağış yapın" height="35px"></a></td>
</tr>
<tr>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="bountysource.com üzerinde NewPipe'ı ziyaret edin" width="100px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Ne kadar ödül kazanabileceğinizi kontrol edin."></a></td>
</tr>
</table>
## Gizlilik politikası
NewPipe projesi, çevrimiçi akış hizmetlerini kullanmak için özel, özgür ve anonim bir deneyim sunmayı amaçlamaktadır.
Bu doğrultuda, uygulama sizin izniniz olmadan herhangi bir veri toplamaz. NewPipe'ın Gizlilik Politikası, bir çökme raporu gönderdiğinizde veya blogumuzda yorum yaptığınızda hangi verilerin gönderildiğini ve saklandığını ayrıntılı olarak açıklar. İlgili belgeyi [burada](https://newpipe.net/legal/privacy/) bulabilirsiniz.
## Lisans
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
NewPipe özgür bir yazılımdır. Kendi başınıza kullanabilir, öğrenebilir, paylaşabilir
ve geliştirebilirsiniz. Free Software Foundation tarafından yayınlanan GNU Genel Kamu Lisansı,
Lisansın 3. sürümü veya (isteğe bağlı olarak) daha sonraki bir sürümü şartları ve
koşulları altında yeniden dağıtabilir ve/veya değiştirebilirsiniz.

View File

@@ -17,8 +17,8 @@ android {
resValue "string", "app_name", "NewPipe"
minSdkVersion 19
targetSdkVersion 29
versionCode 968
versionName "0.21.2"
versionCode 970
versionName "0.21.4"
multiDexEnabled true
@@ -66,6 +66,9 @@ android {
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
// suppress false warning ("Resource IDs will be non-final in Android Gradle Plugin version
// 5.0, avoid using them in switch case statements"), which affects only library projects
disable 'NonConstantResourceId'
}
compileOptions {
@@ -102,7 +105,7 @@ ext {
androidxRoomVersion = '2.3.0-alpha03'
icepickVersion = '3.2.0'
exoPlayerVersion = '2.13.2'
exoPlayerVersion = '2.12.3'
googleAutoServiceVersion = '1.0-rc7'
groupieVersion = '2.8.1'
markwonVersion = '4.6.0'
@@ -175,12 +178,12 @@ sonarqube {
dependencies {
/** Desugaring **/
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
/** NewPipe libraries **/
// You can use a local version by uncommenting a few lines in settings.gradle
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.21.2'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.21.4'
/** Checkstyle **/
checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleVersion}"
@@ -255,7 +258,7 @@ dependencies {
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
// Date and time formatting
implementation "org.ocpsoft.prettytime:prettytime:5.0.0.Final"
implementation "org.ocpsoft.prettytime:prettytime:5.0.1.Final"
/** Debugging **/
// Memory leak detection
@@ -267,7 +270,7 @@ dependencies {
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoVersion}"
/** Testing **/
testImplementation 'junit:junit:4.13.1'
testImplementation 'junit:junit:4.13.2'
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"

View File

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.schabi.newpipe">
package="org.schabi.newpipe"
android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
@@ -318,7 +319,7 @@
<data android:pathPrefix="/video-channels/" />
</intent-filter>
<!-- Bandcamp filter -->
<!-- Bandcamp filter for tracks, albums and playlists -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
@@ -329,10 +330,23 @@
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="bandcamp.com"/>
<data android:host="*.bandcamp.com"/>
<data android:pathPrefix="/"/>
</intent-filter>
<!-- Bandcamp filter for radio -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:sspPattern="bandcamp.com/?show=*"/>
</intent-filter>
</activity>
<service
android:name=".RouterActivity$FetcherService"

View File

@@ -130,7 +130,7 @@ public class App extends MultiDexApplication {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(
getApplicationContext());
final String key = getApplicationContext().getString(R.string.recaptcha_cookies_key);
downloader.setCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY, prefs.getString(key, ""));
downloader.setCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY, prefs.getString(key, null));
downloader.updateYoutubeRestrictedModeCookies(getApplicationContext());
}

View File

@@ -95,6 +95,7 @@ import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@SuppressWarnings("ConstantConditions")
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
private ActivityMainBinding mainBinding;

View File

@@ -466,6 +466,11 @@ public class RouterActivity extends AppCompatActivity {
if (capabilities.contains(AUDIO)) {
returnList.add(backgroundPlayer);
}
// download is redundant for linkType CHANNEL AND PLAYLIST (till playlist downloading is
// not supported )
returnList.add(new AdapterChoiceItem(getString(R.string.download_key),
getString(R.string.download),
R.drawable.ic_file_download));
} else {
returnList.add(showInfo);
@@ -478,10 +483,6 @@ public class RouterActivity extends AppCompatActivity {
}
}
returnList.add(new AdapterChoiceItem(getString(R.string.download_key),
getString(R.string.download),
R.drawable.ic_file_download));
return returnList;
}

View File

@@ -312,25 +312,36 @@ public class DownloadDialog extends DialogFragment
private void fetchStreamsSize() {
disposables.clear();
disposables.add(StreamSizeWrapper.fetchSizeForWrapper(wrappedVideoStreams)
.subscribe(result -> {
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId() == R.id.video_button) {
setupVideoSpinner();
}
}));
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId()
== R.id.video_button) {
setupVideoSpinner();
}
}, throwable -> ErrorActivity.reportErrorInSnackbar(context,
new ErrorInfo(throwable, UserAction.DOWNLOAD_OPEN_DIALOG,
"Downloading video stream size",
currentInfo.getServiceId()))));
disposables.add(StreamSizeWrapper.fetchSizeForWrapper(wrappedAudioStreams)
.subscribe(result -> {
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId() == R.id.audio_button) {
setupAudioSpinner();
}
}));
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId()
== R.id.audio_button) {
setupAudioSpinner();
}
}, throwable -> ErrorActivity.reportErrorInSnackbar(context,
new ErrorInfo(throwable, UserAction.DOWNLOAD_OPEN_DIALOG,
"Downloading audio stream size",
currentInfo.getServiceId()))));
disposables.add(StreamSizeWrapper.fetchSizeForWrapper(wrappedSubtitleStreams)
.subscribe(result -> {
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId() == R.id.subtitle_button) {
setupSubtitleSpinner();
}
}));
if (dialogBinding.videoAudioGroup.getCheckedRadioButtonId()
== R.id.subtitle_button) {
setupSubtitleSpinner();
}
}, throwable -> ErrorActivity.reportErrorInSnackbar(context,
new ErrorInfo(throwable, UserAction.DOWNLOAD_OPEN_DIALOG,
"Downloading subtitle stream size",
currentInfo.getServiceId()))));
}
@Override
@@ -671,9 +682,6 @@ public class DownloadDialog extends DialogFragment
prefs.edit()
.putString(getString(R.string.last_used_download_type), selectedMediaType)
.apply();
Toast.makeText(context, getString(R.string.download_has_started),
Toast.LENGTH_SHORT).show();
}
private void checkSelectedDownload(final StoredDirectoryHelper mainStorage,
@@ -929,6 +937,9 @@ public class DownloadDialog extends DialogFragment
DownloadManagerService.startMission(context, urls, storage, kind, threads,
currentInfo.getUrl(), psName, psArgs, nearLength, recoveryInfo);
Toast.makeText(context, getString(R.string.download_has_started),
Toast.LENGTH_SHORT).show();
dismiss();
}
}

View File

@@ -190,15 +190,16 @@ public class ErrorActivity extends AppCompatActivity {
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
final int id = item.getItemId();
if (id == android.R.id.home) {
onBackPressed();
} else if (id == R.id.menu_item_share_error) {
ShareUtils.shareText(this, getString(R.string.error_report_title), buildJson());
} else {
return false;
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
case R.id.menu_item_share_error:
ShareUtils.shareText(this, getString(R.string.error_report_title), buildJson());
return true;
default:
return false;
}
return true;
}
private void openPrivacyPolicyDialog(final Context context, final String action) {

View File

@@ -11,15 +11,20 @@ import org.schabi.newpipe.BaseFragment;
import org.schabi.newpipe.R;
public class EmptyFragment extends BaseFragment {
final boolean showMessage;
private static final String SHOW_MESSAGE = "SHOW_MESSAGE";
public EmptyFragment(final boolean showMessage) {
this.showMessage = showMessage;
public static final EmptyFragment newInstance(final boolean showMessage) {
final EmptyFragment emptyFragment = new EmptyFragment();
final Bundle bundle = new Bundle(1);
bundle.putBoolean(SHOW_MESSAGE, showMessage);
emptyFragment.setArguments(bundle);
return emptyFragment;
}
@Override
public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container,
final Bundle savedInstanceState) {
final boolean showMessage = getArguments().getBoolean(SHOW_MESSAGE);
final View view = inflater.inflate(R.layout.fragment_empty, container, false);
view.findViewById(R.id.empty_state_view).setVisibility(
showMessage ? View.VISIBLE : View.GONE);

View File

@@ -4,23 +4,38 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.widget.TooltipCompat;
import androidx.core.text.HtmlCompat;
import com.google.android.material.chip.Chip;
import org.schabi.newpipe.BaseFragment;
import org.schabi.newpipe.R;
import org.schabi.newpipe.databinding.FragmentDescriptionBinding;
import org.schabi.newpipe.databinding.ItemMetadataBinding;
import org.schabi.newpipe.databinding.ItemMetadataTagsBinding;
import org.schabi.newpipe.extractor.stream.Description;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.ShareUtils;
import org.schabi.newpipe.util.TextLinkifier;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import icepick.State;
import io.reactivex.rxjava3.disposables.Disposable;
import static android.text.TextUtils.isEmpty;
import static org.schabi.newpipe.extractor.stream.StreamExtractor.NO_AGE_LIMIT;
import static org.schabi.newpipe.extractor.utils.Utils.isBlank;
public class DescriptionFragment extends BaseFragment {
@@ -28,6 +43,7 @@ public class DescriptionFragment extends BaseFragment {
StreamInfo streamInfo = null;
@Nullable
Disposable descriptionDisposable = null;
FragmentDescriptionBinding binding;
public DescriptionFragment() {
}
@@ -40,11 +56,11 @@ public class DescriptionFragment extends BaseFragment {
public View onCreateView(@NonNull final LayoutInflater inflater,
@Nullable final ViewGroup container,
@Nullable final Bundle savedInstanceState) {
final FragmentDescriptionBinding binding =
FragmentDescriptionBinding.inflate(inflater, container, false);
binding = FragmentDescriptionBinding.inflate(inflater, container, false);
if (streamInfo != null) {
setupUploadDate(binding.detailUploadDateView);
setupDescription(binding.detailDescriptionView);
setupUploadDate();
setupDescription();
setupMetadata(inflater, binding.detailMetadataLayout);
}
return binding.getRoot();
}
@@ -57,37 +73,197 @@ public class DescriptionFragment extends BaseFragment {
}
}
private void setupUploadDate(final TextView uploadDateTextView) {
private void setupUploadDate() {
if (streamInfo.getUploadDate() != null) {
uploadDateTextView.setText(Localization
binding.detailUploadDateView.setText(Localization
.localizeUploadDate(activity, streamInfo.getUploadDate().offsetDateTime()));
} else {
uploadDateTextView.setVisibility(View.GONE);
binding.detailUploadDateView.setVisibility(View.GONE);
}
}
private void setupDescription(final TextView descriptionTextView) {
private void setupDescription() {
final Description description = streamInfo.getDescription();
if (description == null || isEmpty(description.getContent())
|| description == Description.emptyDescription) {
descriptionTextView.setText("");
binding.detailDescriptionView.setVisibility(View.GONE);
binding.detailSelectDescriptionButton.setVisibility(View.GONE);
return;
}
// start with disabled state. This also loads description content (!)
disableDescriptionSelection();
binding.detailSelectDescriptionButton.setOnClickListener(v -> {
if (binding.detailDescriptionNoteView.getVisibility() == View.VISIBLE) {
disableDescriptionSelection();
} else {
// enable selection only when button is clicked to prevent flickering
enableDescriptionSelection();
}
});
}
private void enableDescriptionSelection() {
binding.detailDescriptionNoteView.setVisibility(View.VISIBLE);
binding.detailDescriptionView.setTextIsSelectable(true);
final String buttonLabel = getString(R.string.description_select_disable);
binding.detailSelectDescriptionButton.setContentDescription(buttonLabel);
TooltipCompat.setTooltipText(binding.detailSelectDescriptionButton, buttonLabel);
binding.detailSelectDescriptionButton.setImageResource(R.drawable.ic_close);
}
private void disableDescriptionSelection() {
// show description content again, otherwise some links are not clickable
loadDescriptionContent();
binding.detailDescriptionNoteView.setVisibility(View.GONE);
binding.detailDescriptionView.setTextIsSelectable(false);
final String buttonLabel = getString(R.string.description_select_enable);
binding.detailSelectDescriptionButton.setContentDescription(buttonLabel);
TooltipCompat.setTooltipText(binding.detailSelectDescriptionButton, buttonLabel);
binding.detailSelectDescriptionButton.setImageResource(R.drawable.ic_select_all);
}
private void loadDescriptionContent() {
final Description description = streamInfo.getDescription();
switch (description.getType()) {
case Description.HTML:
descriptionDisposable = TextLinkifier.createLinksFromHtmlBlock(requireContext(),
description.getContent(), descriptionTextView,
description.getContent(), binding.detailDescriptionView,
HtmlCompat.FROM_HTML_MODE_LEGACY);
break;
case Description.MARKDOWN:
descriptionDisposable = TextLinkifier.createLinksFromMarkdownText(requireContext(),
description.getContent(), descriptionTextView);
description.getContent(), binding.detailDescriptionView);
break;
case Description.PLAIN_TEXT: default:
descriptionDisposable = TextLinkifier.createLinksFromPlainText(requireContext(),
description.getContent(), descriptionTextView);
description.getContent(), binding.detailDescriptionView);
break;
}
}
private void setupMetadata(final LayoutInflater inflater,
final LinearLayout layout) {
addMetadataItem(inflater, layout, false,
R.string.metadata_category, streamInfo.getCategory());
addTagsMetadataItem(inflater, layout);
addMetadataItem(inflater, layout, false,
R.string.metadata_licence, streamInfo.getLicence());
addPrivacyMetadataItem(inflater, layout);
if (streamInfo.getAgeLimit() != NO_AGE_LIMIT) {
addMetadataItem(inflater, layout, false,
R.string.metadata_age_limit, String.valueOf(streamInfo.getAgeLimit()));
}
if (streamInfo.getLanguageInfo() != null) {
addMetadataItem(inflater, layout, false,
R.string.metadata_language, streamInfo.getLanguageInfo().getDisplayLanguage());
}
addMetadataItem(inflater, layout, true,
R.string.metadata_support, streamInfo.getSupportInfo());
addMetadataItem(inflater, layout, true,
R.string.metadata_host, streamInfo.getHost());
addMetadataItem(inflater, layout, true,
R.string.metadata_thumbnail_url, streamInfo.getThumbnailUrl());
}
private void addMetadataItem(final LayoutInflater inflater,
final LinearLayout layout,
final boolean linkifyContent,
@StringRes final int type,
@Nullable final String content) {
if (isBlank(content)) {
return;
}
final ItemMetadataBinding itemBinding
= ItemMetadataBinding.inflate(inflater, layout, false);
itemBinding.metadataTypeView.setText(type);
itemBinding.metadataTypeView.setOnLongClickListener(v -> {
ShareUtils.copyToClipboard(requireContext(), content);
return true;
});
if (linkifyContent) {
TextLinkifier.createLinksFromPlainText(requireContext(),
content, itemBinding.metadataContentView);
} else {
itemBinding.metadataContentView.setText(content);
}
layout.addView(itemBinding.getRoot());
}
private void addTagsMetadataItem(final LayoutInflater inflater, final LinearLayout layout) {
if (streamInfo.getTags() != null && !streamInfo.getTags().isEmpty()) {
final ItemMetadataTagsBinding itemBinding
= ItemMetadataTagsBinding.inflate(inflater, layout, false);
final List<String> tags = new ArrayList<>(streamInfo.getTags());
Collections.sort(tags);
for (final String tag : tags) {
final Chip chip = (Chip) inflater.inflate(R.layout.chip,
itemBinding.metadataTagsChips, false);
chip.setText(tag);
chip.setOnClickListener(this::onTagClick);
chip.setOnLongClickListener(this::onTagLongClick);
itemBinding.metadataTagsChips.addView(chip);
}
layout.addView(itemBinding.getRoot());
}
}
private void onTagClick(final View chip) {
if (getParentFragment() != null) {
NavigationHelper.openSearchFragment(getParentFragment().getParentFragmentManager(),
streamInfo.getServiceId(), ((Chip) chip).getText().toString());
}
}
private boolean onTagLongClick(final View chip) {
ShareUtils.copyToClipboard(requireContext(), ((Chip) chip).getText().toString());
return true;
}
private void addPrivacyMetadataItem(final LayoutInflater inflater, final LinearLayout layout) {
if (streamInfo.getPrivacy() != null) {
@StringRes final int contentRes;
switch (streamInfo.getPrivacy()) {
case PUBLIC:
contentRes = R.string.metadata_privacy_public;
break;
case UNLISTED:
contentRes = R.string.metadata_privacy_unlisted;
break;
case PRIVATE:
contentRes = R.string.metadata_privacy_private;
break;
case INTERNAL:
contentRes = R.string.metadata_privacy_internal;
break;
case OTHER: default:
contentRes = 0;
break;
}
if (contentRes != 0) {
addMetadataItem(inflater, layout, false,
R.string.metadata_privacy, getString(contentRes));
}
}
}
}

View File

@@ -929,20 +929,20 @@ public final class VideoDetailFragment
if (showRelatedItems && binding.relatedItemsLayout == null) {
// temp empty fragment. will be updated in handleResult
pageAdapter.addFragment(new EmptyFragment(false), RELATED_TAB_TAG);
pageAdapter.addFragment(EmptyFragment.newInstance(false), RELATED_TAB_TAG);
tabIcons.add(R.drawable.ic_art_track);
tabContentDescriptions.add(R.string.related_items_tab_description);
}
if (showDescription) {
// temp empty fragment. will be updated in handleResult
pageAdapter.addFragment(new EmptyFragment(false), DESCRIPTION_TAB_TAG);
pageAdapter.addFragment(EmptyFragment.newInstance(false), DESCRIPTION_TAB_TAG);
tabIcons.add(R.drawable.ic_description);
tabContentDescriptions.add(R.string.description_tab_description);
}
if (pageAdapter.getCount() == 0) {
pageAdapter.addFragment(new EmptyFragment(true), EMPTY_TAB_TAG);
pageAdapter.addFragment(EmptyFragment.newInstance(true), EMPTY_TAB_TAG);
}
pageAdapter.notifyDataSetUpdate();

View File

@@ -370,10 +370,10 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I>
StreamDialogEntry.share
));
}
entries.add(StreamDialogEntry.open_in_browser);
if (KoreUtil.shouldShowPlayWithKodi(context, item.getServiceId())) {
entries.add(StreamDialogEntry.play_with_kodi);
}
if (!isNullOrEmpty(item.getUploaderUrl())) {
entries.add(StreamDialogEntry.show_channel_details);
}

View File

@@ -59,6 +59,7 @@ import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import io.reactivex.rxjava3.disposables.Disposable;
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
import static org.schabi.newpipe.ktx.ViewUtils.animate;
import static org.schabi.newpipe.ktx.ViewUtils.animateHideRecyclerViewAllowingScrolling;
@@ -160,9 +161,15 @@ public class PlaylistFragment extends BaseListInfoFragment<PlaylistInfo> {
StreamDialogEntry.share
));
}
entries.add(StreamDialogEntry.open_in_browser);
if (KoreUtil.shouldShowPlayWithKodi(context, item.getServiceId())) {
entries.add(StreamDialogEntry.play_with_kodi);
}
if (!isNullOrEmpty(item.getUploaderUrl())) {
entries.add(StreamDialogEntry.show_channel_details);
}
StreamDialogEntry.setEnabledEntries(entries);
StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItem) ->

View File

@@ -9,6 +9,7 @@ import android.text.Editable;
import android.text.Html;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.text.style.CharacterStyle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -588,6 +589,11 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
@Override
public void afterTextChanged(final Editable s) {
// Remove rich text formatting
for (final CharacterStyle span : s.getSpans(0, s.length(), CharacterStyle.class)) {
s.removeSpan(span);
}
final String newText = searchEditText.getText().toString();
suggestionPublisher.onNext(newText);
}

View File

@@ -137,7 +137,10 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
}
if (item.getLikeCount() >= 0) {
itemLikesCountView.setText(String.valueOf(item.getLikeCount()));
itemLikesCountView.setText(
Localization.shortCount(
itemBuilder.getContext(),
item.getLikeCount()));
} else {
itemLikesCountView.setText("-");
}

View File

@@ -2,13 +2,12 @@
package org.schabi.newpipe.ktx
import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ArgbEvaluator
import android.animation.ValueAnimator
import android.util.Log
import android.widget.TextView
import androidx.annotation.ColorInt
import androidx.core.animation.addListener
import androidx.interpolator.view.animation.FastOutSlowInInterpolator
import org.schabi.newpipe.MainActivity
@@ -34,14 +33,6 @@ fun TextView.animateTextColor(duration: Long, @ColorInt colorStart: Int, @ColorI
viewPropertyAnimator.interpolator = FastOutSlowInInterpolator()
viewPropertyAnimator.duration = duration
viewPropertyAnimator.addUpdateListener { setTextColor(it.animatedValue as Int) }
viewPropertyAnimator.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
setTextColor(colorEnd)
}
override fun onAnimationCancel(animation: Animator) {
setTextColor(colorEnd)
}
})
viewPropertyAnimator.addListener(onCancel = { setTextColor(colorEnd) }, onEnd = { setTextColor(colorEnd) })
viewPropertyAnimator.start()
}

View File

@@ -58,10 +58,8 @@ tailrec fun Throwable?.hasCause(checkSubtypes: Boolean, vararg causesToCheck: Cl
if (causeClass.isAssignableFrom(this.javaClass)) {
return true
}
} else {
if (causeClass == this.javaClass) {
return true
}
} else if (causeClass == this.javaClass) {
return true
}
}

View File

@@ -11,6 +11,7 @@ import android.util.Log
import android.view.View
import androidx.annotation.ColorInt
import androidx.annotation.FloatRange
import androidx.core.animation.addListener
import androidx.core.view.ViewCompat
import androidx.core.view.isGone
import androidx.core.view.isInvisible
@@ -106,15 +107,10 @@ fun View.animateBackgroundColor(duration: Long, @ColorInt colorStart: Int, @Colo
viewPropertyAnimator.addUpdateListener { animation: ValueAnimator ->
backgroundTintListCompat = ColorStateList(empty, intArrayOf(animation.animatedValue as Int))
}
viewPropertyAnimator.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd))
}
override fun onAnimationCancel(animation: Animator) {
onAnimationEnd(animation)
}
})
viewPropertyAnimator.addListener(
onCancel = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) },
onEnd = { backgroundTintListCompat = ColorStateList(empty, intArrayOf(colorEnd)) }
)
viewPropertyAnimator.start()
}
@@ -134,17 +130,16 @@ fun View.animateHeight(duration: Long, targetHeight: Int): ValueAnimator {
layoutParams.height = value.toInt()
requestLayout()
}
animator.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
animator.addListener(
onCancel = {
layoutParams.height = targetHeight
requestLayout()
},
onEnd = {
layoutParams.height = targetHeight
requestLayout()
}
override fun onAnimationCancel(animation: Animator) {
layoutParams.height = targetHeight
requestLayout()
}
})
)
animator.start()
return animator
}

View File

@@ -126,8 +126,19 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
public void removeItem(final LocalItem data) {
final int index = localItems.indexOf(data);
localItems.remove(index);
notifyItemRemoved(index + (header != null ? 1 : 0));
if (index != -1) {
localItems.remove(index);
notifyItemRemoved(index + (header != null ? 1 : 0));
} else {
// this happens when
// 1) removeItem is called on infoItemDuplicate as in showStreamItemDialog of
// LocalPlaylistFragment in this case need to implement delete object by it's duplicate
// OR
// 2)data not in itemList and UI is still not updated so notifyDataSetChanged()
notifyDataSetChanged();
}
}
public boolean swapItems(final int fromAdapterPosition, final int toAdapterPosition) {

View File

@@ -53,6 +53,8 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import io.reactivex.rxjava3.disposables.Disposable;
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
public class StatisticsPlaylistFragment
extends BaseLocalListFragment<List<StreamStatisticsEntry>, Void> {
private final CompositeDisposable disposables = new CompositeDisposable();
@@ -356,9 +358,15 @@ public class StatisticsPlaylistFragment
StreamDialogEntry.share
));
}
entries.add(StreamDialogEntry.open_in_browser);
if (KoreUtil.shouldShowPlayWithKodi(context, infoItem.getServiceId())) {
entries.add(StreamDialogEntry.play_with_kodi);
}
if (!isNullOrEmpty(infoItem.getUploaderUrl())) {
entries.add(StreamDialogEntry.show_channel_details);
}
StreamDialogEntry.setEnabledEntries(entries);
StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItemDuplicate) ->

View File

@@ -66,6 +66,7 @@ import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.PublishSubject;
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
import static org.schabi.newpipe.ktx.ViewUtils.animate;
public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistStreamEntry>, Void> {
@@ -768,9 +769,15 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt
StreamDialogEntry.share
));
}
entries.add(StreamDialogEntry.open_in_browser);
if (KoreUtil.shouldShowPlayWithKodi(context, infoItem.getServiceId())) {
entries.add(StreamDialogEntry.play_with_kodi);
}
if (!isNullOrEmpty(infoItem.getUploaderUrl())) {
entries.add(StreamDialogEntry.show_channel_details);
}
StreamDialogEntry.setEnabledEntries(entries);
StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItemDuplicate) ->

View File

@@ -40,7 +40,7 @@ public class ImportConfirmationDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(@Nullable final Bundle savedInstanceState) {
assureCorrectAppLanguage(getContext());
return new AlertDialog.Builder(getContext())
return new AlertDialog.Builder(requireContext())
.setMessage(R.string.import_network_expensive_warning)
.setCancelable(true)
.setNegativeButton(R.string.cancel, null)

View File

@@ -208,7 +208,8 @@ class SubscriptionFragment : BaseStateFragment<SubscriptionState>() {
if (data != null && data.data != null && resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_EXPORT_CODE) {
val exportFile = Utils.getFileForUri(data.data!!)
if (!exportFile.parentFile.canWrite() || !exportFile.parentFile.canRead()) {
val parentFile = exportFile.parentFile!!
if (!parentFile.canWrite() || !parentFile.canRead()) {
Toast.makeText(activity, R.string.invalid_directory, Toast.LENGTH_SHORT).show()
} else {
activity.startService(
@@ -293,12 +294,16 @@ class SubscriptionFragment : BaseStateFragment<SubscriptionState>() {
}
private fun showLongTapDialog(selectedItem: ChannelInfoItem) {
val commands = arrayOf(getString(R.string.share), getString(R.string.unsubscribe))
val commands = arrayOf(
getString(R.string.share), getString(R.string.open_in_browser),
getString(R.string.unsubscribe)
)
val actions = DialogInterface.OnClickListener { _, i ->
when (i) {
0 -> ShareUtils.shareText(requireContext(), selectedItem.name, selectedItem.url)
1 -> deleteChannel(selectedItem)
1 -> ShareUtils.openUrlInBrowser(requireContext(), selectedItem.url)
2 -> deleteChannel(selectedItem)
}
}

View File

@@ -9,6 +9,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.InputMethodManager
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.core.os.bundleOf
import androidx.core.view.isGone
@@ -127,7 +128,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
// KitKat doesn't apply container's theme to <include> content
val contrastColor = ColorStateList.valueOf(resources.getColor(R.color.contrastColor))
val contrastColor = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.contrastColor))
searchLayoutBinding.toolbarSearchEditText.setTextColor(contrastColor)
searchLayoutBinding.toolbarSearchEditText.setHintTextColor(contrastColor.withAlpha(128))
ImageViewCompat.setImageTintList(searchLayoutBinding.toolbarSearchClearIcon, contrastColor)
@@ -385,7 +386,7 @@ class FeedGroupDialog : DialogFragment(), BackPressable {
private fun setupIconPicker() {
val groupAdapter = GroupAdapter<GroupieViewHolder>()
groupAdapter.addAll(FeedGroupIcon.values().map { PickerIconItem(requireContext(), it) })
groupAdapter.addAll(FeedGroupIcon.values().map { PickerIconItem(it) })
feedGroupCreateBinding.iconSelector.apply {
layoutManager = GridLayoutManager(requireContext(), 7, RecyclerView.VERTICAL, false)

View File

@@ -15,7 +15,7 @@ class HeaderItem(
override fun bind(viewBinding: HeaderItemBinding, position: Int) {
viewBinding.headerTitle.text = title
val listener: OnClickListener? = if (onClickListener != null) OnClickListener { onClickListener.invoke() } else null
val listener = onClickListener?.let { OnClickListener { onClickListener.invoke() } }
viewBinding.root.setOnClickListener(listener)
}

View File

@@ -1,6 +1,5 @@
package org.schabi.newpipe.local.subscription.item
import android.content.Context
import android.view.View
import androidx.annotation.DrawableRes
import com.xwray.groupie.viewbinding.BindableItem
@@ -9,7 +8,6 @@ import org.schabi.newpipe.databinding.PickerIconItemBinding
import org.schabi.newpipe.local.subscription.FeedGroupIcon
class PickerIconItem(
context: Context,
val icon: FeedGroupIcon
) : BindableItem<PickerIconItemBinding>() {
@DrawableRes

View File

@@ -15,6 +15,7 @@ import android.view.ViewGroup;
import android.widget.PopupMenu;
import android.widget.SeekBar;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -456,6 +457,7 @@ public final class PlayQueueActivity extends AppCompatActivity
final boolean playbackSkipSilence) {
if (player != null) {
player.setPlaybackParameters(playbackTempo, playbackPitch, playbackSkipSilence);
onPlaybackParameterChanged(player.getPlaybackParameters());
}
}
@@ -639,7 +641,7 @@ public final class PlayQueueActivity extends AppCompatActivity
queueControlBinding.controlShuffle.setImageAlpha(shuffleAlpha);
}
private void onPlaybackParameterChanged(final PlaybackParameters parameters) {
private void onPlaybackParameterChanged(@Nullable final PlaybackParameters parameters) {
if (parameters != null) {
if (menu != null && player != null) {
final MenuItem item = menu.findItem(R.id.action_playback_speed);

View File

@@ -91,6 +91,7 @@ import org.schabi.newpipe.databinding.PlayerPopupCloseOverlayBinding;
import org.schabi.newpipe.extractor.MediaFormat;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.extractor.stream.StreamSegment;
import org.schabi.newpipe.extractor.stream.StreamType;
import org.schabi.newpipe.extractor.stream.VideoStream;
import org.schabi.newpipe.fragments.OnScrollBelowItemsListener;
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
@@ -495,9 +496,13 @@ public final class Player implements
simpleExoPlayer.addTextOutput(binding.subtitleView);
// enable media tunneling
if (DeviceUtils.shouldSupportMediaTunneling()) {
trackSelector.setParameters(
trackSelector.buildUponParameters().setTunnelingEnabled(true));
if (DEBUG && PreferenceManager.getDefaultSharedPreferences(context)
.getBoolean(context.getString(R.string.disable_media_tunneling_key), false)) {
Log.d(TAG, "[" + Util.DEVICE_DEBUG_INFO + "] "
+ "media tunneling disabled in debug preferences");
} else if (DeviceUtils.shouldSupportMediaTunneling()) {
trackSelector.setParameters(trackSelector.buildUponParameters()
.setTunnelingAudioSessionId(C.generateAudioSessionIdV21(context)));
} else if (DEBUG) {
Log.d(TAG, "[" + Util.DEVICE_DEBUG_INFO + "] does not support media tunneling");
}
@@ -714,7 +719,12 @@ public final class Player implements
// Android TV: without it focus will frame the whole player
binding.playPauseButton.requestFocus();
playPause();
// Note: This is for automatically playing (when "Resume playback" is off), see #6179
if (getPlayWhenReady()) {
play();
} else {
pause();
}
}
NavigationHelper.sendPlayerStartedEvent(context);
}
@@ -1623,9 +1633,22 @@ public final class Player implements
if (exoPlayerIsNull()) {
return;
}
// Use duration of currentItem for non-live streams,
// because HLS streams are fragmented
// and thus the whole duration is not available to the player
// TODO: revert #6307 when introducing proper HLS support
final int duration;
if (currentItem != null
&& currentItem.getStreamType() != StreamType.AUDIO_LIVE_STREAM
&& currentItem.getStreamType() != StreamType.LIVE_STREAM) {
// convert seconds to milliseconds
duration = (int) (currentItem.getDuration() * 1000);
} else {
duration = (int) simpleExoPlayer.getDuration();
}
onUpdateProgress(
Math.max((int) simpleExoPlayer.getCurrentPosition(), 0),
(int) simpleExoPlayer.getDuration(),
duration,
simpleExoPlayer.getBufferedPercentage()
);
}
@@ -3006,6 +3029,7 @@ public final class Player implements
buildSegments();
binding.itemsListHeaderTitle.setVisibility(View.VISIBLE);
binding.itemsListHeaderDuration.setVisibility(View.GONE);
binding.shuffleButton.setVisibility(View.GONE);
binding.repeatButton.setVisibility(View.GONE);

View File

@@ -148,7 +148,7 @@ public class AudioReactor implements AudioManager.OnAudioFocusChangeListener, An
//////////////////////////////////////////////////////////////////////////*/
@Override
public void onAudioSessionIdChanged(final EventTime eventTime, final int audioSessionId) {
public void onAudioSessionId(final EventTime eventTime, final int audioSessionId) {
if (!PlayerHelper.isUsingDSP()) {
return;
}

View File

@@ -4,7 +4,7 @@ import com.google.android.exoplayer2.DefaultLoadControl;
import com.google.android.exoplayer2.LoadControl;
import com.google.android.exoplayer2.Renderer;
import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.trackselection.ExoTrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.upstream.Allocator;
public class LoadController implements LoadControl {
@@ -48,7 +48,7 @@ public class LoadController implements LoadControl {
@Override
public void onTracksSelected(final Renderer[] renderers, final TrackGroupArray trackGroups,
final ExoTrackSelection[] trackSelections) {
final TrackSelectionArray trackSelections) {
internalLoadControl.onTracksSelected(renderers, trackGroups, trackSelections);
}
@@ -92,12 +92,11 @@ public class LoadController implements LoadControl {
@Override
public boolean shouldStartPlayback(final long bufferedDurationUs, final float playbackSpeed,
final boolean rebuffering, final long targetLiveOffsetUs) {
final boolean rebuffering) {
final boolean isInitialPlaybackBufferFilled
= bufferedDurationUs >= this.initialPlaybackBufferUs * playbackSpeed;
final boolean isInternalStartingPlayback = internalLoadControl
.shouldStartPlayback(bufferedDurationUs, playbackSpeed, rebuffering,
targetLiveOffsetUs);
.shouldStartPlayback(bufferedDurationUs, playbackSpeed, rebuffering);
return isInitialPlaybackBufferFilled || isInternalStartingPlayback;
}

View File

@@ -23,7 +23,7 @@ import com.google.android.exoplayer2.Player.RepeatMode;
import com.google.android.exoplayer2.SeekParameters;
import com.google.android.exoplayer2.text.CaptionStyleCompat;
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
import com.google.android.exoplayer2.trackselection.ExoTrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout.ResizeMode;
import com.google.android.exoplayer2.util.MimeTypes;
@@ -297,7 +297,7 @@ public final class PlayerHelper {
}
public static long getPreferredFileSize() {
return 512 * 1024L;
return 2 * 1024 * 1024L; // ExoPlayer CacheDataSink.MIN_RECOMMENDED_FRAGMENT_SIZE
}
/**
@@ -323,7 +323,7 @@ public final class PlayerHelper {
return 60000;
}
public static ExoTrackSelection.Factory getQualitySelector() {
public static TrackSelection.Factory getQualitySelector() {
return new AdaptiveTrackSelection.Factory(
1000,
AdaptiveTrackSelection.DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,

View File

@@ -13,7 +13,7 @@ import com.google.android.exoplayer2.RendererCapabilities.Capabilities;
import com.google.android.exoplayer2.source.TrackGroup;
import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.ExoTrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.util.Assertions;
/**
@@ -28,7 +28,7 @@ public class CustomTrackSelector extends DefaultTrackSelector {
private String preferredTextLanguage;
public CustomTrackSelector(final Context context,
final ExoTrackSelection.Factory adaptiveTrackSelectionFactory) {
final TrackSelection.Factory adaptiveTrackSelectionFactory) {
super(context, adaptiveTrackSelectionFactory);
}
@@ -50,7 +50,7 @@ public class CustomTrackSelector extends DefaultTrackSelector {
@Override
@Nullable
protected Pair<ExoTrackSelection.Definition, TextTrackScore> selectTextTrack(
protected Pair<TrackSelection.Definition, TextTrackScore> selectTextTrack(
final TrackGroupArray groups,
@NonNull final int[][] formatSupport,
@NonNull final Parameters params,
@@ -86,7 +86,7 @@ public class CustomTrackSelector extends DefaultTrackSelector {
}
}
return selectedGroup == null ? null
: Pair.create(new ExoTrackSelection.Definition(selectedGroup, selectedTrackIndex),
: Pair.create(new TrackSelection.Definition(selectedGroup, selectedTrackIndex),
Assertions.checkNotNull(selectedTrackScore));
}
}

View File

@@ -40,29 +40,25 @@ import io.reactivex.rxjava3.subjects.BehaviorSubject;
*/
public abstract class PlayQueue implements Serializable {
public static final boolean DEBUG = MainActivity.DEBUG;
private ArrayList<PlayQueueItem> backup;
private ArrayList<PlayQueueItem> streams;
@NonNull
private final AtomicInteger queueIndex;
private final ArrayList<PlayQueueItem> history;
private final List<PlayQueueItem> history = new ArrayList<>();
private List<PlayQueueItem> backup;
private List<PlayQueueItem> streams;
private transient BehaviorSubject<PlayQueueEvent> eventBroadcast;
private transient Flowable<PlayQueueEvent> broadcastReceiver;
private transient boolean disposed;
private transient boolean disposed = false;
PlayQueue(final int index, final List<PlayQueueItem> startWith) {
streams = new ArrayList<>();
streams.addAll(startWith);
history = new ArrayList<>();
streams = new ArrayList<>(startWith);
if (streams.size() > index) {
history.add(streams.get(index));
}
queueIndex = new AtomicInteger(index);
disposed = false;
}
/*//////////////////////////////////////////////////////////////////////////
@@ -137,18 +133,36 @@ public abstract class PlayQueue implements Serializable {
public synchronized void setIndex(final int index) {
final int oldIndex = getIndex();
int newIndex = index;
final int newIndex;
if (index < 0) {
newIndex = 0;
} else if (index < streams.size()) {
// Regular assignment for index in bounds
newIndex = index;
} else if (streams.isEmpty()) {
// Out of bounds from here on
// Need to check if stream is empty to prevent arithmetic error and negative index
newIndex = 0;
} else if (isComplete()) {
// Circular indexing
newIndex = index % streams.size();
} else {
// Index of last element
newIndex = streams.size() - 1;
}
if (index >= streams.size()) {
newIndex = isComplete() ? index % streams.size() : streams.size() - 1;
}
queueIndex.set(newIndex);
if (oldIndex != newIndex) {
history.add(streams.get(newIndex));
}
queueIndex.set(newIndex);
/*
TODO: Documentation states that a SelectEvent will only be emitted if the new index is...
different from the old one but this is emitted regardless? Not sure what this what it does
exactly so I won't touch it
*/
broadcast(new SelectEvent(oldIndex, newIndex));
}
@@ -180,8 +194,6 @@ public abstract class PlayQueue implements Serializable {
* @return the index of the given item
*/
public int indexOf(@NonNull final PlayQueueItem item) {
// referential equality, can't think of a better way to do this
// todo: better than this
return streams.indexOf(item);
}
@@ -410,34 +422,42 @@ public abstract class PlayQueue implements Serializable {
}
/**
* Shuffles the current play queue.
* Shuffles the current play queue
* <p>
* This method first backs up the existing play queue and item being played.
* Then a newly shuffled play queue will be generated along with currently
* playing item placed at the beginning of the queue.
* This method first backs up the existing play queue and item being played. Then a newly
* shuffled play queue will be generated along with currently playing item placed at the
* beginning of the queue. This item will also be added to the history.
* </p>
* <p>
* Will emit a {@link ReorderEvent} in any context.
* Will emit a {@link ReorderEvent} if shuffled.
* </p>
*
* @implNote Does nothing if the queue has a size <= 2 (the currently playing video must stay on
* top, so shuffling a size-2 list does nothing)
*/
public synchronized void shuffle() {
// Can't shuffle an list that's empty or only has one element
if (size() <= 2) {
return;
}
// Create a backup if it doesn't already exist
if (backup == null) {
backup = new ArrayList<>(streams);
}
final int originIndex = getIndex();
final PlayQueueItem current = getItem();
final int originalIndex = getIndex();
final PlayQueueItem currentItem = getItem();
Collections.shuffle(streams);
final int newIndex = streams.indexOf(current);
if (newIndex != -1) {
streams.add(0, streams.remove(newIndex));
}
// Move currentItem to the head of the queue
streams.remove(currentItem);
streams.add(0, currentItem);
queueIndex.set(0);
if (streams.size() > 0) {
history.add(streams.get(0));
}
broadcast(new ReorderEvent(originIndex, queueIndex.get()));
history.add(currentItem);
broadcast(new ReorderEvent(originalIndex, 0));
}
/**
@@ -457,7 +477,6 @@ public abstract class PlayQueue implements Serializable {
final int originIndex = getIndex();
final PlayQueueItem current = getItem();
streams.clear();
streams = backup;
backup = null;
@@ -500,22 +519,19 @@ public abstract class PlayQueue implements Serializable {
* we don't have to do anything with new queue.
* This method also gives a chance to track history of items in a queue in
* VideoDetailFragment without duplicating items from two identical queues
* */
*/
@Override
public boolean equals(@Nullable final Object obj) {
if (!(obj instanceof PlayQueue)
|| getStreams().size() != ((PlayQueue) obj).getStreams().size()) {
if (!(obj instanceof PlayQueue)) {
return false;
}
final PlayQueue other = (PlayQueue) obj;
for (int i = 0; i < getStreams().size(); i++) {
if (!getItem(i).getUrl().equals(other.getItem(i).getUrl())) {
return false;
}
}
return streams.equals(other.streams);
}
return true;
@Override
public int hashCode() {
return streams.hashCode();
}
public boolean isDisposed() {

View File

@@ -1,5 +1,6 @@
package org.schabi.newpipe.settings;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -25,6 +26,7 @@ import org.schabi.newpipe.error.ReCaptchaActivity;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.localization.ContentCountry;
import org.schabi.newpipe.extractor.localization.Localization;
import org.schabi.newpipe.util.FilePathUtils;
import org.schabi.newpipe.util.FilePickerActivityHelper;
import org.schabi.newpipe.util.ZipHelper;
@@ -41,6 +43,8 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
private ContentSettingsManager manager;
private String importExportDataPathKey;
private String thumbnailLoadToggleKey;
private String youtubeRestrictedModeEnabledKey;
@@ -56,6 +60,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
addPreferencesFromResource(R.xml.content_settings);
importExportDataPathKey = getString(R.string.import_export_data_path);
final Preference importDataPreference = findPreference(getString(R.string.import_data));
importDataPreference.setOnPreferenceClickListener(p -> {
final Intent i = new Intent(getActivity(), FilePickerActivityHelper.class)
@@ -63,6 +68,10 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, false)
.putExtra(FilePickerActivityHelper.EXTRA_MODE,
FilePickerActivityHelper.MODE_FILE);
final String path = defaultPreferences.getString(importExportDataPathKey, "");
if (FilePathUtils.isValidDirectoryPath(path)) {
i.putExtra(FilePickerActivityHelper.EXTRA_START_PATH, path);
}
startActivityForResult(i, REQUEST_IMPORT_PATH);
return true;
});
@@ -74,6 +83,10 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, true)
.putExtra(FilePickerActivityHelper.EXTRA_MODE,
FilePickerActivityHelper.MODE_DIR);
final String path = defaultPreferences.getString(importExportDataPathKey, "");
if (FilePathUtils.isValidDirectoryPath(path)) {
i.putExtra(FilePickerActivityHelper.EXTRA_START_PATH, path);
}
startActivityForResult(i, REQUEST_EXPORT_PATH);
return true;
});
@@ -164,15 +177,15 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
if ((requestCode == REQUEST_IMPORT_PATH || requestCode == REQUEST_EXPORT_PATH)
&& resultCode == Activity.RESULT_OK && data.getData() != null) {
final String path = Utils.getFileForUri(data.getData()).getAbsolutePath();
final File file = Utils.getFileForUri(data.getData());
if (requestCode == REQUEST_EXPORT_PATH) {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US);
exportDatabase(path + "/NewPipeData-" + sdf.format(new Date()) + ".zip");
exportDatabase(file);
} else {
final AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
builder.setMessage(R.string.override_current_data)
.setPositiveButton(getString(R.string.finish),
(d, id) -> importDatabase(path))
(d, id) -> importDatabase(file))
.setNegativeButton(android.R.string.cancel,
(d, id) -> d.cancel());
builder.create().show();
@@ -180,26 +193,34 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
}
}
private void exportDatabase(final String path) {
private void exportDatabase(@NonNull final File folder) {
try {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US);
final String path = folder.getAbsolutePath() + "/NewPipeData-"
+ sdf.format(new Date()) + ".zip";
//checkpoint before export
NewPipeDatabase.checkpoint();
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(requireContext());
.getDefaultSharedPreferences(requireContext());
manager.exportDatabase(preferences, path);
setImportExportDataPath(folder, false);
Toast.makeText(getContext(), R.string.export_complete_toast, Toast.LENGTH_SHORT).show();
} catch (final Exception e) {
ErrorActivity.reportUiErrorInSnackbar(this, "Exporting database", e);
}
}
private void importDatabase(final String filePath) {
private void importDatabase(@NonNull final File file) {
final String filePath = file.getAbsolutePath();
// check if file is supported
if (!ZipHelper.isValidZipFile(filePath)) {
Toast.makeText(getContext(), R.string.no_valid_zip_file, Toast.LENGTH_SHORT)
.show();
.show();
return;
}
@@ -210,7 +231,7 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
if (!manager.extractDb(filePath)) {
Toast.makeText(getContext(), R.string.could_not_import_all_files, Toast.LENGTH_LONG)
.show();
.show();
}
//If settings file exist, ask if it should be imported.
@@ -220,23 +241,58 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
alert.setNegativeButton(android.R.string.no, (dialog, which) -> {
dialog.dismiss();
// restart app to properly load db
System.exit(0);
finishImport(file);
});
alert.setPositiveButton(getString(R.string.finish), (dialog, which) -> {
dialog.dismiss();
manager.loadSharedPreferences(PreferenceManager
.getDefaultSharedPreferences(requireContext()));
// restart app to properly load db
System.exit(0);
.getDefaultSharedPreferences(requireContext()));
finishImport(file);
});
alert.show();
} else {
// restart app to properly load db
System.exit(0);
finishImport(file);
}
} catch (final Exception e) {
ErrorActivity.reportUiErrorInSnackbar(this, "Importing database", e);
}
}
/**
* Save import path and restart system.
*
* @param file The file of the created backup
*/
private void finishImport(@NonNull final File file) {
if (file.getParentFile() != null) {
//immediately because app is about to exit
setImportExportDataPath(file.getParentFile(), true);
}
// restart app to properly load db
System.exit(0);
}
@SuppressLint("ApplySharedPref")
private void setImportExportDataPath(@NonNull final File file, final boolean immediately) {
final String directoryPath;
if (file.isDirectory()) {
directoryPath = file.getAbsolutePath();
} else {
final File parentFile = file.getParentFile();
if (parentFile != null) {
directoryPath = parentFile.getAbsolutePath();
} else {
directoryPath = "";
}
}
final SharedPreferences.Editor editor = defaultPreferences
.edit()
.putString(importExportDataPathKey, directoryPath);
if (immediately) {
editor.commit();
} else {
editor.apply();
}
}
}

View File

@@ -712,7 +712,7 @@ public class WebMWriter implements Closeable {
return 0;
}
// TODO: in the adove code, find and select the shortest track for the desired kind
// TODO: in the above code, find and select the shortest track for the desired kind
for (i = 0; i < infoTracks.length; i++) {
if (kind == infoTracks[i].trackType) {
return i;

View File

@@ -0,0 +1,22 @@
package org.schabi.newpipe.util;
import java.io.File;
public final class FilePathUtils {
private FilePathUtils() { }
/**
* Check that the path is a valid directory path and it exists.
*
* @param path full path of directory,
* @return is path valid or not
*/
public static boolean isValidDirectoryPath(final String path) {
if (path == null || path.isEmpty()) {
return false;
}
final File file = new File(path);
return file.exists() && file.isDirectory();
}
}

View File

@@ -596,6 +596,7 @@ public final class NavigationHelper {
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setPackage(context.getString(R.string.kore_package));
intent.setData(videoURL);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}

View File

@@ -26,7 +26,8 @@ public enum StreamDialogEntry {
show_channel_details(R.string.show_channel_details, (fragment, item) ->
// For some reason `getParentFragmentManager()` doesn't work, but this does.
NavigationHelper.openChannelFragment(fragment.getActivity().getSupportFragmentManager(),
NavigationHelper.openChannelFragment(
fragment.requireActivity().getSupportFragmentManager(),
item.getServiceId(), item.getUploaderUrl(), item.getUploaderName())
),
@@ -80,14 +81,17 @@ public enum StreamDialogEntry {
play_with_kodi(R.string.play_with_kodi_title, (fragment, item) -> {
final Uri videoUrl = Uri.parse(item.getUrl());
try {
NavigationHelper.playWithKore(fragment.getContext(), videoUrl);
NavigationHelper.playWithKore(fragment.requireContext(), videoUrl);
} catch (final Exception e) {
KoreUtil.showInstallKoreDialog(fragment.getActivity());
}
}),
share(R.string.share, (fragment, item) ->
ShareUtils.shareText(fragment.getContext(), item.getName(), item.getUrl()));
ShareUtils.shareText(fragment.getContext(), item.getName(), item.getUrl())),
open_in_browser(R.string.open_in_browser, (fragment, item) ->
ShareUtils.openUrlInBrowser(fragment.getContext(), item.getUrl()));
///////////////

View File

@@ -275,7 +275,7 @@ public class StoredFileHelper implements Serializable {
if (!docTree.canRead() || !docTree.canWrite()) return false;
try {
docFile = createSAF(context, srcType, srcName);
if (docFile == null || docFile.getName() == null) return false;
if (docFile.getName() == null) return false;
result = true;
} catch (IOException e) {
return false;
@@ -354,7 +354,9 @@ public class StoredFileHelper implements Serializable {
}
}
private DocumentFile createSAF(@Nullable Context context, String mime, String filename) throws IOException {
@NonNull
private DocumentFile createSAF(@Nullable Context context, String mime, String filename)
throws IOException {
DocumentFile res = StoredDirectoryHelper.findFileSAFHelper(context, docTree, filename);
if (res != null && res.exists() && res.isDirectory()) {

View File

@@ -55,6 +55,14 @@ public class Deleter {
}
public void append(Mission item) {
/* If a mission is removed from the list while the Snackbar for a previously
* removed item is still showing, commit the action for the previous item
* immediately. This prevents Snackbars from stacking up in reverse order.
*/
mHandler.removeCallbacks(rCommit);
commit();
mIterator.hide(item);
items.add(0, item);

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="#ffffff">
<path
android:fillColor="#ffffff"
android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
</vector>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="#000000">
<path
android:fillColor="#000000"
android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This is used to inflate a chip with a Material theme, otherwise it would crash -->
<!-- Theme.MaterialComponents.DayNight is used to guarantee auto day/night switching -->
<com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/Theme.MaterialComponents.DayNight.Bridge"
tools:text="I'm a correctly themed chip!" />

View File

@@ -2,14 +2,15 @@
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:orientation="vertical"
android:scrollbars="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:animateLayoutChanges="true">
<TextView
android:id="@+id/detail_upload_date_view"
@@ -17,32 +18,83 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="16dp"
android:layout_marginEnd="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_upload_date_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintEnd_toStartOf="@+id/detail_select_description_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Published on Oct 2, 2009" />
<ImageView
android:id="@+id/detail_select_description_button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="2dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/description_select_enable"
android:focusable="true"
android:padding="5dp"
app:layout_constraintBottom_toTopOf="@+id/barrier"
app:layout_constraintDimensionRatio="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_select_all" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierAllowsGoneWidgets="false"
app:barrierDirection="top"
app:constraint_referenced_ids="detail_description_note_view,detail_description_view" />
<TextView
android:id="@+id/detail_description_view"
android:layout_width="match_parent"
android:id="@+id/detail_description_note_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="true"
android:textSize="@dimen/video_item_detail_description_text_size"
app:layout_constraintBottom_toBottomOf="parent"
android:gravity="center"
android:text="@string/description_select_note"
android:textSize="12sp"
android:textStyle="italic"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/detail_upload_date_view"
app:layout_constraintVertical_bias="0.0"
tools:visibility="visible" />
<TextView
android:id="@+id/detail_description_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_description_text_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/detail_description_note_view"
tools:text="Description Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a ultricies ex. Integer sit amet sodales risus. Duis non mi et urna pretium bibendum." />
<LinearLayout
android:id="@+id/detail_metadata_layout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="10dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/detail_description_view" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="6dp"
android:paddingBottom="6dp">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.30" />
<TextView
android:id="@+id/metadata_type_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_vertical|end"
android:textAllCaps="true"
android:textColor="?android:attr/textColorPrimary"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Licence" />
<TextView
android:id="@+id/metadata_content_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toTopOf="parent"
tools:text="Description Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a ultricies ex. Integer sit amet sodales risus. Duis non mi et urna pretium bibendum." />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.30" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_vertical|end"
android:text="@string/metadata_tags"
android:textAllCaps="true"
android:textColor="?android:attr/textColorPrimary"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/guideline"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<HorizontalScrollView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="-8dp"
android:layout_marginBottom="-8dp"
android:fadeScrollbars="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.chip.ChipGroup
android:id="@+id/metadata_tags_chips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.MaterialComponents.Chip"
app:singleLine="true" />
</HorizontalScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -34,11 +34,12 @@
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/channel_item_description_to_details_margin"
android:ellipsize="end"
android:lines="2"
android:maxLines="2"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_uploader_text_size"
app:layout_constraintBottom_toTopOf="@+id/itemAdditionalDetails"
app:layout_constraintLeft_toLeftOf="@+id/itemTitleView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/itemTitleView"
app:layout_constraintTop_toBottomOf="@+id/itemTitleView"
tools:text="Channel description, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blandit" />

View File

@@ -5,6 +5,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
tools:context=".fragments.detail.VideoDetailFragment">
<TextView
@@ -13,6 +15,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="20dp"
android:fontFamily="sans-serif-condensed"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceLarge"
@@ -20,9 +23,10 @@
<TextView
android:id="@+id/mainBGSubtitle"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="@string/main_bg_subtitle"
android:textAppearance="?android:attr/textAppearanceMedium" />

View File

@@ -55,8 +55,7 @@
<string name="general_error">خطأ</string>
<string name="parsing_error">تعذر تحليل الموقع</string>
<string name="youtube_signature_deobfuscation_error">تعذر فك تشفير توقيع رابط الفيديو</string>
<string name="main_bg_subtitle">اضغط\"بحث\" للبدء
\n</string>
<string name="main_bg_subtitle">اضغط على العدسة المكبرة للبدء.</string>
<string name="subscribe_button_title">اشتراك</string>
<string name="subscribed_button_title">مشترك</string>
<string name="tab_main">الرئيسية</string>
@@ -719,4 +718,22 @@
<string name="auto_device_theme_title">تلقائي (سمة الجهاز)</string>
<string name="night_theme_title">الثيم الليلي</string>
<string name="show_channel_details">إظهار تفاصيل القناة</string>
<string name="disable_media_tunneling_summary">تعطيل نفق الوسائط إذا واجهت شاشة سوداء أو التقطيع في تشغيل الفيديو</string>
<string name="disable_media_tunneling_title">تعطيل نفق الوسائط</string>
<string name="metadata_privacy_internal">داخلي</string>
<string name="metadata_privacy_private">خاص</string>
<string name="metadata_privacy_unlisted">غير مدرج</string>
<string name="metadata_privacy_public">عامة</string>
<string name="metadata_thumbnail_url">عنوان URL للصورة المصغرة</string>
<string name="metadata_host">المضيف</string>
<string name="metadata_support">الدعم</string>
<string name="metadata_language">اللغة</string>
<string name="metadata_age_limit">الحد العمري</string>
<string name="metadata_privacy">الخصوصيّة</string>
<string name="metadata_licence">الرخصة</string>
<string name="metadata_tags">الفئة</string>
<string name="metadata_category">الصنف</string>
<string name="description_select_disable">تعطيل تحديد النص في الوصف</string>
<string name="description_select_enable">تمكين تحديد نص في الوصف</string>
<string name="description_select_note">يمكنك الآن تحديد نص داخل الوصف. لاحظ أن الصفحة قد تومض وقد لا تكون الروابط قابلة للنقر أثناء وضع التحديد.</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Başlamaq üçün \"Axtarış\" bölməsinə toxunun
\n</string>
<string name="main_bg_subtitle">Başlamaq üçün \"Axtarış\" bölməsinə toxunun</string>
<string name="view_count_text">%1$s baxış</string>
<string name="upload_date_text">%1$s tarixində yayımlanıb</string>
<string name="no_player_found">Axın pleyeri tapılmadı. \"VLC\" yüklənilsin\?</string>

View File

@@ -30,7 +30,7 @@
<string name="parsing_error">Nun pudo analizase\'l sitiu web</string>
<string name="live_streams_not_supported">Los fluxos en direuto entá nun se sofiten</string>
<string name="could_not_get_stream">Nun pudo consiguise nengún fluxu</string>
<string name="sorry_string">Buff... Esto nun debió asoceder.</string>
<string name="sorry_string">Buff Esto nun debió asoceder.</string>
<string name="error_snackbar_message">Perdona mas asocedió daqué malo.</string>
<string name="what_device_headline">Información:</string>
<string name="error_details_headline">Detalles:</string>
@@ -107,7 +107,7 @@
<string name="tab_licenses">Llicencies</string>
<string name="view_on_github">Ver en GitHub</string>
<string name="app_license_title">Llicencia de NewPipe</string>
<string name="contribution_encouragement">Si tienes idees, quies traducir, facer dalgún cambéu nel diseñu, acuriosar poco o muncho\'l códigu... Agradecemos l\'ayuda. ¡Cuanto más se faiga, meyor!</string>
<string name="contribution_encouragement">Si tienes idees, quies traducir, facer dalgún cambéu nel diseñu, acuriosar poco o muncho\'l códigu Agradecemos l\'ayuda. ¡Cuanto más se faiga, meyor!</string>
<string name="read_full_license">Lleer</string>
<string name="contribution_title">Collaboración</string>
<string name="title_activity_history">Historial</string>
@@ -646,6 +646,5 @@
<string name="open_in_popup_mode">Abrir nel mou ventanu</string>
<string name="install">Instalar</string>
<string name="no_player_found">Nun s\'atopó nengún reproductor de fluxos. ¿Instalar VLC\?</string>
<string name="main_bg_subtitle">Toca «Buscar» pa entamar
\n</string>
<string name="main_bg_subtitle">Toca «Buscar» pa entamar</string>
</resources>

View File

@@ -19,8 +19,7 @@
<string name="no_player_found">Hech qanday translatsiya pleyeri topilmadi. VLC o\'rnatilsinmi\?</string>
<string name="upload_date_text">%1$s tomonidan elon qilingan</string>
<string name="view_count_text">%1$s marta korilgan</string>
<string name="main_bg_subtitle">Boshlash uchun \"Izlash\" tugmasini bosing
\n</string>
<string name="main_bg_subtitle">Boshlash uchun \"Izlash\" tugmasini bosing</string>
<string name="player_gesture_controls_summary">Player yorqinligini va ovoz balandligini boshqarish uchun imo-ishoralardan foydalanish</string>
<string name="player_gesture_controls_title">Player imo-ishoralarini boshqarish</string>
<string name="volume_gesture_control_summary">Player tovushini boshqarish uchun imo-ishoralardan foydalanish</string>

View File

@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">点击 “搜索” 开始使用
\n</string>
<string name="main_bg_subtitle">点击放大镜开始使用。</string>
<string name="view_count_text">%1$s 次观看</string>
<string name="upload_date_text">发布于 %1$s</string>
<string name="open_in_browser">在浏览器中打开</string>
<string name="open_in_popup_mode">在悬浮窗中打开</string>
<string name="did_you_mean">您要找的是不是:%1$s</string>
<string name="no_player_found_toast">找不到串流播放器. (您可以安装 VLC 进行播放)</string>
<string name="did_you_mean">您要找的是不是%1$s</string>
<string name="no_player_found_toast">找不到串流播放器您可以安装 VLC 以播放串流)。</string>
<string name="controls_download_desc">下载串流文件</string>
<string name="install">安装</string>
<string name="cancel">取消</string>
@@ -15,7 +14,7 @@
<string name="download">下载</string>
<string name="search">搜索</string>
<string name="settings">设置</string>
<string name="share_dialog_title">分享给...</string>
<string name="share_dialog_title">分享给</string>
<string name="choose_browser">选择浏览器</string>
<string name="download_path_title">视频下载路径</string>
<string name="download_path_summary">已下载的视频将存储于此</string>
@@ -72,23 +71,23 @@
<string name="subscribers_count_not_available">无法得知订阅人数</string>
<string name="updates_setting_description">发布新版本时,通知我升级应用</string>
<string name="grid">网格</string>
<string name="app_update_notification_content_title">NewPipe可更新</string>
<string name="app_update_notification_content_title">NewPipe 可更新!</string>
<string name="error_http_unsupported_range">服务器不接受多线程下载, 使用 @string/msg_threads = 1 重试</string>
<string name="autoplay_title">自动恢复上次播放</string>
<string name="settings_category_clear_data_title">清空数据</string>
<string name="watch_history_deleted">播放历史已删除</string>
<string name="watch_history_deleted">播放历史已删除</string>
<string name="detail_likes_img_view_description">喜欢</string>
<string name="detail_dislikes_img_view_description">不喜欢</string>
<string name="use_tor_title">使用Tor</string>
<string name="use_tor_summary">[实验性]通过 Tor 强制播放以增强隐私(暂不支持串流视频)</string>
<string name="use_tor_title">使用 Tor</string>
<string name="use_tor_summary">实验性)强制通过 Tor 下载以增强隐私暂不支持通过 Tor 串流播放视频)。</string>
<string name="report_error">反馈错误</string>
<string name="user_report">用户反馈</string>
<string name="err_dir_create">无法创建下载目录\"%1$s\"</string>
<string name="info_dir_created">成功创建下载目录%1$s</string>
<string name="err_dir_create">无法创建下载目录%1$s</string>
<string name="info_dir_created">已创建下载目录%1$s</string>
<string name="video">视频</string>
<string name="audio">音频</string>
<string name="retry">重试</string>
<string name="storage_permission_denied">访问存储权限已被拒绝</string>
<string name="storage_permission_denied">请先授予访问存储权限</string>
<plurals name="views">
<item quantity="other">%s 次观看</item>
</plurals>
@@ -110,11 +109,11 @@
<string name="msg_wait">请稍候…</string>
<string name="msg_copied">复制至剪贴板</string>
<string name="controls_popup_title">悬浮窗播放</string>
<string name="title_activity_about">关于NewPipe</string>
<string name="title_activity_about">关于 NewPipe</string>
<string name="action_settings">设置</string>
<string name="action_about">关于</string>
<string name="title_licenses">第三方许可</string>
<string name="copyright" formatted="true">© %1$s :开发者 %2$s (使用 %3$s 许可证)</string>
<string name="copyright" formatted="true">© %1$s %2$s 遵循 %3$s 协议发布</string>
<string name="error_unable_to_load_license">无法加载许可证</string>
<string name="action_open_website">打开网站</string>
<string name="tab_about">关于</string>
@@ -126,9 +125,10 @@
<string name="charset_letters_and_digits">字母和数字</string>
<string name="charset_most_special_characters">特殊字符</string>
<string name="search_no_results">没有结果</string>
<string name="no_subscribers">无订阅</string>
<string name="no_subscribers">订阅</string>
<plurals name="subscribers">
<item quantity="other">%s 订阅</item>
<item quantity="one">%s 订阅</item>
<item quantity="other"/>
</plurals>
<string name="no_videos">无视频</string>
<string name="detail_drag_description">拖动以重新排序</string>
@@ -138,7 +138,7 @@
<string name="dismiss">退出</string>
<string name="rename">重命名</string>
<string name="toast_no_player">未安装可播放此文件的应用程序</string>
<string name="one_item_deleted">已删除一</string>
<string name="one_item_deleted">已删除一个项目。</string>
<string name="main_page_content_summary">自定义主页显示的标签页</string>
<string name="list_view_mode">列表视图模式</string>
<string name="missions_header_finished">已完成</string>
@@ -152,16 +152,16 @@
<string name="download_finished_more">%s 个下载已完成</string>
<string name="no_comments">没有评论</string>
<string name="drawer_header_description">切换服务,当前选择:</string>
<string name="no_player_found">找不到串流播放器\\n需要安装 VLC</string>
<string name="no_player_found">找不到串流播放器。是否安装 VLC</string>
<string name="screen_rotation">旋转</string>
<string name="use_external_video_player_title">使用外部视频播放器</string>
<string name="use_external_audio_player_title">使用外部音频播放器</string>
<string name="download_path_audio_title">音频下载文件夹</string>
<string name="autoplay_by_calling_app_summary">从其他应用调用 NewPipe 时播放视频</string>
<string name="default_resolution_title">默认分辨率</string>
<string name="kore_not_found">未找到 Kore\\n需要安装 Kore </string>
<string name="show_play_with_kodi_title">显示 \"使用 Kodi 播放\" 选项</string>
<string name="show_play_with_kodi_summary">显示 \"通过 Kodi media center 播放视频\" 的选项</string>
<string name="kore_not_found">未找到 Kore。是否安装 Kore</string>
<string name="show_play_with_kodi_title">显示使用 Kodi 播放选项</string>
<string name="show_play_with_kodi_summary">显示通过 Kodi 媒体中心播放视频”选项</string>
<string name="play_audio">音频</string>
<string name="default_audio_format_title">默认音频格式</string>
<string name="show_next_and_similar_title">显示“接下来”和“相似视频”</string>
@@ -184,55 +184,55 @@
<string name="could_not_get_stream">无法获得任何串流</string>
<string name="could_not_load_image">无法加载图像</string>
<string name="app_ui_crash">App/UI 崩溃</string>
<string name="sorry_string">抱歉, 这本不该发生</string>
<string name="sorry_string">抱歉, 这本不该发生</string>
<string name="error_report_button_text">使用电子邮件反馈错误</string>
<string name="error_snackbar_message">抱歉, 发生了一些错误</string>
<string name="error_snackbar_message">抱歉, 发生了一些错误</string>
<string name="error_snackbar_action">反馈</string>
<string name="what_device_headline">信息:</string>
<string name="what_happened_headline">发生了什么:</string>
<string name="info_labels">详情:\\n请求\\n内容语言\\n内容国家\\n客户端语言\\n服务\\nGMT时间\\n包名\\n版本\\n操作系统版本</string>
<string name="your_comment">您的附加说明(请用英文)</string>
<string name="your_comment">您的附加说明请用英文</string>
<string name="error_details_headline">详细信息:</string>
<string name="list_thumbnail_view_description">视频预览缩略图</string>
<string name="detail_thumbnail_view_description">播放视频,时长:</string>
<string name="detail_thumbnail_view_description">播放视频时长:</string>
<string name="detail_uploader_thumbnail_view_description">视频上传者的头像缩略图</string>
<string name="short_billion">十亿</string>
<string name="msg_url_malform">错误的 URL 或未联网</string>
<string name="msg_running">NewPipe正在下载文件</string>
<string name="msg_running">NewPipe 正在下载</string>
<string name="no_available_dir">请稍后在设置中设定下载目录</string>
<string name="msg_popup_permission">使用悬浮窗模式
\n需要该权限</string>
<string name="title_activity_recaptcha">reCAPTCHA验证</string>
<string name="recaptcha_request_toast">已请求新的CAPTCHA验证</string>
<string name="title_activity_recaptcha">reCAPTCHA 验证</string>
<string name="recaptcha_request_toast">已请求新的 reCAPTCHA 验证</string>
<string name="popup_mode_share_menu_title">NewPipe 悬浮窗模式</string>
<string name="popup_playing_toast">在悬浮窗中播放</string>
<string name="default_popup_resolution_title">默认分辨率(悬浮窗模式)</string>
<string name="show_higher_resolutions_title">使用更高的分辨率</string>
<string name="show_higher_resolutions_summary">仅在某些设备支持播放 2K / 4K 视频</string>
<string name="show_higher_resolutions_summary">只有某些设备支持播放 2K 4K 视频</string>
<string name="clear">清除</string>
<string name="popup_remember_size_pos_title">记住悬浮窗属性</string>
<string name="popup_remember_size_pos_title">记住悬浮窗属性(大小与位置)</string>
<string name="popup_remember_size_pos_summary">记住上一次使用悬浮窗的大小和位置</string>
<string name="settings_category_popup_title">悬浮窗</string>
<string name="use_external_video_player_summary">部分分辨率下没有音频</string>
<string name="use_external_video_player_summary">部分分辨率下没有音频</string>
<string name="player_gesture_controls_title">手势控制播放器</string>
<string name="player_gesture_controls_summary">允许使用手势控制亮度和音量</string>
<string name="show_search_suggestions_summary">搜索时显示搜索建议</string>
<string name="best_resolution">最佳分辨率</string>
<string name="app_description">开源且小巧的 Android 媒体播放器</string>
<string name="view_on_github">在GitHub上查看</string>
<string name="app_license_title">NewPipe开源许可证</string>
<string name="contribution_encouragement">你是否想过要翻译、设计、清理或重构代码 ——我们始终欢迎你来贡献!</string>
<string name="app_description">开源且小巧的 Android 媒体播放器</string>
<string name="view_on_github"> GitHub 上查看</string>
<string name="app_license_title">NewPipe许可证</string>
<string name="contribution_encouragement">你是否想过要翻译、设计、清理或重构代码——我们始终欢迎你来贡献!</string>
<string name="read_full_license">阅读许可证</string>
<string name="contribution_title">贡献</string>
<string name="settings_file_replacement_character_title">替换字符</string>
<string name="channel_unsubscribed">取消订阅频道</string>
<string name="channel_unsubscribed">取消订阅频道</string>
<string name="subscription_change_failed">无法修改订阅</string>
<string name="subscription_update_failed">无法更新订阅</string>
<string name="tab_main">主页</string>
<string name="tab_subscriptions">订阅</string>
<string name="fragment_feed_title">最新</string>
<string name="resume_on_audio_focus_gain_title">自动恢复播放</string>
<string name="resume_on_audio_focus_gain_summary">在播放被打断(例如突然来电)后恢复播放</string>
<string name="resume_on_audio_focus_gain_summary">在播放被打断例如突然来电后恢复播放</string>
<string name="enable_search_history_title">记录搜索历史</string>
<string name="enable_search_history_summary">Newpipe 将在本地存储搜索历史记录</string>
<string name="enable_watch_history_summary">Newpipe 将保留播放记录</string>
@@ -247,7 +247,7 @@
<string name="notification_channel_description">NewPipe 在后台播放和悬浮窗播放时在通知栏中显示通知</string>
<string name="default_video_format_title">默认视频格式</string>
<string name="settings_category_player_behavior_title">行为</string>
<string name="empty_subscription_feed_subtitle">空空如也...</string>
<string name="empty_subscription_feed_subtitle">空空如也</string>
<string name="no_views">无人观看过</string>
<string name="item_deleted">项目已删除</string>
<string name="delete_item_search_history">是否删除此条搜索历史记录?</string>
@@ -262,9 +262,9 @@
<string name="select_a_kiosk">选择一个时下流行页</string>
<string name="kiosk">『时下流行』</string>
<string name="trending">趋势</string>
<string name="top_50">前50</string>
<string name="top_50"> 50</string>
<string name="new_and_hot">最新与热门</string>
<string name="show_hold_to_append_title">显示 \"长按添加\" 说明</string>
<string name="show_hold_to_append_title">显示长按添加说明</string>
<string name="show_hold_to_append_summary">在视频详情页中,长按背景播放或悬浮窗播放按钮时显示提示</string>
<string name="background_player_append">已加入后台播放播放列表</string>
<string name="popup_playing_append">已加入悬浮窗播放列表</string>
@@ -280,10 +280,10 @@
<string name="start_here_on_background">开始后台播放</string>
<string name="start_here_on_popup">开始在悬浮窗中播放</string>
<string name="donation_title">捐赠</string>
<string name="donation_encouragement">NewPipe由志愿者开发,他们利用自己的空闲时间为您带来最佳的用户体验。在开发者享受一杯咖啡的时候,回报他们,帮助他们让NewPipe变得更好。</string>
<string name="give_back"></string>
<string name="donation_encouragement">NewPipe 由志愿者开发,他们利用自己的空闲时间为您带来最佳的用户体验。是时候回馈他们,让他们享受一杯咖啡,帮助开发者们让 NewPipe 变得更好。</string>
<string name="give_back"></string>
<string name="website_title">官网</string>
<string name="website_encouragement">请访问 NewPipe 网站了解更多信息和讯息</string>
<string name="website_encouragement">请访问 NewPipe 网站了解更多信息和新闻。</string>
<string name="default_content_country_title">视频默认国家/地区</string>
<string name="toggle_orientation">切换方向</string>
<string name="switch_to_background">切换到后台播放</string>
@@ -303,17 +303,17 @@
<string name="preferred_player_fetcher_notification_message">正在加载请求的内容</string>
<string name="import_data_title">导入数据库</string>
<string name="export_data_title">导出数据库</string>
<string name="import_data_summary">覆盖您的当前播放历史、订阅、播放列表和设置(可选)</string>
<string name="import_data_summary">覆盖您的当前播放历史、订阅、播放列表和设置可选</string>
<string name="export_data_summary">导出历史记录、订阅、播放列表和设置</string>
<string name="export_complete_toast">导出成功</string>
<string name="import_complete_toast">导入成功</string>
<string name="no_valid_zip_file">没有有效的ZIP文件</string>
<string name="could_not_import_all_files">警告: 无法导入所有文件</string>
<string name="no_valid_zip_file">没有有效的 ZIP 文件</string>
<string name="could_not_import_all_files">警告无法导入所有文件</string>
<string name="override_current_data">此操作会<b>覆盖当前设置</b></string>
<string name="show_info">显示信息</string>
<string name="tab_bookmarks">收藏</string>
<string name="delete_stream_history_prompt">是否删除该条搜索历史记录</string>
<string name="delete_all_history_prompt">是否确定删除所有历史记录?</string>
<string name="delete_stream_history_prompt">是否删除这条观看历史记录?</string>
<string name="delete_all_history_prompt">是否删除所有历史记录?</string>
<string name="title_last_played">最近观看</string>
<string name="title_most_played">最多观看</string>
<string name="always_ask_open_action">每次询问</string>
@@ -334,50 +334,50 @@
<string name="resize_fit">适应屏幕</string>
<string name="resize_fill">填充屏幕</string>
<string name="resize_zoom">缩放画面</string>
<string name="drawer_header_action_paceholder_text">敬请期待</string>
<string name="drawer_header_action_paceholder_text">敬请期待 ;D</string>
<string name="settings_category_debug_title">调试</string>
<string name="caption_auto_generated">自动生成</string>
<string name="enable_leak_canary_summary">『内存泄漏监视』可能导致应用在『核心转储』时无响应</string>
<string name="enable_disposed_exceptions_title">报告『提前结束Android生命周期』错误</string>
<string name="enable_disposed_exceptions_summary">强制报告处理后的未送达的ActivityFragment生命周期之外的Rx异常</string>
<string name="use_inexact_seek_title">使用快速寻址(不精确)</string>
<string name="use_inexact_seek_summary">快速寻址定位允许播放器以较低精确度为代价换取更快的寻址定位速度\\n此功能不适用于以5、1525秒为隔的寻址定位</string>
<string name="enable_disposed_exceptions_summary">强制报告处理后的未送达的 ActivityFragment 生命周期之外的 Rx 异常</string>
<string name="use_inexact_seek_title">使用快速寻址不精确</string>
<string name="use_inexact_seek_summary">快速寻址定位允许播放器以较低精确度为代价换取更快的寻址定位速度此功能不适用于以 5、1525 秒为隔的寻址定位</string>
<string name="auto_queue_title">自动将“接下来”视频加入播放列表</string>
<string name="auto_queue_summary">播放完(非循环)列表中的最后一个视频后,自动将一个相关视频添加到当前播放列表</string>
<string name="auto_queue_summary">播放完非循环列表中的最后一个视频后,自动将一个相关视频添加到当前播放列表</string>
<string name="invalid_directory">没有该文件夹</string>
<string name="invalid_source">无相似文件/内容源</string>
<string name="invalid_file">文件不存在缺少读写文件权限</string>
<string name="invalid_file">文件不存在,或缺少读写文件权限</string>
<string name="file_name_empty_error">文件名不能为空</string>
<string name="error_occurred_detail">发生错误: %1$s</string>
<string name="error_occurred_detail">发生错误:%1$s</string>
<string name="import_export_title">导入/导出</string>
<string name="import_title">导入</string>
<string name="import_from">导入自…</string>
<string name="export_to">导出到...</string>
<string name="export_to">导出到</string>
<string name="import_ongoing">正在导入…</string>
<string name="export_ongoing">正在导出…</string>
<string name="import_file_title">导入文件</string>
<string name="previous_export">先前的导出</string>
<string name="subscriptions_import_unsuccessful">无法导入订阅</string>
<string name="subscriptions_export_unsuccessful">无法导出订阅</string>
<string name="import_youtube_instructions">从 Google takeout 导入YouTube 订阅:
<string name="import_youtube_instructions">从 Google takeout 导入 YouTube 订阅:
\n
\n1. 打开这个网页:%1$s;
\n2. 登录谷歌账号;
\n3.选择“YouTube 和 YouTube Music” ,然后点击“已包含所有YouTube数据”,然后取消全选,仅选择“订阅内容”,然后点击“确定”
\n4. 点击“下一步”,可以保持默认,然后点击“创建导出作业”;
\n5. 通过所指定的方式,下载takeout数据;
\n6. 从下载的takeout压缩包提取.json文件 (通常位于\"YouTube and YouTube Music/subscriptions/subscriptions.json\")然后在此导入</string>
\n1. 打开这个网页%1$s
\n2. 登录谷歌帐号;
\n3. 选择“YouTube 和 YouTube Music”然后点击“已包含所有 YouTube 数据”然后取消全选仅选择“订阅内容”,然后点击“确定”
\n4. 点击“下一步”可以保持默认然后点击“创建导出作业”
\n5. 通过所指定的方式下载 takeout 数据
\n6. 从下载的 takeout 压缩包提取 .json 文件通常位于YouTube and YouTube Music/subscriptions/subscriptions.json”)然后在此导入</string>
<string name="import_soundcloud_instructions">通过输入网址或你的 ID 导入 SoundCloud 配置文件:
\n
\n1. 在浏览器中启用\"电脑模式\" (该网站未适配移动设备) ;
\n2. 打开该网站: %1$s;
\n3. 登录(如果需要);
\n4. 复制得到的配置文件下载地址</string>
<string name="import_soundcloud_instructions_hint">你的 ID:soundcloud.com/你的ID</string>
\n1. 在浏览器中启用电脑模式“(该网站未适配移动设备
\n2. 打开该网站%1$s
\n3. 登录如果需要
\n4. 复制得到的配置文件下载地址</string>
<string name="import_soundcloud_instructions_hint">你的 IDsoundcloud.com/你的ID</string>
<string name="import_network_expensive_warning">该操作消耗大量流量,
\n
\n你想继续吗</string>
<string name="download_thumbnail_summary">关闭可禁止加载封面,节省流量和内存使用(现在更改该选项将清除内存与储存中全部缓存)</string>
<string name="download_thumbnail_summary">关闭可禁止加载封面,节省流量和内存使用现在更改该选项将清除内存与储存中全部缓存</string>
<string name="thumbnail_cache_wipe_complete_notice">清空图像缓存成功</string>
<string name="metadata_cache_wipe_title">清空已缓存的元数据</string>
<string name="metadata_cache_wipe_summary">清空已缓存的网页数据</string>
@@ -385,32 +385,32 @@
<string name="playback_speed_control">播放速度控制</string>
<string name="playback_tempo">节奏</string>
<string name="playback_pitch">音调</string>
<string name="unhook_checkbox">解除音视挂钩(可能导致失真)</string>
<string name="unhook_checkbox">解除音视挂钩可能导致失真</string>
<string name="preferred_open_action_settings_title">首选“打开”操作</string>
<string name="preferred_open_action_settings_summary">打开内容时默认操作:- %s</string>
<string name="no_streams_available_download">可下载的串流</string>
<string name="preferred_open_action_settings_summary">打开内容时默认操作 %s</string>
<string name="no_streams_available_download">没有可下载的串流</string>
<string name="caption_setting_title">字幕</string>
<string name="caption_setting_description">修改播放器字幕比例和背景样式, 重启应用生效</string>
<string name="caption_setting_description">修改播放器字幕比例和背景样式重启应用生效</string>
<string name="clear_views_history_summary">删除串流播放历史和播放痕迹记录</string>
<string name="delete_view_history_alert">删除全部播放历史?</string>
<string name="clear_search_history_title">清空搜索历史</string>
<string name="clear_search_history_summary">清空搜索历史关键词</string>
<string name="delete_search_history_alert">是否删除全部搜索历史?</string>
<string name="search_history_deleted">搜索历史已删除</string>
<string name="app_license">NewPipe 是版权自由软件:您可以随时使用、研究共享和改进它。您可以根据自由软件基金会发布的 GNU 通用公共许可证GPLv3或(由您选择的)任何更高版本的许可证重新分发或修改该许可证。</string>
<string name="search_history_deleted">搜索历史已删除</string>
<string name="app_license">NewPipe 是版权自由软件:您可以随时使用、研究共享和改进它。您可以根据自由软件基金会发布的 GNU 通用公共许可证 GPLv3 或(由您选择的任何更高版本的许可证重新分发或修改该许可证。</string>
<string name="import_settings">是否要导入设置?</string>
<string name="privacy_policy_title">NewPipe 隐私政策</string>
<string name="privacy_policy_encouragement">NewPipe 项目非常重视您的隐私。因此,未经您的同意,应用程序不会收集任何数据。
\nNewPipe 的隐私政策详细解释了发送崩溃报告时发送和存储的数据。</string>
\nNewPipe 的隐私政策详细解释了发送崩溃报告时发送和存储的数据。</string>
<string name="read_privacy_policy">阅读隐私政策</string>
<string name="start_accept_privacy_policy">为了遵守欧盟的《通用数据保护条例 (GDPR)》,我们特此提醒您注意 NewPipe 的隐私政策,请您仔细阅读,
\n您必须在同意以后才能向我们发送错误报告!</string>
<string name="start_accept_privacy_policy">为了遵守欧盟的《通用数据保护条例 (GDPR)》我们特此提醒您注意 NewPipe 的隐私政策请您仔细阅读
\n您必须在同意以后才能向我们发送错误报告</string>
<string name="accept">接受</string>
<string name="decline">拒绝</string>
<string name="limit_data_usage_none_description">无限制</string>
<string name="limit_mobile_data_usage_title">使用移动数据播放时降低分辨率</string>
<string name="minimize_on_exit_title">退出应用时最小化</string>
<string name="minimize_on_exit_summary">从主播放器切换到其他应用时的操作 - %s</string>
<string name="minimize_on_exit_summary">从主播放器切换到其他应用时的操作 %s</string>
<string name="skip_silence_checkbox">静音时快进</string>
<string name="playback_step">比例调整</string>
<string name="playback_reset">重置</string>
@@ -423,7 +423,7 @@
<string name="brightness_gesture_control_summary">使用手势控制播放器的亮度</string>
<string name="content_language_title">视频默认语言</string>
<string name="app_update_notification_channel_name">应用更新通知</string>
<string name="app_update_notification_channel_description">NewPipe有新版本通知</string>
<string name="app_update_notification_channel_description">NewPipe 有新版本时发送通知</string>
<string name="download_to_sdcard_error_title">外置存储不可用</string>
<string name="download_to_sdcard_error_message">无法下载到外部 SD 卡,修改下载文件夹位置?</string>
<string name="saved_tabs_invalid_json">读取已保存标签时发生错误,因此使用默认标签</string>
@@ -463,12 +463,12 @@
<string name="close">关闭</string>
<string name="enable_playback_resume_title">记录播放痕迹历史</string>
<string name="enable_playback_resume_summary">再次打开播放过的视频时, 自动定位到上次播放时位置</string>
<string name="enable_playback_state_lists_title">播放痕迹显示</string>
<string name="enable_playback_state_lists_title">在列表中显示历史播放位置</string>
<string name="enable_playback_state_lists_summary">在列表中,使用底端进度条显示某一视频上次播放时的播放位置</string>
<string name="watch_history_states_deleted">已删除播放痕迹历史</string>
<string name="watch_history_states_deleted">已删除播放痕迹历史</string>
<string name="missing_file">文件已被移动或被删除</string>
<string name="overwrite_unrelated_warning">该名称的文件已存在</string>
<string name="overwrite_finished_warning">命名冲突,已存在具有该名称的文件</string>
<string name="overwrite_unrelated_warning">同名文件已存在</string>
<string name="overwrite_finished_warning">同名的已下载文件已经存在</string>
<string name="overwrite_failed">无法覆盖文件</string>
<string name="download_already_pending">已暂停下载包含此名称的任务</string>
<string name="error_postprocessing_stopped">NewPipe 在处理文件时被关闭</string>
@@ -482,11 +482,11 @@
<string name="pause_downloads">暂停下载</string>
<string name="downloads_storage_ask_title">总是询问下载位置</string>
<string name="downloads_storage_ask_summary">系统将询问您将每次下载的保存位置</string>
<string name="downloads_storage_ask_summary_kitkat">系统将询问您将每次下载的保存位置
\n(如果要下载到外部 SD 卡,请选择 SAF)</string>
<string name="downloads_storage_ask_summary_kitkat">系统将询问您将每次下载的保存位置
\n如果要下载到外部 SD 卡请选择 SAF</string>
<string name="downloads_storage_use_saf_title">使用 SAF</string>
<string name="downloads_storage_use_saf_summary">存储访问框架(SAF)允许下载文件到外部SD卡。
\n一些设备不兼容SAF</string>
<string name="downloads_storage_use_saf_summary">存储访问框架SAF允许下载文件到外部 SD 卡。
\n部分设备不兼容 SAF</string>
<string name="clear_playback_states_title">删除播放痕迹历史</string>
<string name="clear_playback_states_summary">删除所有播放痕迹历史</string>
<string name="delete_playback_states_alert">是否删除全部播放痕迹历史?</string>
@@ -501,95 +501,98 @@
<item quantity="one">%s 位听众</item>
<item quantity="other"/>
</plurals>
<string name="localization_changes_requires_app_restart">语言更改 将在 重启应用 后生效</string>
<string name="localization_changes_requires_app_restart">语言更改将在重启应用后生效</string>
<string name="peertube_instance_url_title">PeerTube 服务器</string>
<string name="peertube_instance_url_summary">设置自定义PeerTube服务器</string>
<string name="peertube_instance_url_help">查找你需要的服务器%s</string>
<string name="peertube_instance_url_summary">设置自定义 PeerTube 服务器</string>
<string name="peertube_instance_url_help">查找你需要的服务器 %s</string>
<string name="peertube_instance_add_title">添加服务器</string>
<string name="peertube_instance_add_help">输入服务器网址(URL)</string>
<string name="peertube_instance_add_help">输入服务器网址URL</string>
<string name="peertube_instance_add_fail">无法验证服务器</string>
<string name="peertube_instance_add_https_only">仅支持 HTTPS URL</string>
<string name="peertube_instance_add_exists">该服务器已存在</string>
<string name="local">本地</string>
<string name="recently_added">最近添加</string>
<string name="most_liked">最受欢迎</string>
<string name="playlist_no_uploader">自动生成的(找不到上传者)</string>
<string name="playlist_no_uploader">自动生成的找不到上传者</string>
<string name="recovering">正在恢复</string>
<string name="error_download_resource_gone">无法恢复此下载</string>
<string name="choose_instance_prompt">选择一个服务器</string>
<string name="seek_duration_title">快进 / 快退的寻址定位时间间隔</string>
<string name="clear_download_history">清空下载记录</string>
<string name="delete_downloaded_files">删除下载文件</string>
<string name="deleted_downloads">已删除 %1$d 下载</string>
<string name="deleted_downloads">已删除 %1$d 下载</string>
<string name="permission_display_over_apps">授予在其他应用上层显示的权限</string>
<string name="app_language_title">Newpipe应用语言</string>
<string name="systems_language">系统默认</string>
<string name="subtitle_activity_recaptcha">完成后请“完成”</string>
<string name="app_language_title">应用语言</string>
<string name="systems_language">系统默认</string>
<string name="subtitle_activity_recaptcha">完成后请点击“完成”</string>
<string name="recaptcha_done_button">完成</string>
<string name="videos_string">视频</string>
<plurals name="seconds">
<item quantity="other">%d秒</item>
<item quantity="one">%d </item>
<item quantity="other"/>
</plurals>
<string name="new_seek_duration_toast">由于ExoPlayer的限制寻址间隔置为%d秒</string>
<string name="new_seek_duration_toast">由于 ExoPlayer 的限制,寻址间隔置为 %d </string>
<string name="mute">静音</string>
<string name="unmute">取消静音</string>
<string name="help">帮助</string>
<plurals name="minutes">
<item quantity="other">%d分钟</item>
<item quantity="one">%d 分钟</item>
<item quantity="other"/>
</plurals>
<plurals name="hours">
<item quantity="other">%d小时</item>
<item quantity="one">%d 小时</item>
<item quantity="other"/>
</plurals>
<plurals name="days">
<item quantity="other">%d天</item>
<item quantity="one">%d </item>
<item quantity="other"/>
</plurals>
<string name="feed_groups_header_title">频道组</string>
<string name="feed_oldest_subscription_update">订阅最后更新:%s</string>
<string name="feed_subscription_not_loaded_count">未加载: %d</string>
<string name="feed_notification_loading">正在加载feed…</string>
<string name="feed_processing_message">正在处理feed…</string>
<string name="feed_oldest_subscription_update">订阅最后更新%s</string>
<string name="feed_subscription_not_loaded_count">未加载%d</string>
<string name="feed_notification_loading">正在加载 feed…</string>
<string name="feed_processing_message">正在处理 feed…</string>
<string name="feed_group_dialog_select_subscriptions">选择订阅</string>
<string name="feed_group_dialog_empty_selection">未选中任何订阅</string>
<plurals name="feed_group_dialog_selection_count">
<item quantity="other">已选中%d</item>
<item quantity="one">已选中 %d</item>
<item quantity="other"/>
</plurals>
<string name="feed_group_dialog_empty_name">清空组名</string>
<string name="feed_group_dialog_delete_message">您要删除该组吗?</string>
<string name="feed_create_new_group_button_title">新建</string>
<string name="settings_category_feed_title">Feed</string>
<string name="feed_update_threshold_title">Feed更新阈值</string>
<string name="feed_update_threshold_summary">上次更新后,订阅被视为过期的时间-%s</string>
<string name="feed_update_threshold_title">Feed 更新阈值</string>
<string name="feed_update_threshold_summary">上次更新后,订阅被视为过期的时间%s</string>
<string name="feed_update_threshold_option_always_update">始终更新</string>
<string name="feed_use_dedicated_fetch_method_title">可用时使用专用feed获取</string>
<string name="feed_use_dedicated_fetch_method_summary">仅在某些服务中可用,通常速度更快,但返回的视频数量可能有限,而且信息通常不完整(如,无视频持续时间,类型与没有直播状态)</string>
<string name="feed_use_dedicated_fetch_method_title">可用时使用专用 feed 获取</string>
<string name="feed_use_dedicated_fetch_method_summary">仅在某些服务中可用,通常速度更快,但返回的视频数量可能有限,而且信息通常不完整(如无视频时长、类型,无直播状态)。</string>
<string name="feed_use_dedicated_fetch_method_enable_button">启用快速模式</string>
<string name="feed_use_dedicated_fetch_method_disable_button">禁用快速模式</string>
<string name="feed_use_dedicated_fetch_method_help_text">您是否觉得Feed加载太慢如果是这样请尝试启用快速加载(可在设置中修改,也可使用下面的按钮修改)
<string name="feed_use_dedicated_fetch_method_help_text">您是否觉得 feed 加载太慢?如果是这样,请尝试启用快速加载可在设置中修改,也可使用下面的按钮修改
\n
\nNewPipe 提供两种 feed 加载策略:
\n•获取整个订阅频道很慢但是很完整。
\n•使用专用的服务端点比较快但通常不完整
\n
\n两者之间的区别在于后者通常缺少一些信息如视频的持续时间或类型(无法区分直播视频和普通视频),并且可能返回更少的视频条目
\n两者之间的区别在于后者通常缺少一些信息如视频的持续时间或类型无法区分直播视频和普通视频,并且可能返回更少的视频条目
\n
\nYouTube 是一个通过其 RSS feed 提供快速方法的服务示例。
\n
\n因此选择哪种方式取决于您的偏好
\n加载速度还是信息准确。</string>
<string name="content_not_supported">NewPipe尚不支持该内容。
\nYouTube 是一个通过其 RSS feed 提供这种快速方法的服务示例。
\n
\n因此选择哪种方式取决于您的偏好加载速度还是信息准确。</string>
<string name="content_not_supported">NewPipe 尚不支持该内容。
\n
\n也许未来版本会支持它。</string>
<string name="infinite_videos">∞ 部视频</string>
<string name="more_than_100_videos">100+部视频</string>
<string name="more_than_100_videos">100+ 部视频</string>
<string name="artists">艺术家</string>
<string name="albums">专辑</string>
<string name="songs">歌曲</string>
<string name="restricted_video">该视频有年龄限制!
\n
\n如果您想要观看请在设置中启用\"%1$s\"</string>
\n如果您想要观看请在设置中启用%1$s”。</string>
<string name="video_detail_by">由 %s</string>
<string name="channel_created_by">由%s创建</string>
<string name="channel_created_by"> %s 创建</string>
<string name="detail_sub_channel_thumbnail_view_description">频道的头像缩略图</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">是的,包括没看完的视频</string>
<string name="remove_watched_popup_warning">已经看过且在之后被加入播放列表的视频将被删除。
@@ -598,53 +601,53 @@
<string name="remove_watched">移除看过的视频</string>
<string name="show_original_time_ago_summary">来自服务的原始文本将在串流项目中可见</string>
<string name="show_original_time_ago_title">显示原始时间</string>
<string name="youtube_restricted_mode_enabled_title">打开YouTube\"受限模式\"</string>
<string name="youtube_restricted_mode_enabled_title">启用 YouTube受限模式</string>
<string name="feed_group_show_only_ungrouped_subscriptions">仅显示未分组订阅</string>
<string name="playlist_page_summary">播放列表页</string>
<string name="no_playlist_bookmarked_yet">尚无收藏</string>
<string name="select_a_playlist">选择播放列表</string>
<string name="error_report_open_github_notice">请检查您的问题是否已经存在\\n创建重复票证时, 您需要从我们那里花些时间来让我们修复真正的bug</string>
<string name="error_report_open_issue_button_text">在GitHub上反馈</string>
<string name="error_report_open_github_notice">检查您的要提交的问题是否已经存在。如果你创建重复的反馈, 就会额外耗费我们用来修复这个问题的宝贵时间。</string>
<string name="error_report_open_issue_button_text"> GitHub 上反馈</string>
<string name="copy_for_github">复制已整理的报告</string>
<string name="search_showing_result_for">显示结果: %s</string>
<string name="search_showing_result_for">显示结果%s</string>
<string name="never">从不</string>
<string name="wifi_only">仅在Wi-Fi下</string>
<string name="wifi_only">仅在 Wi-Fi </string>
<string name="autoplay_summary">视频开始播放后,自动定位到上次播放时的位置 — %s</string>
<string name="title_activity_play_queue">播放列表</string>
<string name="unsupported_url_dialog_message">无法识别URL用其他应用打开\?</string>
<string name="unsupported_url_dialog_message">无法识别URL。是否用其他应用打开\?</string>
<string name="auto_queue_toggle">自动加入播放列表</string>
<string name="clear_queue_confirmation_description">活跃播放列表将被替换</string>
<string name="clear_queue_confirmation_description">当前播放列表将被替换</string>
<string name="clear_queue_confirmation_summary">从一个播放器切换到另一个播放器后,你的播放列表可能会被替换</string>
<string name="clear_queue_confirmation_title">清空播放列表前再次确认</string>
<string name="notification_action_nothing"></string>
<string name="notification_action_buffering">缓冲</string>
<string name="notification_action_buffering">正在缓冲</string>
<string name="notification_action_shuffle">随机播放</string>
<string name="notification_action_repeat">单曲循环</string>
<string name="notification_actions_at_most_three">最多可以选择显示在紧凑通知中的三个操作选项!</string>
<string name="notification_actions_summary">点击编辑下面的每个通知动作\\n使用右方的复选框选择显示在紧凑通知中的动作,最多三个</string>
<string name="notification_actions_at_most_three">最多可以选择三个操作显示在紧凑通知中</string>
<string name="notification_actions_summary">点击编辑下面的每个通知操作。使用右方的复选框选择在紧凑通知中显示的动作,最多可以选择三个</string>
<string name="notification_action_4_title">第五操作按钮</string>
<string name="notification_action_3_title">第四操作按钮</string>
<string name="notification_action_2_title">第三操作按钮</string>
<string name="notification_action_1_title">第二操作按钮</string>
<string name="notification_action_0_title">第一操作按钮</string>
<string name="notification_scale_to_square_image_summary">将通知中视频缩略图长宽比从 16:9 强制缩放到 1:1 (可能导致失真)</string>
<string name="notification_scale_to_square_image_summary">将通知中视频缩略图长宽比从 16:9 强制缩放到 1:1可能导致失真</string>
<string name="notification_scale_to_square_image_title">强制缩放缩略图至 1:1 比例</string>
<string name="settings_category_notification_title">通知</string>
<string name="settings_category_notification_title">通知</string>
<string name="show_memory_leaks">显示内存泄漏</string>
<string name="enqueued">已加入队列</string>
<string name="enqueue_stream">加入队列</string>
<string name="clear_cookie_summary">清空本地存储的reCAPTCHA验证码相关cookies</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA cookies 已被清空</string>
<string name="clear_cookie_title">清空 reCAPTCHA cookies</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube提供了“受限模式”隐藏潜在的成人内容</string>
<string name="show_age_restricted_content_summary">展示可能不适合儿童观看的内容,因为有年龄限制(比如18岁以上)</string>
<string name="notification_colorize_summary">让Android系统根据视频缩略图的主色彩自主决定通知颜色(注意,该特性仅在部分设备上可用)</string>
<string name="clear_cookie_summary">清空本地存储的 reCAPTCHA 验证码有关的 cookie</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA cookie 已被清空</string>
<string name="clear_cookie_title">清空 reCAPTCHA cookie</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube提供了“受限模式”可以隐藏潜在的成人内容</string>
<string name="show_age_restricted_content_summary">展示有年龄限制的、可能不适合儿童观看的内容比如 18+</string>
<string name="notification_colorize_summary"> Android 系统根据视频缩略图的主色彩给通知着色(注意,该特性仅在部分设备上可用</string>
<string name="notification_colorize_title">自动着色通知</string>
<string name="show_thumbnail_summary">锁屏背景和通知中使用缩略图</string>
<string name="show_thumbnail_title">显示缩略图</string>
<string name="hash_channel_name">视频哈希值计算通知</string>
<string name="hash_channel_description">视频正在哈希值计算时显示的通知</string>
<string name="msg_calculating_hash">计算哈希值</string>
<string name="hash_channel_description">正在计算视频哈希值时显示的通知</string>
<string name="msg_calculating_hash">正在计算哈希值</string>
<string name="recent">最近</string>
<string name="show_meta_info_summary">打开显示关于视频创建者及内容或搜索请求的额外元信息框</string>
<string name="show_meta_info_title">显示元数据信息</string>
@@ -657,19 +660,38 @@
<string name="open_with">用…打开</string>
<string name="no_app_to_open_intent">设备上没有应用可以打开</string>
<string name="crash_the_app">让应用崩溃</string>
<string name="paid_content">此内容仅对已付费的用户可用因此NewPipe 无法流式传输或下载该内容。</string>
<string name="paid_content">此内容仅对已付费的用户可用,因此 NewPipe 无法流式传输或下载该内容。</string>
<string name="youtube_music_premium_content">该视频仅供 YouTube Music Premium 会员使用NewPipe 无法流式传输或下载该视频。</string>
<string name="private_content">此内容是私有的,因此 NewPipe 无法流式传输或下载该内容。</string>
<string name="soundcloud_go_plus_content">这是 SoundCloud Go +曲目,至少在你所在的国家/地区此 NewPipe 无法流式传输或下载它。</string>
<string name="soundcloud_go_plus_content">这是 SoundCloud Go +曲目,至少在你所在的国家/地区是这样,因此 NewPipe 无法流式传输或下载它。</string>
<string name="georestricted_content">此内容在你所在的国家/地区不可用。</string>
<string name="restricted_video_no_stream">这个视频有年龄限制\\n由于 YouTube 新的针对此类视频的政策,NewPipe 无法访问其任何视频流,因此无法播放该视频</string>
<string name="restricted_video_no_stream">这个视频有年龄限制
\n由于 YouTube 针对此类视频的新政策NewPipe 无法访问其任何视频流,因此无法播放该视频。</string>
<string name="recaptcha_solve">处理</string>
<string name="radio">电台</string>
<string name="featured">精选</string>
<string name="auto_device_theme_title">自动(系统主题)</string>
<string name="auto_device_theme_title">自动系统主题</string>
<string name="download_has_started">下载已开始</string>
<string name="select_night_theme_toast">在此选择您最喜欢的夜间主题</string>
<string name="night_theme_summary">选择你最喜欢的夜间主题 - %s</string>
<string name="night_theme_summary">选择你最喜欢的夜间主题 %s</string>
<string name="night_theme_title">夜间主题</string>
<string name="show_channel_details">显示频道详情</string>
<string name="disable_media_tunneling_summary">如果遇到黑屏或视频播放卡顿的情况,请禁用媒体隧道</string>
<string name="disable_media_tunneling_title">禁用媒体隧道</string>
<string name="description_select_disable">关闭简介中的文本选择功能</string>
<string name="metadata_privacy_internal">内部</string>
<string name="metadata_privacy_private">私享</string>
<string name="metadata_privacy_unlisted">未分类</string>
<string name="metadata_privacy_public">公开</string>
<string name="metadata_thumbnail_url">缩略图 URL</string>
<string name="metadata_host">所在服务器</string>
<string name="metadata_support">支持</string>
<string name="metadata_language">语言</string>
<string name="metadata_age_limit">年龄限制</string>
<string name="metadata_privacy">私有性</string>
<string name="metadata_licence">发行许可</string>
<string name="metadata_tags">标签</string>
<string name="metadata_category">类别</string>
<string name="description_select_enable">开启简介中的文本选择功能</string>
<string name="description_select_note">你现在可以选择简介中的文本,注意,在选择模式下,页面可能会闪烁,链接可能无法点击。</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Націсніце \"Пошук\", каб пачаць
\n</string>
<string name="main_bg_subtitle">Націсніце \"Пошук\", каб пачаць</string>
<string name="view_count_text">%1$s праглядаў</string>
<string name="upload_date_text">Апублікавана %1$s</string>
<string name="no_player_found">Патокавы плэер не знойдзены. Усталяваць VLC?</string>

View File

@@ -126,8 +126,7 @@
<string name="search_showing_result_for">ⴰⵙⵎⴰⵍ ⵜⴰⵢⴰⴼⵓⵜ ⵉ: %s</string>
<string name="did_you_mean">ⵎⵉⵏ ⵜⵅⵙⴷ ⴰⴷ ⵜⵉⵏⵉⴷ:\"%1$s\"\?</string>
<string name="view_count_text">%1$s ⵜⴰⵏⵏⴰⵢⵉⵏ</string>
<string name="main_bg_subtitle">ⴰⴷⵔ ⵅ \"ⵔⵣⵓ\"ⴰⴼⴰⴷ ⴰⴷ ⵜⵜⴰⵡⵍⴷ
\n</string>
<string name="main_bg_subtitle">ⴰⴷⵔ ⵅ \"ⵔⵣⵓ\"ⴰⴼⴰⴷ ⴰⴷ ⵜⵜⴰⵡⵍⴷ</string>
<string name="show_comments_title">ⵙⴽⵏ ⵉⵅⴼⴰⵡⴰⵍⵏ</string>
<string name="theme_title">ⴰⵙⴳⵓⵎ</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Докоснете търсачката, за да започнете
\n</string>
<string name="main_bg_subtitle">Докоснете търсачката, за да започнете</string>
<string name="view_count_text">%1$s гледания</string>
<string name="upload_date_text">Публикувано на %1$s</string>
<string name="no_player_found">Не е намерен стрийм плейър. Желаете ли да инсталирате VLC?</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">অনুসন্ধান এ চাপ দিয়ে শুরু করুন
\n</string>
<string name="main_bg_subtitle">অনুসন্ধান এ চাপ দিয়ে শুরু করুন</string>
<string name="view_count_text">%1$s জন দেখছে</string>
<string name="upload_date_text">প্রকাশকাল %1$s</string>
<string name="no_player_found">কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। VLC ইনস্টল করতে চাও\?</string>
@@ -320,7 +319,7 @@
<string name="recaptcha_done_button">হয়েছে</string>
<string name="events">ইভেন্টগুলো</string>
<string name="settings_category_updates_title">আপডেট</string>
<string name="minimize_on_exit_none_description">কোনটি না</string>
<string name="minimize_on_exit_none_description">কোনটি না</string>
<string name="accept">স্বীকার করো</string>
<string name="decline">অস্বীকার করো</string>
<string name="caption_setting_title">ক্যাপশন</string>

View File

@@ -178,8 +178,7 @@
<string name="no_player_found">কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। VLC ইনস্টল করতে চান\?</string>
<string name="upload_date_text">প্রকাশকাল %1$s</string>
<string name="view_count_text">%1$s জন দেখেছে</string>
<string name="main_bg_subtitle">অনুসন্ধান এ চাপ দিয়ে শুরু করুন
\n</string>
<string name="main_bg_subtitle">অনুসন্ধান এ চাপ দিয়ে শুরু করুন</string>
<string name="feed_create_new_group_button_title">নতুন</string>
<string name="fragment_feed_title">নতুন কি</string>
<string name="app_language_title">অ্যাপ এর ভাষা</string>

View File

@@ -222,8 +222,8 @@
<string name="events">ইভেন্টগুলো</string>
<string name="tracks">ট্র্যাক</string>
<string name="videos_string">ভিডিও গুলি</string>
<string name="playlists">প্লেলিস্ট</string>
<string name="playlist">প্লেলিস্ট</string>
<string name="playlists">চালু তালিকা</string>
<string name="playlist">চালু তালিকা</string>
<string name="channels">চ্যানেলগুলো</string>
<string name="channel">চ্যানেল</string>
<string name="all">সবগুলি</string>
@@ -231,7 +231,7 @@
<string name="downloads_title">ডাউনলোডগুলি</string>
<string name="downloads">ডাউনলোডগুলি</string>
<string name="duration_live">লাইভ</string>
<string name="youtube_restricted_mode_enabled_title">YouTube নিষিদ্ধ মোড</string>
<string name="youtube_restricted_mode_enabled_title">YouTube \"নিষিদ্ধ মোড\" চালু করুন</string>
<string name="show_age_restricted_content_title">বয়স সীমাবদ্ধ কন্টেন্ট দেখাও</string>
<string name="content">কন্টেন্ট</string>
<string name="popup_playing_toast">পপআপ মোডে চলছে</string>
@@ -299,40 +299,40 @@
<string name="notification_action_0_title">প্রথম ক্রিয়া বোতাম</string>
<string name="notification_scale_to_square_image_title">থাম্বনেলে ১:১ অনুপাতে করো</string>
<string name="show_play_with_kodi_summary">Kodi মিডিয়া সেন্টারে এর মাধ্যমে ভিডিও প্লে করার জন্য একটি বিকল্প প্রদর্শন কর</string>
<string name="show_play_with_kodi_title">দেখাও \"Kodi এর মাধ্যমে চালা\" বিকল্প</string>
<string name="show_play_with_kodi_title">\"Kodi দ্বারা চালা\" বিকল্পটি প্রদর্শন কর</string>
<string name="kore_not_found">হারানো কোর ইনস্টল করবেন\?</string>
<string name="play_with_kodi_title">Kodi এর মাধ্যমে চালাও</string>
<string name="play_with_kodi_title">Kodi দ্বারা চালাও</string>
<string name="show_higher_resolutions_summary">শুধুমাত্র কিছু ডিভাইস 2K/4K ভিডিও চালাতে পারে</string>
<string name="show_higher_resolutions_title">উচ্চ রেজোল্যুশন দেখাও</string>
<string name="default_popup_resolution_title">ডিফল্ট পপআপ রেজোল্যুশন</string>
<string name="show_higher_resolutions_title">উচ্চতর রেজুলেশন প্রদর্শন করা হবে</string>
<string name="default_popup_resolution_title">ডিফল্ট পপ-আপ রেজোল্যুশন</string>
<string name="default_resolution_title">ডিফল্ট রেজোল্যুশন</string>
<string name="autoplay_by_calling_app_summary">স্বয়ংক্রিয়ভাবে একটি ভিডিও প্লে কর যখন NewPipe অন্য অ্যাপ্লিকেশন থেকে চালু করা হয়</string>
<string name="autoplay_by_calling_app_title">স্বয়ংক্রিয়ভাবে প্লে করো যখন অন্য অ্যাপ্লিকেশন থেকে চালু করা হয়</string>
<string name="autoplay_by_calling_app_summary">স্বয়ংক্রিয়ভাবে একটি ভিডিও প্লে কর যখন NewPipe অন্য অ্যাপ্লিকেশন থেকে চালু করা হয়</string>
<string name="autoplay_by_calling_app_title">স্বয়ংক্রিয় চালু</string>
<string name="download_choose_new_path">প্রভাব দৃশ্যমান করার জন্য ডাউনলোড ফোল্ডার পরিবর্তন করুন</string>
<string name="download_path_audio_dialog_title">অডিও ফাইলগুলির জন্য ডাউনলোডের ফোল্ডার নির্বাচন করুন</string>
<string name="download_path_audio_summary">ডাউনলোড করা অডিও এখানে রাখা হয়</string>
<string name="download_path_audio_summary">ডাউনলোড করা অডিও ফাইলগুলি এখানে সঞ্চিত থাকে</string>
<string name="download_path_audio_title">অডিও ডাউনলোড ফোল্ডার</string>
<string name="download_path_dialog_title">ভিডিওগুলির জন্য ডাউনলোডের পাথ নির্বাচন কর</string>
<string name="download_path_dialog_title">ভিডিওগুলি ডাউনলোডের জন্য ফোল্ডার নির্বাচন করুন</string>
<string name="download_path_summary">ডাউনলোড করা ভিডিওগুলো এখানে থাকে</string>
<string name="download_path_title">ভিডিও ডাউনলোড করার ফোল্ডার</string>
<string name="controls_add_to_playlist_title">যুক্ত করুন</string>
<string name="controls_popup_title">পপআপ</string>
<string name="controls_popup_title">পপ-আপ</string>
<string name="controls_background_title">ব্যাকগ্রাউন্ড</string>
<string name="tab_choose">ট্যাব পছন্দ করুন</string>
<string name="tab_new">নতুন ট্যাব</string>
<string name="tab_bookmarks">বুকমার্ককৃত প্লেলিস্টসমূহ</string>
<string name="tab_subscriptions">সাবস্ক্রিপশন</string>
<string name="tab_bookmarks">বুকমার্ক করা প্লেলিস্টসমূহ</string>
<string name="tab_subscriptions">দস্যত</string>
<string name="tab_main">প্রধান</string>
<string name="show_info">তথ্য দেখুন</string>
<string name="subscription_update_failed">াবস্ক্রিপশন আপডেটে ব্যর্থ</string>
<string name="subscription_change_failed">সাবস্ক্রিপশন পরিবর্তন করা যায়নি</string>
<string name="subscription_update_failed">দস্যতা হালনাগাদে ব্যর্থ</string>
<string name="subscription_change_failed">দস্যতা পরিবর্তন করা যায়নি</string>
<string name="channel_unsubscribed">চ্যানেল থেকে আনসাবস্ক্রাইব্ড</string>
<string name="unsubscribe">আনসাবস্ক্রাইব</string>
<string name="subscribed_button_title">সাবস্ক্রাইব করা আছে</string>
<string name="subscribe_button_title">সাবস্ক্রাইব</string>
<string name="popup_mode_share_menu_title">পপআপ মোড</string>
<string name="popup_mode_share_menu_title">পপ-আপ মোড</string>
<string name="use_external_audio_player_title">বহির্গত অডিও প্লেয়ার ব্যবহার করুন</string>
<string name="use_external_video_player_summary">কিছু কিছু রেজোলিউশনে অডিও বন্ধ করে দেয়</string>
<string name="use_external_video_player_summary">কিছু রেজোলিউশনে অডিও অপসারণ করে দেয়</string>
<string name="use_external_video_player_title">বাইরের ভিডিও প্লেয়ার ব্যবহার করুন</string>
<string name="screen_rotation">ঘূর্ণন</string>
<string name="choose_browser">ব্রাউজার বাছাই করুন</string>
@@ -346,14 +346,13 @@
<string name="share">শেয়ার</string>
<string name="open_in_popup_mode">পপ-আপ মোডে ওপেন করো</string>
<string name="open_in_browser">ব্রাউজারে ওপেন করো</string>
<string name="cancel">বাদ দিন</string>
<string name="cancel">বাতিল</string>
<string name="install">ইনস্টল</string>
<string name="no_player_found_toast">কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি (প্লে করতে VLC ইন্সটল করতে পারেন).</string>
<string name="no_player_found">কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। VLC ইনস্টল করতে চাও\?</string>
<string name="upload_date_text">প্রকাশকাল %1$s</string>
<string name="view_count_text">%1$s জন দেখছে</string>
<string name="main_bg_subtitle">\"অনুসন্ধান\" এ চাপ দিয়ে শুরু করুন
\n</string>
<string name="view_count_text">%1$s জন দেখছে</string>
<string name="main_bg_subtitle">\"অনুসন্ধান\" এ চাপ দিয়ে শুরু করুন</string>
<string name="notification_action_buffering">বাফারিং</string>
<string name="notification_action_shuffle">সাফল</string>
<string name="notification_action_4_title">পঞ্চম অ্যাকশন বাটন</string>
@@ -390,20 +389,20 @@
<string name="settings_category_notification_title">বিজ্ঞপ্তি</string>
<string name="resume_on_audio_focus_gain_summary">বাধার পর প্লে চালিয়ে যাও (উদাহরণস্বরূপ ফোনকল)</string>
<string name="subscriptions_export_unsuccessful">সদস্যতা রপ্তানি করা যায়নি</string>
<string name="subscriptions_import_unsuccessful">সদস্যতা/সাবস্ক্রিপশন আমদানি করা যায়নি</string>
<string name="subscriptions_import_unsuccessful">সদস্যতা আমদানি করা যায়নি</string>
<string name="playlist_no_uploader">স্বয়ংক্রিয়ভাবে উৎপাদিত (কোনও আপলোডার পাওয়া যায়নি)</string>
<string name="playlist_delete_failure">পছন্দ-তালিকা মুছে ফেলা যায়নি।</string>
<string name="set_as_playlist_thumbnail">প্লে-তালিকা থাম্বনেইল হিসেবে সেট করো</string>
<string name="no_valid_zip_file">কোনও বৈধ জিপ ফাইল নেই</string>
<string name="no_playlist_bookmarked_yet">এখনো কোন প্লে-তালিকা বুকমার্ক নেই</string>
<string name="no_channel_subscribed_yet">এখনও কোনও চ্যানেল সাবস্ক্রিপশন নেই</string>
<string name="no_channel_subscribed_yet">এখনও কোনও চ্যানেল সদস্যতা নেই</string>
<string name="main_page_content">মূল পৃষ্ঠার বিষয়বস্তু</string>
<string name="settings_file_charset_title">ফাইলের নামে অনুমোদিত অক্ষরসমূহ</string>
<string name="subtitle_activity_recaptcha">সমাধান হয়ে গেলে \"সম্পন্ন\" টিপো</string>
<string name="no_one_listening">কেউ শুনছে না</string>
<string name="no_one_watching">কেউ দেখছে না</string>
<string name="drawer_header_description">সেবাটি পরিবর্তন করো, বর্তমানে নির্বাচিত:</string>
<string name="empty_subscription_feed_subtitle">এখানে ঝিঝিপোকা ছাড়া আর কিছু নেই</string>
<string name="empty_subscription_feed_subtitle">ঝিঝিপোকা ছাড়া কিছু নেই এখানে</string>
<string name="invalid_source">এই ধরনের কোন ফাইল/বিষয়বস্তুর উৎস নেই</string>
<string name="player_unrecoverable_failure">অপুনরুদ্ধারযোগ্য প্লেয়ার ত্রুটি ঘটেছে</string>
<string name="popup_playing_append">পপআপ প্লেয়ারে সারিবদ্ধ</string>
@@ -417,7 +416,7 @@
<string name="start_here_on_popup">একটি পপ-আপে প্লে শুরু করো</string>
<string name="start_here_on_background">পটভূমিতে প্লে শুরু করো</string>
<string name="app_description">অ্যান্ড্রয়েডে মুক্তভাবে ও সহজে প্রচার দেখার অ্যাপ।</string>
<string name="export_data_summary">ইতিহাস, সদস্যতা এবং পছন্দ-তালিকা রপ্তানি কর</string>
<string name="export_data_summary">ইতিহাস, সদস্যতা, চালুতালিকা এবং পছন্দসমূহ রপ্তানি করুন</string>
<string name="show_hold_to_append_title">\"সংযোজন করতে ধরে রাখো\" পরামর্শ দেখাও</string>
<string name="feed_use_dedicated_fetch_method_title">উপলব্ধ হলে আলাদা ফিড থেকে এনো</string>
<string name="error_http_no_content">সার্ভার ডেটা পাঠায় না</string>
@@ -502,16 +501,16 @@
<item quantity="one">%d নির্বাচিত</item>
<item quantity="other">%d সমূহ নির্বাচিত</item>
</plurals>
<string name="feed_group_dialog_select_subscriptions">সাবস্ক্রিপশন নির্বাচন করো</string>
<string name="feed_group_dialog_select_subscriptions">দস্যতা নির্বাচন করো</string>
<string name="feed_processing_message">ফিড প্রক্রিয়া করা হচ্ছে…</string>
<string name="feed_groups_header_title">চ্যানেল গ্রুপ</string>
<string name="chapters">অধ্যায়</string>
<string name="comments_tab_description">মতামত</string>
<string name="description_tab_description">বর্ণনা</string>
<string name="open_with">দিয়ে খুল</string>
<string name="open_with">দিয়ে খুলুন</string>
<string name="feed_update_threshold_title">ফিড হালনাগাদ সীমা</string>
<string name="feed_group_dialog_empty_name">খালি গ্রুপ নাম</string>
<string name="feed_group_dialog_empty_selection">কোনো সাবস্ক্রিপশন নির্বাচিত হয়নি</string>
<string name="feed_group_dialog_empty_selection">কোনো সদস্যতা নির্বাচিত হয়নি</string>
<string name="feed_subscription_not_loaded_count">%d: লোড হয়নি</string>
<string name="remove_watched_popup_title">দেখা ভিডিওগুলো সরাও\?</string>
<string name="choose_instance_prompt">একটি ইন্সট্যান্স নাও</string>
@@ -535,7 +534,7 @@
<string name="detail_drag_description">সাজাতে টানো</string>
<string name="copy_for_github">প্রতিবেদন অনুলিপি করো</string>
<string name="feed_group_show_only_ungrouped_subscriptions">শুধুমাত্র অদলবদ্ধ সদস্যতা দেখাও</string>
<string name="feed_oldest_subscription_update">ফিড শেষ হালনাগাদ করা হয়েছে: %s</string>
<string name="feed_oldest_subscription_update">ফিড শেষ হালনাগাদ করা হয়েছে: %s</string>
<string name="downloads_storage_ask_title">কোথায় ডাইনলোড করবো জিজ্ঞেস করো</string>
<string name="pause_downloads_on_mobile">পরিমাপকৃত নেটওয়ার্কে বাধা দাও</string>
<string name="error_download_resource_gone">এই ডাউনলোড উদ্ধার করা যাচ্ছে না</string>
@@ -587,5 +586,37 @@
<string name="import_settings">পছন্দসমূহ কি আমদানি করতে চাও\?</string>
<string name="settings_file_replacement_character_summary">অবৈধ অক্ষরগুলো এই মান দ্বারা প্রতিস্থাপিত</string>
<string name="permission_display_over_apps">অন্য অ্যাপের উপরে দেখাতে অনুমতি দাও</string>
<string name="peertube_instance_url_help">%s-এ তোমার পছন্দের ইন্সট্যান্স খুঁজ</string>
<string name="peertube_instance_url_help">%s-এ আপনার পছন্দের ইন্সট্যান্স খুঁজুন</string>
<string name="clear_views_history_summary">প্লে করা স্ট্রিমের ইতিহাস এবং প্লেব্যাক অবস্থানগুলি মুছে দেয়</string>
<string name="restricted_video">এই ভিডিওটি বয়সসীমাবদ্ধ ।
\n
\nআপনি এটি দেখতে চাইলে সেটটিংসে \"%1$s\" চালু করুন ।</string>
<string name="youtube_restricted_mode_enabled_summary">Youtube একটি \"সীমাবদ্ধ মোড\" সরবরাহ করে যা সম্ভাব্য বয়সসীমাবদ্ধ বিষয়গুলি গুপ্ত রাখে</string>
<string name="show_age_restricted_content_summary">শিশুদের জন্যে সম্ভবত অনুপযুক্ত বিষয়গুলোও দেখান যেগুলির একটি বয়সসীমা রয়েছে (যেমন ১৮+ বিষয়সমূহ)</string>
<string name="unsupported_url_dialog_message">ইউআরএলটি চিন্থিত করা যায়নি | অন্য এপ্লিকেশন এ খুলতে চান \?</string>
<string name="error_postprocessing_stopped">এই ফাইলে কাজ করার সময় নিউপাইপ বন্ধ করা হয়েছে</string>
<string name="download_already_pending">এই নামের একটি ডাউনলোড প্রক্রিয়ারত</string>
<string name="saved_tabs_invalid_json">সংরক্ষিত ট্যাব পড়া যায় নি, তাই সহজাতটি ব্যবহার করা হচ্ছে</string>
<string name="import_data_summary">তোমার ইতিহাস, সদস্যতা, চালুতালিকা আর (ঐচ্ছিকভাবে) পছন্দসমূহ উপেক্ষা করো</string>
<string name="select_night_theme_toast">তোমার পছন্দের অন্ধকার রঙ নির্বাচন করো</string>
<string name="georestricted_content">তোমার দেশে এটি অনুপলুব্ধ।</string>
<string name="no_app_to_open_intent">তোমার ডিভাইসের কোনো অ্যাপ এটি খুলতে পারে না</string>
<string name="enable_queue_limit_desc">একটি ডাউনলোড একই সময়ে চলতে পারবে</string>
<string name="max_retry_desc">ডাউনলোড বাতিল করার আগে সর্বোচ্চ চেষ্টা</string>
<string name="private_content">এই তথ্যটি ব্যক্তিগত, তাই নিউপাইপ এটির ধারাপ্রচার বা ডাউনলোড করতে পারবে না।</string>
<string name="delete_all_history_prompt">ইতিহাসের সব ভুক্তি কি আসলেই মুছতে চাও\?</string>
<string name="download_to_sdcard_error_message">এসডি কার্ডে নামানো যাচ্ছে না। ডাউনলোড স্থান ফিরাবে বা পাল্টাবে\?</string>
<string name="show_thumbnail_summary">বন্ধ পর্দার পটভূমি ও বিজ্ঞপ্তির পটভূমি উভয় জায়গায় এই প্রতিচ্ছবি ব্যবহার করো</string>
<string name="downloads_storage_ask_summary_kitkat">কোথায় প্রত্যেক ডাউনলোড সংরক্ষণ করা হবে তা জিজ্ঞেস করা হবে।
\nএসডি কার্ডে নামাতে চাইলে স্যাফ(SAF) নির্বাচন করো</string>
<string name="privacy_policy_encouragement">নিউপাইপ প্রকল্প তোমার গোপনীয়তা গুরুত্বের সাথে নেয়। তাই এই অ্যাপ তোমার অনুমতি ছাড়া কোনো তথ্য পাঠায় না।
\nনিউপাইপের গোপনীয়তা নীতিমালা কোন তথ্য পাঠানো হয় ও সংরক্ষণ হয় তা ব্যাখ্যা করে।</string>
<string name="clear_cookie_summary">রিক্যাপচা পূরণ করলে নিউপাইপ যেসব কুকি রাখে তা মুছো</string>
<string name="show_original_time_ago_summary">ধারা ভুক্তিতে সেবাগুলোর মূল লেখা দৃশ্যমান হবে</string>
<string name="delete_stream_history_prompt">দেখার ইতিহাস থেকে এই ভুক্তিটি মুছবে\?</string>
<string name="delete_item_search_history">অনুসন্ধান ইতিহাস থেকে এই ভুক্তিটি মুছবে\?</string>
<string name="downloads_storage_ask_summary">প্রত্যেক ডাউনলোড কোথায় রাখা হবে তা জিজ্ঞেস করা হবে</string>
<string name="download_already_running">এই নামের একটি ডাউনলোড চলমান</string>
<string name="localization_changes_requires_app_restart">অ্যাপ আবার শুরু হলে ভাষা পাল্টাবে।</string>
<string name="disable_media_tunneling_title">মিডিয়া সুরঙ্গকরণ অক্ষম</string>
</resources>

View File

@@ -267,8 +267,7 @@
<string name="playback_speed_control">Controls de la velocitat de reproducció</string>
<string name="playback_tempo">Tempo</string>
<string name="playback_pitch">To</string>
<string name="main_bg_subtitle">Toca \"Cerca\" per començar
\n</string>
<string name="main_bg_subtitle">Toca \"Cerca\" per començar</string>
<string name="use_external_video_player_summary">Elimina l\'àudio en algunes resolucions</string>
<string name="use_external_audio_player_title">Reproductor d\'àudio extern</string>
<string name="download_thumbnail_summary">Desactiveu-ho per no generar miniatures i estalviar dades i memòria. Canviant aquesta opció, s\'eliminarà la memòria cau d\'imatges tant de la memòria com de l\'emmagatzematge.</string>
@@ -554,7 +553,7 @@
\nEn definitiva, l\'elecció depèn de si preferiu rapidesa a assegurar-vos que l\'informació és precisa.</string>
<string name="feed_use_dedicated_fetch_method_disable_button">Desactiva el mode ràpid</string>
<string name="feed_use_dedicated_fetch_method_enable_button">Activa el mode ràpid</string>
<string name="feed_use_dedicated_fetch_method_summary">Disponible en alguns serveis, normalment és més ràpid, però podria només incloure un nombre limitat de contingut i sovint informació incomplerta (per exemple, sense durada, tipus...).</string>
<string name="feed_use_dedicated_fetch_method_summary">Disponible en alguns serveis, normalment és més ràpid, però podria només incloure un nombre limitat de contingut i sovint informació incomplerta (per exemple, sense durada, tipus).</string>
<string name="feed_use_dedicated_fetch_method_title">Recupera des d\'un feed dedicat si és possible</string>
<string name="feed_update_threshold_option_always_update">Actualitza sempre</string>
<string name="feed_update_threshold_summary">Temps que ha de passar perquè una subscripció es consideri obsoleta — %s</string>

View File

@@ -497,8 +497,7 @@
<string name="drawer_header_description">خزمەتگوزاری چەسپاو، ئێستا هەڵبژێردراو:</string>
<string name="delete_search_history_alert">تەواوی گەڕانەکانت بسڕدرێنەوە؟</string>
<string name="resume_on_audio_focus_gain_summary">بەردەوام بوونی ڤیدیۆ لەدوای هەبوونی هەر بڕینێک (وەک پەیوەندی تەلەفۆنی)</string>
<string name="main_bg_subtitle">کرته‌ له‌ \"گه‌ڕان\" بكه‌ بۆ ده‌ستپێكردن
\n</string>
<string name="main_bg_subtitle">کرته‌ له‌ \"گه‌ڕان\" بكه‌ بۆ ده‌ستپێكردن</string>
<string name="enable_search_history_summary">کۆگای گەڕانی نێوخۆیی</string>
<string name="settings_category_video_audio_title">ڤیدیۆ وە دەنگ</string>
<string name="share">هاوبه‌شپێكردن</string>

View File

@@ -61,8 +61,7 @@
<string name="show_age_restricted_content_title">Zobrazit věkově omezený obsah</string>
<string name="duration_live">Živě</string>
<string name="light_parsing_error">Nebylo možné kompletně analyzovat stránku</string>
<string name="main_bg_subtitle">Začít klepnutím na \"Hledat\"
\n</string>
<string name="main_bg_subtitle">Začněte klepnutím na lupu.</string>
<string name="msg_copied">Zkopírováno do schránky</string>
<string name="msg_wait">Počkejte prosím…</string>
<string name="msg_running">NewPipe stahuje</string>
@@ -689,4 +688,6 @@
<string name="restricted_video_no_stream">Toto video je věkově omezeno.
\nKvůli novým pravidlům YouTube ohledně věkově omezených videí nemůže NewPipe získat přístup na streamy videa, a tak je nemůže přehrát.</string>
<string name="night_theme_title">Noční motiv</string>
<string name="disable_media_tunneling_summary">Vypněte media-tunelling, pokud zaznamenáte temnou obrazovku nebo zadrhávání během playbacku</string>
<string name="disable_media_tunneling_title">Vypnout media-tunelling</string>
</resources>

View File

@@ -81,8 +81,7 @@
<string name="report_error">Fehler melden</string>
<string name="user_report">Anwenderbericht</string>
<string name="duration_live">Live</string>
<string name="main_bg_subtitle">„Suchen“ antippen, um zu beginnen
\n</string>
<string name="main_bg_subtitle">Tippe auf die Lupe, um zu beginnen.</string>
<string name="downloads">Downloads</string>
<string name="downloads_title">Downloads</string>
<string name="error_report_title">Fehlerbericht</string>
@@ -252,7 +251,7 @@
<string name="switch_to_background">In den Hintergrund wechseln</string>
<string name="switch_to_popup">Zum Pop-up wechseln</string>
<string name="switch_to_main">Zur normalen Wiedergabe wechseln</string>
<string name="external_player_unsupported_link_type">Externe Abspielprogramme unterstützen diese Art von Links nicht</string>
<string name="external_player_unsupported_link_type">Externe Player unterstützen diese Art von Links nicht</string>
<string name="invalid_url_toast">Ungültige URL</string>
<string name="video_streams_empty">Keine Video-Streams gefunden</string>
<string name="audio_streams_empty">Keine Audio-Streams gefunden</string>
@@ -633,7 +632,7 @@
<string name="notification_action_nothing">Nichts</string>
<string name="title_activity_play_queue">Warteschlange abspielen</string>
<string name="auto_queue_toggle">Automatische Warteschlange</string>
<string name="clear_queue_confirmation_summary">Der Wechsel von einem Abspielprogramm zu einem anderen kann Ihre Warteschlange überschreiben</string>
<string name="clear_queue_confirmation_summary">Der Wechsel von einem Player zu einem anderen kann deine Warteschlange überschreiben</string>
<string name="clear_queue_confirmation_title">Überschreiben der Warteschlange bestätigen</string>
<string name="clear_queue_confirmation_description">Die aktive Player-Warteschlange wird ersetzt</string>
<string name="enqueued">Eingereiht</string>
@@ -679,4 +678,22 @@
<string name="auto_device_theme_title">Automatisch (Gerätedesign)</string>
<string name="night_theme_title">Nachtdesign</string>
<string name="show_channel_details">Kanal-Details anzeigen</string>
<string name="disable_media_tunneling_summary">Deaktiviere das Media-Tunneling, wenn bei der Videowiedergabe ein schwarzer Bildschirm oder Stottern auftritt</string>
<string name="disable_media_tunneling_title">Media-Tunneling deaktivieren</string>
<string name="metadata_privacy_internal">Intern</string>
<string name="metadata_privacy_private">Privat</string>
<string name="metadata_privacy_public">Öffentlich</string>
<string name="metadata_language">Sprache</string>
<string name="metadata_age_limit">Altersbeschränkung</string>
<string name="metadata_privacy">Sichtbarkeit</string>
<string name="metadata_licence">Lizenz</string>
<string name="metadata_tags">Tags</string>
<string name="metadata_category">Kategorie</string>
<string name="metadata_privacy_unlisted">Nicht gelistet</string>
<string name="metadata_thumbnail_url">Vorschaubild-URL</string>
<string name="metadata_host">Server</string>
<string name="metadata_support">Unterstützung</string>
<string name="description_select_disable">Auswählen von Text in der Beschreibung deaktivieren</string>
<string name="description_select_enable">Auswählen von Text in der Beschreibung aktivieren</string>
<string name="description_select_note">Du kannst nun Text innerhalb der Beschreibung auswählen. Beachte, dass die Seite flackern kann und Links im Auswahlmodus möglicherweise nicht anklickbar sind.</string>
</resources>

View File

@@ -87,8 +87,7 @@
<string name="title_activity_history">Ιστορικό</string>
<string name="action_history">Ιστορικό</string>
<string name="show_info">Εμφάνιση πληροφοριών</string>
<string name="main_bg_subtitle">Πατήστε «Αναζήτηση» για να ξεκινήσετε
\n</string>
<string name="main_bg_subtitle">Πατήστε το μεγενθυτικό φακό για να ξεκινήσετε.</string>
<string name="no_player_found_toast">Δε βρέθηκε πρόγραμμα αναπαραγωγής ροής δεδομένων (μπορείτε να εγκαταστήσετε το VLC για να κάνετε αναπαραγωγή).</string>
<string name="controls_download_desc">Λήψη του αρχείου ροής</string>
<string name="use_external_video_player_summary">Αφαιρείται ο ήχος από κάποιες αναλύσεις</string>
@@ -646,7 +645,7 @@
<string name="peertube_instance_url_title">Στιγμιότυπα PeerTube</string>
<string name="notification_colorize_title">Χρωματισμός ειδοποιήσεων</string>
<string name="notification_colorize_summary">Επιτρέπει στο Android να τροποποιήσει το χρώμα της ειδοποίησης, σύμφωνα με το κύριο χρώμα του εικονιδίου (δεν διατίθεται σε όλες τις συσκευές)</string>
<string name="show_thumbnail_summary">Χρήση των εικονιδίων στην οθόνη κλειδώματοςως φόντο και στις ειδοποιήσεις</string>
<string name="show_thumbnail_summary">Χρήση των εικονιδίων ως φόντο στην οθόνη κλειδώματος και στις ειδοποιήσεις</string>
<string name="show_thumbnail_title">Εμφάνιση</string>
<string name="msg_calculating_hash">Υπολογισμός hash</string>
<string name="hash_channel_description">Ειδοποιήσεις για πρόοδο βίντεο hashing</string>
@@ -679,4 +678,21 @@
<string name="auto_device_theme_title">Αυτόματο (θέμα συσκευής)</string>
<string name="night_theme_title">Νυχτερινό θέμα</string>
<string name="show_channel_details">Εμφάνιση λεπτομερειών καναλιού</string>
<string name="disable_media_tunneling_summary">Απενεργοποιήστε το media tunneling, αν εμφανίζεται μαύρη οθόνη ή διακοπτόμενος ήχος κατά την αναπαραγωγή βίντεο</string>
<string name="disable_media_tunneling_title">Απενεργοποίηση media tunneling</string>
<string name="metadata_privacy_internal">Εσωτερικό</string>
<string name="metadata_privacy_private">Ιδιωτικό</string>
<string name="metadata_privacy_unlisted">Εκτός λίστας</string>
<string name="metadata_privacy_public">Δημόσιο</string>
<string name="metadata_thumbnail_url">URL εικονιδίου</string>
<string name="metadata_support">Υποστήριξη</string>
<string name="metadata_language">Γλώσσα</string>
<string name="metadata_age_limit">Όριο ηλικίας</string>
<string name="metadata_privacy">Ιδιωτικότητα</string>
<string name="metadata_licence">Άδεια</string>
<string name="metadata_tags">Ετικέτες</string>
<string name="metadata_category">Κατηγορία</string>
<string name="description_select_disable">Απενεργοποίηση επιλογής κειμένου στην περιγραφή</string>
<string name="description_select_enable">Ενεργοποίηση επιλογής κειμένου στην περιγραφή</string>
<string name="description_select_note">Τώρα μπορείτε να επιλέξετε κείμενο εντός της περιγραφής. Σημειώστε ότι, η σελίδα μπορεί να παρουσιάζει αστάθεια κατά τη διάρκεια της κατάστασης επιλογής κειμένου.</string>
</resources>

View File

@@ -28,8 +28,7 @@
<string name="show_hold_to_append_title">Show Hold to append tip</string>
<string name="show_play_with_kodi_title">Show Play with Kodi option</string>
<string name="did_you_mean">Did you mean %1$s\?</string>
<string name="main_bg_subtitle">Tap Search to get started
\n</string>
<string name="main_bg_subtitle">Tap the magnifying glass to get started.</string>
<string name="detail_sub_channel_thumbnail_view_description">Channels avatar thumbnail</string>
<string name="feed_update_threshold_summary">Time after last update before a subscription is considered outdated %s</string>
<string name="autoplay_summary">Start playback automatically %s</string>

View File

@@ -65,8 +65,7 @@
<string name="report_error">Signali eraron</string>
<string name="video">Filmeto</string>
<string name="retry">Reprovi</string>
<string name="main_bg_subtitle">Premi \"Serĉi\" por komenci
\n</string>
<string name="main_bg_subtitle">Premi \"Serĉi\" por komenci</string>
<string name="no_player_found_toast">Neniu elsendlflua ludilo trovita (instalu VLC por ludi ĝin).</string>
<string name="open_in_popup_mode">Malfermi en ŝprucfenestran modon</string>
<string name="use_external_video_player_summary">Forigas aŭdon ĉe kelkaj rezolucioj</string>

View File

@@ -59,8 +59,7 @@
<string name="live_streams_not_supported">Las transmisiones en vivo no son soportadas aún</string>
<string name="content">Contenido</string>
<string name="show_age_restricted_content_title">Mostrar contenido con restricción de edad</string>
<string name="main_bg_subtitle">Toca en «Buscar» para comenzar
\n</string>
<string name="main_bg_subtitle">Toca en «Buscar» para comenzar.</string>
<string name="autoplay_by_calling_app_title">Reproducción automática</string>
<string name="autoplay_by_calling_app_summary">Reproducir un vídeo cuando NewPipe es llamado desde otra aplicación</string>
<string name="duration_live">En directo</string>
@@ -681,4 +680,5 @@
<string name="night_theme_summary">Selecciona tu tema nocturno favorito — %s</string>
<string name="auto_device_theme_title">Automático (tema del dispositivo)</string>
<string name="show_channel_details">Mostrar detalles del canal</string>
<string name="featured">Destacado</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Alustamiseks toksa \"Otsi\"
\n</string>
<string name="main_bg_subtitle">Alustamiseks toksa suurendusklaasi ikooni.</string>
<string name="view_count_text">%1$s vaatamist</string>
<string name="upload_date_text">Avaldatud %1$s</string>
<string name="no_player_found">Voogesituseks puudub pleier. Kas paigaldada VLC?</string>
@@ -314,8 +313,8 @@
<string name="delete_playlist">Kustuta</string>
<string name="rename_playlist">Nimeta ümber</string>
<string name="name">Nimi</string>
<string name="append_playlist">Lisa pleilisti</string>
<string name="set_as_playlist_thumbnail">Määra pleilisti pisipildiks</string>
<string name="append_playlist">Lisa esitusloendisse</string>
<string name="set_as_playlist_thumbnail">Määra esitusloendi pisipildiks</string>
<string name="bookmark_playlist">Lisa pleilist järjehoidjaks</string>
<string name="unbookmark_playlist">Eemalda järjehoidja</string>
<string name="delete_playlist_prompt">Kas kustutada see pleilist?</string>
@@ -498,4 +497,147 @@
<string name="notification_scale_to_square_image_summary">Skaleeri teavituses kuvatav video pisipilt 16:9 külgede suhtest 1:1 suhtesse (võib põhjustada häireid)</string>
<string name="notification_scale_to_square_image_title">Skaleeri pisipilt 1:1 küljesuhtesse</string>
<string name="download_choose_new_path">Vaheta alla laadimise kaust, et muudatused rakendada</string>
<string name="msg_calculating_hash">Arvutan räsi</string>
<string name="recent">Hiljutised</string>
<string name="description_tab_description">Kirjeldus</string>
<string name="chapters">Peatükid</string>
<string name="no_app_to_open_intent">Ükski sinu seadme rakendus ei saa seda avada</string>
<string name="crash_the_app">Jooksuta rakendus kokku</string>
<string name="georestricted_content">See sisu ei ole sinu riigis saadaval.</string>
<string name="soundcloud_go_plus_content">Vähemalt sinu riigis on see SoundCloud Go+ teenuse lugu, seega ei saa seda NewPipe\'i kaudu voogedastada ega alla laadida.</string>
<string name="private_content">See sisu on privaatne, seega ei saa seda NewPipe\'i kaudu voogedastada ega alla laadida.</string>
<string name="youtube_music_premium_content">See video on saadaval ainult YouTube Music Premium teenuse tellijatele, seega ei saa seda NewPipe\'i kaudu voogedastada ega alla laadida.</string>
<string name="paid_content">See sisu on kättesaadav ainult tasulise teenuse kasutajatele, seega ei saa seda NewPipe\'i kaudu voogedastada ega alla laadida.</string>
<string name="recaptcha_solve">Lahenda</string>
<string name="featured">Esiletõstetud</string>
<string name="radio">Raadio</string>
<string name="auto_device_theme_title">Automaatne (seadme teema)</string>
<string name="night_theme_summary">Vali eelistatud teema öiseks kasutuseks — %s</string>
<string name="select_night_theme_toast">Järgnevalt saad sa valida sobiva teema öiseks kasutuseks</string>
<string name="download_has_started">Allalaadimine algas</string>
<string name="related_items_tab_description">Sarnane meedia</string>
<string name="show_channel_details">Näita kanali lisateavet</string>
<string name="permission_display_over_apps">Luba rakendust kuvada teiste rakenduste peal</string>
<string name="error_report_open_issue_button_text">Teata sellest GitHub\'is</string>
<string name="comments_tab_description">Kommentaarid</string>
<string name="no_one_watching">Mitte keegi hetkel seda videot ei vaata</string>
<plurals name="watching">
<item quantity="one">%s vaataja</item>
<item quantity="other">%s vaatajat</item>
</plurals>
<string name="no_one_listening">Mitte keegi hetkel seda pala ei kuula</string>
<plurals name="listening">
<item quantity="one">%s kuulaja</item>
<item quantity="other">%s kuulajat</item>
</plurals>
<string name="hash_channel_description">Teavitused video räsimise edenemise kohta</string>
<string name="youtube_restricted_mode_enabled_title">Võta kasutusele YouTube\'i „Piiratud režiim“</string>
<string name="missing_file">Faili asukoht on muutunud või on ta kustutatud</string>
<string name="watch_history_states_deleted">Taasesituste asukohad on kustutatud.</string>
<string name="help">Abiteave</string>
<string name="delete_playback_states_alert">Kas kustutame kõik taasesituste asukohad\?</string>
<string name="clear_playback_states_summary">Kustutab kõik taasesituse käigus salvestatud asukohad</string>
<string name="clear_playback_states_title">Kustuta taasesituste asukohad</string>
<string name="clear_cookie_summary">Kustuta küpsised, mille NewPipe on reCAPTCHA vastamise ajal salvestanud</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA küpsised on kustutatud</string>
<string name="clear_cookie_title">Kustuta reCAPTCHA küpsised</string>
<string name="hash_channel_name">Teavitus video räsi kohta</string>
<string name="artists">Esitajad</string>
<string name="albums">Albumid</string>
<string name="songs">Laulud</string>
<string name="videos_string">Videod</string>
<string name="restricted_video_no_stream">Sellel videol on vanusepiirang.
\nVastavalt YouTube uuetele reeglitele, mis käitlevad vanusepiirangutega materjali, NewPipe ei saa seda kätte ning vastavalt ei suuda seda ka esitada.</string>
<string name="restricted_video">Sellel videol on vanusepiirang.
\n
\nKui sa soovid seda näha, siis lülita seadistustest „%1$s“ sisse.</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube\'is leiduv „Piiratud režiim“ peidab võimaliku täiskasvanutele mõeldud sisu</string>
<string name="show_age_restricted_content_summary">Näita sisu, mis vanusepiirangu tõttu ilmselt ei sobi lastele (näiteks 18+)</string>
<string name="settings_category_notification_title">Teavitus</string>
<string name="peertube_instance_add_https_only">Sa saad kasutada vaid HTTPS-urle</string>
<string name="night_theme_title">Öine teema</string>
<string name="never">Ei iialgi</string>
<string name="wifi_only">Vaid Wi-Fi võrgus</string>
<string name="autoplay_summary">Alusta esitamist automaatselt — %s</string>
<string name="show_memory_leaks">Näita mälulekkeid</string>
<string name="playlist_no_uploader">Automaatselt loodud (üleslaadita ei leidu)</string>
<string name="unmute">Lõpeta summutamine</string>
<string name="mute">Summuta</string>
<string name="enqueued">Esitusjärjekorda lisatud</string>
<string name="most_liked">Enim meeldimisi</string>
<string name="title_activity_play_queue">Esitusjärjekord</string>
<string name="enqueue_stream">Lisa esitusjärjekorda</string>
<string name="recently_added">Hiljuti lisatud</string>
<string name="local">Kohalikud</string>
<string name="localization_changes_requires_app_restart">Keele muutus jõustub rakenduse uuesti käivitamisel.</string>
<string name="error_unable_to_load_comments">Kommentaaride laadimine ei õnnestunud</string>
<string name="no_playlist_bookmarked_yet">Esitusloendi järjehoidjaid veel pole</string>
<string name="select_a_playlist">Vali esitusloend</string>
<string name="default_kiosk_page_summary">Vaikimisi seadistatud kiosk</string>
<string name="recaptcha_done_button">Valmis</string>
<string name="subtitle_activity_recaptcha">Kui oled lõpetanud, siis vajuta „Valmis“ nuppu</string>
<string name="no_comments">Kommentaare pole</string>
<string name="infinite_videos">∞ videot</string>
<string name="more_than_100_videos">100+ videot</string>
<string name="close">Sulge</string>
<string name="deleted_downloads">Kustutasin %1$d allalaaditud faili</string>
<string name="delete_downloaded_files">Kustuta allalaaditud failid</string>
<string name="confirm_prompt">Kas sa soovid kustutada allalaadimiste ajaloo või allalaaditud failid\?</string>
<string name="clear_download_history">Kustuta allalaadimiste ajalugu</string>
<string name="error_download_resource_gone">Seda allalaadimist ei saa uuesti alustada</string>
<string name="error_timeout">Ühendus aegus</string>
<string name="error_insufficient_storage">Seadmes pole enam ruumi</string>
<string name="download_already_pending">Sellise nimega allalaadimine on juba pooleli</string>
<string name="overwrite_failed">faili asendamine ei õnnestu</string>
<string name="feed_create_new_group_button_title">Uus</string>
<plurals name="feed_group_dialog_selection_count">
<item quantity="one">%d valitud</item>
<item quantity="other">%d valitud</item>
</plurals>
<string name="feed_group_dialog_empty_selection">Sa pole tellimusi valinud</string>
<string name="feed_group_dialog_select_subscriptions">Vali tellimused</string>
<string name="feed_processing_message">Töötlen andmevoogu…</string>
<string name="feed_notification_loading">Laadin andmevoogu…</string>
<string name="feed_subscription_not_loaded_count">Pole laaditud: %d</string>
<string name="feed_oldest_subscription_update">Andmevoo viimane uuendus: %s</string>
<string name="feed_groups_header_title">Kanalite rühmad</string>
<plurals name="days">
<item quantity="one">%d päev</item>
<item quantity="other">%d päeva</item>
</plurals>
<plurals name="hours">
<item quantity="one">%d tund</item>
<item quantity="other">%d tundi</item>
</plurals>
<plurals name="minutes">
<item quantity="one">%d minut</item>
<item quantity="other">%d minutit</item>
</plurals>
<plurals name="seconds">
<item quantity="one">%d sekund</item>
<item quantity="other">%d sekundit</item>
</plurals>
<string name="remove_watched_popup_warning">Sellega eemaldame vaadatud videod ja esitusloendisse lisatud videod.
\nKas sa oled kindel\? Seda tegevuste ei saa hiljem tagasi pöörata!</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">Jah, sealhulgas videod, mille vaatmine jäi pooleli</string>
<string name="remove_watched_popup_title">Kas eemaldame vaadatud videod\?</string>
<string name="remove_watched">Eemalda vaadatud videod</string>
<string name="systems_language">Kasuta süsteemi keelt</string>
<string name="app_language_title">Rakenduse keel</string>
<string name="downloads_storage_ask_summary">Alati küsime kuhu kausta soovid faile alla laadida</string>
<string name="downloads_storage_ask_title">Küsi allalaaditavate failide salvestamise kausta</string>
<string name="pause_downloads">Peata allalaadimised</string>
<string name="start_downloads">Alusta allalaadimistega</string>
<string name="copy_for_github">Kopeeri vormindatud aruanne</string>
<string name="feed_group_show_only_ungrouped_subscriptions">Näita vaid rühmitamata tellimus</string>
<string name="feed_group_dialog_delete_message">Kas sa soovid selle kanalite rühma kustutada\?</string>
<string name="feed_group_dialog_empty_name">Rühmal puudub nimi</string>
<string name="new_seek_duration_toast">ExoPlayer\'i piirangute tõttu seadistasime otsingusammu %d sekundile</string>
<string name="enable_queue_limit_desc">Luba korraga vaid üks allalaadimine</string>
<string name="enable_queue_limit">Piira allalaadimiste järjekorda</string>
<string name="error_progress_lost">Faili kustutamisega läks ka tööjärg kautsi</string>
<string name="error_postprocessing_stopped">Faili töötlemisel NewPipe lõpetas töö</string>
<string name="disable_media_tunneling_summary">Lülita meedia tunneldamine välja juhul, kui esitamisel tekib must ekraan või pildi kuvamine on katkendlik</string>
<string name="disable_media_tunneling_title">Lülita meedia tunneldamine välja</string>
<string name="drawer_header_description">Vaheta teenust, hetkel on kasutusel:</string>
</resources>

View File

@@ -39,8 +39,7 @@
<string name="use_external_video_player_title">Erabili kanpo bideo-erreproduzigailua</string>
<string name="use_external_audio_player_title">Erabili kanpo audio-erreproduzigailua</string>
<string name="background_player_playing_toast">Atzeko planoan erreproduzitzen</string>
<string name="main_bg_subtitle">Sakatu \"Bilatu\" hasteko
\n</string>
<string name="main_bg_subtitle">Sakatu «bilatu» atalean hasteko.</string>
<string name="download_path_audio_title">Audioa deskargatzeko karpeta</string>
<string name="download_path_audio_dialog_title">Aukeratu audio fitxategiak deskargatzeko karpeta</string>
<string name="download_path_audio_summary">Deskargatutako audio fitxategiak hemen gordetzen dira</string>
@@ -661,7 +660,7 @@
<string name="comments_tab_description">Iruzkinak</string>
<string name="show_description_summary">Desaktibatu bideoaren deskribapena eta informazio gehigarria ezkutatzeko</string>
<string name="show_description_title">Erakutsi deskribapena</string>
<string name="open_with">Ireki honekin...</string>
<string name="open_with">Ireki honekin</string>
<string name="radio">Irratia</string>
<string name="featured">Nabarmenduak</string>
<string name="paid_content">Eduki hau ordaindu duten erabiltzaileentzat soilik dago eskuragarri, eta NewPipe-k ezin du tramsmititu edo deskargatu.</string>
@@ -679,4 +678,6 @@
<string name="auto_device_theme_title">Automatikoa (gailuaren gaia)</string>
<string name="night_theme_title">Gau Gaia</string>
<string name="show_channel_details">kanalaren xehetasunak erakutsi</string>
<string name="disable_media_tunneling_summary">Desaktibatu hedabideen tunela bideo-erreprodukzioan pantaila beltz bat edo totelka ari bada</string>
<string name="disable_media_tunneling_title">Hedabideen tunela desaktibatu</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Napauta hakua aloittaaksesi
\n</string>
<string name="main_bg_subtitle">Napauta hakua aloittaaksesi</string>
<string name="view_count_text">%1$s näyttökertaa</string>
<string name="upload_date_text">Julkaistu %1$s</string>
<string name="no_player_found">Ei löytynyt suoratoistosoitinta. Asennetaanko VLC\?</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Pindutin ang \'hanap\' upang magsimula
\n</string>
<string name="main_bg_subtitle">Pindutin ang \'hanap\' upang magsimula</string>
<string name="view_count_text">%1$s view</string>
<string name="upload_date_text">Nai-publish noong %1$s</string>
<string name="no_player_found">Walang nakitang stream player. Mag-install ng VLC\?</string>

View File

@@ -75,8 +75,7 @@
<string name="audio">Audio</string>
<string name="retry">Réessayer</string>
<string name="storage_permission_denied">Veuillez dabord accorder laccès au stockage</string>
<string name="main_bg_subtitle">Appuyez sur la loupe pour commencer
\n</string>
<string name="main_bg_subtitle">Appuyez sur la loupe pour commencer.</string>
<string name="autoplay_by_calling_app_title">Lecture automatique</string>
<string name="user_report">Rapport utilisateur</string>
<string name="error_snackbar_action">Signaler</string>
@@ -98,7 +97,7 @@
<string name="msg_server_unsupported">Serveur non pris en charge</string>
<string name="msg_exists">Fichier déjà existant</string>
<string name="msg_url_malform">Lien malformé ou accès à Internet indisponible</string>
<string name="msg_running">NewPipe télécharge </string>
<string name="msg_running">NewPipe télécharge…</string>
<string name="msg_running_detail">Appuyer pour plus de détails</string>
<string name="msg_wait">Veuillez patienter…</string>
<string name="msg_copied">Copié dans le presse-papiers</string>
@@ -115,7 +114,7 @@
<string name="yes">Oui</string>
<string name="later">Plus tard</string>
<string name="disabled">Désactivés</string>
<string name="info_labels">Quoi :\\nRequête :\\nLangue du contenu :\\nPays du contenu :\\nLangue de lapplication :\\nService :\\nDate UTC :\\nPaquet :\\nVersion :\\nVersion du système dexploitation :</string>
<string name="info_labels">Quoi:\\nRequest:\\nContent Language:\\nContent Country:\\nApp Language:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:</string>
<string name="short_thousand">k</string>
<string name="short_million">M</string>
<string name="msg_popup_permission">Cette autorisation est nécessaire pour
@@ -681,4 +680,22 @@
<string name="select_night_theme_toast">Vous pouvez choisir votre thème nuit favori</string>
<string name="download_has_started">Le téléchargement a démarré</string>
<string name="show_channel_details">Afficher les détails de la chaîne</string>
<string name="disable_media_tunneling_summary">Désactivez le tunnelage multimédia si vous constatez un écran noir ou un bégaiement lors de la lecture d\'une vidéo</string>
<string name="disable_media_tunneling_title">Désactiver le tunnelage média</string>
<string name="description_select_disable">Désactiver la sélection de texte dans la description</string>
<string name="description_select_enable">Permettre la sélection de texte dans la description</string>
<string name="metadata_privacy_internal">Interne</string>
<string name="metadata_privacy_private">Privé</string>
<string name="metadata_privacy_unlisted">Non répertorié</string>
<string name="metadata_privacy_public">Public</string>
<string name="metadata_thumbnail_url">URL de la miniature</string>
<string name="metadata_host">Hôte</string>
<string name="metadata_support">Support</string>
<string name="metadata_language">Langue</string>
<string name="metadata_age_limit">Limite d\'âge</string>
<string name="metadata_privacy">Confidentialité</string>
<string name="metadata_licence">Licence</string>
<string name="metadata_tags">Étiquettes</string>
<string name="metadata_category">Catégorie</string>
<string name="description_select_note">Vous pouvez maintenant sélectionner du texte à l\'intérieur de la description. Notez que la page peut scintiller et que les liens peuvent ne pas être cliquables en mode sélection.</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Toque en \"Buscar\" para comezar
\n</string>
<string name="main_bg_subtitle">Toque en \"Buscar\" para comezar</string>
<string name="view_count_text">%1$s visualizacións</string>
<string name="upload_date_text">Publicado o día %1$s</string>
<string name="no_player_found">Non foi encontrado ningún reprodutor. Quere instalar o VLC\?</string>
@@ -586,7 +585,7 @@
<string name="videos_string">Vídeos</string>
<string name="restricted_video">Este vídeo está restrinxido por idade.
\n
\nSe desexa visualizalo, habilite \"Contido restrinxido por idade\" nos axustes.</string>
\nSe desexa visualizalo, habilite \"%1$s\" nos axustes.</string>
<string name="youtube_restricted_mode_enabled_title">Modo restrinxido de YouTube</string>
<string name="settings_category_updates_title">Actualizacións</string>
<string name="peertube_instance_add_exists">A instancia xa existe</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">יש לגעת ב־„חיפוש” כדי להתחיל
\n</string>
<string name="main_bg_subtitle">יש לגעת בזכוכית המגדלת כדי להתחיל.</string>
<string name="view_count_text">%1$s צפיות</string>
<string name="upload_date_text">פורסם ב־%1$s</string>
<string name="no_player_found">לא נמצאו נגני הזרמה, להתקין VLC\?</string>
@@ -699,4 +698,22 @@
<string name="recaptcha_solve">לפתור</string>
<string name="night_theme_title">ערכת עיצוב לילית</string>
<string name="show_channel_details">להציג את פרטי הערוץ</string>
<string name="disable_media_tunneling_summary">כדאי להשבית תיעול מדיה אם הופיעה תופעה של מסך שחור או גמגום בנגינת וידאו</string>
<string name="disable_media_tunneling_title">השבתת תיעול מדיה</string>
<string name="metadata_privacy_internal">פנימי</string>
<string name="metadata_privacy_private">פרטי</string>
<string name="metadata_privacy_unlisted">לא מופיע ברשימות</string>
<string name="metadata_privacy_public">ציבורי</string>
<string name="metadata_thumbnail_url">כתובת תמונה ממוזערת</string>
<string name="metadata_host">אירוח</string>
<string name="metadata_support">תמיכה</string>
<string name="metadata_language">שפה</string>
<string name="metadata_age_limit">הגבלת גיל</string>
<string name="metadata_privacy">פרטיות</string>
<string name="metadata_licence">רישיון</string>
<string name="metadata_tags">תגיות</string>
<string name="metadata_category">קטגוריה</string>
<string name="description_select_disable">השבתת בחירת טקסט בתיאור</string>
<string name="description_select_enable">הפעלת בחירת טקסט בתיאור</string>
<string name="description_select_note">מעתה ניתן לבחור טקסט בתוך התיאור. נא לשים לב שהעמוד עשוי להבהב והקישורים לא יהיו לחיצים בזמן מצב הבחירה.</string>
</resources>

View File

@@ -2,29 +2,29 @@
<resources>
<string name="view_count_text">%1$s व्यूज</string>
<string name="upload_date_text">%1$s को प्रकाशित हुआ</string>
<string name="no_player_found">कोई स्ट्रीम प्लेयर नहीं मिला। क्या आप VLC इंस्टॉल करना चाहेंगे\?</string>
<string name="no_player_found">स्ट्रीमिंग के लिए प्लेयर नहीं मिला। क्या आप VLC इंस्टॉल करना चाहेंगे\?</string>
<string name="install">इंस्टॉल करें</string>
<string name="open_in_browser">ब्राउज़र में खोलें</string>
<string name="open_in_popup_mode">पॉपअप मोड में खोलें</string>
<string name="share">शेयर करें</string>
<string name="download">डाउनलोड</string>
<string name="download">डाउनलोड करे</string>
<string name="search">सर्च करे</string>
<string name="settings">सेटिंग्स</string>
<string name="choose_browser">ब्राउज़र चुनें</string>
<string name="screen_rotation">स्क्रीन रोटेशन</string>
<string name="popup_mode_share_menu_title">पॉपअप mode</string>
<string name="popup_mode_share_menu_title">पॉपअप मोड</string>
<string name="subscribe_button_title">सब्सक्राइब करें</string>
<string name="subscribed_button_title">Subscribed</string>
<string name="channel_unsubscribed">Channel unsubscribed</string>
<string name="tab_subscriptions">दस्यता</string>
<string name="controls_background_title">पीछे</string>
<string name="subscribed_button_title">सब्सक्राइबड</string>
<string name="channel_unsubscribed">चैनल अनसब्सक्राइब हुआ</string>
<string name="tab_subscriptions">ब्सक्रिप्शनस</string>
<string name="controls_background_title">बैकग्राउंड</string>
<string name="controls_popup_title">पॉपअप</string>
<string name="autoplay_by_calling_app_title">ऑटोप्‍ले करें</string>
<string name="play_audio">ऑडियो</string>
<string name="light_theme_title">हलका</string>
<string name="black_theme_title">ाली</string>
<string name="enable_watch_history_title">देखे हुए वडियो की सूची</string>
<string name="download_dialog_title">डाउनलोड</string>
<string name="light_theme_title">लाइट</string>
<string name="black_theme_title">ब्लै</string>
<string name="enable_watch_history_title">देखे हुए विडियोा इतिहास</string>
<string name="download_dialog_title">डाउनलोड करे</string>
<string name="settings_category_video_audio_title">वीडियो और ऑडियो</string>
<string name="settings_category_history_title">History and cache</string>
<string name="background_player_playing_toast">बैकग्राउंड में चल रहा है</string>
@@ -51,52 +51,51 @@
<string name="item_deleted">Item हटा दिया गया है</string>
<string name="trending">फ़िलहाल चर्चा में है</string>
<string name="play_queue_audio_settings">ऑडियो सेटिंग</string>
<string name="main_bg_subtitle">शुरू करने के लिए \"सर्च\" बटन दबाएं
\n</string>
<string name="main_bg_subtitle">शुरू करने के लिए \"सर्च\" बटन दबाएं</string>
<string name="cancel">कैंसल करे</string>
<string name="did_you_mean">क्या आप का मतलब \"%1$s\" था\?</string>
<string name="share_dialog_title">िस से शेयर करे</string>
<string name="use_external_video_player_title">कोई दूसरा विडियो प्लेयर उपयोग करें</string>
<string name="share_dialog_title">के साथ शेयर करे</string>
<string name="use_external_video_player_title">कोई दूसरा विडियो प्लेयर इस्तेमाल करें</string>
<string name="use_external_video_player_summary">कुछ विडियो रिजॉल्यूशनस पर ऑडियो हट सकती है</string>
<string name="use_external_audio_player_title">कोई दूसरा ऑडियो प्लेयर उपयोग करें</string>
<string name="tab_main">मुख्य</string>
<string name="subscription_change_failed">Subscription बदला नहीं जा सका</string>
<string name="subscription_update_failed">दस्यता का अद्यतन नहीं हो सका</string>
<string name="subscription_change_failed">सब्सक्रिप्शन बदला नहीं जा सका</string>
<string name="subscription_update_failed">ब्सक्रिप्शन अपडेट नहीं किया जा सका</string>
<string name="fragment_feed_title">देखे की क्या नया है</string>
<string name="download_path_title">वीडियो डाउनलोड फ़ोल्डर</string>
<string name="download_path_title">वीडियो डाउनलोड का फ़ोल्डर</string>
<string name="download_path_summary">डाउनलोड की गई वीडियो फ़ाइलें यहां संग्रहीत हैं</string>
<string name="download_path_dialog_title">वीडियो फ़ाइलों के लिए डाउनलोड फ़ोल्डर चुनें</string>
<string name="download_path_audio_title">ऑडियो डाउनलोड फ़ोल्डर</string>
<string name="download_path_audio_summary">डाउनलोड की गई वीडियो फ़ाइलें यहां संग्रहीत हैं</string>
<string name="download_path_audio_summary">डाउनलोड की गई डियो फ़ाइलें यहां संग्रहीत हैं</string>
<string name="download_path_audio_dialog_title">ऑडियो फ़ाइलों के लिए डाउनलोड फ़ोल्डर चुनें</string>
<string name="autoplay_by_calling_app_summary">अन्य अप्प के द्वारा NewPipe के आह्वान पर वीडियो तुरंत चले</string>
<string name="default_resolution_title">वीडियो का डिफ़ॉल्ट रिज़ॉल्यूशन</string>
<string name="default_popup_resolution_title">विडियो पॉपअप का डिफ़ॉल्ट रिज़ॉल्यूशन</string>
<string name="show_higher_resolutions_title">उच्च रिज़ॉल्यूशन दिखाएं</string>
<string name="show_higher_resolutions_summary">केवल कुछ ही यंत्र है जो 2K/4K विडियो चला सकते हैं</string>
<string name="autoplay_by_calling_app_summary">दूसरे ऐप द्वारा न्यूपाइप को बुलान पर तुरंत वीडियो चलाएं</string>
<string name="default_resolution_title">डिफ़ॉल्ट रिज़ॉल्यूशन</string>
<string name="default_popup_resolution_title">पॉपअप का डिफ़ॉल्ट रिज़ॉल्यूशन</string>
<string name="show_higher_resolutions_title">उच्च रिज़ॉल्यूशन दिखाएं</string>
<string name="show_higher_resolutions_summary">केवल कुछ ही डिवाइस 2K/4K मे विडियो चला सकते हैं</string>
<string name="play_with_kodi_title">Kodi से चलायें</string>
<string name="kore_not_found">Kore एप्प नहीं मिली, इसे इनस्टॉल करें\?</string>
<string name="kore_not_found">Kore प नहीं मिली, इसे इनस्टॉल करें\?</string>
<string name="show_play_with_kodi_title">\"Kodi से चलायें\" वाला विकल्प दिखाएँ</string>
<string name="show_play_with_kodi_summary">कोडी मीडिया सेंटर के माध्यम से वडियो चलाने के लिए एक विकल्प प्रदर्शित करें</string>
<string name="default_audio_format_title">डिफ़ॉल्ट ऑडियो का फॉर्मेट</string>
<string name="default_video_format_title">डिफ़ॉल्ट विडियो का फॉर्मेट</string>
<string name="theme_title">एप्प का नया रूप</string>
<string name="dark_theme_title">ाला</string>
<string name="popup_remember_size_pos_title">विडियो पॉपअप क आकर और उसकी स्थति को याद रखे</string>
<string name="popup_remember_size_pos_summary">विडियो पॉपअप के पहले वाली आकर और उसकी स्थिति को याद रखे</string>
<string name="player_gesture_controls_title">प्लेयर इशारा नियंत्रण</string>
<string name="player_gesture_controls_summary">प्लेयर की ब्राइटनेस और ध्वनी को नियंत्र के लिए फ़ोन में इशारो का प्रयोग करे</string>
<string name="show_search_suggestions_title">खोज के सुझाव देखे</string>
<string name="show_search_suggestions_summary">जब कुछ ढूंड रहे हो तो सुझाव दिखाये</string>
<string name="enable_search_history_title">खोज क इतिहास को देखे</string>
<string name="enable_search_history_summary">खोज के query को फ़ोन की मेमोरी में ही रखे</string>
<string name="enable_watch_history_summary">देखे हुए विडियो की सूची रखे</string>
<string name="resume_on_audio_focus_gain_title">वीडियो ज़ारी रखें</string>
<string name="show_play_with_kodi_summary">Kodi मीडिया सेंटर से विडियो चलाने के लिए विकल्प प्रदर्शित करें</string>
<string name="default_audio_format_title">डिफ़ॉल्ट ऑडियो फॉर्मेट</string>
<string name="default_video_format_title">डिफ़ॉल्ट विडियो फॉर्मेट</string>
<string name="theme_title">ऐप थीम</string>
<string name="dark_theme_title">डार्</string>
<string name="popup_remember_size_pos_title">विडियो पॉपअप क आकर और उसकी स्थति को याद रखे</string>
<string name="popup_remember_size_pos_summary">विडियो पॉपअप की आखिरी स्थिति और आकर को याद रखे</string>
<string name="player_gesture_controls_title">प्लेयर के गेस्चर कंट्रोल</string>
<string name="player_gesture_controls_summary">प्लेयर की चमक और आवाज को नियंत्रित करने के लिए गेस्चर्स का इस्तेमाल करे</string>
<string name="show_search_suggestions_title">खोज के सुझाव</string>
<string name="show_search_suggestions_summary">खोज के दौरान सुझाव दिखाये</string>
<string name="enable_search_history_title">खोज क इतिहास</string>
<string name="enable_search_history_summary">खोज के डेटा को सिर्फ डिवाइस मेमोरी में रखे</string>
<string name="enable_watch_history_summary">देखे ए विडियो की सूची रखे</string>
<string name="resume_on_audio_focus_gain_title">वीडियो</string>
<string name="resume_on_audio_focus_gain_summary">रूकावटे खत्म होने के बाद विडियो प्ले करे (जैसे - फ़ोन कॉल)</string>
<string name="show_next_and_similar_title">\'अगला\' और \'पहले समान\' वीडियो दिखाए</string>
<string name="show_next_and_similar_title">\'अगला\' और \'समान\' वीडियो दिखाए</string>
<string name="show_hold_to_append_title">\"जोड़ने के लिए पकड़ें रहे\" दिखाए</string>
<string name="show_hold_to_append_summary">जब बैकग्राउंड और पॉपअप बटन विडियो के विवरण पन्ने में दबाई जाए तो tip को दिखाए</string>
<string name="unsupported_url">ये वाला URL इसमें नहीं चलेगा</string>
<string name="unsupported_url">असमर्थित URL</string>
<string name="content_language_title">डिफ़ॉल्ट विषय की भाषा</string>
<string name="settings_category_player_title">प्लेयर</string>
<string name="settings_category_player_behavior_title">चाल चलन</string>
@@ -235,8 +234,8 @@
<string name="start_here_on_main">यंहा से चलाना शुरू करे</string>
<string name="start_here_on_background">पृष्टभूमि में चलाना शुरू करे</string>
<string name="start_here_on_popup">पॉपअप में चलाना शुरू करे</string>
<string name="no_player_found_toast">स्ट्रीम करने के लिए प्लेयर उपलब्ध नहीं है (आप इसे चलाने के लिए VLC प्लेयर इंस्टॉल कर सकते हैं)।</string>
<string name="controls_download_desc">स्ट्रीम डाउनलोड करें</string>
<string name="no_player_found_toast">स्ट्रीमिंग करने के लिए कोई प्लेयर उपलब्ध नहीं है (आप इसे चलाने के लिए VLC प्लेयर इंस्टॉल कर सकते हैं)।</string>
<string name="controls_download_desc">स्ट्रीम फाइल डाउनलोड करें</string>
<string name="show_info">जानकारी दिखाएं</string>
<string name="tab_bookmarks">बुकमार्क किये गए प्लेलिस्टस</string>
<string name="controls_add_to_playlist_title">में जोड़े</string>
@@ -306,15 +305,15 @@
<string name="caption_auto_generated">ऑटो-जनरेटेड</string>
<string name="enable_leak_canary_summary">हीप डंप करने के दौरान मेमोरी लीक मॉनिटरिंग ऐप को अनुत्तरदायी बना सकता है</string>
<string name="enable_disposed_exceptions_title">Out-of-Lifecycle त्रुटियों की रिपोर्ट करें</string>
<string name="download_thumbnail_title">छायाप्रारुप लोड करें</string>
<string name="use_inexact_seek_title">तेजी से अचूक तलाश का प्रयोग करें</string>
<string name="use_inexact_seek_summary">चूक खोज प्लेयर को कम परिशुद्धता साथ तेजी से पदों की तलाश करने की अनुमति देता है|</string>
<string name="download_thumbnail_title">थंबनेल लोड करें</string>
<string name="use_inexact_seek_title">तेज और अनिश्चित तलाश का प्रयोग करें</string>
<string name="use_inexact_seek_summary">निश्चित खोज के कारण वीडियो प्लेयर कम सटीकता लेकिन तेजी से वीडियो पोजीशन्स की तलाश कर सकता है। 5,15 या 25 सेकंड की तलाश में यह काम नहीं करता।</string>
<string name="download_thumbnail_summary">थंबनेल लोड करने, डेटा और मेमोरी उपयोग को रोकने के लिए बंद करें। इन-मेमोरी और ऑन-डिस्क छवि कैश दोनों को बदलता है|</string>
<string name="thumbnail_cache_wipe_complete_notice">छवि कैश मिटा दिया</string>
<string name="metadata_cache_wipe_title">कैश मेटाडेटा वाइप करे</string>
<string name="metadata_cache_wipe_summary">सभी कैश किए गए वेबपृष्ठ डेटा हटाएं</string>
<string name="metadata_cache_wipe_complete_notice">मेटाडाटा कैश मिटा दिया गया</string>
<string name="auto_queue_title">अगली स्ट्रीम को स्वचालित रूप से जोड़ें</string>
<string name="thumbnail_cache_wipe_complete_notice">इमेज कैश मिटाया गया</string>
<string name="metadata_cache_wipe_title">कैश मेटाडेटा मिटाए</string>
<string name="metadata_cache_wipe_summary">कैश किए गए सभी वेबपेज का डेटा हटाएं</string>
<string name="metadata_cache_wipe_complete_notice">मेटाडाटा कैश मिटाया गया</string>
<string name="auto_queue_title">अगली स्ट्रीम को ऑटोमैटिकली जोड़ें</string>
<string name="auto_queue_summary">गैर-दोहराने वाली कतार में अंतिम स्ट्रीम चलाते समय संबंधित स्ट्रीम को स्वतः संलग्न करें</string>
<string name="file">फाइल</string>
<string name="channels">चेनल्स</string>
@@ -382,14 +381,14 @@
<string name="minimize_on_exit_background_description">पृष्ठभूमि प्लेयर में बदले</string>
<string name="minimize_on_exit_popup_description">पॉप अप प्लेयर में बदले</string>
<string name="app_license">न्यूपाइप एक काॅपीलेफ़्ट फ़्री साॅफ़्टवेर है: इसे आप अपनी इच्छा के अनुसार इस्तेमाल, जाँच, बाँट तथा और बेहतर बना सकते है। खास तौर पर आप इसे फ़्री साॅफ़्टवेर फ़ाउंडेशन के द्वारा जारी जीएनयू जनरल पब्लिक लाइसेंस के तीसरे या उसके बाद आने वाले कोई भी वर्णन के शर्तों के मुताबिक फिर से बाँट या बदल सकते हैं।</string>
<string name="unsubscribe">सदस्यता वापस ले ली</string>
<string name="tab_new">नया ट</string>
<string name="tab_choose">ब चुने</string>
<string name="volume_gesture_control_title">वॉल्यूम नियंत्रण</string>
<string name="unsubscribe">अनसब्सक्राइब करे</string>
<string name="tab_new">नया ट</string>
<string name="tab_choose">ब चुने</string>
<string name="volume_gesture_control_title">गेस्चर वॉल्यूम नियंत्रण</string>
<string name="enqueue">कतार</string>
<string name="volume_gesture_control_summary">वीडियो प्लेयर की आवाज नियंत्रित करने के लिए गेस्चरस का इस्तेमाल करे</string>
<string name="brightness_gesture_control_title">चमक बदलने का इशारा</string>
<string name="brightness_gesture_control_summary">वीडियो प्लेयर की चमक नियंत्रित करने के लिए गेस्चरस का इस्तेमाल करें</string>
<string name="brightness_gesture_control_title">गेस्चर से चमक कंट्रोल करे</string>
<string name="brightness_gesture_control_summary">वीडियो प्लेयर की चमक को नियंत्रित करने के लिए गेस्चरस का इस्तेमाल करें</string>
<string name="settings_category_updates_title">अपडेट</string>
<string name="file_deleted">फाइल मिटा दी गयी</string>
<string name="app_update_notification_channel_name">अप्प अपडेट अधिसूचना</string>
@@ -435,16 +434,16 @@
<string name="pause_downloads_on_mobile_desc">मोबाइल डाटा का इस्तेमाल करते समय उपयोगी है, परन्तु कुछ डौन्लोडस रोके नहीं जा सकते है</string>
<string name="events">घटनायें</string>
<string name="conferences">सम्मेलनों</string>
<string name="show_comments_title">टिप्पणियाँ दिखाएं</string>
<string name="show_comments_summary">टिप्पणियाँ छिपाने के लिए इसे बंद करे</string>
<string name="autoplay_title">ऑटोप्ले</string>
<string name="show_comments_title">कॉमेंट्स दिखाएं</string>
<string name="show_comments_summary">कॉमेंट्स छिपाने के लिए इसे बंद करे</string>
<string name="autoplay_title">ऑटोप्ले करे</string>
<string name="no_comments">कोई टिपण्णी नहीं</string>
<string name="error_unable_to_load_comments">टिप्पणियाँ लोड नहीं कर सका</string>
<string name="close">बंद करे</string>
<string name="enable_playback_resume_title">फिर से शुरू करे</string>
<string name="enable_playback_resume_summary">आखरी प्लेबैक स्थान पर लौटे</string>
<string name="enable_playback_resume_title">प्लेबैक वापस चालू करे</string>
<string name="enable_playback_resume_summary">आखिरी प्लेबैक पोजिशन पर वापस लौटे</string>
<string name="enable_playback_state_lists_title">सूचियों में स्थान</string>
<string name="enable_playback_state_lists_summary">प्लेबैक स्थान निशान सूचियों में दिखाए</string>
<string name="enable_playback_state_lists_summary">प्लेबैक पोजिशन के निशान सूचियों में दिखाए</string>
<string name="settings_category_clear_data_title">डाटा मिटायें</string>
<string name="watch_history_states_deleted">प्लेबैक स्थान मिटा दिए गए|</string>
<string name="missing_file">फाइल की जगह बदली गयी या फिर फाइल मिटा दी गयी</string>
@@ -520,7 +519,7 @@
<string name="video_detail_by">%s के द्वारा</string>
<string name="channel_created_by">%s के द्वारा बनाया गया</string>
<string name="playlist_page_summary">प्लेलिस्ट पृष्ठ</string>
<string name="search_showing_result_for">परिणाम दिखा रह हैं : %s</string>
<string name="search_showing_result_for">%s : के लिए परिणाम दिखया जा रह है</string>
<string name="recaptcha_done_button">हो गया</string>
<string name="artists">कलाकार</string>
<string name="songs">गाने</string>
@@ -538,25 +537,25 @@
<string name="show_age_restricted_content_summary">बच्चों के लिए अनुपयुक्त सामग्री दिखाएं क्योंकि इसकी आयु सीमा है (जैसे 18)</string>
<string name="settings_category_notification_title">अधिसूचना</string>
<string name="peertube_instance_add_https_only">केवल HTTPS यूआरएल ही समर्थित हैं</string>
<string name="unsupported_url_dialog_message">यूआरएल को नहीं पहचान पाये। दूसरे ऐप से खोलें\?</string>
<string name="auto_queue_toggle">ऑटोमैटिक कतार करे</string>
<string name="clear_queue_confirmation_title">कतार को साफ़ करने से पहले पुष्टि के लिए पूछें</string>
<string name="seek_duration_title">फास्ट-फ़ॉरवर्ड /- रिवाइंड अवधि की तलाश करे</string>
<string name="unsupported_url_dialog_message">URL की पहचान नहीं हो सकी। दूसरे ऐप से खोलें\?</string>
<string name="auto_queue_toggle">ऑटोमैटिकली कतार करे</string>
<string name="clear_queue_confirmation_title">कतार को मिटाने से पहले सत्यापन के लिए पूछें</string>
<string name="seek_duration_title">तलाश अवधि फास्ट-फ़ॉरवर्ड /- रिवाइंड करे</string>
<string name="notification_colorize_summary">एंड्रॉइड को थंबनेल में मुख्य रंग के अनुसार अधिसूचना के रंग को अनुकूलित करने दें (ध्यान दें कि यह सभी फोन पर उपलब्ध नहीं है)</string>
<string name="notification_colorize_title">अधिसूचना को रंगें</string>
<string name="notification_colorize_title">नोटीफिकेशन को रंगीन करें</string>
<string name="notification_action_nothing">कुछ नहीं</string>
<string name="notification_action_buffering">बफरिंग</string>
<string name="notification_action_shuffle">Shuffle करे</string>
<string name="notification_action_repeat">दोहराएं</string>
<string name="notification_actions_at_most_three">कॉम्पैक्ट अधिसूचना में दिखाने के लिए आप अधिकतम तीन क्रियाओंयन कर सकते है!</string>
<string name="notification_actions_summary">इस पर टैप करके नीचे दी गई प्रत्येक सूचना को संपादित करें। दाईं ओर चेकबॉक्स का उपयोग करके कॉम्पैक्ट अधिसूचना में दिखाए जाने के लिए उनमें से तीन तक का चयन करें</string>
<string name="notification_actions_at_most_three">आप कॉम्पैक्ट नोटिफिकेशन में दिखाए जाने वाले ऑप्शन्स में से अधिकतम 3ुन सकते है !</string>
<string name="notification_actions_summary">प्रत्येक नोटिफिकेशन को संपादित करने के लिए उस पर क्लिक करें। दाईं तरफ के चेकबॉक्स का इस्तेमाल करके नोटिफिकेशन में दिखाए जाने वाले अधिकतम 3 ऑप्शंस को चुना जा सकता है</string>
<string name="notification_action_4_title">पांचवा एक्शन बटन</string>
<string name="notification_action_3_title">चौथा एक्शन बटन</string>
<string name="notification_action_2_title">तीसरा एक्शन बटन</string>
<string name="notification_action_1_title">दूसरा एक्शन बटन</string>
<string name="notification_action_0_title">पहला एक्शन बटन</string>
<string name="notification_scale_to_square_image_summary">अधिसूचना में दिखाए गए वीडियो थंबनेल को 16: 9 े 1: 1 के अनुपात में दिखाया गया है (विकृतियों का परिचय दे सकत है)</string>
<string name="notification_scale_to_square_image_title">वीडियो छवि को 1:1 के आस्पेक्ट अनुपात मैं देखे</string>
<string name="notification_scale_to_square_image_summary">नोटिफिकेशन में दिखाए गए वीडियो थंबनेल को 16: 9 बजाय 1: 1 के अनुपात में दिखाए (इस कारण कुछ परेशानियां हो सकत है)</string>
<string name="notification_scale_to_square_image_title">थंबनेल को 1:1 के अनुपात मैं दिखाए</string>
<plurals name="hours">
<item quantity="one">%dघंटा</item>
<item quantity="other">%dघंटे</item>
@@ -594,11 +593,11 @@
<string name="hash_channel_name">वीडियो हैश अधिसूचना</string>
<string name="show_meta_info_summary">स्ट्रीम निर्माता, स्ट्रीम विषय सूची या खोज अनुरोध के बारे में अतिरिक्त जानकारी के साथ मेटा जानकारी बक्से को छिपाने के लिए बंद करें.</string>
<string name="show_meta_info_title">मेटा जानकारी दिखाएँ</string>
<string name="show_description_summary">वीडियो विवरण और अतिरिक्त जानकारी छिपाने के लिए इसे बंद करें</string>
<string name="show_description_summary">वीडियो का विवरण और अतिरिक्त जानकारी छिपाने के लिए इसे बंद करें</string>
<string name="show_description_title">विवरण दिखाएं</string>
<string name="clear_queue_confirmation_description">सक्रिय प्लेअर की क़तार बदल दी जाएगी</string>
<string name="clear_queue_confirmation_summary">एक प्लेअर से दूसरे प्लेअर में जाने से आपकी कतार बदल सकती है</string>
<string name="open_with">के साथ खोलें</string>
<string name="open_with">मे खोलें</string>
<string name="show_thumbnail_title">थंबनेल दिखाएं</string>
<string name="show_thumbnail_summary">लॉक स्क्रीन और नोटिफिकेशन दोनों के लिए थंबनेल का इस्तेमाल करे</string>
<string name="chapters">पाठ</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Za početak dodirnite \"Pretraži\"
\n</string>
<string name="main_bg_subtitle">Za početak dodirnite \"Lupo\"</string>
<string name="view_count_text">%1$s pregleda</string>
<string name="upload_date_text">Objavljeno %1$s</string>
<string name="no_player_found">Reproduktor za stream nije pronađen. Instalirati VLC\?</string>
@@ -32,7 +31,7 @@
<string name="controls_background_title">Pozadina</string>
<string name="controls_popup_title">Skočni prozor</string>
<string name="download_path_title">Mapa za preuzimanje videozapisa</string>
<string name="download_path_summary">Preuzete video datoteke se spremaju ovdje</string>
<string name="download_path_summary">Ovdje se spremaju preuzete video datoteke</string>
<string name="download_path_dialog_title">Odaberi mapu za preuzimanje video datoteka</string>
<string name="download_path_audio_title">Mapa za preuzimanje zvuka</string>
<string name="download_path_audio_summary">Preuzete audio datoteke se spremaju ovdje</string>
@@ -263,8 +262,8 @@
<string name="playlist_add_stream_success">Dodano kao playlistu</string>
<string name="playlist_thumbnail_change_success">Minijatura playliste se promijenila.</string>
<string name="playlist_delete_failure">Greška prilikom brisanja playliste.</string>
<string name="caption_none">Bez naslova</string>
<string name="resize_fit">Podesno</string>
<string name="caption_none">Bez titlova</string>
<string name="resize_fit">Popuni</string>
<string name="resize_fill">Ispuniti</string>
<string name="resize_zoom">Povećaj</string>
<string name="caption_auto_generated">Auto generirano</string>
@@ -287,8 +286,8 @@
<string name="switch_to_background">Prijeđi na pozadinu</string>
<string name="switch_to_popup">Prijeđi na skočni prozor</string>
<string name="switch_to_main">Prijeđi na glavni</string>
<string name="import_data_title">Uvoz baze podataka</string>
<string name="export_data_title">Izvoz baze podataka</string>
<string name="import_data_title">Uvezi bazu podataka</string>
<string name="export_data_title">Izvezi bazu podataka</string>
<string name="import_data_summary">Poništava vašu trenutačnu povijest, pretplate, playliste i (opcionalno) postavke</string>
<string name="export_data_summary">Izvezi povijest, pretplate, playliste i postavke</string>
<string name="clear_views_history_title">Izbriši povijest gledanja</string>
@@ -318,8 +317,8 @@
<string name="delete_all_history_prompt">Jeste li sigurni da želite izbrisati sve stavke iz povijesti?</string>
<string name="title_last_played">Zadnje svirano</string>
<string name="title_most_played">Najviše svirano</string>
<string name="export_complete_toast">Izvoz završen</string>
<string name="import_complete_toast">Uvoz završen</string>
<string name="export_complete_toast">Izvezeno</string>
<string name="import_complete_toast">Uvezeno</string>
<string name="no_valid_zip_file">Nema važeće ZIP datoteke</string>
<string name="could_not_import_all_files">Upozorenje: Nije moguće uvesti sve datoteke.</string>
<string name="override_current_data">Ovo će poništiti vaše trenutne postavke.</string>
@@ -331,9 +330,9 @@
<string name="import_ongoing">Uvoz…</string>
<string name="export_ongoing">Izvoz…</string>
<string name="import_file_title">Uvoz datoteke</string>
<string name="previous_export">Prethodni izvozi</string>
<string name="subscriptions_import_unsuccessful">Nije moguće uvesti pretplatnike</string>
<string name="subscriptions_export_unsuccessful">Nije moguće izvesti pretplatnike</string>
<string name="previous_export">Prethodni izvoz</string>
<string name="subscriptions_import_unsuccessful">Nije bilo moguće uvesti pretplate</string>
<string name="subscriptions_export_unsuccessful">Nije bilo moguće izvesti pretplate</string>
<string name="import_youtube_instructions">Uvezite YouTube pretplatnike preuzimanjem izvozne datoteke Google-a:
\n
\n1. Idite na ovaj URL: %1$s
@@ -390,7 +389,7 @@
<string name="default_content_country_title">Zadana zemlja sadržaja</string>
<string name="settings_category_debug_title">Otkrivanje grešaka</string>
<string name="app_update_notification_channel_name">Obavijest o ažuriranju aplikacije</string>
<string name="toggle_orientation">Uključite ili isključite orijentaciju</string>
<string name="toggle_orientation">Uklj/isklj orijentaciju</string>
<string name="download_to_sdcard_error_message">Preuzimanje na vanjsku SD karticu nije moguće. Ponovo postaviti lokaciju mape za preuzimanje\?</string>
<string name="external_player_unsupported_link_type">Vanjski playeri ne podržavaju ove vrste veza</string>
<string name="video_streams_empty">Nije pronađen nijedan videozapis</string>
@@ -408,7 +407,7 @@
<string name="conferences">Konferencije</string>
<string name="preferred_open_action_settings_title">Preferirana \'otvori\' akcija</string>
<string name="preferred_open_action_settings_summary">Zadana radnja pri otvaranju sadržaja — %s</string>
<string name="caption_setting_title">Podnaslovi</string>
<string name="caption_setting_title">Titlovi</string>
<string name="caption_setting_description">Izmijenite skalu teksta naslova player-a i pozadinske stilove. Potrebno je ponovno pokretanje aplikacije kako bi stupilo na snagu.</string>
<string name="enable_disposed_exceptions_summary">Prisilno izvješćivanje o greškama Rx-a koje se ne mogu isporučiti izvan \'fragmenta\' ili životnog ciklusa aktivnosti nakon odlaganja</string>
<string name="import_soundcloud_instructions">Uvezite SoundCloud profil tako da upišete URL ili svoj ID:
@@ -440,7 +439,7 @@
<string name="overwrite_finished_warning">Preuzeta datoteka s tim nazivom već postoji</string>
<string name="download_already_running">Datoteka s ovim nazivom se već preuzima</string>
<string name="label_code">Kod</string>
<string name="error_path_creation">Odredišna mapa se ne može stvoriti</string>
<string name="error_path_creation">Nije moguće stvoriti odredišnu mapu</string>
<string name="error_file_creation">Datoteka se ne može stvoriti</string>
<string name="error_permission_denied">Sustav je odbio dozvolu</string>
<string name="error_ssl_exception">Nije moguće uspostaviti sigurnu vezu</string>
@@ -612,7 +611,7 @@
</plurals>
<string name="drawer_header_description">Uklj/Isklj uslugu, trenutačno odabrana:</string>
<string name="copy_for_github">Kopiraj formatirani izveštaj</string>
<string name="clear_cookie_summary">Izbriši riješene reCAPTCHA kolačiće koje NewPipe sprema</string>
<string name="clear_cookie_summary">Izbriši kolačiće koje NewPipe sprema nakon rješavanja reCAPTCHA</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA kolačići su izbrisani</string>
<string name="clear_cookie_title">Izbriši reCAPTCHA kolačiće</string>
<string name="restricted_video">Ovaj video je dobno ograničen.
@@ -689,4 +688,6 @@
<string name="recaptcha_solve">Riješi</string>
<string name="night_theme_title">Noćna tema</string>
<string name="show_channel_details">Prikaži detalje kanala</string>
<string name="disable_media_tunneling_summary">Iskljuci medija tuneling ako dobivate crni ekran kada gledate video</string>
<string name="disable_media_tunneling_title">Iskljuci medija tuneling</string>
</resources>

View File

@@ -46,18 +46,18 @@
<string name="detail_likes_img_view_description">Tetszik</string>
<string name="detail_dislikes_img_view_description">Nem tetszik</string>
<string name="list_thumbnail_view_description">Előnézeti kép</string>
<string name="detail_thumbnail_view_description">Előnézeti kép</string>
<string name="detail_thumbnail_view_description">Vidó lejátszása, időtartam:</string>
<string name="detail_uploader_thumbnail_view_description">Fetöltő profilképe</string>
<string name="err_dir_create">Nem lehet létrehozni a letöltési mappát \'%1$s\'</string>
<string name="info_dir_created">Letöltés mappa létrehozása \'%1$s\'</string>
<string name="content">Tartalom</string>
<string name="show_age_restricted_content_title">Korhatáros tartalom</string>
<string name="show_age_restricted_content_title">Korhatáros tartalom megjelenítése</string>
<string name="general_error">Hiba</string>
<string name="content_not_available">A tartalom nem elérhető</string>
<string name="live_streams_not_supported">Ez egy élő közvetítés, amely még nem támogatott.</string>
<string name="live_streams_not_supported">Élő közvetítések még nem támogatottak</string>
<string name="autoplay_by_calling_app_title">Automatikus lejátszás</string>
<string name="autoplay_by_calling_app_summary">Videók automatikus lejátszása, ha a NewPipe egy másik alkalmazásból lett indítva</string>
<string name="duration_live">É</string>
<string name="duration_live">É</string>
<string name="error_snackbar_action">Jelentés</string>
<string name="what_device_headline">Információ:</string>
<string name="what_happened_headline">Ez történt:</string>
@@ -65,18 +65,17 @@
<string name="error_details_headline">Részletek:</string>
<string name="error_snackbar_message">Sajnos hiba történt.</string>
<string name="sorry_string">Elnézést, ennek nem kellett volna megtörténnie.</string>
<string name="error_report_button_text">Hibajelentés e-mailben</string>
<string name="error_report_button_text">Hiba bejelentése e-mailben</string>
<string name="could_not_get_stream">A stream nem elérhető</string>
<string name="could_not_setup_download_menu">Nem sikerült a letöltés menü beállítása</string>
<string name="youtube_signature_deobfuscation_error">Nem sikerült a videó URL aláírás azonosítása</string>
<string name="storage_permission_denied">Háttértárhoz való hozzáférés megtagadva</string>
<string name="storage_permission_denied">Előbb adj hozzáférést a tárhelyhez</string>
<string name="retry">Újra</string>
<string name="report_error">Hibajelentés</string>
<string name="user_report">Felhasználói jelentés</string>
<string name="video">Videó</string>
<string name="audio">Audio</string>
<string name="main_bg_subtitle">A kezdéshez koppints a \"Keresés\"-re
\n</string>
<string name="main_bg_subtitle">A kezdéshez koppints a \"Keresés\"-re</string>
<string name="could_not_load_thumbnails">Nem sikerült az összes előnézeti kép betöltése</string>
<string name="parsing_error">Nem sikerült a weblap betöltése</string>
<string name="light_parsing_error">Nem sikerült a weblap teljes betöltése</string>
@@ -98,7 +97,7 @@
<string name="msg_running_detail">Katt a részletekért</string>
<string name="msg_wait">Kérlek várj…</string>
<string name="msg_copied">Vágólapra másolva</string>
<string name="no_available_dir">Kérlek válassz egy létező könyvtárat a letöltésekhez.</string>
<string name="no_available_dir">Kérlek adj meg egy letöltés könyvtárat a beállításokban</string>
<string name="msg_server_unsupported">Nem támogatott szerver</string>
<string name="add">Új küldetés</string>
<string name="channel_unsubscribed">Csatornáról leiratkozva</string>
@@ -156,8 +155,8 @@
<string name="unknown_content">[Ismeretlen]</string>
<string name="import_data_title">Adatbázis importálása</string>
<string name="export_data_title">Adatbázis exportálása</string>
<string name="import_data_summary">Felülírja a jelenlegi előzményeket és feliratkozásokat</string>
<string name="export_data_summary">Előzmények, feliratkozások és lejátszási listák exportálása</string>
<string name="import_data_summary">Felülírja a jelenlegi előzményeket, feliratkozásokat, lejátszási listákat és (opcionálisan) a beállításokat</string>
<string name="export_data_summary">Előzmények, feliratkozások, lejátszási listák és beállítások exportálása</string>
<string name="could_not_load_image">Kép betöltése sikertelen</string>
<string name="app_ui_crash">Alkalmazás/Kezelő felület összeomlott</string>
<string name="player_stream_failure">Videó lejátszása sikertelen</string>
@@ -188,7 +187,7 @@
<string name="switch_to_background">Folytatás a háttérben</string>
<string name="switch_to_popup">Folytatás felugró ablakban</string>
<string name="clear_views_history_title">Megtekintési előzmények törlése</string>
<string name="clear_views_history_summary">Eltávolítja a megtekintési előzményeket</string>
<string name="clear_views_history_summary">Eltávolítja a megtekintési előzményeket és a visszajátszás helyét</string>
<string name="delete_view_history_alert">Törlöd az összes megtekintési előzményt\?</string>
<string name="watch_history_deleted">Megtekintési előzmények törölve.</string>
<string name="clear_search_history_title">Keresési előzmények törlése</string>
@@ -197,13 +196,13 @@
<string name="search_history_deleted">Keresési előzmények törölve.</string>
<string name="player_unrecoverable_failure">Lejátszási hiba történt</string>
<string name="player_recoverable_failure">Lejátszási hiba helyreállítása</string>
<string name="invalid_directory">Érvénytelen könyvtár</string>
<string name="invalid_source">Érvénytelen fájl vagy tartalom forrás</string>
<string name="invalid_file">A fájl nem létezik vagy jogosultsági hiba lépett fel</string>
<string name="invalid_directory">Nincs ilyen mappa</string>
<string name="invalid_source">Nincs ilyen fájl vagy tartalom forrás</string>
<string name="invalid_file">A fájl nem létezik vagy jogosultság az olvasáshoz és íráshoz hiányzik</string>
<string name="file_name_empty_error">A fájl neve nem lehet üres</string>
<string name="error_occurred_detail">Hiba történt: %1$s</string>
<string name="no_streams_available_download">Nincs letölthető adatforrás</string>
<string name="empty_subscription_feed_subtitle">Itt nincs semmi</string>
<string name="empty_subscription_feed_subtitle">Nincs itt semmi pár tücskön kívül</string>
<string name="detail_drag_description">Húzza az átrendezéshez</string>
<string name="short_thousand">e</string>
<string name="short_million">M</string>
@@ -251,7 +250,7 @@
<string name="contribution_encouragement">Legyen ötleted a fordítással, a megjelenéssel, a forrás kód tisztításával vagy komolyabb átszervezésével kapcsolatban, bármilyen segítséget szívesen fogadunk. Járulj hozzá az alkalmazás fejlesztéséhez!</string>
<string name="view_on_github">Megtekintés GitHubon</string>
<string name="donation_title">Adományozás</string>
<string name="donation_encouragement">A NewPipe alkalmazást önkéntesek fejlesztik szabadidejükben, hogy a lehető legjobb élményt hozzák el neked. Járulj hozzá a fejlesztők kávéjához, hogy tovább dolgozhassanak az alkalmazáson!</string>
<string name="donation_encouragement">A NewPipe alkalmazást önkéntesek fejlesztik az ő szabadidejükben, hogy a lehető legjobb felhasználói élményt hozzák el neked. Járulj hozzá, hogy segítsd a fejlesztőket amíg ők egy csésze kávét szürcsölnek, hogy még jobbá tehessük a NewPipe-ot.</string>
<string name="give_back">Hozzájárulás</string>
<string name="website_title">Honlap</string>
<string name="website_encouragement">Látogasd meg a NewPipe honlapját további információkért és hírekért!</string>
@@ -283,8 +282,8 @@
<string name="select_a_channel">Csatorna választása</string>
<string name="no_channel_subscribed_yet">Még nincs csatorna feliratkozás</string>
<string name="select_a_kiosk">Újságárus választása</string>
<string name="export_complete_toast">Sikeres export</string>
<string name="import_complete_toast">Sikeres import</string>
<string name="export_complete_toast">Exportálva</string>
<string name="import_complete_toast">Importálva</string>
<string name="no_valid_zip_file">Nem érvényes ZIP fájl</string>
<string name="could_not_import_all_files">Figyelmeztetés: nem sikerült az összes fájl importálása.</string>
<string name="override_current_data">Ez felül fogja írni a jelenlegi beállításokat.</string>
@@ -304,18 +303,18 @@
<string name="always_ask_open_action">Mindig kérdezz rá</string>
<string name="preferred_player_fetcher_notification_title">Információk gyűjtése…</string>
<string name="preferred_player_fetcher_notification_message">Kért tartalom betöltése</string>
<string name="create_playlist">Új lejátszási lista létrehozása</string>
<string name="delete_playlist">Lejátszási lista törlése</string>
<string name="rename_playlist">Lejátszási lista átnevezése</string>
<string name="create_playlist">Új lejátszási lista</string>
<string name="delete_playlist">Törlés</string>
<string name="rename_playlist">Átnevezés</string>
<string name="name">Név</string>
<string name="append_playlist">Lejátszási listához adás</string>
<string name="set_as_playlist_thumbnail">Beállítás lejátszási lista előképeként</string>
<string name="set_as_playlist_thumbnail">Beállítás lejátszási lista indexképeként</string>
<string name="unbookmark_playlist">Könyvjelző törlése</string>
<string name="delete_playlist_prompt">Kívánja törölni ezt a lejátszási listát\?</string>
<string name="delete_playlist_prompt">Törlődjön ez a lejátszási lista\?</string>
<string name="playlist_creation_success">Lejátszási listsa létrehozva</string>
<string name="playlist_add_stream_success">Lejátszási listához hozzáadva</string>
<string name="playlist_thumbnail_change_success">Lejátszási lista előképe megváltozott</string>
<string name="playlist_delete_failure">Nem sikerült a lejátszási lista törlése</string>
<string name="playlist_add_stream_success">Hozzáadva lejátszási listához</string>
<string name="playlist_thumbnail_change_success">Lejátszási lista előképe megváltozott.</string>
<string name="playlist_delete_failure">Lejátszási lista törlése nem sikerült.</string>
<string name="caption_none">Felirat kikapcsolva</string>
<string name="resize_fit">Illeszkedés</string>
<string name="resize_fill">Kitöltés</string>
@@ -361,7 +360,7 @@
<string name="minimize_on_exit_none_description">Ne tegyen semmit</string>
<string name="minimize_on_exit_background_description">Lejátszás folytatása a háttérben</string>
<string name="minimize_on_exit_popup_description">Lejátszás folytatása felugró ablakban</string>
<string name="resume_on_audio_focus_gain_title">Lejátszás folytatása a fókusz visszaszerzésekor</string>
<string name="resume_on_audio_focus_gain_title">Lejátszás folytatása</string>
<string name="show_hold_to_append_title">Mutassa a \"Tartsa lenyomva a hozzáadáshoz\" tippet</string>
<string name="background_player_append">Várólistához adva a háttérben</string>
<string name="toggle_orientation">Elforgatás</string>
@@ -608,4 +607,31 @@
<string name="start_here_on_background">Lejátszás a háttérben</string>
<string name="enqueued">Sorhoz hozzáadva</string>
<string name="enqueue_stream">Sorhoz adás</string>
<string name="saved_tabs_invalid_json">Mentett fülek olvasása sikertelen, alapértelmezettek használata</string>
<string name="hash_channel_description">Értesítések a videó hashelési folyamathoz</string>
<string name="hash_channel_name">Videó hash értesítés</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube biztosít egy \"Korlátozott Módot\" ami elrejti a lehetséges felnőtteknek szóló tartalmat</string>
<string name="youtube_restricted_mode_enabled_title">YouTube \"Korlátozott Mód\"-jának bekapcsolása</string>
<string name="peertube_instance_add_exists">A példány már létezik</string>
<string name="peertube_instance_add_fail">Pédány érvényesítése nem sikerült</string>
<string name="peertube_instance_add_help">Példány URL megadása</string>
<string name="peertube_instance_add_title">Példány hozzáadása</string>
<string name="peertube_instance_url_help">A neked tetsző példányokat megtalálhatod itt: %s</string>
<string name="peertube_instance_url_summary">Válaszd ki a kedvenc PeerTube példányaidat</string>
<string name="peertube_instance_url_title">PeerTube példányok</string>
<string name="player_gesture_controls_title">Lejátszó gesztus vezérlői</string>
<string name="enable_disposed_exceptions_title">Életciklusából kifutott hibák jelentése</string>
<string name="preferred_open_action_settings_title">Preferált \'nyitási\' cselekedet</string>
<string name="drawer_close">Fiók bezárása</string>
<string name="drawer_open">Fiók megnyitása</string>
<string name="show_channel_details">Csatorna részleteinek megjelenítése</string>
<string name="hold_to_append">Tartsd hogy sorba állítsd</string>
<string name="default_kiosk_page_summary">Alap Kiosk</string>
<string name="selection">Kiválasztás</string>
<string name="app_license">A NewPipe egy copyleft szabad szoftver: Felhasználhatod, tanulmányozhatod, megoszthatod és fejlesztheted akaratod szerint. Konkrétan továbbadhatod és/vagy módosíthatod a GNU General Public License feltételei alatt ami a Free Software Foundation álltal lett publikálva, vagy a 3. verzióját a licensznek, vagy (a saját opciód szerint), bármelyik későbbi verzióját.</string>
<string name="recaptcha_solve">Megoldás</string>
<string name="subtitle_activity_recaptcha">Nyomj a \"Kész\"-re amikor meg van oldva</string>
<string name="msg_calculating_hash">Hash számítása</string>
<string name="related_items_tab_description">Összefüggő elemek</string>
<string name="error_report_open_github_notice">Kérlek ellenőrizd, hogy egy hiba, ami az összeomlásodat írja le, létezik-e már. Ha duplikált jegyet adsz be, időt veszel el tőlünk amit arra tudnánk fordítani, hogy kijavítsuk magát a bugot.</string>
</resources>

View File

@@ -54,7 +54,7 @@
<string name="enable_search_history_title">Chronologia de cerca</string>
<string name="enable_search_history_summary">Immagazinar le cercas localmente</string>
<string name="enable_watch_history_title">Chronologia de reproductiones</string>
<string name="enable_playback_resume_title">We</string>
<string name="enable_playback_resume_title">Resumer le reproduction</string>
<string name="enable_playback_resume_summary">Restaurar le ultime position del reproduction</string>
<string name="enable_playback_state_lists_title">Positiones in le listas</string>
<string name="enable_playback_state_lists_summary">Monstrar le indicatores de position in listas</string>
@@ -151,7 +151,7 @@
<string name="action_settings">Configurationes</string>
<string name="action_about">A proposito de</string>
<string name="copyright" formatted="true">© %1$s per %2$s sub %3$s</string>
<string name="action_open_website">Aperir sito web</string>
<string name="action_open_website">Aperir le sito web</string>
<string name="tab_about">A proposito de</string>
<string name="tab_licenses">Licentias</string>
<string name="contribution_title">Contribuer</string>
@@ -207,4 +207,54 @@
<string name="no_one_watching">Nemo is observante</string>
<string name="watch_history_deleted">Chronologia de reproductiones vacuate.</string>
<string name="delete_view_history_alert">Deler omne chronologia de reproductiones\?</string>
<string name="error_snackbar_message">Pardono, qualcosa vadeva incorrecte.</string>
<string name="sorry_string">Pardono, illo non deberea haber ocurrite.</string>
<string name="clear_playback_states_title">Deler le positiones de reproduction</string>
<string name="songs">Cantos</string>
<string name="playlists">Listas de reproduction</string>
<string name="playlist">Lista de reproduction</string>
<string name="error_report_title">Reporto de error</string>
<string name="youtube_restricted_mode_enabled_title">Activar el \"Modo restricte\" de YouTube</string>
<string name="more_than_100_videos">Plus de 100 videos</string>
<string name="no_one_listening">Nemo es ascoltante</string>
<plurals name="views">
<item quantity="one">%s reproduction</item>
<item quantity="other">%s reproductiones</item>
</plurals>
<string name="subscribers_count_not_available">Le numero de subscriptores non es disponibile</string>
<plurals name="subscribers">
<item quantity="one">%s subscriptor</item>
<item quantity="other">%s subscriptores</item>
</plurals>
<string name="no_subscribers">Nulle subscriptores</string>
<string name="audio">Audio</string>
<string name="video">Video</string>
<string name="empty_subscription_feed_subtitle">Nihil contentos ci</string>
<string name="search_no_results">Nulle resultatos</string>
<string name="user_report">Reporto de usator</string>
<string name="report_error">Reportar un error</string>
<string name="description_tab_description">Description</string>
<string name="related_items_tab_description">Fluxos associate</string>
<string name="detail_dislikes_img_view_description">Non me place</string>
<string name="comments_tab_description">Commentos</string>
<string name="detail_likes_img_view_description">Me place</string>
<string name="error_snackbar_action">Reportar</string>
<string name="error_report_open_issue_button_text">Reportar in GitHub</string>
<string name="permission_display_over_apps">Permitter monstrar supra altere applicationes</string>
<string name="restore_defaults_confirmation">Esque tu vole reinitialisar le valores predefinite\?</string>
<string name="restore_defaults">Reinitialisar le valores predefinite</string>
<string name="no_streams_available_download">Nulle fluxos disponibile pro discargar</string>
<string name="error_occurred_detail">Ocurreva un error: %1$s</string>
<string name="missing_file">File displaciate o delite</string>
<string name="app_ui_crash">Falleva le interfacie del application</string>
<string name="download_to_sdcard_error_message">Le discarga al carta SD non es possibile. Reinitialisar le location del dossier de discargas\?</string>
<string name="download_to_sdcard_error_title">Immagazinage externe non disponibile</string>
<string name="general_error">Error</string>
<string name="help">Adjuta</string>
<string name="delete_playback_states_alert">Esque tu vole deler tote le positiones de reproduction\?</string>
<string name="clear_playback_states_summary">Dele tote le positiones de reproduction</string>
<string name="use_inexact_seek_title">Usar le recerca rapide e inexacte</string>
<string name="night_theme_title">Thema nocturne</string>
<string name="notification_action_nothing">Nihil</string>
<string name="show_description_title">Monstrar le description</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Ketuk \"Cari\" untuk memulai
\n</string>
<string name="main_bg_subtitle">Ketuk kaca pembesar untuk segera memulai.</string>
<string name="view_count_text">%1$s x ditonton</string>
<string name="upload_date_text">Dipublikasikan pada tanggal %1$s</string>
<string name="install">Pasang</string>
@@ -10,7 +9,7 @@
<string name="share">Bagikan</string>
<string name="download">Unduh</string>
<string name="search">Telusuri</string>
<string name="settings">Setelan</string>
<string name="settings">Pengaturan</string>
<string name="share_dialog_title">Bagikan dengan</string>
<string name="choose_browser">Pilih browser</string>
<string name="use_external_video_player_title">Gunakan pemutar video eksternal</string>
@@ -159,8 +158,8 @@
<string name="contribution_encouragement">Terlepas apakah Anda memiliki ide untuk; terjemahan, perubahan desain, pembersihan kode, atau perubahan kode yang signifikan, segala bantuan akan selalu diterima. Semakin banyak akan semakin baik jadinya!</string>
<string name="read_full_license">Baca lisensi</string>
<string name="contribution_title">Kontribusi</string>
<string name="subscribe_button_title">Melanggan</string>
<string name="subscribed_button_title">Berlanggan</string>
<string name="subscribe_button_title">Berlangganan</string>
<string name="subscribed_button_title">Disubscribe</string>
<string name="fragment_feed_title">Apa Yang Baru</string>
<string name="resume_on_audio_focus_gain_title">Lanjutkan pemutaran</string>
<string name="resume_on_audio_focus_gain_summary">Melanjutkan pemutaran setelah interupsi (mis. panggilan telepon)</string>
@@ -322,7 +321,7 @@
<string name="auto_queue_title">Putar otomatis streaming berikutnya</string>
<string name="channel_unsubscribed">Berhenti berlanggan channel</string>
<string name="subscription_update_failed">Tidak bisa memperbarui langganan</string>
<string name="tab_subscriptions">Langganan</string>
<string name="tab_subscriptions">Subscription</string>
<string name="use_inexact_seek_title">Gunakan tinjau cepat tak pasti</string>
<string name="use_inexact_seek_summary">Memungkinkan pengguna memilih posisi waktu video dengan cepat tetapi dengan tingkat presisi yang rendah. Mencari 5, 15 atau 25 detik tidak berhasil dengan ini.</string>
<string name="app_license">NewPipe adalah perangkat lunak libre copyleft: Anda bisa menggunakannya, mempelajarinya, berbagi, dan meningkatkannya. Secara khusus Anda bisa mendistribusikan ulang dan/atau memodifikasinya dibawah syarat Lisensi Publik Umum GNU yang diterbitkan oleh Free Software Foundation, baik versi 3 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.</string>
@@ -657,7 +656,7 @@
<string name="private_content">Konten ini bersifat pribadi, jadi tidak dapat di stream ataupun diunduh oleh NewPipe.</string>
<string name="soundcloud_go_plus_content">Ini adalah sebuah trek SoundCloud Go +, setidaknya di negara Anda, sehingga tidak dapat di stream atau diunduh oleh Newpipe.</string>
<string name="georestricted_content">Konten ini tidak tersedia di negara Anda.</string>
<string name="crash_the_app">Aplikasi crash</string>
<string name="crash_the_app">Hentikan aplikasi</string>
<string name="restricted_video_no_stream">Video ini dibatasi usia.
\nKarena kebijakan YouTube yang baru dengan video yang dibatasi usia, Newpipe tidak dapat mengakses aliran video dan karenanya tidak dapat memainkannya.</string>
<string name="select_night_theme_toast">Kamu bisa pilih tema malam favoritmu dibawah</string>
@@ -669,4 +668,22 @@
<string name="night_theme_title">Tema malam</string>
<string name="download_has_started">Pengunduhan dimulai</string>
<string name="show_channel_details">Tampilkan rincian channel</string>
<string name="disable_media_tunneling_summary">Nonaktifkan terowongan media (tunnel) jiaka anda mengalami sebuah layar hitam atau kerusakan dalam memutar video</string>
<string name="disable_media_tunneling_title">Nonaktifkan terowongan media (tunnel)</string>
<string name="metadata_privacy_internal">Internal</string>
<string name="metadata_privacy_private">Privasi</string>
<string name="metadata_privacy_unlisted">Tidak didaftar</string>
<string name="metadata_privacy_public">Publik</string>
<string name="metadata_thumbnail_url">Alamat URL gambar mini/thumbnail</string>
<string name="metadata_host">Host</string>
<string name="metadata_support">Dukungan</string>
<string name="metadata_language">Bahasa</string>
<string name="metadata_age_limit">Batas umur</string>
<string name="metadata_privacy">Privasi</string>
<string name="metadata_licence">Lisensi</string>
<string name="metadata_tags">Tag</string>
<string name="metadata_category">Kategori</string>
<string name="description_select_disable">Nonaktifkan dapat memilih teks pada deskripsi</string>
<string name="description_select_enable">Aktifkan dapat memilih teks pada deskripsi</string>
<string name="description_select_note">Anda sekarang dapat memilih teks di dalam deskripsi. Perhatikan bahwa halaman mungkin berkedip dan tautan tidak dapat diklik saat dalam mode pemilihan.</string>
</resources>

View File

@@ -59,8 +59,7 @@
<string name="live_streams_not_supported">I contenuti in diretta non sono ancora supportati</string>
<string name="content">Contenuti</string>
<string name="show_age_restricted_content_title">Mostra contenuti con restrizioni di età</string>
<string name="main_bg_subtitle">Tocca \"Cerca\" per iniziare
\n</string>
<string name="main_bg_subtitle">Tocca la lente d\'ingrandimento per iniziare.</string>
<string name="autoplay_by_calling_app_title">Riproduzione automatica</string>
<string name="autoplay_by_calling_app_summary">Riproduci i video quando NewPipe viene aperto da un\'altra app</string>
<string name="duration_live">In diretta</string>
@@ -679,4 +678,22 @@
<string name="auto_device_theme_title">Automatico (tema del dispositivo)</string>
<string name="night_theme_title">Tema notturno</string>
<string name="show_channel_details">Mostra dettagli canale</string>
<string name="disable_media_tunneling_summary">Disattiva il tunneling multimediale se durante la riproduzione dei video si verificano schermate nere o irregolarità nell\'audio</string>
<string name="disable_media_tunneling_title">Disattiva tunneling multimediale</string>
<string name="metadata_privacy_internal">Interno</string>
<string name="metadata_privacy_private">Privato</string>
<string name="metadata_privacy_unlisted">Non elencato</string>
<string name="metadata_privacy_public">Pubblico</string>
<string name="metadata_thumbnail_url">URL miniatura</string>
<string name="metadata_host">Host</string>
<string name="metadata_support">Supporto</string>
<string name="metadata_language">Lingua</string>
<string name="metadata_age_limit">Limite di età</string>
<string name="metadata_privacy">Privacy</string>
<string name="metadata_licence">Licenza</string>
<string name="metadata_tags">Etichette</string>
<string name="metadata_category">Categoria</string>
<string name="description_select_disable">Disattiva la selezione del testo nella descrizione</string>
<string name="description_select_enable">Attiva la selezione del testo nella descrizione</string>
<string name="description_select_note">Ora puoi selezionare il testo all\'interno della descrizione. Nota che la pagina potrebbe sfarfallare e i collegamenti potrebbero non essere cliccabili mentre sei in modalità di selezione.</string>
</resources>

View File

@@ -78,8 +78,7 @@
<string name="report_error">不具合を報告</string>
<string name="user_report">利用者レポートを送る</string>
<string name="duration_live">生放送</string>
<string name="main_bg_subtitle">開始するには「検索」をタップ
\n</string>
<string name="main_bg_subtitle">虫眼鏡をタップして開始します。</string>
<string name="start">開始</string>
<string name="pause">一時停止</string>
<string name="view">再生</string>
@@ -662,7 +661,13 @@
\n年齢制限付き動画を含む新しい YouTube ポリシーにより、NewPipe は動画ストリームにアクセスできないため再生できません。</string>
<string name="select_night_theme_toast">以下からお好みの夜間テーマを選択できます</string>
<string name="auto_device_theme_title">自動 (デバイスのテーマ)</string>
<string name="night_theme_summary">%s</string>
<string name="night_theme_summary">お好みの夜間テーマを選択 — %s</string>
<string name="recaptcha_solve">解決</string>
<string name="night_theme_title">夜間テーマ</string>
<string name="download_has_started">ダウンロードを開始しました</string>
<string name="show_channel_details">チャンネルの詳細を表示</string>
<string name="radio">ラジオ</string>
<string name="featured">おすすめ</string>
<string name="disable_media_tunneling_summary">ビデオ再生が止まったり出ない場合はメディアトンネリングを無効にしてください</string>
<string name="disable_media_tunneling_title">マルチメディアトンネリングを無効にする</string>
</resources>

View File

@@ -163,8 +163,7 @@
<string name="open_in_browser">Ldi deg uminig</string>
<string name="view_count_text">%1$s n tmeẓriwin</string>
<string name="upload_date_text">Yeffeɣ-d deg %1$s</string>
<string name="main_bg_subtitle">Senned ɣef «Nadi» akken ad tebduḍ
\n</string>
<string name="main_bg_subtitle">Senned ɣef «Nadi» akken ad tebduḍ</string>
<string name="no_views">Ula d yiwet n tmeẓriwt</string>
<plurals name="views">
<item quantity="one">%s n tmeẓriwt</item>

View File

@@ -200,7 +200,6 @@
<string name="title_activity_history">Dîrok</string>
<string name="read_full_license">Destûrê bixwînin</string>
<string name="app_license">NewPipe nermalava kopîleft libre ye: Hûn dikarin li gorî kêfa xwe bikar bînin, parve bikin û baştir bikin. Bi taybetî hûn dikarin wê di bin mercên Lîsansa Giştî ya GNU ya Giştî ya ku ji hêla Weqfa Nermalava Azad ve hatî weşandin de, an guhertoya 3 ya Lîsansê, an jî (li gorî vebijarka we) guhertoyek paşîn ji nû ve belav bikin û / an biguherînin.</string>
<string name="popup_resizing_indicator_title">Mezinahî kirin</string>
<string name="clear">Zelal</string>
<string name="refresh">Hênikkirin</string>
<string name="filter">Parzûn</string>
@@ -384,8 +383,7 @@
<string name="no_player_found">Lîstikvanek herikê nehat dîtin. VLC saz bikin\?</string>
<string name="upload_date_text">Li ser hate weşandin %1$s</string>
<string name="view_count_text">%1$s dîtinan</string>
<string name="main_bg_subtitle">Ji bo destpêkirinê \"Lêgerîn\" bitikînin
\n</string>
<string name="main_bg_subtitle">Ji bo destpêkirinê \"Lêgerîn\" bitikînin</string>
<string name="feed_use_dedicated_fetch_method_summary">Di hin karûbaran de heye, ew bi gelemperî pir zûtir e lê dibe ku hejmarek bi sînor a tiştan vegerîne û bi gelemperî agahdariya bêkêmasî vebigere (mînakî bê domdanî, celebek tişt, bê statûya zindî).</string>
<string name="feed_use_dedicated_fetch_method_title">Dema ku hebe ji xwarina fedakar bistînin</string>
<string name="feed_update_threshold_option_always_update">Her dem nûve bikin</string>

View File

@@ -50,8 +50,7 @@
<string name="use_tor_summary">(실험적) 향상된 프라이버시를 위해 다운로드 트래픽을 강제로 Tor를 통해 전송 (스트리밍 비디오는 아직 지원되지 않습니다).</string>
<string name="err_dir_create">다운로드 디렉토리를 만들 수 없습니다 \'%1$s\'</string>
<string name="info_dir_created">다운로드 디렉토리를 만들었습니다 \'%1$s\'</string>
<string name="main_bg_subtitle">\"검색\" 버튼을 눌러서 시작하세요
\n</string>
<string name="main_bg_subtitle">\"검색\" 버튼을 눌러서 시작하세요</string>
<string name="autoplay_by_calling_app_title">자동재생</string>
<string name="autoplay_by_calling_app_summary">NewPipe가 다른 앱에서 호출되었을 때 동영상을 재생합니다</string>
<string name="content">컨텐츠</string>
@@ -542,7 +541,7 @@
<string name="songs">노래</string>
<string name="restricted_video">이 비디오는 연령제한이 있습니다.
\n
\n만약, 시청을 원한다면 설정에 \"연령 제한 컨텐츠\"를 활성화 하세요.</string>
\n만약, 시청을 원한다면 설정에 \"%1$s\"를 활성화 하세요.</string>
<string name="recaptcha_done_button">완료</string>
<string name="artists">아티스트</string>
<string name="albums">앨범</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">کرتە له‌ ”گه‌ڕان” بكه‌ بۆ ده‌ستپێكردن
\n</string>
<string name="main_bg_subtitle">کرتە له‌ ”گه‌ڕان” بكه‌ بۆ ده‌ستپێكردن</string>
<string name="view_count_text">%1$s بینراو</string>
<string name="upload_date_text">بڵاوكراوه‌ته‌وه‌ له‌ %1$s</string>
<string name="no_player_found">هیچ لێدەرێکی ڤیدیۆیی نه‌دۆزرایه‌وه‌. ده‌ته‌وێت VLC دابمەزرێنیت؟</string>

View File

@@ -47,8 +47,7 @@
<string name="search_showing_result_for">Praecessi propter: %s</string>
<string name="did_you_mean">Intendi \"%1$s\"\?</string>
<string name="settings">Optiones</string>
<string name="main_bg_subtitle">Tange \"Quaere\" ad initium
\n</string>
<string name="main_bg_subtitle">Tange \"Quaere\" ad initium</string>
<string name="search">Quaere</string>
<string name="download">Scarica</string>
<string name="share">Condividi</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Palieskite „Ieškoti“, kad pradėtumėte
\n</string>
<string name="main_bg_subtitle">Norėdami pradėti paspauskite padidinimo stiklą.</string>
<string name="view_count_text">%1$s peržiūrų</string>
<string name="upload_date_text">Publikuota %1$s</string>
<string name="no_player_found">Nerastas srauto grotuvas. Įdiegti VLC\?</string>
@@ -85,13 +84,13 @@
<string name="light_parsing_error">Negalima visiškai apdoroti tinklapio</string>
<string name="content_not_available">Turinys neprieinamas</string>
<string name="could_not_setup_download_menu">Negalima sutvarkyti atsisiuntimų meniu</string>
<string name="live_streams_not_supported">Tiesioginės translecijos yra nepalaikomos</string>
<string name="live_streams_not_supported">Tiesioginės transliacijos kolkas nepalaikomos</string>
<string name="could_not_get_stream">Negalima gauti jokio srauto</string>
<string name="could_not_load_image">Negalima įkelti jokio paveikslėlio</string>
<string name="app_ui_crash">Programėlė/ vartotojo sąsaja nulūžo</string>
<string name="sorry_string">Atsiprašome, taip neturėjo įvykti.</string>
<string name="error_report_button_text">Pranešti apie šią klaidą el. paštu</string>
<string name="error_snackbar_message">Atsiprašome, ištiko keletas klaidų.</string>
<string name="error_snackbar_message">Atsiprašome, kažkas ne taip.</string>
<string name="error_snackbar_action">Ataskaita</string>
<string name="what_device_headline">Informacija:</string>
<string name="what_happened_headline">Kas nutiko:</string>
@@ -158,10 +157,10 @@
<string name="resume_on_audio_focus_gain_title">Paleisti</string>
<string name="resume_on_audio_focus_gain_summary">Tęsti grojimą po pertraukčių (pvz. skambučių)</string>
<string name="show_hold_to_append_title">Rodyti “laikyti kad pakeisti„ patarimą</string>
<string name="show_hold_to_append_summary">Rodyti patarimą, kai foninis arba langelio rėžimo mygtukas paspaudžiamas vaizdo įrašų detalių puslapyje</string>
<string name="show_hold_to_append_summary">Paspaudus \"Išsamiau:\" fono ar iššokančio lango mygtuke rodyti patarimą</string>
<string name="settings_category_player_title">Grotuvas</string>
<string name="settings_category_player_behavior_title">Elgsena</string>
<string name="settings_category_history_title">Istorija ir laikmena</string>
<string name="settings_category_history_title">Istorija ir podėlis</string>
<string name="background_player_append">Foninio grotuvo eilėje</string>
<string name="popup_playing_append">Įtraukta į langelio rėžimo grojimo eilę</string>
<string name="playlist">Grojaraštis</string>
@@ -170,7 +169,7 @@
<string name="notification_channel_name">NewPipe pranešimai</string>
<string name="notification_channel_description">Foninio ir langelio rėžimo grotuvų pranešimai</string>
<string name="unknown_content">[Nežinoma]</string>
<string name="player_stream_failure">Nepavyko groti šio srauto</string>
<string name="player_stream_failure">Srauto atkurti nepavyko</string>
<string name="player_unrecoverable_failure">Įvyko nepataisoma grotuvo klaida</string>
<string name="player_recoverable_failure">Atstatoma po grotuvo klaidos</string>
<string name="search_no_results">Nėra rezultatų</string>
@@ -204,12 +203,12 @@
<string name="tab_about">Apie</string>
<string name="tab_contributors">Pagalbininkai</string>
<string name="tab_licenses">Leidimai</string>
<string name="app_description">Nemokama, atviro kodo Youtube peržiūros programėlė Android sistemai.</string>
<string name="app_description">Laisvas transliavimas ant Android.</string>
<string name="contribution_title">Prisidėti</string>
<string name="contribution_encouragement">Jei turite idėjų dėl- vertimų, išvaizdos pakeitimų, kodo supaprastinimo, arba rimtų kodo pakeitimų- pagalba visada laukiama!</string>
<string name="view_on_github">Peržiūrėti per GitHub</string>
<string name="donation_title">Paremti</string>
<string name="donation_encouragement">NewPipe yra vystoma savanorių, kurie praleidžia savo laisvą laiką, kad sukurtų geriausią patirtį Jums. Dabar yra laikas paremti juos, kad kūrėjai galėtų NewPipe paversti dar geresne programėle!</string>
<string name="donation_encouragement">NewPipe yra vystoma savanorių, kurie praleidžia savo laisvą laiką, kad sukurtų geriausią patirtį Jums. Dabar yra laikas paremti juos, kad kūrėjai galėtų NewPipe paversti dar geresne programėle.</string>
<string name="give_back">Duokite grąžos</string>
<string name="website_title">Interneto puslapis</string>
<string name="website_encouragement">Kad sužinotumėte daugiau apie NewPipe apsilankykite mūsų interneto puslapyje.</string>
@@ -260,8 +259,8 @@
<string name="switch_to_main">Perjungti į pagrindinį</string>
<string name="import_data_title">Importuoti duomenų bazę</string>
<string name="export_data_title">Eksportuoti duomenų bazę</string>
<string name="import_data_summary">Bus perrašyta dabartinė istorija ir prenumeratos</string>
<string name="export_data_summary">Eksportuoti istoriją, prenumeratas ir grojaraščius.</string>
<string name="import_data_summary">Bus perrašyta jūsų dabartinė istorija, prenumeratos, grojaraščiai ir (pasirinktinai) nustatymai</string>
<string name="export_data_summary">Eksportuoti istoriją, prenumeratas, grojaraščius ir nustatymus</string>
<string name="external_player_unsupported_link_type">Išorinis grotuvas nepalaiko tokių nuorodų</string>
<string name="invalid_url_toast">Negalimas URL</string>
<string name="video_streams_empty">Nerasta video srautų</string>
@@ -295,14 +294,14 @@
<string name="rename_playlist">Pervadinti</string>
<string name="name">Pavadinimas</string>
<string name="append_playlist">Pridėti į grojaraštį</string>
<string name="set_as_playlist_thumbnail">Nustatyti kaip grojaraščio paveikslėlį</string>
<string name="set_as_playlist_thumbnail">Nustatyti kaip grojaraščio miniatiūrą</string>
<string name="bookmark_playlist">Pridėti grojaraštį į žymes</string>
<string name="unbookmark_playlist">Pašalinti žymes</string>
<string name="delete_playlist_prompt">Ištrinti šį grojaraštį\?</string>
<string name="playlist_creation_success">Grojaraštis sukurtas</string>
<string name="playlist_add_stream_success">Pridėta į grojaraštį</string>
<string name="playlist_thumbnail_change_success">Grojaraščio paveikslėlis pakeistas.</string>
<string name="playlist_delete_failure">Nepavyko ištrinti grojaraščio</string>
<string name="playlist_delete_failure">Nepavyko ištrinti grojaraščio.</string>
<string name="caption_none">Nėra antraštės</string>
<string name="resize_fit">Pritaikyti</string>
<string name="resize_fill">Užpildyti</string>
@@ -310,13 +309,385 @@
<string name="caption_auto_generated">Automatiškai sugeneruotas</string>
<string name="enable_leak_canary_summary">Atminties nutekėjimo stebėjimas gali padaryti programėlę nestabilią</string>
<string name="enable_disposed_exceptions_title">Pranešti apie Out-of-Lifecycle klaidas</string>
<string name="enable_disposed_exceptions_summary">Priverstinai pranešti apie \"undeliverable Rx exceptions occurring outside of fragment or activity lifecycle after dispose\"</string>
<string name="enable_disposed_exceptions_summary">Priverstinai pranešti apie \"undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal\"</string>
<string name="show_comments_summary">Išjungti, kad paslėpti komentarus</string>
<string name="show_comments_title">Rodyti komentarus</string>
<string name="tab_choose">Pasirinkti skirtuką</string>
<string name="tab_new">Naujas skirtukas</string>
<string name="tab_new">Nauja kortelė</string>
<string name="unsubscribe">Atsisakyti prenumeratos</string>
<string name="search_showing_result_for">Rodomi rezultatai užklausai: %s</string>
<string name="open_with">Atverti su</string>
<string name="notification_action_repeat">Pakartoti</string>
<string name="one_item_deleted">1 elementas pašalintas.</string>
<string name="msg_calculating_hash">Skaičiuojama maišos suma</string>
<string name="no_comments">Komentarų nėra</string>
<string name="infinite_videos">∞ vaizdo įrašų</string>
<string name="more_than_100_videos">100+ vaizdo įrašų</string>
<plurals name="listening">
<item quantity="one">%s klausytojas</item>
<item quantity="few">%s klausytojai</item>
<item quantity="other">%s klausytojų</item>
</plurals>
<string name="no_one_listening">Niekas neklauso</string>
<plurals name="watching">
<item quantity="one">%s žiūri</item>
<item quantity="few">%s žiūri</item>
<item quantity="other">%s žiūri</item>
</plurals>
<string name="no_one_watching">Niekas nežiūri</string>
<string name="subscribers_count_not_available">Sekėjų skaičius neprieinamas</string>
<string name="drawer_header_description">Perjungti paslaugą, dabar pasirinkta:</string>
<string name="description_tab_description">Aprašymas</string>
<string name="related_items_tab_description">Susiję įrašai</string>
<string name="comments_tab_description">Komentarai</string>
<string name="error_report_open_issue_button_text">Pranešti per GitHub</string>
<string name="copy_for_github">Kopijuoti formatuotą pranešimą</string>
<string name="permission_display_over_apps">Suteikti leidimą rodyti virš kitų programų</string>
<string name="restore_defaults_confirmation">Ar norite atstatyti numatytuosius\?</string>
<string name="restore_defaults">Atstatyti numatytuosius</string>
<string name="saved_tabs_invalid_json">Įkelti išsaugotų kortelių nepavyko, naudojamos numatytosios</string>
<string name="no_streams_available_download">Nėra srautų parsiuntimui</string>
<string name="error_occurred_detail">Įvyko klaida: %1$s</string>
<string name="file_name_empty_error">Failo vardas negali būti tuščias</string>
<string name="invalid_file">Tokio failo nėra arba nesuteiktas leidimas jį pasiekti</string>
<string name="invalid_source">Tokio failo/turinio šaltinio nėra</string>
<string name="invalid_directory">Tokio aplanko nėra</string>
<string name="missing_file">Failas perkeltas ar ištrintas</string>
<string name="download_to_sdcard_error_message">Įrašyti į išorinę SD kortelę nepavyko. Atstatyti atsisiuntimo aplanką\?</string>
<string name="download_to_sdcard_error_title">Išorinė saugykla neprieinama</string>
<string name="help">Žinynas</string>
<string name="search_history_deleted">Paieškos istorija pašalinta.</string>
<string name="delete_search_history_alert">Išvalyti visą paieškos istoriją\?</string>
<string name="clear_search_history_summary">Išvalo paieškos istoriją</string>
<string name="clear_search_history_title">Išvalyti paieško istoriją</string>
<string name="clear_playback_states_summary">Pašalina visas atkūrimo vietas</string>
<string name="clear_playback_states_title">Pašalinti atkūrimo vietas</string>
<string name="watch_history_deleted">Žiūrėjimo istorija pašalinta.</string>
<string name="delete_view_history_alert">Išvalyti visą žiūrėjimo istoriją\?</string>
<string name="clear_views_history_summary">Išvalo atkurtų srautų ir atkūrimo vietos istoriją</string>
<string name="clear_views_history_title">Išvalyti žiūrėjimo istoriją</string>
<string name="clear_cookie_summary">Išvalyti slapukus kuriuos NewPipe išsaugojo kai vedėte reCAPTCHA</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA slapukai išvalyti</string>
<string name="clear_cookie_title">Išvalyti reCAPTCHA slapukus</string>
<string name="hash_channel_description">Pranešimas apie video maišos progresą</string>
<string name="hash_channel_name">Video maišos pranešimas</string>
<string name="app_update_notification_channel_description">Pranešimas apie naują NewPipe versija</string>
<string name="app_update_notification_channel_name">Programos atnaujinimo pranešimas</string>
<string name="file">Failas</string>
<string name="file_deleted">Failas pašalintas</string>
<string name="artists">Atlikėjai</string>
<string name="albums">Albumai</string>
<string name="songs">Dainos</string>
<string name="events">Įvykiai</string>
<string name="users">Naudotojai</string>
<string name="tracks">Takeliai</string>
<string name="videos_string">Vaizdo įrašai</string>
<string name="playlists">Grojaraščiai</string>
<string name="channels">Kanalai</string>
<string name="restricted_video_no_stream">Šiam video taikomas amžiaus apribojimas.
\nDėl naujų YouTube amžiaus ribojimų NewPipe negali pasiekti ir atkurti šių video srautų.</string>
<string name="restricted_video">Šiam video taikomas amžiaus apribojimas
\n
\nĮjunkite \"%1$s\" norėdami peržiūrėti.</string>
<string name="youtube_restricted_mode_enabled_summary">Youtube turi \"apribotą režimą\" kuriame slepiamas galimai suaugusiems skirtas turinys</string>
<string name="youtube_restricted_mode_enabled_title">Įjungti YouTube \"apribotą režimą\"</string>
<string name="show_age_restricted_content_summary">Rodyti turinį kuris gali būti netinkamas vaikams (18+)</string>
<string name="settings_category_notification_title">Pranešimai</string>
<string name="settings_category_updates_title">Atnaujinimai</string>
<string name="peertube_instance_add_exists">Kopija jau yra</string>
<string name="peertube_instance_add_https_only">Palaikomi tik HTTPS adresai</string>
<string name="peertube_instance_add_title">Pridėti kopiją</string>
<string name="peertube_instance_url_help">Pasirinkite patikusias kopijas %s</string>
<string name="peertube_instance_url_summary">Pasirinkite mėgiamiausias PeerTube kopijas</string>
<string name="peertube_instance_url_title">PeerTube kopijos</string>
<string name="unsupported_url_dialog_message">URL neatpažintas. Atverti kita programa\?</string>
<string name="autoplay_title">Auto atkūrimas</string>
<string name="settings_category_clear_data_title">Išvalyti duomenis</string>
<string name="enable_playback_state_lists_summary">Sąraše rodyti atkūrimo vietos indikatorių</string>
<string name="enable_playback_state_lists_title">Vietos sąraše</string>
<string name="brightness_gesture_control_summary">Naudoti gestus ryškumo valdymui</string>
<string name="brightness_gesture_control_title">Ryškumo valdymo gestai</string>
<string name="volume_gesture_control_summary">Naudoti gestus garsumo valdymui</string>
<string name="volume_gesture_control_title">Garsumo gesto valdymas</string>
<string name="auto_queue_toggle">Auto eilė</string>
<string name="auto_queue_summary">Tęsti atkūrimą į eilę pridedant susijusius srautus</string>
<string name="auto_queue_title">Automatiškai pridėti sekantį į eilę</string>
<string name="metadata_cache_wipe_complete_notice">Metaduomenų saugykla išvalyta</string>
<string name="metadata_cache_wipe_summary">Pašalinti visus išsaugotus puslapio duomenis</string>
<string name="metadata_cache_wipe_title">Išvalyti išsaugotus metaduomenis</string>
<string name="thumbnail_cache_wipe_complete_notice">Paveikslėlių saugykla išvalyta</string>
<string name="show_meta_info_summary">Norėdami paslėpti meta duomenis info langeliuose su papildoma informacija apie srauto autorius ir turinį išjunkite.</string>
<string name="show_meta_info_title">Rodyti meta duomenis</string>
<string name="show_description_summary">Išjunkite norėdami paslėpti video aprašymą ir papildomą informaciją</string>
<string name="use_inexact_seek_title">Naudoti greitą netikslų prasukimą</string>
<string name="night_theme_title">Naktinė tema</string>
<string name="notification_colorize_summary">Leisti Android priderinti pranešimo spalvą prie pagrindinės miniatiūros spalvos (prieinama ne visuose įrenginiuose)</string>
<string name="notification_colorize_title">Spalvoti pranešimą</string>
<string name="notification_action_nothing">Nieko</string>
<string name="notification_action_buffering">Kraunama</string>
<string name="notification_action_shuffle">Maišyti</string>
<string name="notification_actions_at_most_three">Galite pasirinkit iki trijų veiksmų kompaktiškame pranešime!</string>
<string name="notification_actions_summary">Norėdami pakeisti kiekvieną pranešimo veiksmą paspauskite ant jo. Pasirinkite iki trijų norėdami kompaktiškos peržiūros.</string>
<string name="notification_action_4_title">Penktas veiksmo mygtukas</string>
<string name="notification_action_3_title">Ketvirtas veiksmo mygtukas</string>
<string name="notification_action_2_title">Trečias veiksmo mygtukas</string>
<string name="notification_action_1_title">Antras veiksmo mygtukas</string>
<string name="notification_action_0_title">Pirmas veiksmo mygtukas</string>
<string name="notification_scale_to_square_image_summary">Pakeisti video miniatiūrų rodomų pranešime kraštinių santykį iš 16:9 į 1:1 (gali būti iškraipoma)</string>
<string name="notification_scale_to_square_image_title">Pakeisti miniatiūrų dydi 1:1 santykiu</string>
<string name="download_choose_new_path">Pakeiskite parsiuntimo aplankus</string>
<string name="watch_history_states_deleted">Atkūrimo vietos pašalintos.</string>
<string name="delete_playback_states_alert">Pašalinti visas atkūrimo vietas\?</string>
<string name="peertube_instance_add_fail">Netinkama kopija</string>
<string name="peertube_instance_add_help">Įveskite kopijos URL</string>
<string name="enable_playback_resume_summary">Atstatyti paskutinį atkūrimo laiką</string>
<string name="enable_playback_resume_title">Tęsti atkūrimą</string>
<string name="show_description_title">Rodyti aprašymą</string>
<string name="download_thumbnail_summary">Norėdami taupyti duomenų srautą ir atminties naudojimą išjunkite. Pakeitimai išvalys duomenis atmintyje ir diske.</string>
<string name="download_thumbnail_title">Įkelti miniatiūras</string>
<string name="clear_queue_confirmation_description">Aktyvaus grotuvo eilė bus pakeista</string>
<string name="clear_queue_confirmation_summary">Perjungiant iš vieno grotuvo į kitą gali pakeisti jūsų eilę</string>
<string name="clear_queue_confirmation_title">Prieš išvalant eilę prašyti patvirtinimo</string>
<string name="seek_duration_title">Greito prasukimo trukmė</string>
<string name="use_inexact_seek_summary">Netikslus prasukimas leidžia grotuvui greitai peršokti į kitą vietą su sumažintu tikslumu. 5,10 ar 25 sekundės to nenaudoja.</string>
<string name="import_youtube_instructions">Importuokite \"YouTube\" prenumeratas iš \"Google Takeout\":
\n
\n1. Eikite į šį URL adresą: %1$s
\n2. Prisijunkite, kai būsite paprašyti
\n3. Spustelėkite \"All data included\" (įtraukti visus duomenis), tada \"Deselect all\" (panaikinti visų duomenų pasirinkimą), tada pasirinkite tik \"Subscriptions\" (prenumeratos) ir spustelėkite \"OK\" (gerai).
\n4. Spustelėkite \"Next step\" (kitas žingsnis), tada \"Create export\" (sukurti eksportą).
\n5. Pasirodžius mygtukui \"Download\" (Atsisiųsti), spustelėkite jį ir
\n6. Iš atsisiųsto išėmimo zip išskleiskite .json failą (paprastai po \"YouTube and YouTube Music/subscriptions/subscriptions.json\") ir importuokite jį čia.</string>
<string name="app_license">\"NewPipe\" yra \"copyleft libre\" programinė įranga: galite ją naudoti, studijuoti, dalytis ja ir tobulinti savo nuožiūra. Konkrečiai, galite ją platinti ir (arba) keisti pagal GNU bendrosios viešosios licencijos, kurią paskelbė Laisvosios programinės įrangos fondas, 3 licencijos versiją arba (savo nuožiūra) bet kurią vėlesnę versiją, sąlygas.</string>
<string name="import_soundcloud_instructions">Importuokite \"SoundCloud\" profilį įvesdami URL arba savo ID:
\n
\n1. Interneto naršyklėje įjunkite darbalaukio režimą (svetainė neprieinama mobiliesiems įrenginiams).
\n2. Eikite šiuo adresu: %1$s
\n3. Prisijunkite, kai būsite paprašyti
\n4. Nukopijuokite profilio URL, į kurį buvote nukreipti.</string>
<string name="paid_content">Šis turinys prieinamas tik sumokėjusiems naudotojams, todėl \"NewPipe\" negali jo transliuoti ar atsisiųsti.</string>
<string name="youtube_music_premium_content">Šis vaizdo įrašas prieinamas tik \"YouTube Music Premium\" nariams, todėl \"NewPipe\" negali jo transliuoti ar atsisiųsti.</string>
<string name="disable_media_tunneling_summary">Išjunkite medijos tuneliavimą, jei vaizdo įrašo atkūrimo metu atsiranda juodas ekranas arba užstrigimas</string>
<string name="caption_setting_description">Pakeiskite grotuvo antraštės teksto mastelį ir fono stilių. Pakeitimai įsigalios iš naujo paleidus programą.</string>
<string name="private_content">Šis turinys yra privatus, todėl \"NewPipe\" jo negali transliuoti ar atsisiųsti.</string>
<string name="confirm_prompt">Ar norite išvalyti atsisiuntimų istoriją ar ištrinti visus atsisiųstus failus\?</string>
<string name="feed_update_threshold_summary">Laikas po paskutinio atnaujinimo, po kurio prenumerata laikoma pasenusia — %s</string>
<string name="error_http_unsupported_range">Serveris nepriima daugiasrautinių atsisiuntimų, pakartokite bandymą su @string/msg_threads = 1</string>
<string name="show_thumbnail_summary">Naudoti miniatiūrą užrakinimo ekrano fonui ir pranešimams</string>
<string name="download_already_running">Šiuo metu vyksta atsisiuntimas su šiuo pavadinimu</string>
<string name="georestricted_content">Šis turinys nėra prieinamas jūsų šalyje.</string>
<string name="no_app_to_open_intent">Jokia programa jūsų įrenginyje negali atidaryti šio</string>
<string name="enable_queue_limit_desc">Vienu metu bus vykdomas tik vienas atsisiuntimas</string>
<string name="error_postprocessing_stopped">NewPipe buvo uždaryta kol dirbo su failu</string>
<string name="error_http_no_content">Serveris nesiunčia duomenų</string>
<string name="error_ssl_exception">Užmegzti saugaus ryšio nepavyko</string>
<string name="limit_mobile_data_usage_title">Naudojant mobilius duomenis riboti raišką</string>
<string name="autoplay_summary">Automatiškai atkurti — %s</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">Taip ir iš dalies žiūrėtus vaizdo įrašus</string>
<string name="error_download_resource_gone">Atstatyti parsiuntimo nepavyko</string>
<string name="pause_downloads_on_mobile">Pertraukti matuojamuose tinkluose</string>
<string name="minimize_on_exit_popup_description">Sumažinti iki iššokančio lango grotuvo</string>
<string name="minimize_on_exit_background_description">Sumažinti į fono grotuvą</string>
<string name="subscriptions_import_unsuccessful">Prenumeratų importuoti nepavyko</string>
<string name="disable_media_tunneling_title">Išjungti media tuneliavimą</string>
<string name="show_memory_leaks">Rodyti per didelį atminties naudojimą</string>
<string name="wifi_only">Tik per Wi-Fi</string>
<string name="detail_sub_channel_thumbnail_view_description">Kanalo avataro miniatiūra</string>
<string name="feed_use_dedicated_fetch_method_disable_button">Išjungti greitą režimą</string>
<string name="feed_subscription_not_loaded_count">Neįkelta: %d</string>
<string name="clear_download_history">Išvalyti parsiuntimų istoriją</string>
<string name="generate_unique_name">Generuoti unikalų vardą</string>
<string name="playback_speed_control">Atkūrimo greičio valdymas</string>
<string name="show_thumbnail_title">Rodyti miniatiūrą</string>
<string name="feed_groups_header_title">Kanalo grupės</string>
<plurals name="days">
<item quantity="one">%d diena</item>
<item quantity="few">%d dienos</item>
<item quantity="other">%d dienų</item>
</plurals>
<plurals name="minutes">
<item quantity="one">%d minutes</item>
<item quantity="few">%d minutės</item>
<item quantity="other">%d minučių</item>
</plurals>
<plurals name="seconds">
<item quantity="one">%d sekundė</item>
<item quantity="few">%d sekundės</item>
<item quantity="other">%d sekundžių</item>
</plurals>
<string name="systems_language">Sistemos numatytoji</string>
<string name="app_language_title">Kalba</string>
<string name="downloads_storage_use_saf_title">Naudoti SAF</string>
<string name="pause_downloads">Sustabdyti siuntimus</string>
<string name="error_http_not_found">Nerasta</string>
<string name="download_finished">Parsiųsta</string>
<string name="switch_view">Perjungti rodinį</string>
<string name="radio">Radijo</string>
<string name="featured">Siūloma</string>
<string name="chapters">Skyriai</string>
<string name="recent">Paskutiniai</string>
<string name="never">Niekada</string>
<string name="settings_category_feed_title">Kanalas</string>
<string name="feed_create_new_group_button_title">Naujas</string>
<string name="recovering">atstatoma</string>
<string name="close">Užverti</string>
<string name="stop">Sustabdyti</string>
<string name="label_code">Kodas</string>
<string name="overwrite">Perrašyti</string>
<string name="enqueue">Eilė</string>
<string name="post_processing">apdorojama</string>
<string name="queued">eilėje</string>
<string name="paused">sustabdyta</string>
<string name="missions_header_pending">Laukiama</string>
<string name="missions_header_finished">Baigta</string>
<string name="auto">Auto</string>
<string name="grid">Tinklelis</string>
<string name="list">Sąrašas</string>
<string name="updates_setting_title">Atnaujinimai</string>
<string name="playback_reset">Atstatyti</string>
<string name="playback_step">Žingsnis</string>
<string name="minimize_on_exit_none_description">Nieko</string>
<string name="decline">Atmesti</string>
<string name="accept">Priimti</string>
<string name="playback_pitch">Pikas</string>
<string name="playback_tempo">Tempas</string>
<string name="export_ongoing">Eksportuojama…</string>
<string name="import_ongoing">Importuojama…</string>
<string name="import_title">Importuoti</string>
<string name="import_export_title">Importuoti/Eksportuoti</string>
<string name="caption_setting_title">Subtitrai</string>
<string name="playlist_no_uploader">Automatiškai sugeneruota (įkėlėjas nerastas)</string>
<string name="unmute">Įjungti garsą</string>
<string name="mute">Nutildyti</string>
<string name="preferred_open_action_settings_summary">Numatytasis veiksmas atveriant turinį — %s</string>
<string name="preferred_open_action_settings_title">Numatytasis \"atverti\" veiksmas</string>
<string name="enqueued">Pridėta į eilę</string>
<string name="enqueue_stream">Pridėti į eilę</string>
<string name="show_channel_details">Rodyti kanalo detales</string>
<string name="title_activity_play_queue">Groti eilę</string>
<string name="conferences">Konferencijos</string>
<string name="most_liked">Labiausiai patikę</string>
<string name="recently_added">Nesenai pridėta</string>
<string name="local">Vietinė</string>
<string name="localization_changes_requires_app_restart">Kalba pasikeis paleidus programą iš naujo.</string>
<string name="error_unable_to_load_comments">Komentarų įkelti nepavyko</string>
<string name="import_settings">Ar norite importuoti nustatymus\?</string>
<string name="no_playlist_bookmarked_yet">Kol kas nėra grojaraščio žymų</string>
<string name="select_a_playlist">Pasirinkite grojaraštį</string>
<string name="default_kiosk_page_summary">Numatytasis režimas</string>
<string name="selection">Pasirinkimas</string>
<string name="main_page_content_summary">Kokios kortelės rodomos pagrindiniame puslapyje</string>
<string name="read_privacy_policy">Skaityti privatumo politiką</string>
<string name="privacy_policy_encouragement">NewPipe į jūsų privatumą žiūri labai rimtai. Programa be jūsų sutikimo nerenka jokių duomenų.
\nNewPipe privatumo politika išsamiai parodo kokie duomenys siunčiami ir saugomi pranešant apie problemą.</string>
<string name="privacy_policy_title">NewPipe privatumo politika</string>
<string name="toast_no_player">Šio failo atkūrimui nėra įdiegtos programos</string>
<string name="recaptcha_done_button">Atlikta</string>
<string name="recaptcha_solve">Išspręsta</string>
<string name="subtitle_activity_recaptcha">Paspauskite \"atlikta\" kai išspręsta</string>
<string name="error_report_open_github_notice">Patikrinkite ar apie problemą su kuria susidūrėte dar nėra pranešta. Sukurdami kelis pranešimus apie tą pačią problemą atimate iš mūsų laiką kurį galėtume skirti klaidų taisymui.</string>
<string name="feed_use_dedicated_fetch_method_help_text">Ar manote, kad kanalas kraunamas per lėtai\? Jei taip, pabandykite įjungti greitąjį įkrovimą (tai galite pakeisti nustatymuose arba paspaudę toliau esantį mygtuką).
\n
\n\"NewPipe\" siūlo dvi kanalo įkėlimo strategijas:
\n- Visos prenumeratos kanalo atsisiuntimas, kuris yra lėtas, bet išsamus.
\n- Naudojant specialų paslaugos galinį tašką, kuris yra greitas, bet paprastai neišsamus.
\n
\nSkirtumas tarp šių dviejų būdų yra tas, kad greitasis būdas paprastai neturi tam tikros informacijos, pavyzdžiui, elemento trukmės ar tipo (negalima atskirti tiesioginių ir įprastų vaizdo įrašų), ir gali grąžinti mažiau elementų.
\n
\n\"YouTube\" yra pavyzdys paslaugos, kuris siūlo šį greitąjį metodą su savo RSS kanalu.
\n
\nTaigi pasirinkimas priklauso nuo to, ko labiau norite: greičio ar tikslios informacijos.</string>
<string name="start_accept_privacy_policy">Siekdami laikytis Europos bendrojo duomenų apsaugos reglamento (GDPR), atkreipiame jūsų dėmesį į \"NewPipe\" privatumo politiką. Prašome atidžiai ją perskaityti.
\nNorėdami išsiųsti mums pranešimą apie klaidą, turite su ja sutikti.</string>
<string name="feed_use_dedicated_fetch_method_summary">Prieinama kai kuriose tarnybose, paprastai yra daug greitesnė, tačiau gali grąžinti ribotą kiekį elementų ir dažnai neišsamią informaciją (pvz., nėra trukmės, elemento tipo, nėra tiesioginės būsenos).</string>
<string name="remove_watched_popup_warning">Vaizdo įrašai, kurie buvo peržiūrėti prieš juos įtraukiant į grojaraštį ir po to, kai jie buvo įtraukti į grojaraštį, bus pašalinti.
\nAr tikrai\? To negalima atšaukti!</string>
<string name="downloads_storage_ask_summary_kitkat">Jūsų bus paklausta, kur išsaugoti kiekvieną atsisiuntimą.
\nPasirinkite SAF, jei norite atsisiųsti į išorinę SD kortelę</string>
<string name="soundcloud_go_plus_content">Tai \"SoundCloud Go+\" kūrinys, bent jau jūsų šalyje, todėl jo negalima transliuoti ar atsisiųsti per \"NewPipe\".</string>
<string name="content_not_supported">Šio turinio \"NewPipe\" dar nepalaiko.
\n
\nTikimės, kad jis bus palaikomas būsimoje versijoje.</string>
<string name="downloads_storage_use_saf_summary">\"Storage Access Framework\" leidžia atsisiųsti duomenis į išorinę SD kortelę.
\nKai kurie įrenginiai yra nesuderinami</string>
<string name="import_network_expensive_warning">Atminkite, kad ši operacija gali brangiai kainuoti tinkle.
\n
\nAr norite tęsti\?</string>
<string name="updates_setting_description">Rodyti pranešimą, kuriame raginama atnaujinti programą, kai yra nauja versija</string>
<string name="new_seek_duration_toast">Dėl ExoPlayer apribojimų prasukimo trukmė buvo nustatyta %d sekundės</string>
<string name="pause_downloads_on_mobile_desc">Naudinga pereinant prie mobiliųjų duomenų, nors kai kurių atsisiuntimų sustabdyti negalima</string>
<string name="minimize_on_exit_summary">Veiksmas, kai iš pagrindinio vaizdo įrašų grotuvo pereinama į kitą programą — %s</string>
<string name="show_original_time_ago_summary">Srauto elementuose bus matomi orginalūs tekstai iš paslaugų</string>
<string name="downloads_storage_ask_summary">Jūsų bus paklausta, kur išsaugoti kiekvieną atsisiuntimą</string>
<string name="select_night_theme_toast">Žemiau galite pasirinkti mėgstamą nakties temą</string>
<string name="download_already_pending">Šiuo pavadinimu yra laukiama atsisiuntimo</string>
<string name="overwrite_finished_warning">Atsisiųstas failas su šiuo pavadinimu jau egzistuoja</string>
<string name="max_retry_desc">Didžiausias bandymų skaičius prieš atšaukiant atsisiuntimą</string>
<string name="night_theme_summary">Pasirinkite mėgstamiausią nakties temą — %s</string>
<string name="feed_group_dialog_delete_message">Ar norite panaikinti šią grupę\?</string>
<string name="error_progress_lost">Eiga prarasta, nes failas buvo panaikintas</string>
<string name="overwrite_unrelated_warning">Failas šiuo pavadinimu jau egzistuoja</string>
<string name="error_path_creation">Nepavyko sukurti paskirties aplanko</string>
<string name="feed_use_dedicated_fetch_method_title">Kai įmanoma gauti iš atskiro kanalo</string>
<string name="show_original_time_ago_title">Elementams rodyti orginalų \"prieš\" laiką</string>
<string name="error_connect_host">Nepavyksta prisijungti prie serverio</string>
<string name="error_file_creation">Failo sukurti nepavyko</string>
<string name="error_insufficient_storage">Įrenginyje nebėra vietos</string>
<string name="error_unknown_host">Nepavyko rasti serverio</string>
<string name="error_permission_denied">Sistema nedavė leidimo</string>
<string name="permission_denied">Sistema uždraudė veiksmą</string>
<string name="feed_group_show_only_ungrouped_subscriptions">Rodyti tik negrupuotas prenumeratas</string>
<string name="feed_oldest_subscription_update">Paskutinis atnaujinimas: %s</string>
<string name="downloads_storage_ask_title">Klausti kur parsiųsti</string>
<string name="overwrite_failed">failo perrašyti nepavyko</string>
<string name="app_update_notification_content_title">Prieinamas NewPipe atnaujinimas!</string>
<string name="minimize_on_exit_title">Perjungiant programą sumažinti</string>
<string name="unhook_checkbox">Atkabinti (gali iškraipyti)</string>
<string name="subscriptions_export_unsuccessful">Nepavyko eksportuoti prenumeratų</string>
<string name="download_has_started">Parsiunčiama</string>
<string name="auto_device_theme_title">Automatinis (įrenginio tema)</string>
<string name="crash_the_app">Programa nulūžo</string>
<string name="channel_created_by">Sukūrė %s</string>
<string name="remove_watched_popup_title">Pašalinti žiūrėtus video\?</string>
<string name="feed_use_dedicated_fetch_method_enable_button">Įjungti greitą režimą</string>
<string name="feed_update_threshold_title">Kanalo atnaujinimo slenkstis</string>
<string name="feed_group_dialog_empty_name">Tuščias grupės pavadinimas</string>
<string name="feed_group_dialog_empty_selection">Nepasirinkta jokia prenumerata</string>
<string name="deleted_downloads">Pašalinta %1$d parsiuntimai</string>
<string name="delete_downloaded_files">Pašalinti parsiųstus failus</string>
<string name="choose_instance_prompt">Pasirinkite kopiją</string>
<string name="enable_queue_limit">Riboti parsiuntimų eilę</string>
<string name="download_finished_more">%s parsiuntimai baigti</string>
<string name="app_update_notification_content_text">Paspauskite parsiuntimui</string>
<string name="list_view_mode">Sąrašo rodinio režimas</string>
<string name="skip_silence_checkbox">Prasukti kai nieko negroja</string>
<string name="playlist_page_summary">Grojaraščio puslapis</string>
<string name="video_detail_by">%s</string>
<string name="remove_watched">Pašalinti žiūrėtus</string>
<string name="feed_update_threshold_option_always_update">Visada atnaujinti</string>
<plurals name="feed_group_dialog_selection_count">
<item quantity="one">%d pasirinktas</item>
<item quantity="few">%d pasirinkti</item>
<item quantity="other">%d pasirinkta</item>
</plurals>
<string name="feed_group_dialog_select_subscriptions">Pasirinkite prenumeratas</string>
<string name="feed_processing_message">Apdorojamas srautas…</string>
<string name="feed_notification_loading">Įkeliamas srautas…</string>
<plurals name="hours">
<item quantity="one">%d valanda</item>
<item quantity="few">%d valandos</item>
<item quantity="other">%d valandų</item>
</plurals>
<string name="start_downloads">Pradėti siuntimus</string>
<string name="error_timeout">Prisijungimo laikas baigėsi</string>
<string name="max_retry_msg">Daugiausiai bandymų</string>
<string name="error_postprocessing_failed">Apdorojimas nepavyko</string>
<string name="show_error">Rodyti klaidą</string>
<string name="download_failed">Parsiųsti nepavyko</string>
<string name="limit_data_usage_none_description">Be limito</string>
<string name="import_soundcloud_instructions_hint">jūsųID, soundcloud.com/jūsųid</string>
<string name="previous_export">Ankstesnis ekportavimas</string>
<string name="import_file_title">Importuoti failą</string>
<string name="export_to">Eksportuoti į</string>
<string name="import_from">Importuoti iš</string>
</resources>

View File

@@ -277,7 +277,6 @@
<string name="file_deleted">Fails izdzēsts</string>
<string name="undo">Atsaukt</string>
<string name="best_resolution">Labākā izšķirtspēja</string>
<string name="popup_resizing_indicator_title">Maina izmēru</string>
<string name="clear">Notīrīt</string>
<string name="refresh">Atsvaidzināt</string>
<string name="filter">Filtrēt</string>
@@ -616,8 +615,7 @@
<string name="no_player_found">Netika atrasts video atskaņotājs. Instalēt VLC\?</string>
<string name="upload_date_text">Publicēts %1$s</string>
<string name="view_count_text">%1$s skatījumi</string>
<string name="main_bg_subtitle">Nospiediet \"Meklēt\", lai sāktu
\n</string>
<string name="main_bg_subtitle">Nospiediet \"Meklēt\", lai sāktu</string>
<string name="notification_colorize_title">Iekrāsot notifikāciju</string>
<string name="notification_action_nothing">Nekas</string>
<string name="notification_action_buffering">Lādējas</string>

View File

@@ -461,8 +461,7 @@
<string name="no_player_found">സ്ട്രീം പ്ലയർ കണ്ടെത്താനായില്ല. VLC ഇൻസ്റ്റാൾ ചെയ്യട്ടെ\?</string>
<string name="upload_date_text">%1$s - ന് പ്രസിദ്ധീകരിച്ചു</string>
<string name="view_count_text">%1$s തവണ കാണപ്പെട്ടു</string>
<string name="main_bg_subtitle">തുടങ്ങാൻ \"തിരയൽ\" അമർത്തുക
\n</string>
<string name="main_bg_subtitle">തുടങ്ങാൻ \"തിരയൽ\" അമർത്തുക</string>
<string name="content_not_supported">ഈ ഉള്ളടക്കത്തെ ഇതുവരെ ന്യൂ‌പൈപ്പ് പിന്തുണയ്‌ക്കുന്നില്ല.
\n
\nഭാവിയിലെ ഒരു പതിപ്പിൽ ഇത് പിന്തുണയ്‌ക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു.</string>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="autoplay_by_calling_app_title">ऑटो प्ले</string>
<string name="download_path_audio_dialog_title">ऑडिओ फाईल साठी डाउनलोड फोल्डर निवडा</string>
<string name="download_path_audio_summary">डाउनलोड केलेल्या ऑडियो फाईल येथे साठवल्या जातात</string>
<string name="download_path_audio_title">ऑडिओ डाउनलोड फोल्डर</string>
<string name="download_path_dialog_title">व्हिडिओ फाईल डाऊनलोड करण्याचे फोल्डर निवडा</string>
<string name="download_path_summary">डाउनलोड केलेल्या फाईल येथे साठवल्या जातात</string>
<string name="download_path_title">व्हिडिओ डाउनलोड फोल्डर</string>
<string name="controls_popup_title">पॉप अप</string>
<string name="controls_background_title">पार्श्वभाग</string>
<string name="tab_choose">टॅब निवडा</string>
<string name="tab_new">नवीन टॅब</string>
<string name="tab_bookmarks">बुकमार्क केलेली प्लेलिस्ट</string>
<string name="tab_subscriptions">सबस्क्रिप्शन</string>
<string name="tab_main">मुख्य</string>
<string name="show_info">माहिती दाखवा</string>
<string name="subscription_update_failed">सबस्क्रिप्शन अद्यतनित करू शकले नाही</string>
<string name="subscription_change_failed">सबस्क्रिप्शन मध्ये बदल करू शकलो नाही</string>
<string name="channel_unsubscribed">चॅनलचे सबस्क्राईब काढले</string>
<string name="unsubscribe">सबस्क्राईब काढा</string>
<string name="subscribed_button_title">सबस्क्राईब केले</string>
<string name="subscribe_button_title">सबस्क्राईब</string>
<string name="popup_mode_share_menu_title">पॉप अप मोड</string>
<string name="use_external_audio_player_title">बाहेरील ऑडियो प्लेअर वापरा</string>
<string name="use_external_video_player_title">बाहेरील व्हिडिओ प्लेअर वापरा</string>
<string name="screen_rotation">फिरविणे</string>
<string name="choose_browser">ब्राऊझर निवडा</string>
<string name="share_dialog_title">शेअर करा</string>
<string name="search_showing_result_for">यासाठी रिझल्ट दाखवत आहे: %s</string>
<string name="settings">सेटिंग</string>
<string name="search">शोधा</string>
<string name="controls_download_desc">फाईल डाउनलोड</string>
<string name="download">डाउनलोड</string>
<string name="share">शेअर</string>
<string name="open_with">याचा वापर करून उघडा</string>
<string name="open_in_popup_mode">पॉप अप मोड मध्ये उघडा</string>
<string name="open_in_browser">हा मेन्यू नमुना व्हिडिओ किंवा ऑडियो वेब ब्राउजर मध्ये चालवू शकतो</string>
<string name="cancel">रद्द करा</string>
<string name="install">इंस्टॉल</string>
<string name="no_player_found_toast">प्लेअर सापडले नाही (तुम्ही VLC player वापरून फाईल चालवू शकता).</string>
<string name="no_player_found">प्लेअर सापडले नाही. VLC प्लेअर इंस्टॉल करू इच्छिता का\?</string>
<string name="main_bg_subtitle">सुरू करण्यासाठी \"शोधा\" दाबा</string>
<string name="play_with_kodi_title">कोडी वापरून चालवा</string>
<string name="show_higher_resolutions_summary">फक्त काही उपकरणे 2k/4k व्हिडिओ चालवू शकतात</string>
<string name="show_higher_resolutions_title">वरचे रेसॉल्युशन दाखवा</string>
<string name="default_popup_resolution_title">डिफॉल्ट पॉप अप रेसिल्युशन</string>
<string name="default_resolution_title">डीफॉल्ट रेसोल्युशन निवडा</string>
<string name="autoplay_by_calling_app_summary">Newpipe इतर ॲप मधून चालल्यास व्हिडिओ चालवा</string>
<string name="controls_add_to_playlist_title">मध्ये टाका</string>
</resources>

Some files were not shown because too many files have changed in this diff Show More