From 01dcf550cfd6f5e5b0d8f72779f118bea3622028 Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Sat, 22 Feb 2020 19:56:56 -0800 Subject: [PATCH 01/89] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 24 ++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..32fa3e03e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a bug report to help us improve +title: "[BUG]" +labels: bug +assignees: '' + +--- + + +### Steps to reproduce +Steps to reproduce the behavior: +1. Go to '...' +2. Press on '....' +3. Swipe down to '....' + +### Expected behavior +Tell us what you expected to happen. + +### Actual behaviour +Tell us what happens instead + +### Screenshots/-recording +If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from a image/video hoster here instead. + +### Logs +If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it between the code tags: +here diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..a0bde3dc0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,24 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[Feature]" +labels: enhancement +assignees: '' + +--- + +#### Is your feature request related to a problem? Please describe. +A clear and concise description of what the problem is. +Ex. *I want to do X, but there is no way to do it.* + +#### Describe the solution you'd like +A clear and concise description of what you want to happen. +Ex. *I think it would be nice if you would add feature Y so it will make it easier.* + +#### Describe alternatives you've considered +A clear and concise description of any alternative solutions or features you've considered. +Ex. *I considered Z, but that didn't work because...* + +#### Additional context +Add any other context or screenshots about the feature request here. +Ex. *Here's a photo of my cat!* From 495b495f27ced0191ef89b7625577b99ae87d9be Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Sat, 22 Feb 2020 20:03:38 -0800 Subject: [PATCH 02/89] deleting old template --- .github/ISSUE_TEMPLATE.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 8073503ad..000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,3 +0,0 @@ -- [ ] I carefully read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them. -- [ ] I checked if the issue/feature exists in the latest version. -- [ ] I did use the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/) to paste bug reports. From 30f66d012e53a8d13ee8a448f2229162ed8c3df6 Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Sat, 22 Feb 2020 20:16:14 -0800 Subject: [PATCH 03/89] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d0e58680a..ea06e601a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1 +1,19 @@ + + +#### long description of the changes in your PR +*Now you can make videos* + +#### Fixes the following issue(s) + +- #1234 + +#### Relies on the following changes + +- #1234 + +#### Testing apk + +debug.zip + +#### Agreement - [ ] I carefully read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them. From 01c1fa0393df8e856129b59b0869ddfb1128d0ee Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+poolitzer@users.noreply.github.com> Date: Sun, 23 Feb 2020 16:16:18 -0800 Subject: [PATCH 04/89] B0pol suggested improvements --- .github/ISSUE_TEMPLATE/bug_report.md | 8 +++++--- .github/ISSUE_TEMPLATE/feature_request.md | 5 +++++ .github/PULL_REQUEST_TEMPLATE.md | 14 +++++++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 32fa3e03e..d4e0ea9b7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -16,9 +16,10 @@ To make it easier for us to help you please enter detailed information below. Please note, we only support the latest version of NewPipe and master branch. Please make sure to upgrade & recreate the issue on the latest -version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (left sidebar, about) +version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (To check you version, press on the three line menu on the left, click on "About", and you will see your current version.) --> ### Steps to reproduce + Steps to reproduce the behavior: 1. Go to '...' 2. Press on '....' @@ -34,5 +35,6 @@ Tell us what happens instead If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from a image/video hoster here instead. ### Logs -If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it between the code tags: -here +If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it here: + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index a0bde3dc0..e39fc5f07 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -22,3 +22,8 @@ Ex. *I considered Z, but that didn't work because...* #### Additional context Add any other context or screenshots about the feature request here. Ex. *Here's a photo of my cat!* + +#### Why do you/everyone wants this feature +Convince us! How does it change your NewPipe experience and/or your life? +The better this paragraph is, the more likely a developer will think about developing it + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ea06e601a..570d07778 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,15 +1,19 @@ - + -#### long description of the changes in your PR +#### What is it? +- [ ] Bug fix +- [ ] Feature + +#### Long description of the changes in your PR *Now you can make videos* #### Fixes the following issue(s) -- #1234 +- #### Relies on the following changes - -- #1234 + +- #### Testing apk From 1d9ffffc497108614a18b877f9017d12d053187f Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Mon, 24 Feb 2020 14:18:48 -0800 Subject: [PATCH 05/89] Minor improvements --- .github/ISSUE_TEMPLATE/bug_report.md | 9 +++++---- .github/ISSUE_TEMPLATE/feature_request.md | 13 +++++++------ .github/PULL_REQUEST_TEMPLATE.md | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index d4e0ea9b7..8b5f10f08 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -15,8 +15,9 @@ Use this template to notify us if you found a bug. To make it easier for us to help you please enter detailed information below. Please note, we only support the latest version of NewPipe and -master branch. Please make sure to upgrade & recreate the issue on the latest -version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (To check you version, press on the three line menu on the left, click on "About", and you will see your current version.) +master branch. Please make sure to upgrade & recreate the issue on the latest version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (To check you version, press on the three line menu on the left, click on "About", and you will see your current version). + +P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be a nice document to read before you fill out the report :) --> ### Steps to reproduce @@ -29,7 +30,7 @@ Steps to reproduce the behavior: Tell us what you expected to happen. ### Actual behaviour -Tell us what happens instead +Tell us what happens instead. ### Screenshots/-recording If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from a image/video hoster here instead. @@ -37,4 +38,4 @@ If applicable, add screenshots or a screen recording to help explain your proble ### Logs If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it here: - + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index e39fc5f07..8453f99ba 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -6,24 +6,25 @@ labels: enhancement assignees: '' --- - + #### Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. -Ex. *I want to do X, but there is no way to do it.* +Example: *I want to do X, but there is no way to do it.* #### Describe the solution you'd like A clear and concise description of what you want to happen. -Ex. *I think it would be nice if you would add feature Y so it will make it easier.* +Example: *I think it would be nice if you would add feature Y so it will make it easier.* #### Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. -Ex. *I considered Z, but that didn't work because...* +Example: *I considered Z, but that didn't work because...* #### Additional context Add any other context or screenshots about the feature request here. -Ex. *Here's a photo of my cat!* +Example: *Here's a photo of my cat!* #### Why do you/everyone wants this feature Convince us! How does it change your NewPipe experience and/or your life? -The better this paragraph is, the more likely a developer will think about developing it +The better this paragraph is, the more likely a developer will think about developing it. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 570d07778..43a6c0c4d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,7 +16,7 @@ - #### Testing apk - + debug.zip #### Agreement From d9a8e4d7971b6ed63bcd42d7318faa7ac0ee843a Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Wed, 26 Feb 2020 19:50:11 -0800 Subject: [PATCH 06/89] NewPipe is an app though :( And its our app! Co-Authored-By: Tobias Groza --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 43a6c0c4d..978adc100 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,4 @@ - + #### What is it? - [ ] Bug fix From 46165f4a4f38353edebad49790f36717d9f3ae76 Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+poolitzer@users.noreply.github.com> Date: Fri, 28 Feb 2020 15:32:14 -0800 Subject: [PATCH 07/89] adding version section to bug report --- .github/ISSUE_TEMPLATE/bug_report.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index d4e0ea9b7..ad436f64f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,6 +18,11 @@ Please note, we only support the latest version of NewPipe and master branch. Please make sure to upgrade & recreate the issue on the latest version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (To check you version, press on the three line menu on the left, click on "About", and you will see your current version.) --> +### Version + +- + + ### Steps to reproduce Steps to reproduce the behavior: From 07d1faf544037de0178b368ece3ee2dd964557de Mon Sep 17 00:00:00 2001 From: bopol Date: Wed, 12 Feb 2020 02:05:34 +0100 Subject: [PATCH 08/89] Links support for mediaccc and shortened invidious --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2a7e039b3..4bc36a4c7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:6446abc6d' + implementation 'com.github.B0pol:NewPipeExtractor:6180226' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7ca04eed0..bd3724770 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -247,6 +247,7 @@ + @@ -277,8 +278,26 @@ - + + + + + + + + + + + + + + + + + + + From 124340175a81f8aa244fac41f51bce4d40760b00 Mon Sep 17 00:00:00 2001 From: bopol Date: Wed, 12 Feb 2020 20:41:59 +0100 Subject: [PATCH 09/89] remove redundant code --- app/src/main/AndroidManifest.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index bd3724770..8dfeb03cc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -244,15 +244,7 @@ - - - - - - - - From afebd9b724da0c090319d8fba53baa2f791df9f9 Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+poolitzer@users.noreply.github.com> Date: Mon, 2 Mar 2020 16:38:23 -0800 Subject: [PATCH 10/89] improvements --- .github/ISSUE_TEMPLATE/bug_report.md | 3 +-- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 188dd8b42..1b28d3d79 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -14,8 +14,7 @@ Use this template to notify us if you found a bug. To make it easier for us to help you please enter detailed information below. -Please note, we only support the latest version of NewPipe and -master branch. Please make sure to upgrade & recreate the issue on the latest version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in you app (To check you version, press on the three line menu on the left, click on "About", and you will see your current version). +Please note, we only support the latest version of NewPipe and master branch. Please make sure to upgrade & recreate the issue on the latest version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start, make sure its version is the same as in your app (to check your version, open the left drawer and click on "About"). P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be a nice document to read before you fill out the report :) --> diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 8453f99ba..a6262ad7b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -18,7 +18,7 @@ Example: *I think it would be nice if you would add feature Y so it will make it #### Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. -Example: *I considered Z, but that didn't work because...* +Example: *I considered Z, but that didn't turn out to be a good idea because...* #### Additional context Add any other context or screenshots about the feature request here. From 08dffad16055b3cd889a98548dbe6efbec87a348 Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+poolitzer@users.noreply.github.com> Date: Mon, 2 Mar 2020 20:52:50 -0800 Subject: [PATCH 11/89] opus4improvements --- .github/ISSUE_TEMPLATE/bug_report.md | 16 ++++++++-------- .github/ISSUE_TEMPLATE/feature_request.md | 8 ++++---- .github/PULL_REQUEST_TEMPLATE.md | 11 +++++++---- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 1b28d3d79..19e8a9fbe 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -8,23 +8,23 @@ assignees: '' --- ### Version - + - -### Steps to reproduce - +### Steps to reproduce the bug + Steps to reproduce the behavior: 1. Go to '...' 2. Press on '....' @@ -36,10 +36,10 @@ Tell us what you expected to happen. ### Actual behaviour Tell us what happens instead. -### Screenshots/-recording -If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from a image/video hoster here instead. +### Screenshots/Screen records +If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from an image/video hoster here instead. ### Logs If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it here: - + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index a6262ad7b..b461675bd 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -8,13 +8,13 @@ assignees: '' --- -#### Is your feature request related to a problem? Please describe. +#### Is your feature request related to a problem? Please describe it A clear and concise description of what the problem is. Example: *I want to do X, but there is no way to do it.* #### Describe the solution you'd like A clear and concise description of what you want to happen. -Example: *I think it would be nice if you would add feature Y so it will make it easier.* +Example: *I think it would be nice if you add feature Y which makes X possible.* #### Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. @@ -24,7 +24,7 @@ Example: *I considered Z, but that didn't turn out to be a good idea because...* Add any other context or screenshots about the feature request here. Example: *Here's a photo of my cat!* -#### Why do you/everyone wants this feature +#### How will you/everyone benefit from this feature? Convince us! How does it change your NewPipe experience and/or your life? -The better this paragraph is, the more likely a developer will think about developing it. +The better this paragraph is, the more likely a developer will think about working on it. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 978adc100..40dd5d616 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,14 +1,17 @@ - + #### What is it? - [ ] Bug fix - [ ] Feature #### Long description of the changes in your PR -*Now you can make videos* + +- record videos +- create clones +- take over the world #### Fixes the following issue(s) - + - #### Relies on the following changes @@ -16,7 +19,7 @@ - #### Testing apk - + debug.zip #### Agreement From d265382ddfcf4b45482b0548715544f9664c239b Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Mon, 2 Mar 2020 20:56:03 -0800 Subject: [PATCH 12/89] missed this because GitHub thought its funny to hide it for a reason. Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/feature_request.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index b461675bd..946bfb4c6 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -16,7 +16,7 @@ Example: *I want to do X, but there is no way to do it.* A clear and concise description of what you want to happen. Example: *I think it would be nice if you add feature Y which makes X possible.* -#### Describe alternatives you've considered +#### (Optional) Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. Example: *I considered Z, but that didn't turn out to be a good idea because...* @@ -27,4 +27,3 @@ Example: *Here's a photo of my cat!* #### How will you/everyone benefit from this feature? Convince us! How does it change your NewPipe experience and/or your life? The better this paragraph is, the more likely a developer will think about working on it. - From 3f118a72392247579867eb12df8632aaad4bf427 Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Mon, 2 Mar 2020 21:08:34 -0800 Subject: [PATCH 13/89] appending dots Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com> --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 40dd5d616..9a1193767 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,11 +15,11 @@ - #### Relies on the following changes - + - #### Testing apk - + debug.zip #### Agreement From 2ca580dc1639d9eb7e4c87600dbacc8bce22a16c Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Wed, 4 Mar 2020 20:21:44 -0800 Subject: [PATCH 14/89] minor improvements of sentences Co-Authored-By: Stypox --- .github/ISSUE_TEMPLATE/bug_report.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 19e8a9fbe..0137335e4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -14,7 +14,7 @@ Use this template to notify us if you found a bug. To make it easier for us to help you please enter detailed information below. -Please note, we only support the latest version of NewPipe and the master branch. Please make sure to upgrade & recreate the issue on the latest version prior to opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start. Make sure its version is the same as in your app (to check your version, open the left drawer and click on "About"). +Please note, we only support the latest version of NewPipe and the master branch. Make sure to upgrade & reproduce the problem on the latest version before opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start. Make sure its version is the same as in your app (to check your version, open the left drawer and click on "About"). P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be a nice document to read before you fill out the report :) --> @@ -24,7 +24,7 @@ P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/ ### Steps to reproduce the bug - + Steps to reproduce the behavior: 1. Go to '...' 2. Press on '....' From 4e37a762d2fa4336f804e1f0a57743751dffd0d3 Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Wed, 4 Mar 2020 20:31:36 -0800 Subject: [PATCH 15/89] Further minor improvements --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 0137335e4..85a058344 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -14,7 +14,7 @@ Use this template to notify us if you found a bug. To make it easier for us to help you please enter detailed information below. -Please note, we only support the latest version of NewPipe and the master branch. Make sure to upgrade & reproduce the problem on the latest version before opening an issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is a good start. Make sure its version is the same as in your app (to check your version, open the left drawer and click on "About"). +Please note, we only support the latest version of NewPipe and the master branch. Make sure you have that version installed. If you don't, upgrade & reproduce the problem before opening the issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is the go-to place to get this version. In order to check your app version, open the left drawer and click on "About". P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be a nice document to read before you fill out the report :) --> From ca8f8e0ee990f99daa9cf55410c49dada12395c1 Mon Sep 17 00:00:00 2001 From: kapodamy Date: Thu, 12 Mar 2020 00:50:14 -0300 Subject: [PATCH 16/89] misc changes * read "SeekPreRoll" from the source track (if available) * use the longest track duration as segment duration, instead of the video track duration * do not hardcode the "Cue" reserved space behavior * do not hardcode the "EBML Void" element, unreported issue. The size was not properly calculated * rewrite the key-frame picking * remove writeInt(), writeFloat() and writeShort() methods, use inline code * set "SeekPreRoll" and "CodecDelays" values on output tracks (if available) * rewrite the "Cluster" maker * rewrite the code of how "Cluster" sizes are written Fix encode() method (the reason of this commit/pull-request): * Use the unsigned shift operator instead of dividing the value, due precession lost --- .../schabi/newpipe/streams/WebMReader.java | 10 +- .../schabi/newpipe/streams/WebMWriter.java | 327 ++++++++++-------- 2 files changed, 190 insertions(+), 147 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/streams/WebMReader.java b/app/src/main/java/org/schabi/newpipe/streams/WebMReader.java index 42875c364..b1628d954 100644 --- a/app/src/main/java/org/schabi/newpipe/streams/WebMReader.java +++ b/app/src/main/java/org/schabi/newpipe/streams/WebMReader.java @@ -37,6 +37,7 @@ public class WebMReader { private final static int ID_DefaultDuration = 0x3E383; private final static int ID_FlagLacing = 0x1C; private final static int ID_CodecDelay = 0x16AA; + private final static int ID_SeekPreRoll = 0x16BB; private final static int ID_Cluster = 0x0F43B675; private final static int ID_Timecode = 0x67; @@ -332,6 +333,10 @@ public class WebMReader { break; case ID_CodecDelay: entry.codecDelay = readNumber(elem); + break; + case ID_SeekPreRoll: + entry.seekPreRoll = readNumber(elem); + break; default: break; } @@ -414,8 +419,9 @@ public class WebMReader { public byte[] codecPrivate; public byte[] bMetadata; public TrackKind kind; - public long defaultDuration; - public long codecDelay; + public long defaultDuration = -1; + public long codecDelay = -1; + public long seekPreRoll = -1; } public class Segment { diff --git a/app/src/main/java/org/schabi/newpipe/streams/WebMWriter.java b/app/src/main/java/org/schabi/newpipe/streams/WebMWriter.java index 8525fabd2..39db33ad0 100644 --- a/app/src/main/java/org/schabi/newpipe/streams/WebMWriter.java +++ b/app/src/main/java/org/schabi/newpipe/streams/WebMWriter.java @@ -23,7 +23,10 @@ public class WebMWriter implements Closeable { private final static int BUFFER_SIZE = 8 * 1024; private final static int DEFAULT_TIMECODE_SCALE = 1000000; private final static int INTERV = 100;// 100ms on 1000000us timecode scale - private final static int DEFAULT_CUES_EACH_MS = 5000;// 100ms on 1000000us timecode scale + private final static int DEFAULT_CUES_EACH_MS = 5000;// 5000ms on 1000000us timecode scale + private final static byte CLUSTER_HEADER_SIZE = 8; + private final static int CUE_RESERVE_SIZE = 65535; + private final static byte MINIMUM_EBML_VOID_SIZE = 4; private WebMReader.WebMTrack[] infoTracks; private SharpStream[] sourceTracks; @@ -38,15 +41,18 @@ public class WebMWriter implements Closeable { private Segment[] readersSegment; private Cluster[] readersCluster; - private int[] predefinedDurations; + private ArrayList clustersOffsetsSizes; private byte[] outBuffer; + private ByteBuffer outByteBuffer; public WebMWriter(SharpStream... source) { sourceTracks = source; readers = new WebMReader[sourceTracks.length]; infoTracks = new WebMTrack[sourceTracks.length]; outBuffer = new byte[BUFFER_SIZE]; + outByteBuffer = ByteBuffer.wrap(outBuffer); + clustersOffsetsSizes = new ArrayList<>(256); } public WebMTrack[] getTracksFromSource(int sourceIndex) throws IllegalStateException { @@ -83,11 +89,9 @@ public class WebMWriter implements Closeable { try { readersSegment = new Segment[readers.length]; readersCluster = new Cluster[readers.length]; - predefinedDurations = new int[readers.length]; for (int i = 0; i < readers.length; i++) { infoTracks[i] = readers[i].selectTrack(trackIndex[i]); - predefinedDurations[i] = -1; readersSegment[i] = readers[i].getNextSegment(); } } finally { @@ -118,6 +122,8 @@ public class WebMWriter implements Closeable { readersSegment = null; readersCluster = null; outBuffer = null; + outByteBuffer = null; + clustersOffsetsSizes = null; } public void build(SharpStream out) throws IOException, RuntimeException { @@ -140,7 +146,7 @@ public class WebMWriter implements Closeable { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00// segment content size }); - long baseSegmentOffset = written + listBuffer.get(0).length; + long segmentOffset = written + listBuffer.get(0).length; /* seek head */ listBuffer.add(new byte[]{ @@ -177,20 +183,22 @@ public class WebMWriter implements Closeable { /* tracks */ listBuffer.addAll(makeTracks()); - for (byte[] buff : listBuffer) { - dump(buff, out); - } + dump(listBuffer, out); - // reserve space for Cues element, but is a waste of space (actually is 64 KiB) - // TODO: better Cue maker - long cueReservedOffset = written; - dump(new byte[]{(byte) 0xec, 0x20, (byte) 0xff, (byte) 0xfb}, out); - int reserved = (1024 * 63) - 4; - while (reserved > 0) { - int write = Math.min(reserved, outBuffer.length); - out.write(outBuffer, 0, write); - reserved -= write; - written += write; + // reserve space for Cues element + long cueOffset = written; + make_EBML_void(out, CUE_RESERVE_SIZE, true); + + int[] defaultSampleDuration = new int[infoTracks.length]; + long[] duration = new long[infoTracks.length]; + + for (int i = 0; i < infoTracks.length; i++) { + if (infoTracks[i].defaultDuration < 0) { + defaultSampleDuration[i] = -1;// not available + } else { + defaultSampleDuration[i] = (int) Math.ceil(infoTracks[i].defaultDuration / (float) DEFAULT_TIMECODE_SCALE); + } + duration[i] = -1; } // Select a track for the cue @@ -198,16 +206,8 @@ public class WebMWriter implements Closeable { long nextCueTime = infoTracks[cuesForTrackId].trackType == 1 ? -1 : 0; ArrayList keyFrames = new ArrayList<>(32); - ArrayList clusterOffsets = new ArrayList<>(32); - ArrayList clusterSizes = new ArrayList<>(32); - - long duration = 0; - int durationFromTrackId = 0; - - byte[] bTimecode = makeTimecode(0); - int firstClusterOffset = (int) written; - long currentClusterOffset = makeCluster(out, bTimecode, 0, clusterOffsets, clusterSizes); + long currentClusterOffset = makeCluster(out, 0, 0, true); long baseTimecode = 0; long limitTimecode = -1; @@ -239,8 +239,7 @@ public class WebMWriter implements Closeable { newClusterByTrackId = -1; baseTimecode = bloq.absoluteTimecode; limitTimecode = baseTimecode + INTERV; - bTimecode = makeTimecode(baseTimecode); - currentClusterOffset = makeCluster(out, bTimecode, currentClusterOffset, clusterOffsets, clusterSizes); + currentClusterOffset = makeCluster(out, baseTimecode, currentClusterOffset, true); } if (cuesForTrackId == i) { @@ -248,19 +247,18 @@ public class WebMWriter implements Closeable { if (nextCueTime > -1) { nextCueTime += DEFAULT_CUES_EACH_MS; } - keyFrames.add( - new KeyFrame(baseSegmentOffset, currentClusterOffset - 8, written, bTimecode.length, bloq.absoluteTimecode) - ); + keyFrames.add(new KeyFrame(segmentOffset, currentClusterOffset, written, bloq.absoluteTimecode)); } } writeBlock(out, bloq, baseTimecode); blockWritten++; - if (bloq.absoluteTimecode > duration) { - duration = bloq.absoluteTimecode; - durationFromTrackId = bloq.trackNumber; + if (defaultSampleDuration[i] < 0 && duration[i] >= 0) { + // if the sample duration in unknown, calculate using current_duration - previous_duration + defaultSampleDuration[i] = (int) (bloq.absoluteTimecode - duration[i]); } + duration[i] = bloq.absoluteTimecode; if (limitTimecode < 0) { limitTimecode = bloq.absoluteTimecode + INTERV; @@ -276,55 +274,61 @@ public class WebMWriter implements Closeable { } } - makeCluster(out, null, currentClusterOffset, null, clusterSizes); + makeCluster(out, -1, currentClusterOffset, false); long segmentSize = written - offsetSegmentSizeSet - 7; - /* ---- final step write offsets and sizes ---- */ + /* Segment size */ seekTo(out, offsetSegmentSizeSet); - writeLong(out, segmentSize); + outByteBuffer.putLong(0, segmentSize); + out.write(outBuffer, 1, DataReader.LONG_SIZE - 1); - if (predefinedDurations[durationFromTrackId] > -1) { - duration += predefinedDurations[durationFromTrackId];// this value is full-filled in makeTrackEntry() method - } - seekTo(out, offsetInfoDurationSet); - writeFloat(out, duration); - - firstClusterOffset -= baseSegmentOffset; - seekTo(out, offsetClusterSet); - writeInt(out, firstClusterOffset); - - seekTo(out, cueReservedOffset); - - /* Cue */ - dump(new byte[]{0x1c, 0x53, (byte) 0xbb, 0x6b, 0x20, 0x00, 0x00}, out); - - for (KeyFrame keyFrame : keyFrames) { - for (byte[] buffer : makeCuePoint(cuesForTrackId, keyFrame)) { - dump(buffer, out); - if (written >= (cueReservedOffset + 65535 - 16)) { - throw new IOException("Too many Cues"); - } + /* Segment duration */ + long longestDuration = 0; + for (int i = 0; i < duration.length; i++) { + if (defaultSampleDuration[i] > 0) { + duration[i] += defaultSampleDuration[i]; + } + if (duration[i] > longestDuration) { + longestDuration = duration[i]; } } - short cueSize = (short) (written - cueReservedOffset - 7); + seekTo(out, offsetInfoDurationSet); + outByteBuffer.putFloat(0, longestDuration); + dump(outBuffer, DataReader.FLOAT_SIZE, out); - /* EBML Void */ - ByteBuffer voidBuffer = ByteBuffer.allocate(4); - voidBuffer.putShort((short) 0xec20); - voidBuffer.putShort((short) (firstClusterOffset - written - 4)); - dump(voidBuffer.array(), out); + /* first Cluster offset */ + firstClusterOffset -= segmentOffset; + writeInt(out, offsetClusterSet, firstClusterOffset); - seekTo(out, offsetCuesSet); - writeInt(out, (int) (cueReservedOffset - baseSegmentOffset)); + seekTo(out, cueOffset); - seekTo(out, cueReservedOffset + 5); - writeShort(out, cueSize); + /* Cue */ + short cueSize = 0; + dump(new byte[]{0x1c, 0x53, (byte) 0xbb, 0x6b, 0x20, 0x00, 0x00}, out);// header size is 7 - for (int i = 0; i < clusterSizes.size(); i++) { - seekTo(out, clusterOffsets.get(i)); - byte[] buffer = ByteBuffer.allocate(4).putInt(clusterSizes.get(i) | 0x10000000).array(); - dump(buffer, out); + for (KeyFrame keyFrame : keyFrames) { + int size = makeCuePoint(cuesForTrackId, keyFrame, outBuffer); + + if ((cueSize + size + 7 + MINIMUM_EBML_VOID_SIZE) > CUE_RESERVE_SIZE) { + break;// no space left + } + + cueSize += size; + dump(outBuffer, size, out); + } + + make_EBML_void(out, CUE_RESERVE_SIZE - cueSize - 7, false); + + seekTo(out, cueOffset + 5); + outByteBuffer.putShort(0, cueSize); + dump(outBuffer, DataReader.SHORT_SIZE, out); + + /* seek head, seek for cues element */ + writeInt(out, offsetCuesSet, (int) (cueOffset - segmentOffset)); + + for (ClusterInfo cluster : clustersOffsetsSizes) { + writeInt(out, cluster.offset, cluster.size | 0x10000000); } } @@ -375,25 +379,10 @@ public class WebMWriter implements Closeable { written = offset; } - private void writeLong(SharpStream stream, long number) throws IOException { - byte[] buffer = ByteBuffer.allocate(DataReader.LONG_SIZE).putLong(number).array(); - stream.write(buffer, 1, buffer.length - 1); - written += buffer.length - 1; - } - - private void writeFloat(SharpStream stream, float number) throws IOException { - byte[] buffer = ByteBuffer.allocate(DataReader.FLOAT_SIZE).putFloat(number).array(); - dump(buffer, stream); - } - - private void writeShort(SharpStream stream, short number) throws IOException { - byte[] buffer = ByteBuffer.allocate(DataReader.SHORT_SIZE).putShort(number).array(); - dump(buffer, stream); - } - - private void writeInt(SharpStream stream, int number) throws IOException { - byte[] buffer = ByteBuffer.allocate(DataReader.INTEGER_SIZE).putInt(number).array(); - dump(buffer, stream); + private void writeInt(SharpStream stream, long offset, int number) throws IOException { + seekTo(stream, offset); + outByteBuffer.putInt(0, number); + dump(outBuffer, DataReader.INTEGER_SIZE, stream); } private void writeBlock(SharpStream stream, Block bloq, long clusterTimecode) throws IOException { @@ -416,47 +405,43 @@ public class WebMWriter implements Closeable { } listBuffer.set(1, encode(blockSize, false)); - for (byte[] buff : listBuffer) { - dump(buff, stream); - } + dump(listBuffer, stream); int read; while ((read = bloq.data.read(outBuffer)) > 0) { - stream.write(outBuffer, 0, read); - written += read; + dump(outBuffer, read, stream); } } - private byte[] makeTimecode(long timecode) { - ByteBuffer buffer = ByteBuffer.allocate(9); - buffer.put((byte) 0xe7); - buffer.put(encode(timecode, true)); + private long makeCluster(SharpStream stream, long timecode, long offset, boolean create) throws IOException { + ClusterInfo cluster; - byte[] res = new byte[buffer.position()]; - System.arraycopy(buffer.array(), 0, res, 0, res.length); - - return res; - } - - private long makeCluster(SharpStream stream, byte[] bTimecode, long startOffset, ArrayList clusterOffsets, ArrayList clusterSizes) throws IOException { - if (startOffset > 0) { - clusterSizes.add((int) (written - startOffset));// size for last offset + if (offset > 0) { + // save the size of the previous cluster (maximum 256 MiB) + cluster = clustersOffsetsSizes.get(clustersOffsetsSizes.size() - 1); + cluster.size = (int) (written - offset - CLUSTER_HEADER_SIZE); } - if (clusterOffsets != null) { + offset = written; + + if (create) { /* cluster */ dump(new byte[]{0x1f, 0x43, (byte) 0xb6, 0x75}, stream); - clusterOffsets.add(written);// warning: max cluster size is 256 MiB - dump(new byte[]{0x10, 0x00, 0x00, 0x00}, stream); - startOffset = written;// size for the this cluster + cluster = new ClusterInfo(); + cluster.offset = written; + clustersOffsetsSizes.add(cluster); - dump(bTimecode, stream); + dump(new byte[]{ + 0x10, 0x00, 0x00, 0x00, + /* timestamp */ + (byte) 0xe7 + }, stream); - return startOffset; + dump(encode(timecode, true), stream); } - return -1; + return offset; } private void makeEBML(SharpStream stream) throws IOException { @@ -509,13 +494,24 @@ public class WebMWriter implements Closeable { buffer.add(new byte[]{(byte) 0x86}); buffer.addAll(encode(track.codecId)); + /* codec delay*/ + if (track.codecDelay >= 0) { + buffer.add(new byte[]{0x56, (byte) 0xAA}); + buffer.add(encode(track.codecDelay, true)); + } + + /* codec seek pre-roll*/ + if (track.seekPreRoll >= 0) { + buffer.add(new byte[]{0x56, (byte) 0xBB}); + buffer.add(encode(track.seekPreRoll, true)); + } + /* type */ buffer.add(new byte[]{(byte) 0x83}); buffer.add(encode(track.trackType, true)); /* default duration */ - if (track.defaultDuration != 0) { - predefinedDurations[internalTrackId] = (int) Math.ceil(track.defaultDuration / (float) DEFAULT_TIMECODE_SCALE); + if (track.defaultDuration >= 0) { buffer.add(new byte[]{0x23, (byte) 0xe3, (byte) 0x83}); buffer.add(encode(track.defaultDuration, true)); } @@ -538,21 +534,29 @@ public class WebMWriter implements Closeable { } - private ArrayList makeCuePoint(int internalTrackId, KeyFrame keyFrame) { - ArrayList buffer = new ArrayList<>(5); + private int makeCuePoint(int internalTrackId, KeyFrame keyFrame, byte[] buffer) { + ArrayList cue = new ArrayList<>(5); /* CuePoint */ - buffer.add(new byte[]{(byte) 0xbb}); - buffer.add(null); + cue.add(new byte[]{(byte) 0xbb}); + cue.add(null); /* CueTime */ - buffer.add(new byte[]{(byte) 0xb3}); - buffer.add(encode(keyFrame.atTimecode, true)); + cue.add(new byte[]{(byte) 0xb3}); + cue.add(encode(keyFrame.duration, true)); /* CueTrackPosition */ - buffer.addAll(makeCueTrackPosition(internalTrackId, keyFrame)); + cue.addAll(makeCueTrackPosition(internalTrackId, keyFrame)); - return lengthFor(buffer); + int size = 0; + lengthFor(cue); + + for (byte[] buff : cue) { + System.arraycopy(buff, 0, buffer, size, buff.length); + size += buff.length; + } + + return size; } private ArrayList makeCueTrackPosition(int internalTrackId, KeyFrame keyFrame) { @@ -568,20 +572,48 @@ public class WebMWriter implements Closeable { /* CueClusterPosition */ buffer.add(new byte[]{(byte) 0xf1}); - buffer.add(encode(keyFrame.atCluster, true)); + buffer.add(encode(keyFrame.clusterPosition, true)); /* CueRelativePosition */ - if (keyFrame.atBlock > 0) { + if (keyFrame.relativePosition > 0) { buffer.add(new byte[]{(byte) 0xf0}); - buffer.add(encode(keyFrame.atBlock, true)); + buffer.add(encode(keyFrame.relativePosition, true)); } return lengthFor(buffer); } + private void make_EBML_void(SharpStream out, int size, boolean wipe) throws IOException { + /* ebml void */ + outByteBuffer.putShort(0, (short) 0xec20); + outByteBuffer.putShort(2, (short) (size - 4)); + + dump(outBuffer, 4, out); + + if (wipe) { + size -= 4; + while (size > 0) { + int write = Math.min(size, outBuffer.length); + dump(outBuffer, write, out); + size -= write; + } + } + } + private void dump(byte[] buffer, SharpStream stream) throws IOException { - stream.write(buffer); - written += buffer.length; + dump(buffer, buffer.length, stream); + } + + private void dump(byte[] buffer, int count, SharpStream stream) throws IOException { + stream.write(buffer, 0, count); + written += count; + } + + private void dump(ArrayList buffers, SharpStream stream) throws IOException { + for (byte[] buffer : buffers) { + stream.write(buffer); + written += buffer.length; + } } private ArrayList lengthFor(ArrayList buffer) { @@ -614,11 +646,11 @@ public class WebMWriter implements Closeable { byte[] buffer = new byte[offset + length]; long marker = (long) Math.floor((length - 1f) / 8f); - float mul = 1; - for (int i = length - 1; i >= 0; i--, mul *= 0x100) { - long b = (long) Math.floor(number / mul); + int shift = 0; + for (int i = length - 1; i >= 0; i--, shift += 8) { + long b = number >>> shift; if (!withLength && i == marker) { - b = b | (0x80 >> (length - 1)); + b = b | (0x80 >>> (length - 1)); } buffer[offset + i] = (byte) b; } @@ -686,17 +718,15 @@ public class WebMWriter implements Closeable { class KeyFrame { - KeyFrame(long segment, long cluster, long block, int bTimecodeLength, long timecode) { - atCluster = cluster - segment; - if ((block - bTimecodeLength) > cluster) { - atBlock = (int) (block - cluster); - } - atTimecode = timecode; + KeyFrame(long segment, long cluster, long block, long timecode) { + clusterPosition = cluster - segment; + relativePosition = (int) (block - cluster - CLUSTER_HEADER_SIZE); + duration = timecode; } - long atCluster; - int atBlock; - long atTimecode; + final long clusterPosition; + final int relativePosition; + final long duration; } class Block { @@ -717,4 +747,11 @@ public class WebMWriter implements Closeable { return String.format("trackNumber=%s isKeyFrame=%S absoluteTimecode=%s", trackNumber, isKeyframe(), absoluteTimecode); } } + + class ClusterInfo { + + long offset; + int size; + } + } From 878a5dba6047251a11412286839fa7f1297cb60e Mon Sep 17 00:00:00 2001 From: nautilusx Date: Fri, 13 Mar 2020 06:12:09 +0000 Subject: [PATCH 17/89] Translated using Weblate (German) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-de/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 855c3aeb1..96ebc2013 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -551,5 +551,6 @@ Aufgrund von ExoPlayer-Einschränkungen wurde die Suchdauer auf %d Sekunden gesetzt - Stumm + Stummschaltung + Stummschaltung aufheben \ No newline at end of file From dc1312d58ad4f51f701a4a2d74fa400b5bcdc493 Mon Sep 17 00:00:00 2001 From: B0pol Date: Fri, 13 Mar 2020 22:26:07 +0000 Subject: [PATCH 18/89] Translated using Weblate (Esperanto) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-eo/strings.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 6f7779a81..2629c7424 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -94,8 +94,8 @@ Nigra Memoru ŝprucfenestran grandecon kaj pozicion Memoru lastan grandecon kaj pozicion de ŝprucfenestro - Uzu rapide, ne preciza serĉon - Ne preciza serĉo permesas al la ludanto serĉi poziciojn pli rapide kun malalta precizeco + Uzi rapide, ne precizan serĉon + Ne preciza serĉo permesas al la ludanto serĉi poziciojn pli rapide kun malalta precizeco. Serĉi por 5, 15 kaj 25 sekundoj ne funckios kun tio opcio. Ŝarĝi bildetojn Ne povis konstrui la dosierujon de elŝuto Nunaj filmetoj ne estas ankoraŭ subtenataj @@ -292,7 +292,7 @@ \nElektu AFM se vi volas elŝuti al ekstera SD-karto Uzu AFM La \"Atinga Framo al la Memoro\" ebligas elŝuti al ekstera SD-karto. -\nKomento: kelkaj aparatoj malkongruas +\nKelkaj aparatoj malkongruas Forviŝi ludajn poziciojn Forviŝi la totalon de ludaj pozicioj Ĉu vi volas forviŝi ĉiujn ludajn poziciojn \? @@ -516,7 +516,7 @@ %s aŭskultantoj La lingvo ŝanĝos kiam la apo restartos. - Rapida antaŭen / posten daŭron + Rapida antaŭen / posten serĉan daŭron Instancoj de PeerTube Elekti viajn preferitajn instancojn de PeerTube Trovu la instancojn ke vi ŝatas ĉe %s @@ -546,4 +546,7 @@ %s sekundoj + Pro ExoPlayer limoj, la serĉa daŭro estas metita %d sekundojn + Mutigi + Malmutigi \ No newline at end of file From 0486ccb0d47ec8bfc59af48a2e8cb57ee4b4f2d5 Mon Sep 17 00:00:00 2001 From: Darko Ristovski Date: Fri, 13 Mar 2020 01:31:58 +0000 Subject: [PATCH 19/89] Translated using Weblate (Macedonian) Currently translated at 73.4% (393 of 535 strings) --- app/src/main/res/values-mk/strings.xml | 105 ++++++++++++++----------- 1 file changed, 58 insertions(+), 47 deletions(-) diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 96b4c8819..08e8089c8 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -1,9 +1,9 @@ - Стисни на пребарување за да почнеш + Притиснете „Барај“ за да започнете. %1$s прегледи Објавено на %1$s - Не е најден плеер за стримови. Инсталирај VLC? + Не е пронајден плеер за стримови. Сакате да инсталирате VLC\? Не е пронајден плеер за стримови (можеш да инсталираш VLC) Инсталирај Откажи @@ -19,14 +19,14 @@ Одбери пребарувач ротација Користи надворешен видео плеер - Отстранува звук на НЕКОИ резолуции + Се губи звукот на НЕКОИ резолуции Користи надворешен аудио плеер NewPipe мало прозорче Зачлени се Зачленет Откажано е членството на каналот - Не може да се промени членството - Не може да се освежи членството + Не може да се промени претплатата + Не може да се ажурира претплатата Покажи информации Почетна Членства @@ -36,21 +36,21 @@ Подпрозорче Додај на Локација за зачувување на видеата - Локација за зачувување на видеата - Внеси локација за зачувување на видеата - Локација за зачувување аудио - Локација за зачувување аудио - Внеси локација за зачувување аудио + Преземените видеа се сместени овде + Одберете каде да ги зачувате видеата + Фолдер за преземање на аудио + Преземените аудио фајлови се сместени овде + Одберете фолдер за зачувување на аудио Автоматско пуштање - Пушта видео кога NewPipe е повикана од друга апликација + Пушта видео кога NewPipe е уклучена од друга апликација Стандардна резолуција - Стандардна резолуција на подпрозорчето - Покажи повисоки резолуции - Само некои уреди поддржуваат 2К/4К видеа + Стандардна резолуција на малиот прозор + Прикажи повисоки резолуции + Само одредени уреди поддржуваат 2К/4К видеа Пушти на Kodi - Аплик. Kore не е најдена. Инсталирај? - Покажи опција „Пушти со Kodi“ - Покажи опција да се пушти видео со Kodi media center + Апликацијата Kore не е најдена. Сакате да ја инсталирате\? + Прикажи ја „Пушти со Kodi“ опцијата + Прикажи опција да се пушти видео со Kodi media center Звук Стандарден аудио формат Стандарден видео формат @@ -58,37 +58,37 @@ Светла Темна Црна - Запамти го местото и големината на прозорчето + Запамти го местото и големината на малиот прозорец Запамти ја последната големина и место на прозорчето Брзо, непрецизно премотување - Со непрецизното премотување може да се пребарува побрзо, но понепрецизно - Прочитај сликички - Оневозможи, за да не се читаат сликичките од видеото, за штедење меморија и интернет. Промена на опцијата ќе ја избрише кеш-меморијата - Сликичките се избришани - Избриши ги собраните мета-податоци - Избриши ги сите собрани податоци од веб-страни - Избришани се мета-податоците - Автоматски постави го на листа следното видео + Со непрецизното премотување се пребарува побрзо, но со намалена презицност. + Прочитај мали видео-сликички + Оневозможете, за да не се читаат малите видео-сликички за штедење на меморија и интернет. Промената на оваа опцијата ќе ја избрише кеш-меморијата. + Кешираните слики се избришани + Избришете ги кешираните мета-податоци + Избришете ги сите кеш-податоци од веб-страни + Мета-податоците се избришани + Автоматски постави го на листа на следно видео Автоматски прикачи поврзано видео кога ќе почне последното пуштено видео во неповторлива листа Управување на плеерот со гестови - Користи гестови за управување на светлоста и тонот - Предлози за пребарување - Покажи предлози при пребарување - Историја на пребарувањата - Зачувај ги пребарувањата локално + Користете гестови за управување на светлоста и гласноста + Пребарајте предлози + Прикажи предлози при пребарување + Претходни пребарувања + Зачувајте ги пребарувањата локално Историја и зачувано - Зачувај ја листата на гледани видеа - Продолжи видео при враќање на фокусот - Продолжи го видеото по прекини (пр. телефонски повик) - Превземи + Зачувајте ја листата на гледани видеа + Продолжете со репродукција + Продолжете со репродукција на видеото по прекини (пр. телефонски повик) + Преземи Следно видео - Покажи „следни“ и „слични“ видеа - Покажи совет „задржи за прикачување“ - Прикажи совет кога позадината или копче од подпрозорчето се притиснати, на страната за видео детаљи + Прикажи „следни“ и „слични“ видеа + Прикажи „задржи за прикачување“ + Покажи совет при притискање на позадината или кога скок копчето е притиснато на видео \"Детали:\" Неподдржана URL врска Земја на прикажани видеа Услуга - Претпочитан јазик на видеата + Стандарден јазик на содржина Плеер Однесување Видео и Звук @@ -402,13 +402,13 @@ Никое Смали го во позадина Смали го во прозорче - Откажи членство + Откажете претплата Ново јазиче Одбери јазиче - Гест за контрола на јачина на звук - Користи гест за контрола на јачината на звукот - Гест за контрола на осветленост - Користи гест за контрола на осветленот + Гест за контрола на гласност + Користете гестови за подесување на гласноста + Гестови за контрола на осветленост + Користете гест за контрола на осветленоста Ажурирања Дадотеката е избришана Известување за ажурирање на апликација @@ -457,16 +457,16 @@ Настани Конференции Прикажи коментари - Автоматски старт + Автоматско пуштање Коментари - + Нема коментари Не може да се вчитаат коментарите Затвори Продолжи со репродукција - Врати ја последната позиција за репродукција + Враќање на последната позиција на репродукција Избриши податоци Дадотеката е преместена или избришана Ддотека со ова име веќе постои @@ -485,4 +485,15 @@ Користи SAF Рамката за пристап до складирање овозможува преземања во надворешна SD-картичка. \nЗабелешка: некои уреди не се поддржани. + Исклучете за да ги скриете коментарите + Позиции во листите + Покажете ги индикаторите за позиција за репродукција во листите + Променете го фолдерот за преземање за да има ефект + Брзо премотување напред + Примери на PeerTube + Одберете ги вашите омилени PeerTube пример + Пронајдете ги примерите кои ви се допаѓаат на %s + Додадете пример + мала видео-сликичка на заклучен екран + Мала видео-сликичка е прикажана на заклучниот екран при користење на плеерот во позадина \ No newline at end of file From fcc806615edb743c94078d59bc2528069dc004a8 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 12 Mar 2020 20:54:07 +0000 Subject: [PATCH 20/89] Translated using Weblate (Polish) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-pl/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 488026f60..3ac7e033d 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -16,7 +16,7 @@ Użyj zewnętrznego odtwarzacza audio %1$s wyświetleń Opublikowano %1$s - Nie znaleziono odtwarzacza strumieni. Zainstalować VLC\? + Nie znaleziono odtwarzacza strumienia. Zainstalować VLC\? Folder pobierania wideo Pobrane pliki wideo są przechowywane tutaj Wybierz folder pobierania plików wideo From 0876cdd69745c2f4e45cbcda4b3a6e16569a6141 Mon Sep 17 00:00:00 2001 From: Software In Interlingua Date: Thu, 12 Mar 2020 16:50:18 +0000 Subject: [PATCH 21/89] Translated using Weblate (Interlingua) Currently translated at 36.4% (195 of 535 strings) --- app/src/main/res/values-ia/strings.xml | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index ff90b50ab..f804e8501 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -120,4 +120,57 @@ Cambia a Principal Vacuar le chronologia de reproductiones Videos + Dele le chronologia del contenido reguardate e positiones de reproduction + Positiones de reproduction delite. + Vacuar le chronologia de cerca + Error de rete + Contento non disponibile + Fluxos in directe ancora non supportate + Non poteva reproducer iste video + URL invalide + Necun fluxo de video trovate + Necun fluxo de audio trovate + Le dossier non existe + Le nomine del file non pote esser vacue + Information: + Tu commento (in anglese): + Detalios: + Usar Tor + Retentar + Nulle reproductiones + Nulle videos + Nulle commentos + Initiar + Deler + Deler un + Deler omne + Renominar + Nomine de file + Servitor non supportate + Le file jam existe + NewPipe discargante + A proposito de NewPipe + Configurationes + A proposito de + © %1$s per %2$s sub %3$s + Aperir sito web + A proposito de + Licentias + Contribuer + Vider in GitHub + Sito web + Visita le sito web de NewPipe pro plus de informationes e novitates. + Licentia de NewPipe + Leger le licentia + Recercas + Reproductiones + Le chronologia es disactivate + Chronologia + Le chronologia es vacue + Chronologia vacue + Ultime reproductiones + Le plus reproducite + Contento del pagina principal + Selige un canal + Preste \ No newline at end of file From 373ec960513a9eac5a1b47f5141635e7fe836221 Mon Sep 17 00:00:00 2001 From: Hemanta Sharma Date: Fri, 13 Mar 2020 05:28:35 +0000 Subject: [PATCH 22/89] Translated using Weblate (Nepali) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-ne/strings.xml | 529 ++++++++++++++++++++++++- 1 file changed, 525 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index 2f574dd43..f614c931a 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -1,15 +1,15 @@ - सुरू गर्न खोज चिन्ह दाब्नुहोस् + सुरू गर्न \"खोज\" चिन्ह दबाउनु होस %1$s हेराइहरू %1$s मा प्रकाशित - कुनै स्ट्रिम प्लेयर फेला परेन। के तपाईं VLC इन्स्टल गर्न चाहनुहुन्छ\? + कुनै स्ट्रिम प्लेयर फेला परेन। के तपाईं VLC इन्स्टल गर्न चाहनुहुन्छ \? कुनै स्ट्रीम प्लेयर फेला परेन (तपाइँ यसलाई प्ले गर्न VLC इन्स्टल गर्न सक्नुहुन्छ)। इन्स्टल गर्नुहोस् रद्द गर्नुहोस् ब्राउजरमा खाेल्नुहाेस् पपअप मोडमा खोल्नुहोस् - बांडनुहोस् + सेयर डाउनलोड स्ट्रीम डाउनलोड गर्नुहोस् खोजी @@ -23,8 +23,529 @@ अन्य अडियो प्लेयर प्रयोग गर्नुहोस् नयाँ पाइप पपअप मोड सदस्यता लिनुहोस् - सदस्यता लगिसकेको + "सदस्यता लिईएको" सदस्यता रद्द गर्नुहोस् च्यानल सदस्यता रद्द गरियो सदस्यता परिवर्तन गर्न सकिएन + सदस्यता अपडेट गर्न सकिएन + जानकारी देखाउनुहोस् + मुख्य + सदस्यता + बुकमार्क गरिएको प्लेलिस्टहरू + नयाँ ट्याब + ट्याब छनौट गर्नुहोस् + नयाँ के छ + पृष्ठभूमि + पपअप + थप्नुहोस + भिडियो डाउनलोड फोल्डर + डाउनलोड भिडियो फाइलहरू यहाँ भण्डारण छन् + भिडियो फाइलहरू लागि डाउनलोड फोल्डर चयन गर्नुहोस् + अडियो डाउनलोड फोल्डर + डाउनलोड अडियो फाइलहरू यहाँ भण्डारण छन् + अडियो फाइलहरू लागि डाउनलोड फोल्डर चयन गर्नुहोस् + अटोप्ले + NewPipe अर्को अनुप्रयोगबाट भनिन्छ जब एउटा भिडियो खेल्छ + पूर्वनिर्धारित संकल्प + पूर्वनिर्धारित पपअप संकल्प + उच्च रिजोल्युसन देखाउन + मात्र केही उपकरणहरू 2k / 4 हजार भिडियो प्ले गर्न सक्नुहुन्छ + Kodi खेल्न + कोरे अनुप्रयोग हराइरहेको स्थापना\? + विकल्प \"संग Kodi प्ले\" देखाउन + Kodi मिडिया सेन्टर मार्फत भिडियो प्ले गर्न एक विकल्प प्रदर्शन + अडियो + पूर्वनिर्धारित अडियो ढाँचा + पूर्वनिर्धारित भिडियो प्रारूप + विषय + प्रकाश + गाढा + कालो + पपअप आकार र स्थिति सम्झना + पछिल्लो आकार र पपअप को स्थिति सम्झना + inexact खोज्न छिटो प्रयोग + Inexact प्लेयर कम सटीक छिटो स्थितिहरू गर्न खोज्न अनुमति दिन्छ खोज्छन्। 5, 15 वा 25 सेकेन्ड को लागि खोजी यो काम गर्दैन। + थम्बनेल लोड + टिप्पणीहरू शो + टिप्पणीहरू लुकाउने बन्द + डाटा र स्मृति उपयोग सुरक्षित, थम्बनेलहरूलोडहुँदैछ रोक्न बन्द। परिवर्तनहरू दुवै मा-स्मृति र-डिस्क छवि क्यास खाली गर्नुहोस्। + छवि क्यास सखाप + क्यास मेटाडाटा हटाउन + सबै क्यास वेबपेज डाटा हटाउन + मेटाडाटा क्यास सखाप + स्वतः लाम अर्को स्ट्रिम + अन्त्य (गैर-दोहरो) प्लेब्याक लाम सम्बन्धित धारा स्थितिथप्दै AND logic द्वारा जारी राख्न + मात्रा इशारा नियन्त्रण + नियन्त्रण खेलाडी मात्रा गर्न इशाराहरू प्रयोग + चमक इशारा नियन्त्रण + नियन्त्रण खेलाडी चमक गर्न इशाराहरू प्रयोग + खेलाडी इशारा नियन्त्रण + नियन्त्रण खेलाडी चमक र मात्रा गर्न इशाराहरू प्रयोग + खोज सुझावहरू + खोजी गर्दा सुझावहरू देखाउन + खोज इतिहास + स्टोर खोज स्थानीय प्रश्नहरु + इतिहास हेर्ने + हेरिएको भिडियो ट्रयाक राख्न + रिजुम खेल + रुकावट (जस्तै फोन कल) पछि खेल जारी + डाउनलोड + अर्को + अटोप्ले + \'अर्को\' र \'समान\' भिडियो देखाउन + \"होल्ड संलग्न गर्न\" टिप देखाउन + पृष्ठभूमि वा भिडियो मा पपअप बटन थिच्दा टिप देखाउन \"विवरण:\" + असमर्थित URL + पूर्वनिर्धारित सामग्री देश + सेवा + पूर्वनिर्धारित सामग्री भाषा + खेलाडी + व्यवहार + भिडियो र अडियोभिडियो र अडियोभिडियो र अडियो + इतिहास र क्यास + पपअप + रूप + अन्य + डिबग + अपडेट + पृष्ठभूमिमा प्ले + पपअप मोडमा प्ले + पृष्ठभूमि खेलाडी मा लामबद्ध + पपअप खेलाडी मा लामबद्ध + खेल्नु + सामग्री + उमेर प्रतिबन्धित सामग्री + उमेर शो प्रतिबन्धित भिडियो। भविष्यमा परिवर्तन सेटिङ देखि सम्भव छ। + प्रत्यक्ष + डाउनलोड + डाउनलोड + त्रुटि रिपोर्ट + सबै + च्यानल + च्यानलहरू + प्लेसूची + प्लेसूचीहरूप्लेसूचीहरू + + %s भिडियो + %s भिडियोहरू + + + %s टिप्पणी + %s टिप्पणीहरू + + ट्रयाक + प्रयोगकर्ता + घटनाहरू + हो + पछि + अक्षम + फिल्टर + ताजा + स्पष्ट + रिसाइज + सर्वश्रेष्ठ संकल्प + पूर्ववत + फाइल मेटिएको + सबै प्ले + सधैं + केवल एकपटक + फाइल + NewPipe सूचना + NewPipe पृष्ठभूमि र पपअप खेलाडीहरू लागि सूचनाहरू + सूचना अनुप्रयोग अद्यावधिक + नयाँ NewPipe संस्करण लागि सूचनाहरू + [अज्ञात] + अभिमुखीकरण टगल गर्नुहोस् + पृष्ठभूमि स्विच गर्नुहोस् + पपअप स्विच गर्नुहोस् + मुख्य स्विच गर्नुहोस् + आयात डेटाबेस + निर्यात डेटाबेस + आफ्नो वर्तमान इतिहास र सदस्यता ओवरराइडहरु + निर्यात इतिहास, सदस्यता र प्लेसूचीहरू + हेरेको इतिहास स्पष्ट + प्ले प्रवाहको इतिहास र प्लेब्याक स्थान मेटाउँछ + मेटाउने सम्पूर्ण हेरेको इतिहास\? + खोज इतिहास स्पष्ट + खोज किवर्ड को मेटाउँछ इतिहास + मेटाउने सम्पूर्ण खोज इतिहास\? + खोज इतिहास मेटियो। + त्रुटि तार + बाह्य भण्डारण उपलब्ध + बाह्य SD कार्ड सम्भव छैन डाउनलोड। रिसेट डाउनलोड फोल्डर स्थान\? + नेटवर्क त्रुटि + सबै थम्बनेल लोड गर्न सकेन + सकेन डिक्रिप्ट भिडियो URL हस्ताक्षर + वेबसाइट पदवर्णनगर्नसकिँदैन + पूर्ण वेबसाइट पदवर्णनगर्नसकिँदैन + सामग्री उपलब्ध + डाउनलोड मेनु स्थापित गर्न सकिएन + लाइभ स्ट्रिमहरू अझै समर्थित छैन + कुनै पनि धारा पाउन सकेन + छवि लोड गर्न सकिएन + अनुप्रयोग / यूआई दुर्घटनाग्रस्त + यो धारा बजाउन सकिएन + Unrecoverable खेलाडी त्रुटि + खेलाडी त्रुटि रिकभर + बाह्य खेलाडीहरू लिंक यी प्रकार समर्थन छैन + अवैध URL + कुनै भिडियो प्रवाह फेला + कुनै अडियो स्ट्रिम फेला + यस्तो कुनै फोल्डर + यस्तो कुनै फाइल / सामग्री स्रोत + फाइल अवस्थित छैन वा पढ्न वा यो लेख्न अभाव छ अनुमति + फाइलनाम खाली हुन सक्दैन + एउटा त्रुटि देखापर्यो:% 1 $ को + कुनै डाउनलोड गर्न उपलब्ध धाराहरु + सुरक्षित ट्याबहरू पढ्न सकिएन, पूर्वनिर्धारित व्यक्तिहरूलाई प्रयोग त + फेरी पहिलाकै अवस्था मा लैजाऊ + तपाईं पूर्वनिर्धारित पुनर्स्थापना गर्न चाहनुहुन्छ\? + माफ गर्नुहोस्, त्यो हुनु हुँदैनथ्यो। + ई-मेल मार्फत यो त्रुटि रिपोर्ट + माफ गर्नुहोस्, केही त्रुटिहरू भयो। + रिपोर्ट + जानकारी: + के भयो: + के:\\nअनुरोध:\\nसामग्री भाषा: \\nसेवा:\\nGMT समय:\\nप्याकेज:\\nसंस्करण: \\nOS संस्करण: + तपाईंको टिप्पणी (अंग्रेजी मा): + विवरण: + सामग्री वर्णन (राम्रो पहुँच लागि) + प्ले भिडियो, अवधि: + अपलोडरको अवतार थम्बनेल + मनपर्दो + मन नपर्ने + Tor प्रयोग + (प्रयोगात्मक) बल डाउनलोड वृद्धि गोपनीयता लागि Tor मार्फत यातायात (स्ट्रिम भिडियो अझै समर्थित)। + रिपोर्ट त्रुटि + प्रयोगकर्ता रिपोर्ट + कुनै परिणाम + यहाँ केही तर crickets + पुन: क्रमबद्ध गर्न तान्नुहोस् + डाउनलोड निर्देशिका सिर्जना गर्न सकिँदैन \'% 1 $ को\' + डाउनलोड फोल्डर सिर्जना गरियो \'%1$s\' + भिडियो + अडियो + पुन: प्रयास + पहिलो भण्डारण पहुँच प्रदान + K + एम + अर्ब + शून्य चयन छैन प्राप्त (केही भाषामा) यो एन्ड्रोइड लागि \"विशेष मामला\" छैन रूपमा + + %s सदस्य + %s सदस्यहरु + + उपलब्ध गणना सदस्य + कुनै दृश्य + + % हेरियो + %s पटक हेरियो + + कुनै भिडियो + प्रत्रिक्रिया छैन + मिशन + पज + खेल्नु + सिर्जना + मेटाउन + मेटाउने एक + मेटाउने सबै + चेकसम + खारेज + पुनः नामकरण + खण्ड + ठिक छ + msg + सूत्रहरू + त्रुटि + असमर्थित सर्भर + फाइल पहिले नै अवस्थित + विकृत URL वा इन्टरनेट उपलब्ध छैन + NewPipe डाउनलोड + विवरण लागि ट्याप गर्नुहोस् + कृपया पर्खनुहोस्… + क्लिपबोर्डमा प्रतिलिपि + कृपया डाउनलोड फोल्डर सेटिङहरू पछि परिभाषित + पपअप मोडमा खोल्न +\nयो अनुमति आवश्यक छ + 1 वस्तु हटाइयो। + reCAPTCHA चुनौती अनुरोध + डाउनलोड + FILENAMES अनुमति वर्ण + अवैध वर्ण यो मूल्य प्रतिस्थापन गर्दै + प्रतिस्थापन वर्ण + अक्षर र अंक + सबैभन्दा विशेष वर्ण + कुनै अनुप्रयोग यो फाइल खेल्न स्थापित + बारेमा + सेटिङहरू + बारेमा + तेस्रो-पक्ष इजाजत पत्र + ©% 1 $ को% 2 $ s द्वारा% 3 $ को अन्तर्गत + लाइसेन्स लोड गर्न सकेन + वेबसाइट खुला + बारेमा + योगदानकर्ता + लाइसेन्स + (Android)एन्ड्रोइडमा निःशुल्क लाइटवेट स्ट्रिमिंग। + योगदान + तपाईं को विचार छ कि छैन; अनुवाद, डिजाइन परिवर्तन, कोड सफाई, वा वास्तविक भारी कोड परिवर्तन-मद्दत सधैं छ स्वागत गर्दछौं। अधिक राम्रो यो हुन्छ गरिन्छ! + GitHub हेर्नुहोस् + दान + NewPipe तपाईं ल्याउन सबै भन्दा राम्रो प्रयोगकर्ता अनुभव आफ्नो स्वतन्त्र समय खर्च स्वयंसेवकहरु विकास गरिएको छ। NewPipe अझ राम्रो तिनीहरू एक कप कफी आनन्द गर्दा बनाउन मद्दत विकासकर्ताहरूले फिर्ता दिनुहोस्। + फिर्ता दिनुहोस + वेबसाइट + थप जानकारी र समाचार लागि NewPipe वेबसाइट मा जानुहोस्। + NewPipe गोपनीयता नीति + न्यू पाइप परियोजना आफ्नो गोपनीयता धेरै गम्भीरतापूर्वक लिन्छ। तसर्थ, तपाईँको सहमति बिना कुनै पनि डाटा संकलन गर्दैन। +\nन्यू पाइपको गोपनीयता नीतिले क्र्यास रिपोर्ट पठाउने बित्तिकै कुन डाटा पठाइएको र भण्डारण गरिएको छ भनेर विस्तृत वर्णन गर्दछ। + गोपनीयता नीति पढ्नुहोस् + NewPipe इजाजत पत्र + NewPipe copyleft छ मुफ्त सफ्टवेयर: तपाईं प्रयोग गर्न सक्नुहुन्छ, अध्ययन शेयर र इच्छामा सुधार। विशेष तपाईं redistribute गर्न सक्नुहुन्छ र / वा रूपमा फ्री सफ्टवेयर फाउंडेशन द्वारा प्रकाशित GNU जनरल सार्वजनिक लाइसेन्स सर्तहरू अन्तर्गत यो परिमार्जन, कि त लाइसेन्स को संस्करण 3, वा (तपाईँको विकल्प मा) कुनै पनि पछि संस्करण। + लाइसेन्स पढ्नुहोस् + इतिहास + खोजी + हेरिएका + इतिहास बन्द गरिएको छ + इतिहास + इतिहास खाली छ + इतिहास खाली + वस्तु हटाइयो + तपाईं खोज इतिहासबाट यो वस्तु मेटाउन चाहनुहुन्छ\? + तपाईं हेरेको इतिहास देखि यो वस्तु मेटाउन चाहनुहुन्छ\? + तपाईं इतिहास सबै वस्तुहरू मेट्न चाहनुहुन्छ निश्चित हुनुहुन्छ\? + लेबुल + सबैभन्दा निभाए + सामग्री + मुख्य पृष्ठ मा के ट्याबहरू देखाइएको छ + चयन + खाली पृष्ठ + किओस्क पृष्ठ + सदस्यता पृष्ठ + फिड पृष्ठ + च्यानल पृष्ठ + एक च्यानल चयन गर्नुहोस् + अहिलेसम्म कुनै पनि च्यानल सदस्यता + एक किओस्क चयन + निर्यात + आयात + कुनै मान्य जिप फाइल + चेतावनी: सबै फाइलहरू आयात गर्न सकिएन। + यो आफ्नो हालको सेटअप अधिलेखन हुनेछ। + तपाईं पनि सेटिङहरू आयात गर्न चाहनुहुन्छ\? + टिप्पणीहरू लोड गर्न सकेन + किओस्क नामहरू + चलिरहेका + शीर्ष 50 + नयाँ र तातो + सम्मेलन + प्ले लाममा + पपअप खेलाडी + हटान + विवरण + अडियो सेटिङहरू + लामबद्ध गर्न पकड + पृष्ठभूमिमा लामबद्ध + नयाँ पपअपमा लामबद्ध + सुरु यहाँ प्ले + पृष्ठभूमिमा सुरु निभाउनु + नयाँ पपअपमा सुरु निभाउनु + दराज + दराज बन्द + केही चाँडै यहाँ प्रकट हुनेछ; डी + प्राथमिक \'खुला\' कार्य + पूर्वनिर्धारित कार्य गर्दा खोल्ने सामग्री -% को + भिडियो प्लेयर + पृष्ठभूमि खेलाडी + पपअप खेलाडी + सधैं सोध्न + जानकारी प्राप्त गर्दै … + अनुरोध सामग्री लोड + स्थानीय प्लेलिस्टस्थानीय प्लेलिस्ट + मेटाउन + पुनः नामकरण + नाम + प्लेसूचीमा थप्न + प्लेलिस्ट थम्बनेल रूपमा सेट + बुकमार्क प्लेलिस्ट + बुकमार्क हटाउन + यो प्लेसूची मेटाउन\? + प्लेलिस्ट सिर्जना + PlaylistedPlaylisted + प्लेसूची थम्बनेल परिवर्तन भयो। + प्लेसूची मेटाउन सकेन। + खेलाडीहरू + फिट + भर्न + जुम + स्वतः उत्पन्न + क्याप्सन सेटिङ + सुधारे खेलाडी क्याप्सन पाठ मात्रा र पृष्ठभूमि शैलीहरू। ले प्रभाव अनुप्रयोग पुन: सुरु गर्न आवश्यक छ। + डिबसेटिङहरू + मेमोरी लिक अनुगमन हिप dumping जब अनुप्रयोग अनुत्तरदायी बन्न सक्छ + रिपोर्ट बाहिर-को-जीवनचक्र त्रुटिहरू + शक्ति निपटान पछि खण्ड वा गतिविधि जीवनचक्र को undeliverable Rx अपवाद बाहिर को रिपोर्ट + सदस्यता आयात / निर्यात + आयात + आयात + निर्यात + आयात गर्दै … + निर्यात … + फाइल आयात + अघिल्लो निर्यात + सदस्यता आयात गर्न सकिएन + सदस्यता निर्यात गर्न सकेन + निर्यात फाइल डाउनलोड गरेर यूट्यूब सदस्यताहरू आयात गर्नुहोस्: +\n +\n1. जानुहोस् यो URL:% 1$s +\n2. सोधिएको बेलामा लग इन गर्नुहोस् +\n3. एउटा डाउनलोड सुरु हुनुपर्दछ (त्यो निर्यात फाईल हो) + या त URL वा तपाईंको ID टाइप गरेर साउन्डक्लाउड(soundcloud) प्रोफाइल आयात गर्नुहोस्: +\n +\n1. वेब ब्राउजरमा \"डेस्कटप मोड\" सक्षम गर्नुहोस् (साइट मोबाइल उपकरणहरूको लागि उपलब्ध छैन) +\n2. यस URL:%$s मा जानुहोस् +\n3. सोधिएको बेलामा लग इन गर्नुहोस् +\n4. तपाईंलाई URL मा निर्देशित गरिएको प्रोफाइल URL प्रतिलिपि गर्नुहोस्। + yourID, soundcloud.com/youridyourID, soundcloud.com/yourid + दिमागमा राख्नुहोस् यो अपरेशन नेटवर्क महँगो हुन सक्छ। +\n +\nतपाईँ जारी राख्न चाहनुहुन्छ\? + प्लेब्याक परिमिति + टेम्पो + पिच + Unhook (विकृति उत्पन्न हुन सक्छ) + मौन समयमा छिटो-फर्वार्ड + चरण + रिसेट + यूरोपीय सामान्य डाटा संरक्षण नियमन (GDPR) अनुपालन गर्न, हामी हर्बी न्यूपिपको गोपनीयता नीतिमा तपाईंको ध्यान आकर्षित गर्दछौं। कृपया यसलाई ध्यानपूर्वक पढ्नुहोस्। +\nतपाईंले हामीलाई बग रिपोर्ट पठाउन यसलाई स्वीकार्नुपर्दछ। + स्वीकार + अस्वीकार + मोबाइल डाटा प्रयोग सीमित + सीमा संकल्प मोबाइल डाटा प्रयोग गर्दा + अद्यावधिक सेटिङहरू + एक नयाँ संस्करण उपलब्ध छ जब शीघ्र अनुप्रयोग अद्यावधिक गर्न एक सूचना देखाउन + बाहिर निस्कन कार्य गर्न कम गर्न + मुख्य भिडियो प्लेयर अन्य अनुप्रयोगमा स्विच कार्य गर्दा -% को + कुनै पनि + पृष्ठभूमि खेलाडी मिनिमाइज + पपअप खेलाडी मिनिमाइज + सूची दृश्य मोड + सूची + ग्रिड + स्वतः + हेर्नुहोस् स्विच + नयाँ पाइप अपडेट उपलब्ध छ! + डाउनलोड गर्न ट्याप गर्नुहोस् + समाप्त + रोकिएको + पज + लामबद्ध + पोस्ट-प्रक्रिया + लाम + कार्य प्रणाली द्वारा अस्वीकार + डाउनलोड सूचनाहरू + डाउनलोड समाप्त + % को डाउनलोड समाप्त + अवस्थित डाउनलोड बारेमा संवाद + अधिलेखन + यो नाम संग प्रगतिमा एक डाउनलोड छ + डाउनलोड त्रुटि बारेमा सन्देश संवाद + कोड + गन्तव्य फोल्डर सिर्जना गर्न सकिँदैन + फाइल सिर्जना गर्न सकिँदैन + अनुमति प्रणाली द्वारा अस्वीकार + सुरक्षित जडान स्थापना गर्न सकिएन + सर्भर फेला पार्न सकिएन + सर्भर जडान गर्न सक्दैन + सर्भर डाटा पठाउन छैन + सर्भर बहु-पिरोया डाउनलोड @ स्ट्रिङ संग पुन: प्रयास / msg_threads = 1 स्वीकार गर्दैन + फेला परेन + पोस्ट-प्रक्रिया असफल भयो + रोक + अधिकतम पुनःप्रयासकोसङ्ख्या + डाउनलोड रद्द अघि प्रयासहरूको अधिकतम संख्या + पथलैया औद्योगिक सञ्जाल मा रोकावट + उपयोगी, मोबाइल डेटा स्विच गर्दा केही डाउनलोड निलम्बित सक्दैन हुनत हुन + बन्द + रिजुम प्लेब्याक + पछिल्लो प्लेब्याक स्थिति बहाल + सूची मा स्थान + सूची मा प्लेब्याक स्थिति संकेतक देखाउन + डाटा स्पष्ट + इतिहास हेर्ने हटाइयो। + प्लेब्याक स्थान हटाइयो। + फाइल सारियो वा मेटिएको + यो नामको फाइल पहिल्यै अवस्थित छ + यो नाम पहिले नै अवस्थित संग फाइल डाउनलोडś + फाइल अधिलेखन गर्न सक्दैन + यो नाम संग बाँकी डाउनलोड छ + फाइल मा काम गर्दा NewPipe बन्द भएको थियो + उपकरणमा बायाँ कुनै ठाउँ + फाइल मेटिएको थियो किनभने प्रगति, हराएको + जडान समय सकियो + तपाईं आफ्नो डाउनलोड इतिहास सबै डाउनलोड फाइल खाली वा मेटाउन चाहनुहुन्छ\? + सीमा डाउनलोड लाम + एक डाउनलोड एकै समयमा चलाउन हुनेछ + डाउनलोड सुरु + पज डाउनलोड + डाउनलोड गर्न कहाँ सोध्न + प्रत्येक डाउनलोड कहाँ बचत गर्न आग्रह गरिनेछ + प्रत्येक डाउनलोड कहाँ बचत गर्न आग्रह गरिने छ। +\nतपाईं बाहिरको एसडी कार्डमा डाउनलोड गर्न चाहनुहुन्छ भने SAF चयन गर्नुहोस् + SAF प्रयोग + \'भण्डारण पहुँच फ्रेमवर्क\' बाह्य एसडी कार्डमा डाउनलोड गर्न अनुमति दिन्छ। +\nकेहि उपकरणहरू असंगत छन् + मेटाउने प्लेब्याक स्थान + सबै प्लेब्याक स्थान मेटाउँछ + सबै प्लेब्याक स्थान मेटाउने\? + प्रभाव लिन डाउनलोड फोल्डरहरू परिवर्तन + सेवा टगल गर्नुहोस्, हाल चयन गरिएको: + कुनै एक हेरिरहनुभएको छ + + %s हेर्दै + %s जना हेर्दै छन् + + कुनै एक सुनिरहेको छ + + %s श्रोता + %s श्रोताहरु + + एक चोटि अनुप्रयोग पुनः सुरु गरिन्छ भाषा परिवर्तन हुनेछ। + पूर्वनिर्धारित पसल + छिटो-अगाडि / -rewind खोज्न अवधि + PeerTube उदाहरणहरू + आफ्नो मनपर्ने PeerTube उदाहरणहरू चयन + को उदाहरणहरू तपाईँले% s मा जस्तै फेला + add उदाहरणका + उदाहरणका URL प्रविष्ट गर्नुहोस् + उदाहरणका मान्य सकेन + URL हरू समर्थित मात्र HTTPS + उदाहरणका पहिले नै अवस्थित + स्थानिय + हालसालै थपिएको + सबैभन्दा धेरै मनपराइएको + स्वतः उत्पन्न (कुनै अपलोडरको मिली) + पुन + यो डाउनलोड ठीक गर्न सकिँदैनयो डाउनलोड ठीक गर्न सकिँदैन + एउटा उदाहरण छनौट गर्नुहोस् + स्क्रिन भिडियो थम्बनेल लक + पृष्ठभूमिमा खेलाडी प्रयोग गर्दा एउटा भिडियो थम्बनेल लक स्क्रिनमा देखाइएको छ + डाउनलोड इतिहास स्पष्ट + डाउनलोड फाइल मेट्न + मेटिएको% 1 $ को डाउनलोड + अन्य अनुप्रयोगहरूमा प्रदर्शन गर्न अनुमति दिने + एप्सको भाषा + सिस्टम पूर्वनिर्धारित + reCAPTCHA चुनौती + प्रेस हल गर्दा \"डन\" + सकियो + भिडियो + + %s सेकेन्ड + + + ExoPlayer अवरोधका कारण खोजी अवधि %d सेकेन्डमा सेट गरियो + म्युट + ध्वनि सुचारु \ No newline at end of file From eacd21b23065971649b2ccedf4b65b54481bbc90 Mon Sep 17 00:00:00 2001 From: bopol Date: Sun, 15 Mar 2020 17:17:18 +0100 Subject: [PATCH 23/89] update extractor version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 4bc36a4c7..e2f890cab 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.B0pol:NewPipeExtractor:6180226' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:65a7eda' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' From 0ab4b6d63d53690661403954dc13b349480dba25 Mon Sep 17 00:00:00 2001 From: Stypox Date: Sun, 15 Mar 2020 17:47:48 +0100 Subject: [PATCH 24/89] Delete subscription_header.xml Unused file --- .../main/res/layout/subscription_header.xml | 109 ------------------ 1 file changed, 109 deletions(-) delete mode 100644 app/src/main/res/layout/subscription_header.xml diff --git a/app/src/main/res/layout/subscription_header.xml b/app/src/main/res/layout/subscription_header.xml deleted file mode 100644 index 9deabada0..000000000 --- a/app/src/main/res/layout/subscription_header.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From df2a3837a90c6150f9c3a768a13cd2a9a1a4a62f Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Sun, 15 Mar 2020 17:37:40 -0300 Subject: [PATCH 25/89] Revert manifest removal from build variant The file was responsible for making the app use the Debug application class, which various debug tools depended on. --- app/src/debug/AndroidManifest.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 app/src/debug/AndroidManifest.xml diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..5cc2fa66a --- /dev/null +++ b/app/src/debug/AndroidManifest.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file From 0f96f3bd435af42bd616e30b362f114d11abfa9c Mon Sep 17 00:00:00 2001 From: Hemanta Sharma Date: Sun, 15 Mar 2020 09:34:24 +0000 Subject: [PATCH 26/89] Translated using Weblate (Nepali) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-ne/strings.xml | 60 +++++++++++++------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index f614c931a..efe03d992 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -23,7 +23,7 @@ अन्य अडियो प्लेयर प्रयोग गर्नुहोस् नयाँ पाइप पपअप मोड सदस्यता लिनुहोस् - "सदस्यता लिईएको" + सदस्यता लिईएको सदस्यता रद्द गर्नुहोस् च्यानल सदस्यता रद्द गरियो सदस्यता परिवर्तन गर्न सकिएन @@ -49,10 +49,10 @@ पूर्वनिर्धारित संकल्प पूर्वनिर्धारित पपअप संकल्प उच्च रिजोल्युसन देखाउन - मात्र केही उपकरणहरू 2k / 4 हजार भिडियो प्ले गर्न सक्नुहुन्छ - Kodi खेल्न - कोरे अनुप्रयोग हराइरहेको स्थापना\? - विकल्प \"संग Kodi प्ले\" देखाउन + मात्र केही उपकरणहरू 2k/4K भिडियो प्ले गर्न सक्छन + Kodi संग खोल्नुहोस + \'Kore\' एप छैन | हाल्न चाहनुहुन्छ\? + \"Kodi संग प्ले\" विकल्प देखाउ Kodi मिडिया सेन्टर मार्फत भिडियो प्ले गर्न एक विकल्प प्रदर्शन अडियो पूर्वनिर्धारित अडियो ढाँचा @@ -63,32 +63,32 @@ कालो पपअप आकार र स्थिति सम्झना पछिल्लो आकार र पपअप को स्थिति सम्झना - inexact खोज्न छिटो प्रयोग - Inexact प्लेयर कम सटीक छिटो स्थितिहरू गर्न खोज्न अनुमति दिन्छ खोज्छन्। 5, 15 वा 25 सेकेन्ड को लागि खोजी यो काम गर्दैन। + तेज \'inexact\' खोज्न प्रयोग गर्नुहोस + \'Inexact\' प्लेयर कम सटीक छिटो स्थितिहरू गर्न खोज्न अनुमति दिन्छ खोज्छन्। 5, 15 वा 25 सेकेन्ड को लागि खोजी यो काम गर्दैन। थम्बनेल लोड - टिप्पणीहरू शो - टिप्पणीहरू लुकाउने बन्द - डाटा र स्मृति उपयोग सुरक्षित, थम्बनेलहरूलोडहुँदैछ रोक्न बन्द। परिवर्तनहरू दुवै मा-स्मृति र-डिस्क छवि क्यास खाली गर्नुहोस्। + टिप्पणीहरू देखाऊ + टिप्पणीहरू लुकाउन, बन्द गर्नुहोस + डाटा र स्मृति उपयोग सुरक्षित गर्न, थम्बनेलहरू लोड रोक्न, बन्द गर्नुहोस। परिवर्तनहरू दुवै मा-स्मृति र-डिस्क छवि क्यास खाली गर्छ। छवि क्यास सखाप - क्यास मेटाडाटा हटाउन - सबै क्यास वेबपेज डाटा हटाउन + क्यास मेटाडाटा हटाउ + सबै क्यास वेबपेज डाटा हटाउ मेटाडाटा क्यास सखाप स्वतः लाम अर्को स्ट्रिम - अन्त्य (गैर-दोहरो) प्लेब्याक लाम सम्बन्धित धारा स्थितिथप्दै AND logic द्वारा जारी राख्न - मात्रा इशारा नियन्त्रण - नियन्त्रण खेलाडी मात्रा गर्न इशाराहरू प्रयोग + अन्त्य (गैर-दोहरो) प्लेब्याक लाम सम्बन्धित धारा स्थिति थप्दै जारी राख्न + आवाज मात्रा नियन्त्रण गर्न इशाराको प्रयोग + प्लेयरको आवाज मात्रा नियन्त्रण गर्न इशाराहरू प्रयोग चमक इशारा नियन्त्रण - नियन्त्रण खेलाडी चमक गर्न इशाराहरू प्रयोग - खेलाडी इशारा नियन्त्रण - नियन्त्रण खेलाडी चमक र मात्रा गर्न इशाराहरू प्रयोग + प्लेयरको चमक नियन्त्रण गर्न इशाराहरू प्रयोग + प्लेयर इशारा नियन्त्रण + प्लेयरको चमक र मात्रा नियन्त्रण गर्न इशाराहरू प्रयोग खोज सुझावहरू खोजी गर्दा सुझावहरू देखाउन खोज इतिहास - स्टोर खोज स्थानीय प्रश्नहरु - इतिहास हेर्ने + खोज प्रश्नहरु स्थानीय भण्डारण + हेरेको इतिहास हेरिएको भिडियो ट्रयाक राख्न - रिजुम खेल - रुकावट (जस्तै फोन कल) पछि खेल जारी + प्लेयर पुनर्स्थापना गर्नुहोस् + रुकावट (जस्तै फोन कल) पछि प्लेयर जारी डाउनलोड अर्को अटोप्ले @@ -468,11 +468,11 @@ पथलैया औद्योगिक सञ्जाल मा रोकावट उपयोगी, मोबाइल डेटा स्विच गर्दा केही डाउनलोड निलम्बित सक्दैन हुनत हुन बन्द - रिजुम प्लेब्याक - पछिल्लो प्लेब्याक स्थिति बहाल - सूची मा स्थान + प्लेब्याक पुनःसुरु गर्नुहोस् + पछिल्लो प्लेब्याक स्थिति पुनर्स्थापना गर्नुहोस् + सूचीमा स्थान सूची मा प्लेब्याक स्थिति संकेतक देखाउन - डाटा स्पष्ट + डाटा सखाप पार्नुहोस इतिहास हेर्ने हटाइयो। प्लेब्याक स्थान हटाइयो। फाइल सारियो वा मेटिएको @@ -513,10 +513,10 @@ एक चोटि अनुप्रयोग पुनः सुरु गरिन्छ भाषा परिवर्तन हुनेछ। पूर्वनिर्धारित पसल - छिटो-अगाडि / -rewind खोज्न अवधि + "छिटो-अगाडि /-पछाडी खोज्न अवधि" PeerTube उदाहरणहरू आफ्नो मनपर्ने PeerTube उदाहरणहरू चयन - को उदाहरणहरू तपाईँले% s मा जस्तै फेला + को उदाहरणहरू तपाईँले %s मा जस्तै फेला add उदाहरणका उदाहरणका URL प्रविष्ट गर्नुहोस् उदाहरणका मान्य सकेन @@ -530,7 +530,7 @@ यो डाउनलोड ठीक गर्न सकिँदैनयो डाउनलोड ठीक गर्न सकिँदैन एउटा उदाहरण छनौट गर्नुहोस् स्क्रिन भिडियो थम्बनेल लक - पृष्ठभूमिमा खेलाडी प्रयोग गर्दा एउटा भिडियो थम्बनेल लक स्क्रिनमा देखाइएको छ + "पृष्ठभूमिमा प्लेयर प्रयोग गर्दा एउटा भिडियो थम्बनेल लक स्क्रिनमा देखाइएको छ" डाउनलोड इतिहास स्पष्ट डाउनलोड फाइल मेट्न मेटिएको% 1 $ को डाउनलोड @@ -543,7 +543,7 @@ भिडियो %s सेकेन्ड - + ExoPlayer अवरोधका कारण खोजी अवधि %d सेकेन्डमा सेट गरियो म्युट From 95883b1e3cd8f513723c40eaf7d8bbb34d6228cd Mon Sep 17 00:00:00 2001 From: TobiGr Date: Mon, 16 Mar 2020 17:34:11 +0100 Subject: [PATCH 27/89] Release version 0.187 --- app/build.gradle | 6 +++--- fastlane/metadata/android/en-US/changelogs/870.txt | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/870.txt diff --git a/app/build.gradle b/app/build.gradle index 2a7e039b3..b05e9c5dc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,8 +11,8 @@ android { applicationId "org.schabi.newpipe" minSdkVersion 19 targetSdkVersion 28 - versionCode 860 - versionName "0.18.6" + versionCode 870 + versionName "0.18.7" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true @@ -63,7 +63,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:6446abc6d' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:dc20f2aa0' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' diff --git a/fastlane/metadata/android/en-US/changelogs/870.txt b/fastlane/metadata/android/en-US/changelogs/870.txt new file mode 100644 index 000000000..4df52d80c --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/870.txt @@ -0,0 +1 @@ +This is a hotfix release updating the SoundCloud `client_id`. \ No newline at end of file From 436b08ab053945436d004994557622212df9a8bd Mon Sep 17 00:00:00 2001 From: Hemanta Sharma Date: Mon, 16 Mar 2020 15:41:12 +0000 Subject: [PATCH 28/89] Translated using Weblate (Nepali) Currently translated at 100.0% (535 of 535 strings) --- app/src/main/res/values-ne/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index efe03d992..e76a348ef 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -99,7 +99,7 @@ पूर्वनिर्धारित सामग्री देश सेवा पूर्वनिर्धारित सामग्री भाषा - खेलाडी + प्लेयर व्यवहार भिडियो र अडियोभिडियो र अडियोभिडियो र अडियो इतिहास र क्यास @@ -516,11 +516,11 @@ "छिटो-अगाडि /-पछाडी खोज्न अवधि" PeerTube उदाहरणहरू आफ्नो मनपर्ने PeerTube उदाहरणहरू चयन - को उदाहरणहरू तपाईँले %s मा जस्तै फेला + %s मा तपाईंलाई मनपर्ने ईन्स्टान्सहरू फेला पार्नुहोस् add उदाहरणका उदाहरणका URL प्रविष्ट गर्नुहोस् उदाहरणका मान्य सकेन - URL हरू समर्थित मात्र HTTPS + HTTPS URL हरू मात्र समर्थित उदाहरणका पहिले नै अवस्थित स्थानिय हालसालै थपिएको From c73f7dd2f81d6b0b5e8457ec22570d6ff40fc774 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 18 Mar 2020 18:00:40 +0100 Subject: [PATCH 29/89] Update extractor version Update changelog --- app/build.gradle | 2 +- fastlane/metadata/android/en-US/changelogs/870.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b05e9c5dc..e7f43551c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,7 +63,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:dc20f2aa0' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:6f03c6e87' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' diff --git a/fastlane/metadata/android/en-US/changelogs/870.txt b/fastlane/metadata/android/en-US/changelogs/870.txt index 4df52d80c..859a1f8b9 100644 --- a/fastlane/metadata/android/en-US/changelogs/870.txt +++ b/fastlane/metadata/android/en-US/changelogs/870.txt @@ -1 +1,2 @@ -This is a hotfix release updating the SoundCloud `client_id`. \ No newline at end of file +This is a hotfix release updating NewPipe to allow using SoundCloud without major hassles again. +SoundCloud's v2 API is used in the extractor now and the detection of invalid client IDs has been improved. \ No newline at end of file From e83e755fe113fadfd0c1649caaf2518b39a6666a Mon Sep 17 00:00:00 2001 From: Poolitzer <25934244+Poolitzer@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:42:03 -0700 Subject: [PATCH 30/89] dropping markdown links in comments Co-Authored-By: Tobias Groza --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 85a058344..5ae29af7e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -16,7 +16,7 @@ To make it easier for us to help you please enter detailed information below. Please note, we only support the latest version of NewPipe and the master branch. Make sure you have that version installed. If you don't, upgrade & reproduce the problem before opening the issue. The release page (https://github.com/TeamNewPipe/NewPipe/releases/latest) is the go-to place to get this version. In order to check your app version, open the left drawer and click on "About". -P.S.: Our [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) might be a nice document to read before you fill out the report :) +P.S.: Our contribution guidelines might be a nice document to read before you fill out the report :) You can find it at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md --> ### Version diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 946bfb4c6..e55d98d73 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -6,7 +6,7 @@ labels: enhancement assignees: '' --- - #### Is your feature request related to a problem? Please describe it A clear and concise description of what the problem is. From 02ef0b0818c9ee8a9769808e9c203025a0cbed12 Mon Sep 17 00:00:00 2001 From: poolitzer <25934244+poolitzer@users.noreply.github.com> Date: Wed, 18 Mar 2020 19:44:37 -0700 Subject: [PATCH 31/89] a document is not nice --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index e55d98d73..0c40f6939 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -6,7 +6,7 @@ labels: enhancement assignees: '' --- - #### Is your feature request related to a problem? Please describe it A clear and concise description of what the problem is. From d0f2a02277a74b710bcc9e8c207ed5c9635b2eb6 Mon Sep 17 00:00:00 2001 From: bopol Date: Sun, 15 Mar 2020 09:25:06 +0100 Subject: [PATCH 32/89] =?UTF-8?q?delete=20=C2=ABseconds=C2=BB=20plural=20s?= =?UTF-8?q?tring=20in=20favor=20of=20=C2=ABdynamic=5Fseek=5Fduration=5Fdes?= =?UTF-8?q?cription=C2=BB=20to=20avoid=20weblate=20conflicts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/schabi/newpipe/util/Localization.java | 2 +- app/src/main/res/values-fr/strings.xml | 59 +++++++++++++++++-- app/src/main/res/values/strings.xml | 7 +-- 3 files changed, 57 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index 9c8fc25b8..bd73b2baf 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -245,7 +245,7 @@ public class Localization { } else if (minutes > 0) { return resources.getQuantityString(R.plurals.minutes, minutes, minutes); } else { - return resources.getQuantityString(R.plurals.seconds, seconds, seconds); + return resources.getQuantityString(R.plurals.dynamic_seek_duration_description, seconds, seconds); } } diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c41d5c54f..a4f05d5f1 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -147,7 +147,6 @@ Désabonné de la chaîne Principal Abonnements - Nouveautés Téléchargement Paramètres À propos @@ -544,11 +543,63 @@ Appuyez sur « Terminé » une fois résolu Terminé Vidéos + En raison des contraintes d’ExoPlayer, le pas de déplacement a été réglée à %d secondes + Couper le son + Remettre le son + + %s seconde %s secondes - En raison des contraintes d’ExoPlayer, le pas de déplacement a été réglée à %d secondes - Couper le son - Remettre le son + + + %d minute + %d minutes + + + + %d heure + %d heures + + + + %d jour + %d jours + + + + Nouveautés + Groupes d\'abonnements + Dernière mise à jour : %s + Pas chargés : %d + Chargement du flux… + Préparation du flux… + Choisir les abonnements + Sélectionnés : %d + Aucun abonnement sélectionné + Nom de groupe vide + Nom + Voulez-vous supprimer ce groupe ? + Nouveau + + Flux + Seuil de mise à jour du flux + Temps depuis la dernière mise à jour pour que le flux ne soit plus considéré comme à jour — %s + Toujours mettre à jour + Charger depuis un service dédié quand c\'est possible + Disponible pour quelques services, c\'est généralement bien plus rapide mais peut retourner un nombre d\'élements limité et des informations souvent incomplètes (ex : pas de durée, pas de statut « En direct ». + Activer le mode rapide + Désactiver le mode rapide + Pensez vous que la chargement du flux est trop lent ? Si c\'est le cas, essayez le mode rapide (vous pouvez changer le mode dans les paramètres ou en pressant le bouton en dessous).\n\n + +NewPipe propose deux manières de charger le flux :\n +• Charger toutes les chaines auquelles vous êtes abonnés, cette manière est lente mais complète.\n +• Charger depuis un service dédié, cette manière est plus rapide mais souvent incomplète.\n\n + +La différence entre les deux est que la méthode rapide manque souvent de quelques informations, comme la durée d\'un élément ou le type (nous ne pouvons pas différencier les vidéos en direct des vidéos normales) et pourrait retourner moins d\'éléments.\n\n + +YouTube est un exemple qui offre cette méthode rapide avec le flux RSS.\n\n + +Donc le choix vous revient : Preferrez-vous la vitesse où des informations précises ? \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a1e9d28d1..d2c0f3411 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -594,17 +594,12 @@ App language System default Due to ExoPlayer constraints the seek duration was set to %d seconds + %s second %s seconds - - - %d second - %d seconds - - %d minute %d minutes From 0ae4d1369db80883d6bf53a0b3d025e15f31e4cb Mon Sep 17 00:00:00 2001 From: bopol Date: Sun, 15 Mar 2020 07:25:48 -0300 Subject: [PATCH 33/89] use plural string for feed_group_dialog_selection_count --- .../schabi/newpipe/local/feed/FeedFragment.kt | 2 +- .../subscription/dialog/FeedGroupDialog.kt | 6 ++- app/src/main/res/values-eo/strings.xml | 40 +++++++++++++++++++ app/src/main/res/values-fr/strings.xml | 8 ++-- app/src/main/res/values/strings.xml | 5 ++- 5 files changed, 54 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt index 64020d14c..d41a2e37b 100644 --- a/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt +++ b/app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt @@ -128,7 +128,7 @@ class FeedFragment : BaseListFragment() { .putBoolean(getString(R.string.feed_use_dedicated_fetch_method_key), !usingDedicatedMethod) .apply() } - .setPositiveButton(android.R.string.ok, null) + .setPositiveButton(resources.getString(R.string.finish), null) .create() .show() return true diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt index 27ff38a3f..eecbf515d 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt @@ -189,7 +189,8 @@ class FeedGroupDialog : DialogFragment() { val groupAdapter = GroupAdapter() groupAdapter.spanCount = if (useGridLayout) 4 else 1 - val selectedCountText = getString(R.string.feed_group_dialog_selection_count, this.selectedSubscriptions.size) + var subscriptionsCount = this.selectedSubscriptions.size + val selectedCountText = resources.getQuantityString(R.plurals.feed_group_dialog_selection_count, subscriptionsCount, subscriptionsCount) selected_subscription_count_view.text = selectedCountText subscriptions_selector_header_info.text = selectedCountText @@ -234,7 +235,8 @@ class FeedGroupDialog : DialogFragment() { item.isSelected = isSelected item.notifyChanged(PickerSubscriptionItem.UPDATE_SELECTED) - val updateSelectedCountText = getString(R.string.feed_group_dialog_selection_count, this.selectedSubscriptions.size) + subscriptionsCount = this.selectedSubscriptions.size + val updateSelectedCountText = resources.getQuantityString(R.plurals.feed_group_dialog_selection_count, subscriptionsCount, subscriptionsCount) selected_subscription_count_view.text = updateSelectedCountText subscriptions_selector_header_info.text = updateSelectedCountText } diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 88d45874d..e4e3d708d 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -547,6 +547,46 @@ %s sekundo %s sekundoj + + %d minuto + %d minutoj + + + + %d horo + %d horoj + + + + %d tago + %d tagoj + + + + Abonfluoj grupoj + Lasta ĝisdatigo: %s + Ne ŝarĝitaj: %d + Ŝarĝante abonfluon… + Procesante abonfluon… + Seletkti abonojn + + Selektita: %d + Selektitaj: %d + + No subscription selected + Malplena grupa nomo + Nomo + Ĉu vi volas forviŝi tion grupon? + Nova + + Abonfluo + Abonflua ĝisdatiga sojlo + Tempo post lasta ĝisdatigo antaŭ abono estas konsiderita malĝisdatigita — %s + Ĉiam ĝisdatigi + Ŝarĝi el dediĉita abonfluo kiam ĝi haveblas + Havebla en kelkaj servoj, ĝi estas ĝenerale multe pli rapida, sed povas doni limigita kvanto da aĵoj kaj ofte malpreciza informoj (ekzemple: neniu duracio, ajâ tipo, neniu « nuna » statuso). + Ŝalti rapidan modon + Malŝati rapidan modon Pro ExoPlayer limoj, la serĉa daŭro estas metita %d sekundojn Mutigi Malmutigi diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a4f05d5f1..876900688 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -546,13 +546,12 @@ En raison des contraintes d’ExoPlayer, le pas de déplacement a été réglée à %d secondes Couper le son Remettre le son - - %s seconde %s secondes + %d minute %d minutes @@ -576,8 +575,11 @@ Chargement du flux… Préparation du flux… Choisir les abonnements - Sélectionnés : %d Aucun abonnement sélectionné + + Sélectionné : %d + Sélectionnés : %d + Nom de groupe vide Nom Voulez-vous supprimer ce groupe ? diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d2c0f3411..3f4ff7c00 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -623,8 +623,11 @@ Loading feed… Processing feed… Select subscriptions - Selected: %d No subscription selected + + Selected: %d + Selected: %d + Empty group name Name Do you want to delete this group? From 85e16afaa0dab266e005d554969d825584fee574 Mon Sep 17 00:00:00 2001 From: bopol Date: Wed, 18 Mar 2020 18:42:47 +0100 Subject: [PATCH 34/89] use val instead of val, make sentence more natural --- .../newpipe/local/subscription/dialog/FeedGroupDialog.kt | 4 ++-- app/src/main/res/values-eo/strings.xml | 4 ++-- app/src/main/res/values-fr/strings.xml | 4 ++-- app/src/main/res/values/strings.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt index eecbf515d..b1fef5671 100644 --- a/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt +++ b/app/src/main/java/org/schabi/newpipe/local/subscription/dialog/FeedGroupDialog.kt @@ -189,7 +189,7 @@ class FeedGroupDialog : DialogFragment() { val groupAdapter = GroupAdapter() groupAdapter.spanCount = if (useGridLayout) 4 else 1 - var subscriptionsCount = this.selectedSubscriptions.size + val subscriptionsCount = this.selectedSubscriptions.size val selectedCountText = resources.getQuantityString(R.plurals.feed_group_dialog_selection_count, subscriptionsCount, subscriptionsCount) selected_subscription_count_view.text = selectedCountText subscriptions_selector_header_info.text = selectedCountText @@ -235,7 +235,7 @@ class FeedGroupDialog : DialogFragment() { item.isSelected = isSelected item.notifyChanged(PickerSubscriptionItem.UPDATE_SELECTED) - subscriptionsCount = this.selectedSubscriptions.size + val subscriptionsCount = this.selectedSubscriptions.size val updateSelectedCountText = resources.getQuantityString(R.plurals.feed_group_dialog_selection_count, subscriptionsCount, subscriptionsCount) selected_subscription_count_view.text = updateSelectedCountText subscriptions_selector_header_info.text = updateSelectedCountText diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index e4e3d708d..ef5b13df8 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -570,8 +570,8 @@ Procesante abonfluon… Seletkti abonojn - Selektita: %d - Selektitaj: %d + %d selektita + %d selektitaj No subscription selected Malplena grupa nomo diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 876900688..42a9fd410 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -577,8 +577,8 @@ Choisir les abonnements Aucun abonnement sélectionné - Sélectionné : %d - Sélectionnés : %d + %d sélectionné + %d sélectionnés Nom de groupe vide Nom diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3f4ff7c00..174fd6c00 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -625,8 +625,8 @@ Select subscriptions No subscription selected - Selected: %d - Selected: %d + %d selected + %d selected Empty group name Name From 27fc0d590041500c574c99961593b43d0a27bbc0 Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Thu, 19 Mar 2020 08:56:48 -0300 Subject: [PATCH 35/89] Make duration plurals naming consistent --- .../settings/VideoAudioSettingsFragment.java | 2 +- .../java/org/schabi/newpipe/util/Localization.java | 2 +- app/src/main/res/values-ar/strings.xml | 14 +++++++------- app/src/main/res/values-b+ast/strings.xml | 6 +++--- app/src/main/res/values-b+zh+HANS+CN/strings.xml | 4 ++-- app/src/main/res/values-cs/strings.xml | 8 ++++---- app/src/main/res/values-de/strings.xml | 6 +++--- app/src/main/res/values-eo/strings.xml | 6 +++--- app/src/main/res/values-es/strings.xml | 6 +++--- app/src/main/res/values-eu/strings.xml | 6 +++--- app/src/main/res/values-fr/strings.xml | 6 +++--- app/src/main/res/values-he/strings.xml | 10 +++++----- app/src/main/res/values-in/strings.xml | 4 ++-- app/src/main/res/values-it/strings.xml | 6 +++--- app/src/main/res/values-ja/strings.xml | 4 ++-- app/src/main/res/values-ku/strings.xml | 6 +++--- app/src/main/res/values-nb-rNO/strings.xml | 6 +++--- app/src/main/res/values-ne/strings.xml | 6 +++--- app/src/main/res/values-pl/strings.xml | 8 ++++---- app/src/main/res/values-pt-rBR/strings.xml | 6 +++--- app/src/main/res/values-ru/strings.xml | 8 ++++---- app/src/main/res/values-tr/strings.xml | 6 +++--- app/src/main/res/values-zh-rTW/strings.xml | 4 ++-- app/src/main/res/values/settings_keys.xml | 2 +- app/src/main/res/values/strings.xml | 6 +++--- 25 files changed, 74 insertions(+), 74 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index d4897ecaa..9d1c37147 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -76,7 +76,7 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment { displayedDurationValues.add(durationsValue); try { displayedDescriptionValues.add(String.format( - res.getQuantityString(R.plurals.dynamic_seek_duration_description, + res.getQuantityString(R.plurals.seconds, currentDurationValue), currentDurationValue)); } catch (Resources.NotFoundException ignored) { diff --git a/app/src/main/java/org/schabi/newpipe/util/Localization.java b/app/src/main/java/org/schabi/newpipe/util/Localization.java index bd73b2baf..9c8fc25b8 100644 --- a/app/src/main/java/org/schabi/newpipe/util/Localization.java +++ b/app/src/main/java/org/schabi/newpipe/util/Localization.java @@ -245,7 +245,7 @@ public class Localization { } else if (minutes > 0) { return resources.getQuantityString(R.plurals.minutes, minutes, minutes); } else { - return resources.getQuantityString(R.plurals.dynamic_seek_duration_description, seconds, seconds); + return resources.getQuantityString(R.plurals.seconds, seconds, seconds); } } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 1e48f1800..961da0b0f 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -567,12 +567,12 @@ اضغط على \"تم\" عند حلها منجز الفيديوهات - - %s ثوانٍ - %s ثوانٍ - %s ثوانٍ - %s ثوانٍ - %s ثوانٍ - %s ثوانٍ + + %d ثوانٍ + %d ثوانٍ + %d ثوانٍ + %d ثوانٍ + %d ثوانٍ + %d ثوانٍ \ No newline at end of file diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 347afa2cf..6b5357a95 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -276,9 +276,9 @@ Llingua de l\'aplicación La predeterminada del sistema Vídeos - - %s segundos - %s segundos + + %d segundos + %d segundos Tempu Tonu diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index fe866fd04..c06e82564 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -536,8 +536,8 @@ 完成后请按\"完成(Done)\" 完成 视频 - - %s秒 + + %d秒 由于ExoPlayer的限制,搜寻间隔设置为%d秒 静音 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9fd68d180..ae5730e6c 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -553,10 +553,10 @@ otevření ve vyskakovacím okně Po vyřešení stiskni \"Hotovo\" Hotovo Videa - - %s sekund - %s sekund - %s sekund + + %d sekund + %d sekund + %d sekund Kvůli omezením ExoPlayer bylo prohledávání nastaveno na %d vteřin Umlčet diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2e74f42f0..3c9936868 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -545,9 +545,9 @@ \"Fertig\" drücken, wenn es gelöst wurde Fertig Videos - - %s Sekunde - %s Sekunden + + %d Sekunde + %d Sekunden Aufgrund von ExoPlayer-Einschränkungen wurde die Suchdauer auf %d Sekunden gesetzt Stummschaltung diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index ef5b13df8..0b2a67b4d 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -543,9 +543,9 @@ Sistemnormo Premu « Finita » kiam solvita Finita - - %s sekundo - %s sekundoj + + %d sekundo + %d sekundoj %d minuto diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index b6e0386a3..c696b9d66 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -544,9 +544,9 @@ Pulse en «Hecho» cuando esté resuelto Hecho Vídeos - - %s segundo - %s segundos + + %d segundo + %d segundos Debido a limitaciones de ExoPlayer la duración de la búsqueda fue fijada en %d segundos Silenciar diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index e8bd8a9a7..e9a260cb9 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -544,9 +544,9 @@ Sakatu \"Egina\" konponduta dagoenean Egina Bideoak - - %s segundu - %s segundu + + %d segundu + %d segundu ExoPlayer-en mugak direla eta bilaketaren iraupena %d segundotan ezarri da \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 42a9fd410..bf9b6488d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -546,9 +546,9 @@ En raison des contraintes d’ExoPlayer, le pas de déplacement a été réglée à %d secondes Couper le son Remettre le son - - %s seconde - %s secondes + + %d seconde + %d secondes diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index a3f4583cb..fbc813a50 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -556,11 +556,11 @@ יש ללחוץ על „סיום” לאחר הפתירה סיום סרטונים - - %s שניות - %s שניות - %s שניות - %s שניות + + %d שניות + %d שניות + %d שניות + %d שניות עקב מגבלות של ExoPlayer מגבלות טווחי החיפוש הוגדרו לכדי %d שניות השתקה diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index b4db9141d..ffe2c3ad6 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -538,8 +538,8 @@ Durasi maju/mundur cepat Tekan \"Selesai\" saat selesai Video - - %s detik + + %d detik Karena kendala ExoPlayer, durasi pencarian ditetapkan ke %d detik \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1ad3bc218..ccf950aea 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -544,9 +544,9 @@ Premere \"Fatto\" quando risolto Fatto Video - - %s secondi - %s secondi + + %d secondi + %d secondi A causa dei vincoli di ExoPlayer la durata dello spostamento rapido è stata impostata a %d secondi Silenzia diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 16ee3ed03..492bf2898 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -537,8 +537,8 @@ 解けたら \"完了\" を押してください 完了 動画 - - %s 秒 + + %d 秒 ExoPlayer の制約のためシーク間隔は %d 秒に設定されました ミュート diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 43b32a29d..42bed1982 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -546,8 +546,8 @@ گرتە بکە لەسەر ”تەواو” کاتێ کە چارەسەرکرا تەواو ڤیدیۆکان - - %s چرکە - %s چرکە + + %d چرکە + %d چرکە \ No newline at end of file diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 95a19c903..039b48d59 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -543,8 +543,8 @@ Trykk \"Ferdig\" når den er løst Ferdig Videoer - - %s sekunder - %s sekunder + + %d sekunder + %d sekunder \ No newline at end of file diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index e76a348ef..9858b703c 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -541,9 +541,9 @@ प्रेस हल गर्दा \"डन\" सकियो भिडियो - - %s सेकेन्ड - + + %d सेकेन्ड + %d सेकेन्ड ExoPlayer अवरोधका कारण खोजी अवधि %d सेकेन्डमा सेट गरियो म्युट diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index c2ef82d82..df908ebe2 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -550,10 +550,10 @@ Po rozwiązaniu naciśnij „Gotowe” Gotowe Filmy - - %s sekund - %s sekund - %s sekund + + %d sekund + %d sekund + %d sekund Ze względu na ograniczenia ExoPlayer, czas trwania wyszukiwania został ustawiony na %d sekund Wycisz diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index c96435799..31f748cc0 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -552,9 +552,9 @@ abrir em modo popup Toque em \"Feito\" ao resolver Feito Vídeos - - %s segundo - %s segundos + + %d segundo + %d segundos Devido as configurações do ExoPlayer, a duração de busca foi alterada para %d segundos Desativar som diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a0d292c80..9c3919834 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -549,10 +549,10 @@ По завершении нажмите Готово Готово Видео - - %s секунда - %s секунды - %s секунд + + %d секунда + %d секунды + %d секунд Из-за ограничений ExoPlayer точность перемотки составляет %d секунд Отключить звук diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 05bc3cbe7..4bf181c82 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -544,9 +544,9 @@ Çözüldüğünde \"Bitti\" butonuna basın Bitti Videolar - - %s saniye - %s saniye + + %d saniye + %d saniye ExoPlayer kısıtlamaları gereği konumlama süresi %d saniyeye belirlenmiştir \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2837990ac..83da9b12a 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -537,8 +537,8 @@ 解決後請按「完成」 完成 影片 - - %s秒 + + %d秒 因為 ExoPlayer 的限制,搜尋持續時間設定為 %d 秒 靜音 diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index e97bf11ca..980af0943 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -33,7 +33,7 @@ 10000 + (seconds) exist. Otherwise this array is picked--> 5 seconds 10 seconds 15 seconds diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 174fd6c00..ea1cb31c8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -595,9 +595,9 @@ System default Due to ExoPlayer constraints the seek duration was set to %d seconds - - %s second - %s seconds + + %d second + %d seconds From 49c6aa2d74194b57c92a289e439c45d52c1e828c Mon Sep 17 00:00:00 2001 From: Tobias Groza Date: Thu, 19 Mar 2020 18:03:33 +0100 Subject: [PATCH 36/89] Update .github/ISSUE_TEMPLATE/feature_request.md Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/feature_request.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 0c40f6939..8cbf29598 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -6,7 +6,7 @@ labels: enhancement assignees: '' --- - #### Is your feature request related to a problem? Please describe it A clear and concise description of what the problem is. From b4a5f29cd11012008867196bcb5ba8127f0c8dcc Mon Sep 17 00:00:00 2001 From: nautilusx Date: Thu, 19 Mar 2020 17:19:13 +0000 Subject: [PATCH 37/89] Translated using Weblate (German) Currently translated at 97.1% (544 of 560 strings) --- app/src/main/res/values-de/strings.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3c9936868..42c2e3bd1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -552,4 +552,26 @@ Aufgrund von ExoPlayer-Einschränkungen wurde die Suchdauer auf %d Sekunden gesetzt Stummschaltung Stummschaltung aufheben + Hilfe + + %d Minute + %d Minuten + + + %d Stunde + %d Stunden + + + %d Tag + %d Tage + + + %d ausgewählt + %d ausgewählte + + Leerer Gruppenname + Name + Möchtest du diese Gruppe löschen\? + Neu + Immer aktualisieren \ No newline at end of file From 8b452567250aa8eb3cd8759cd0a92d0874c04c84 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Thu, 19 Mar 2020 13:13:45 +0000 Subject: [PATCH 38/89] Translated using Weblate (Hebrew) Currently translated at 99.1% (555 of 560 strings) --- app/src/main/res/values-he/strings.xml | 38 +++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index fbc813a50..b773af8fd 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -557,7 +557,7 @@ סיום סרטונים - %d שניות + שנייה אחת %d שניות %d שניות %d שניות @@ -565,4 +565,40 @@ עקב מגבלות של ExoPlayer מגבלות טווחי החיפוש הוגדרו לכדי %d שניות השתקה ביטול השתקה + נגן מועדף + עזרה + + דקה + %d דקות + %d דקות + %d דקות + + + שעה + שעתיים + %d שעות + %d שעות + + + יום + יומיים + %d ימים + %d ימים + + קבוצות הזנות + העדכון הישן ביותר למינוי: %s + לא נטען: %s + ההזנה נטענת… + ההזנה בהליכי עיבוד… + בחירת מינויים + לא נבחר מינוי + שם הקבוצה ריק + שם + למחוק את הקבוצה הזאת\? + חדשה + הזנה + סף עדכון ההזנה + לעדכן תמיד + הפעלת מצב מהיר + השבתת מצב מהיר \ No newline at end of file From 565a5abb55c634d94c7f9eaa67b0f9020a6deee9 Mon Sep 17 00:00:00 2001 From: zmni Date: Thu, 19 Mar 2020 13:04:38 +0000 Subject: [PATCH 39/89] Translated using Weblate (Indonesian) Currently translated at 99.2% (556 of 560 strings) --- app/src/main/res/values-in/strings.xml | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index ffe2c3ad6..ac9c067af 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -542,4 +542,36 @@ %d detik Karena kendala ExoPlayer, durasi pencarian ditetapkan ke %d detik + \@string/app_name + Bantuan + + %d menit + + + %d jam + + + %d hari + + Grup feed + Pembaruan subscription terlama: %s + Tidak dimuat: %d + Memuat feed… + Memproses feed… + Pilih subscription + Tidak ada subscription yang dipilih + + %d dipilih + + Nama grup kosong + Nama + Apakah anda ingin menghapus grup ini\? + Baru + Feed + Threshold pembaruan feed + Waktu setelah pembaruan terakhir sebelum subscription dianggap kedaluwarsa — %s + Selalu diperbarui + Tersedia pada beberapa layanan, biasanya lebih cepat tetapi memperbarui lebih sedikit item dan sering kali dengan informasi yang tidak lengkap (mis. tanpa durasi, tanpa tipe item, tanpa status live). + Aktifkan mode cepat + Nonaktifkan mode cepat \ No newline at end of file From ac9057bd23e72d6f85d23698a4f58c6292fda5aa Mon Sep 17 00:00:00 2001 From: Marian Hanzel Date: Thu, 19 Mar 2020 16:22:24 +0000 Subject: [PATCH 40/89] Translated using Weblate (Slovak) Currently translated at 91.9% (515 of 560 strings) --- app/src/main/res/values-sk/strings.xml | 62 ++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index bdda945bc..5dfb266e5 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -549,4 +549,66 @@ Súhlas pre zobrazenie cez ďalšie aplikácie Jazyk aplikácie Predvolený + Vyrieš a stlač \"Hotovo\" + Hotovo + Videá + Pre obmedzenie ExoPlayera bolo prehľadávania nastavené na % d sekúnd + Stlmiť + Povoliť + Pomoc + + %d sekunda + %d sekundy + %d sekúnd + + + %d minuta + %d minuty + %d minút + + + %d hodina + %d hodiny + %d hodín + + + %d deň + %d dni + %d dní + + Skupiny zdrojov + Najstaršia aktualizácia odberu: %s + Nenačítané: %d + Načítavanie zdroja… + Spracovávanie zdroja… + Vyberte odbery + Žiadne vybrané odbery + + %d vybraný + %d vybrané + %d vybraných + + Bez názvu skupiny + Názov + Chcete zmazať vybranú skupinu\? + Nová + Zdroj + Interval obnovy zdroja + Čas po ktorom sa kontrola odberu považuje za zastaralú — %s + Vždy aktualizovať + Načítať z vyhradeného zdroja, ak je k dispozícii + Služba je dostupná len pre určité zdroje, zvyčajne je rýchlejšia ale môže vrátiť obmedzený počet položiek alebo neúplné informácie (napr. dĺžka, typ, status). + Povoliť rýchly režim + Zakázať rýchly režim + Myslíte si, že načítavanie informačného kanála je príliš pomalé\? Ak áno, skúste povoliť rýchle načítanie (môžete ho zmeniť v nastaveniach alebo stlačením tlačidla nižšie). +\n +\nNewPipe ponúka dve stratégie načítania informačného kanála: +\n• Načítava sa celý kanál prihlásenia na odber, ktorý je pomalý, ale úplný. +\n• Používanie vyhradeného koncového bodu služby, ktorý je rýchly, ale zvyčajne nie je kompletný. +\n +\nRozdiel medzi nimi je ten, že v prípade rýchleho videa zvyčajne chýbajú nejaké informácie, napríklad trvanie alebo typ položky (nedá sa rozlíšiť medzi živými videami a normálnymi videami) a môže sa vrátiť menej položiek. +\n +\nYouTube je príkladom služby, ktorá ponúka túto rýchlu metódu s informačným kanálom RSS. +\n +\nTakže výber sa zredukuje na to, čo uprednostňujete: rýchlosť alebo presné informácie. \ No newline at end of file From 60bcd70718448f8989c2d0863a46e80c2b058eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 19 Mar 2020 16:51:06 +0000 Subject: [PATCH 41/89] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 88.7% (497 of 560 strings) --- app/src/main/res/values-nb-rNO/strings.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 039b48d59..f17c251c2 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -547,4 +547,24 @@ %d sekunder %d sekunder + Forstum + Opphev forstumming + Hjelp + + %d minutt + %d minutter + + + %d time + %d timer + + + %d dag + %d dager + + Ikke innlastet: %d + Tomt gruppenavn + Navn + Ønsker du å slette denne gruppen\? + Ny \ No newline at end of file From 50fd10ecd6e40db73887bf537feaca57f1527a2d Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 19 Mar 2020 22:50:48 +0100 Subject: [PATCH 42/89] Remove titles from issue templates and fix typo --- .github/ISSUE_TEMPLATE/bug_report.md | 3 +-- .github/ISSUE_TEMPLATE/feature_request.md | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5ae29af7e..202e8a71a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,7 +1,6 @@ --- name: Bug report about: Create a bug report to help us improve -title: "[BUG]" labels: bug assignees: '' @@ -37,7 +36,7 @@ Tell us what you expected to happen. Tell us what happens instead. ### Screenshots/Screen records -If applicable, add screenshots or a screen recording to help explain your problem. Github should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from an image/video hoster here instead. +If applicable, add screenshots or a screen recording to help explain your problem. GitHub should support uploading them directly in the issue field. If your file is too big, feel free to paste a link from an image/video hoster here instead. ### Logs If your bug includes a crash, please head over to the [incredible bugreport to markdown converter](https://teamnewpipe.github.io/CrashReportToMarkdown/). Copy the result. Paste it here: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 8cbf29598..89fe58658 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,7 +1,6 @@ --- name: Feature request about: Suggest an idea for this project -title: "[Feature]" labels: enhancement assignees: '' From 0a412e2abbc1d4cd50439ec89070a69a794af7ba Mon Sep 17 00:00:00 2001 From: jonas-skywalker <52137816+jonas-skywalker@users.noreply.github.com> Date: Fri, 20 Mar 2020 11:59:34 +0100 Subject: [PATCH 43/89] Remove search icon in search mode. Issue: #3183 (see PR #3193) --- app/src/main/res/layout/toolbar_search_layout.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/res/layout/toolbar_search_layout.xml b/app/src/main/res/layout/toolbar_search_layout.xml index fdc7e6d6b..b369cc282 100644 --- a/app/src/main/res/layout/toolbar_search_layout.xml +++ b/app/src/main/res/layout/toolbar_search_layout.xml @@ -15,8 +15,6 @@ android:layout_marginRight="48dp" android:layout_marginTop="4dp" android:background="?attr/colorPrimary" - android:drawableLeft="?attr/search" - android:drawablePadding="8dp" android:focusable="true" android:focusableInTouchMode="true" android:hint="@string/search" From 47c5008871538f1cc1f14472b506f92e21f51d70 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 21 Mar 2020 16:58:53 +0100 Subject: [PATCH 44/89] Change mute button color for more visibility --- .../main/java/org/schabi/newpipe/player/MainVideoPlayer.java | 2 +- app/src/main/res/layout-large-land/activity_main_player.xml | 3 +-- app/src/main/res/layout/activity_main_player.xml | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java index 51dff970f..b5e614bec 100644 --- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java @@ -403,7 +403,7 @@ public final class MainVideoPlayer extends AppCompatActivity } protected void setMuteButton(final ImageButton muteButton, final boolean isMuted) { - muteButton.setColorFilter(ContextCompat.getColor(getApplicationContext(), isMuted ? R.color.white : R.color.gray)); + muteButton.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), isMuted ? R.drawable.ic_volume_off_white_72dp : R.drawable.ic_volume_up_white_72dp)); } diff --git a/app/src/main/res/layout-large-land/activity_main_player.xml b/app/src/main/res/layout-large-land/activity_main_player.xml index 364790071..1499eec36 100644 --- a/app/src/main/res/layout-large-land/activity_main_player.xml +++ b/app/src/main/res/layout-large-land/activity_main_player.xml @@ -405,8 +405,7 @@ android:src="@drawable/ic_volume_off_white_24dp" android:background="?attr/selectableItemBackground" android:contentDescription="@string/switch_to_background" - tools:ignore="RtlHardcoded" - android:tint="@color/gray"/> + tools:ignore="RtlHardcoded" /> + tools:ignore="RtlHardcoded" /> From c54ac32732b7e253610770069bb722d7156fd4a4 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 21 Mar 2020 21:42:11 +0100 Subject: [PATCH 45/89] mute button color for queue --- .../newpipe/player/ServicePlayerActivity.java | 13 ++++++++----- .../main/res/drawable/ic_volume_up_black_24dp.xml | 9 +++++++++ .../main/res/drawable/ic_volume_up_white_24dp.xml | 9 +++++++++ app/src/main/res/values/attrs.xml | 1 + app/src/main/res/values/styles.xml | 2 ++ 5 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/drawable/ic_volume_up_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_volume_up_white_24dp.xml diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java index e7700351e..f0223f8ce 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java @@ -4,6 +4,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.content.res.TypedArray; +import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.IBinder; @@ -700,11 +701,13 @@ public abstract class ServicePlayerActivity extends AppCompatActivity item.setTitle(player.isMuted() ? R.string.unmute : R.string.mute); //2) Icon change accordingly to current App Theme - TypedArray a = getTheme().obtainStyledAttributes(R.style.Theme_AppCompat, new int[]{R.attr.volume_off}); - int attributeResourceId = a.getResourceId(0, 0); - Drawable drawableMuted = getResources().getDrawable(attributeResourceId); - Drawable drawableUnmuted = getResources().getDrawable(R.drawable.ic_volume_off_gray_24dp); - item.setIcon(player.isMuted() ? drawableMuted : drawableUnmuted); + item.setIcon(player.isMuted() ? getThemedDrawable(R.attr.volume_off) : getThemedDrawable(R.attr.volume_on)); } } + + private Drawable getThemedDrawable(int attribute) { + return getResources().getDrawable( + getTheme().obtainStyledAttributes(R.style.Theme_AppCompat, new int[]{attribute}) + .getResourceId(0, 0)); + } } diff --git a/app/src/main/res/drawable/ic_volume_up_black_24dp.xml b/app/src/main/res/drawable/ic_volume_up_black_24dp.xml new file mode 100644 index 000000000..bb0c74ba1 --- /dev/null +++ b/app/src/main/res/drawable/ic_volume_up_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml new file mode 100644 index 000000000..f63b9e451 --- /dev/null +++ b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 4cda52a99..39a51f234 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -16,6 +16,7 @@ + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index f7d09ef9c..9a41752b1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -33,6 +33,7 @@ @drawable/ic_expand_more_black_24dp @drawable/ic_expand_less_black_24dp @drawable/ic_volume_off_black_24dp + @drawable/ic_volume_up_black_24dp @drawable/ic_palette_black_24dp @drawable/ic_language_black_24dp @drawable/ic_history_black_24dp @@ -139,6 +140,7 @@ @drawable/ic_expand_more_white_24dp @drawable/ic_expand_less_white_24dp @drawable/ic_volume_off_white_24dp + @drawable/ic_volume_up_white_24dp @drawable/ic_palette_white_24dp @drawable/ic_language_white_24dp @drawable/ic_history_white_24dp From 8d068b339ab44881e95b485c4079e9e3ca9c2ab7 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 21 Mar 2020 21:54:40 +0100 Subject: [PATCH 46/89] remove unused imports --- .../java/org/schabi/newpipe/player/ServicePlayerActivity.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java index f0223f8ce..113592b47 100644 --- a/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/ServicePlayerActivity.java @@ -3,15 +3,12 @@ package org.schabi.newpipe.player; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; -import android.content.res.TypedArray; -import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.IBinder; import android.provider.Settings; import androidx.appcompat.app.AppCompatActivity; -import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.appcompat.widget.Toolbar; From bb91b168635208e0b91e78a0cf15f1b521b0938a Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 21 Mar 2020 22:07:39 +0100 Subject: [PATCH 47/89] use 8F instead of 6f for white hexadecimal, on @wb9688 advise --- app/src/main/res/drawable/ic_volume_up_white_24dp.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml index f63b9e451..271540946 100644 --- a/app/src/main/res/drawable/ic_volume_up_white_24dp.xml +++ b/app/src/main/res/drawable/ic_volume_up_white_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> From 3e348f8c71cc81ee04f61f2ba9fbb60fe5238134 Mon Sep 17 00:00:00 2001 From: nautilusx Date: Fri, 20 Mar 2020 17:21:26 +0000 Subject: [PATCH 48/89] Translated using Weblate (German) Currently translated at 98.0% (549 of 560 strings) --- app/src/main/res/values-de/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 42c2e3bd1..1f0735009 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -574,4 +574,9 @@ Möchtest du diese Gruppe löschen\? Neu Immer aktualisieren + Feed-Gruppen + Nicht geladen: %d + Feed laden… + Feed verarbeiten… + Feed \ No newline at end of file From a86912c8e7583ac809da1b4f0750eb9e1a8519fe Mon Sep 17 00:00:00 2001 From: Hemanta Sharma Date: Fri, 20 Mar 2020 03:20:38 +0000 Subject: [PATCH 49/89] Translated using Weblate (Nepali) Currently translated at 95.3% (534 of 560 strings) --- app/src/main/res/values-ne/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-ne/strings.xml b/app/src/main/res/values-ne/strings.xml index 9858b703c..8cb7e7eb4 100644 --- a/app/src/main/res/values-ne/strings.xml +++ b/app/src/main/res/values-ne/strings.xml @@ -548,4 +548,5 @@ ExoPlayer अवरोधका कारण खोजी अवधि %d सेकेन्डमा सेट गरियो म्युट ध्वनि सुचारु + मद्दत \ No newline at end of file From b31fbc380fd29701bbd76d650fc09dae04bf94a1 Mon Sep 17 00:00:00 2001 From: JoC Date: Thu, 19 Mar 2020 21:31:10 +0000 Subject: [PATCH 50/89] Translated using Weblate (Spanish) Currently translated at 99.8% (559 of 560 strings) --- app/src/main/res/values-es/strings.xml | 48 ++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c696b9d66..1ba278e63 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -551,4 +551,52 @@ Debido a limitaciones de ExoPlayer la duración de la búsqueda fue fijada en %d segundos Silenciar Desactivar silencio + \@string/app_name + Ayuda + + %d minuto + %d minutos + + + %d hora + %d horas + + + %d día + %d días + + Grupos del feed + Actualización más antigua de suscripciones: %s + No cargado: %d + Cargando contenidos… + Procesando contenidos… + Elegir suscripciones + No hay suscripciones seleccionadas + + %d elegida + %d elegidas + + Nombre de grupo vacío + Nombre + ¿Borrar este grupo\? + Nuevo + Contenido + Velocidad de actualización del feed + Tiempo para que una suscripción se considere desactualizada — %s + Actualizar siempre + Extraer desde feed dedicado cuando esté disponible + Disponible para algunos servicios, suele ser más rápido pero puede mostrar una cantidad limitada de ítems y a menudo información incompleta (por ejemplo falta de duración, tipo de ítem o estado). + Activar modo rápido + Desactivar modo rápido + ¿Piensas que la carga de contenidos es muy lenta\? Entonces intenta habilitar la carga rápida (puedes cambiarlo en los ajustes o presionando el botón debajo). +\n +\nNewpipe ofrece dos formas de cargar los contenidos: +\n• Obtener todos los canales con suscripciones, lento pero completo. +\n• Usar un punto dedicado de servicio, más rápido pero usualmente incompleto. +\n +\nLa diferencia es que en la forma rápida usualmente falta algo de información, como la duración o tipo de ítem (no se puede diferenciar entre videos normales y en vivo) y puede que aparezcan menos ítems. +\n +\nYouTube es un ejemplo de un servicio que ofrece este método rápido con su listado de contenidos por RSS. +\n +\nEntonces la elección se limita a qué prefieres: velocidad o información exacta. \ No newline at end of file From ebb138913348c9c6a66482425cf4cd935bd23077 Mon Sep 17 00:00:00 2001 From: B0pol Date: Thu, 19 Mar 2020 21:13:14 +0000 Subject: [PATCH 51/89] Translated using Weblate (French) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-fr/strings.xml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bf9b6488d..7b010aacc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -550,23 +550,19 @@ %d seconde %d secondes - %d minute %d minutes - %d heure %d heures - %d jour %d jours - Nouveautés Groupes d\'abonnements @@ -584,7 +580,6 @@ Nom Voulez-vous supprimer ce groupe ? Nouveau - Flux Seuil de mise à jour du flux Temps depuis la dernière mise à jour pour que le flux ne soit plus considéré comme à jour — %s @@ -604,4 +599,6 @@ La différence entre les deux est que la méthode rapide manque souvent de quelq YouTube est un exemple qui offre cette méthode rapide avec le flux RSS.\n\n Donc le choix vous revient : Preferrez-vous la vitesse où des informations précises ? + \@string/app_name + Aide \ No newline at end of file From a433e5b65f68e51aee4725e9da0c19e7003ed516 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Fri, 20 Mar 2020 03:16:11 +0000 Subject: [PATCH 52/89] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-zh-rTW/strings.xml | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 83da9b12a..a177f29db 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -543,4 +543,52 @@ 因為 ExoPlayer 的限制,搜尋持續時間設定為 %d 秒 靜音 取消靜音 + \@string/app_name + 說明 + + %d 分鐘 + + + + %d 小時 + + + + %d 天 + + + Feed 群組 + 最舊訂閱更新:%s + 未載入:%d + 正在載入 feed…… + 正在處理 feed…… + 選取訂閱 + 未選取訂閱 + + 已選取 %d + + + 清空群組名稱 + 名稱 + 您想要刪除此群組嗎? + + Feed + Feed 更新閾值 + 上次更新後,訂閱被視為過時的時間 — %s + 總是更新 + 在可用時從專用 feed 擷取 + 其在某些服務中可用,且通常較快速,但可能只會回傳有限的項目,而且資訊通常不完整(例如:沒有持續時間、項目類型、沒有即時狀態)。 + 啟用快速模式 + 停用快速模式 + 您覺得 feed 載入太慢了嗎?如果是的話,試著啟用快速載入(您可以在設定中變更或按下下方的按鈕)。 +\n +\nNewPipe 提供兩個 feed 載入策略: +\n• 擷取整個訂閱頻道,慢但是完整。 +\n• 使用專用的伺服器端點,較快速但是通常不完整。 +\n +\n兩者之間的差別是,較快速的通常缺少部份資訊,如項目的持續時間或類型(無法區分直播影片或一般影片),而且其可能會回傳較少項目。 +\n +\nYouTube 是一種透過其 RSS feed 提供這種快速方式的例子。 +\n +\n因此,請選取您較偏好的:速度或準確的資訊。 \ No newline at end of file From 4524a69f99be8f0d613fe7a1272b9aba5c278cf1 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:04:16 +0100 Subject: [PATCH 53/89] Update extractor version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index c710f4f5d..08a50b695 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,7 +92,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:2cf8cbf0d' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:bff595c6c' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' From 6eeb22926a70f5d6a75d042f5ec4dc4681aa9dfe Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:36:43 +0100 Subject: [PATCH 54/89] Fix what Weblate screwed up again --- app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - 4 files changed, 4 deletions(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 1ba278e63..93c67e232 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -551,7 +551,6 @@ Debido a limitaciones de ExoPlayer la duración de la búsqueda fue fijada en %d segundos Silenciar Desactivar silencio - \@string/app_name Ayuda %d minuto diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7b010aacc..9bfca8de4 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -599,6 +599,5 @@ La différence entre les deux est que la méthode rapide manque souvent de quelq YouTube est un exemple qui offre cette méthode rapide avec le flux RSS.\n\n Donc le choix vous revient : Preferrez-vous la vitesse où des informations précises ? - \@string/app_name Aide \ No newline at end of file diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index ac9c067af..6c007e23e 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -542,7 +542,6 @@ %d detik Karena kendala ExoPlayer, durasi pencarian ditetapkan ke %d detik - \@string/app_name Bantuan %d menit diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a177f29db..7e2ecb477 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -543,7 +543,6 @@ 因為 ExoPlayer 的限制,搜尋持續時間設定為 %d 秒 靜音 取消靜音 - \@string/app_name 說明 %d 分鐘 From 6ac52f241d72eb1861df4f2f7d4606340c40b712 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:40:55 +0100 Subject: [PATCH 55/89] Do not show nothing for some quantities for Chinese --- app/src/main/res/values-zh-rTW/strings.xml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 7e2ecb477..a0367d658 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -545,16 +545,13 @@ 取消靜音 說明 - %d 分鐘 - + %d 分鐘 - %d 小時 - + %d 小時 - %d 天 - + %d 天 Feed 群組 最舊訂閱更新:%s @@ -564,8 +561,7 @@ 選取訂閱 未選取訂閱 - 已選取 %d - + 已選取 %d 清空群組名稱 名稱 From 60252bbda84abbc048a8bd81a5d49211f1092769 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:44:04 +0100 Subject: [PATCH 56/89] Remove unused "playback_default" string --- app/src/main/res/values-ar/strings.xml | 1 - app/src/main/res/values-ca/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-et/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-he/strings.xml | 1 - app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ko/strings.xml | 1 - app/src/main/res/values-mk/strings.xml | 1 - app/src/main/res/values-nb-rNO/strings.xml | 1 - app/src/main/res/values-nl-rBE/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-sk/strings.xml | 1 - app/src/main/res/values-sq/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - 21 files changed, 21 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 961da0b0f..f3eb778d9 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -329,7 +329,6 @@ عملية التصدير جارية … إستيراد ملف "معرفك , soundcloud.com/ الخاص بك " - إفتراضي عند إيقاف تحميل أي صور مصغرة ، وتوفير البيانات واستخدام الذاكرة. تعمل التغييرات على محو ذاكرة التخزين المؤقت للصورة الموجودة على الذاكرة أو على القرص. امسح البيانات الوصفية المخزنة مؤقتًا إزالة جميع بيانات صفحات الويب المخزنة مؤقتًا diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 8bc945992..e7f510c4d 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -114,7 +114,6 @@ S\'està important… S\'està exportant… Importa un fitxer - Per defecte %1$s reproduccions Publicat el %1$s No s\'ha trobat cap reproductor de fluxos. Voleu instal·lar el VLC\? diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ae5730e6c..d8c28cac0 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -368,7 +368,6 @@ otevření ve vyskakovacím okně Tempo Výška tónu Odpojit (může způsobit zkreslení) - Výchozí nastavení Ke stažení nejsou dostupné žádné streamy Preferovaná \'otevřít\' akce Výchozí chování při otevírání obsahu — %s diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1f0735009..6bc0b2d70 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -340,7 +340,6 @@ Geschwindigkeit Tonhöhe Entkoppeln (kann zu Verzerrungen führen) - Standard Abschalten, um das Laden von Miniaturansichten zu verhindern, was Daten- und Speicherverbrauch spart. Änderungen löschen den Bildzwischenspeicher sowohl im Arbeitsspeicher als auch auf dem internen Speicher. Nächsten Stream automatisch einreihen Wiedergabe durch Anhängen eines verwandten Streams an die Warteschlange (ohne Wiederholungsschleife) fortsetzen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 93c67e232..34449b03b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -424,7 +424,6 @@ Hay una descarga pendiente con este nombre Mostrar como grilla Mostrar como lista - Limpiar descargas finalizadas ¿Quiere limpiar su historial de descargas o eliminar todos los ficheros descargados\? Detener Intentos máximos diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 6521c1d45..32d647f70 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -359,7 +359,6 @@ \nKas jätkata? Taasesituse kiiruse juhtimine "Tempo " - Vaikimisi Nõustu Keeldu Piiranguta diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index e9a260cb9..e10c3d1f9 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -374,7 +374,6 @@ Tempoa Tonua Desaktibatu (distortsioa sor lezake) - Lehenetsia Ezarpenak ere inportatu nahi dituzu? Bilaketa ez zehatzak posizioak azkarrago baina prezisio gutxiagoz bilatzea ahalbidetzen du. 5, 15 edo 25 segundo bilatzea ez du honekin funtzionatzen. Desgaitu koadro txikiak ez kargatzeko, datuak eta memoria aurreztuz. Aldaketak memoria eta diskoko irudien cacheak garbituko ditu. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9bfca8de4..ebdcae34a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -360,7 +360,6 @@ Contrôles de vitesse de lecture Cadence Détacher (peut causer des déformations) - Défaut Ouvrir de préférence avec Action par défaut lors de l’ouverture de contenu — %s Aucun flux disponible au téléchargement diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index b773af8fd..d99cb44d8 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -331,7 +331,6 @@ \n2. להיכנס אם נתבקשת \n3. ההורדה אמורה להתחיל (זה קובץ הייצוא) קצב - ברירת מחדל שימוש בחיפוש מהיר ולא מדויק חיפוש גס מאפשר לנגן לחפש נקודת זמן מהר יותר, ברמת דיוק נמוכה יותר. חיפוש של 5, 15 או 25 שניות לא עובד עם ההגדרה הזאת. טעינת תמונות ממוזערות diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 6c007e23e..db76e523f 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -310,7 +310,6 @@ Perbesar Otomatis dibuat LeakCanary - Bawaan Pemutar stream tidak ditemukan (anda bisa memasang VLC untuk memutarnya). Unduh berkas stream Tidak bisa merubah subscription diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ccf950aea..54ac9ea18 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -362,7 +362,6 @@ Tempo Tono Scollega (può causare distorsione) - Valore predefinito Nessun flusso disponibile per il download \'Apri\' preferibilmente con Azione predefinita all\'apertura del contenuto — %s diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 492bf2898..914bc460b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -305,7 +305,6 @@ 登録リストがエクスポートできませんでした 速度 音程 - デフォルト バックグラウンド再生の順番待ちに追加 ポップアップ再生の順番待ちに追加 再生履歴を消去 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 4935c4bdb..73890ef30 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -358,7 +358,6 @@ 템포 피치 영상과 소리 분리 (소리가 깨질 수 있음) - 기본 다운로드 가능한 스트림이 없습니다 이 파일을 재생할 수 있는 플레이어 앱이 없습니다 선호하는 열기 동작 diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 9c509b09f..720dc753e 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -362,7 +362,6 @@ Темпо Тон Откачи (може да создаде мутации) - Стандардно Избриши историја на гледаност Ја брише историјата на пуштени видеа Избриши ја целата историја на гледаност. diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index f17c251c2..ade7e1671 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -345,7 +345,6 @@ Fartskontroller for avspilling Tempo Tonehøyde - Forvalg Tøm avspillingshistorikk Slett historikken og posisjon for avspilte strømmer Slett hele visningshistorikken\? diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index 4c3b9628d..7ecd8c32a 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -367,7 +367,6 @@ Tempo Toon Ontkoppelen (kan ruis veroorzaken) - Standaard Kijkgeschiedenis wissen Verwijdert de geschiedenis van afgespeelde streams De ganse kijkgeschiedenis verwijderen\? diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 35faa9dde..46923aea3 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -362,7 +362,6 @@ Tempo Toon Ontlinken (kan ruis veroorzaken) - Standaard Voorkeursactie voor openen Standaardactie bij openen van inhoud — %s Geen streams beschikbaar voor downloaden diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 5dfb266e5..629d175c3 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -374,7 +374,6 @@ Rýchlosť Výška "Spomalenie (môže spôsobovať skreslenie)" - Predvolené Vymazať históriu pozretí Odstráni históriu a pozície prehrávaných streamov Vymazať celú históriu pozretí\? diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index 1ef4bb6f5..49b1cfba1 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -47,6 +47,5 @@ Lista e videove Po Më vonë - Standard në pritje të diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 4bf181c82..216c09826 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -356,7 +356,6 @@ Üstveri önbelleği temizlendi Oynatım Hızı Denetimleri Hız - Öntanımlı Ses yüksekliği Ayır (bozulmaya neden olabilir) İndirilebilecek akış yok diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a0367d658..4c47a7bd2 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -355,7 +355,6 @@ 節奏 音高 解除掛鉤(可能導致失真) - 預設 偏好的「開啟」動作 開啟內容時的預設動作 — %s 沒有可供下載的串流 From a19be7989119930168c21de315aed696ae001eaa Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:45:37 +0100 Subject: [PATCH 57/89] Remove unused "clear_finished_download" string --- app/src/main/res/values-ar/strings.xml | 1 - app/src/main/res/values-b+ast/strings.xml | 1 - app/src/main/res/values-b+zh+HANS+CN/strings.xml | 1 - app/src/main/res/values-be/strings.xml | 1 - app/src/main/res/values-ca/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-da/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-el/strings.xml | 1 - app/src/main/res/values-eo/strings.xml | 1 - app/src/main/res/values-et/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fa/strings.xml | 1 - app/src/main/res/values-he/strings.xml | 1 - app/src/main/res/values-hi/strings.xml | 1 - app/src/main/res/values-hr/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ko/strings.xml | 1 - app/src/main/res/values-ku/strings.xml | 1 - app/src/main/res/values-mk/strings.xml | 1 - app/src/main/res/values-ms/strings.xml | 1 - app/src/main/res/values-nb-rNO/strings.xml | 1 - app/src/main/res/values-nl-rBE/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-pa/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-sk/strings.xml | 1 - app/src/main/res/values-sv/strings.xml | 1 - app/src/main/res/values-th/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-uk/strings.xml | 1 - app/src/main/res/values-ur/strings.xml | 1 - app/src/main/res/values-vi/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - 38 files changed, 38 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index f3eb778d9..8afcff438 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -469,7 +469,6 @@ الخادم لا يقبل التنزيل المتعدد، إعادة المحاولة مع @string/msg_threads = 1 غير موجود فشلت المعالجة الاولية - حذف التنزيلات المنتهية توقف أقصى عدد للمحاولات الحد الأقصى لعدد محاولات قبل إلغاء التحميل diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 6b5357a95..9d391d968 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -189,7 +189,6 @@ Nun pue crease la carpeta de destín Nun pudo afitase una conexón segura Nun pue coneutase col sirvidor - Llimpiar les descargues finaes Reintentos máximos Eventos Conferencies diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index c06e82564..868dffd55 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -454,7 +454,6 @@ 服务器未发送数据 找不到 NOT FOUND 后期处理失败 - 清除已完成的下载 停止 最大重试次数 取消下载前的最多重试着次数 diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 58ea028df..4b1531def 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -457,7 +457,6 @@ Сервер не падтрымлівае шматструменную загрузку, паспрабуйце з @string/msg_threads = 1 Не знойдзена Пасляапрацоўка не ўдалася - Ачысціць завершаныя Спыніць Максімум спробаў Колькасць спробаў перад адменай загрузкі diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index e7f510c4d..dc8c7f9e1 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -446,7 +446,6 @@ No s\'ha pogut trobar el servidor No s\'ha pogut connectar amb el servidor Ha fallat el post-processament - Neteja les baixades finalitzades Intents màxims Nombre màxim d\'intents abans de cancel·lar la baixada Interromp en connexions limitades diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index d8c28cac0..601cc0748 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -463,7 +463,6 @@ otevření ve vyskakovacím okně Server neakceptuje vícevláknové stahování, opakujte akci s @string/msg_threads = 1 Nenalezeno Post-processing selhal - Vyčistit dokončená stahování Zastavit Maximální počet pokusů o opakování Maximální počet pokusů před zrušením stahování diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 25abe3d1a..ef8dc032d 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -446,7 +446,6 @@ NewPipe-opdatering tilgængelig! sat på pause sat i kø - Ryd færdige downloads Maksimalt antal genforsøg Maksimalt antal forsøg før downloaden opgives Sæt på pause ved skift til mobildata diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6bc0b2d70..84deeb6ff 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -456,7 +456,6 @@ Der Server erlaubt kein mehrfädiges Herunterladen – wiederhole mit @string/msg_threads = 1 Nicht gefunden Nachbearbeitung fehlgeschlagen - Um fertige Downloads bereinigen Anhalten Maximale Wiederholungen Maximalanzahl der Versuche, bevor der Download abgebrochen wird diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index e67bea60d..66f2e7aed 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -458,7 +458,6 @@ Ο εξυπηρετητής δέν υποστηρίζει πολυνηματικές λήψεις, ξαναπροσπαθήστε με @string/msg_threads = 1 Δεν βρέθηκε Μετεπεξεργασία απέτυχε - Εκκαθάριση ολοκληρωμένων λήψεων Διακοπή Μέγιστες επαναπροσπάθειες Μέγιστος αριθμός προσπαθειών προτού γίνει ακύρωση της λήψης diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 0b2a67b4d..06885f96c 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -493,7 +493,6 @@ La servilo ne akceptas plurfadenajn elŝutojn, reprovu kun @string/msg_threads = 1 Ne trovita Postprocesado malsukcesis - Forviŝi la finitajn elŝutojn Utila dum la ŝanĝo al poŝdatumoj, kvankam kelkaj elŝutoj ne povas esti interrompitaj Neniu komento Dosiero kun ĉi tiu nomo jam ekzistas diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 32d647f70..43003d5e5 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -458,7 +458,6 @@ Server ei toeta mitmelõimelisi allalaadimisi. Proovi uuesti kasutades @string/msg_threads = 1 Ei leitud Järeltöötlemine nurjus - Eemalda lõpetatud allalaadimised Stopp Korduskatseid Suurim katsete arv enne allalaadimise tühistamist diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index e10c3d1f9..3f6d22cb7 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -457,7 +457,6 @@ Zerbitzariak ez ditu hainbat hariko deskargak onartzen, saiatu @string/msg_threads = 1 erabilita Ez aurkitua Post-prozesuak huts egin du - Garbitu amaitutako deskargak Gelditu Gehienezko saiakerak Deskarga ezeztatu aurretik saiatu beharreko aldi kopurua diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 36e3524c7..fa121dce2 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -460,7 +460,6 @@ ناتوانی در اتصال به کارساز کارساز داده‌ای نمی‌فرستد کارساز، بارگیری‌های چندرشته‌ای را قبول نمی‌کند، تلاش مجدد با ‎@string/msg_threads = 1 - پاک کردن بارگیری‌های تمام شده توقف بیشینه تلاش مجدد این ویژگی زمانی که ارتباط را به داده همراه تغییر می‌دهید مفید است هرچند برخی بارگیری‌ها نمی‌توانند تعلیق شوند diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index d99cb44d8..c9f3d9e79 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -462,7 +462,6 @@ "השרת לא מקבל הורדות רב ערוציות, מוטב לנסות שוב עם ‎@string/msg_threads = 1 " לא נמצא העיבוד המאוחר נכשל - פינוי ההורדות שהסתיימו עצירה מספר הניסיונות החוזרים המרבי מספר הניסיונות החוזרים המרבי בטרם ביטול ההורדה diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index f08274263..b1a54570f 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -437,7 +437,6 @@ सर्वर डेटा नहीं भेजता है नहीं मिला प्रक्रिया के बाद का कार्य विफल रहा - समाप्त डाउनलोड साफ़ करें रुको अधिकतम पुनर्प्रयास डाउनलोड रद्द करने से पहले प्रयासों की अधिकतम संख्या diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index e3da3e711..2138d8402 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -456,7 +456,6 @@ Poslužitelj ne prihvaća preuzimanja s više niti, pokušaj ponovo s @string/msg_threads = 1 Nije pronađeno Naknadna obrada nije uspjela - Obriši završena preuzimanja Stop Maksimalnih ponovnih pokušaja Maksimalni broj pokušaja prije poništavanja preuzimanja diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 54ac9ea18..c76835c82 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -455,7 +455,6 @@ Il server non accetta download multipli, riprovare con @string/msg_threads = 1 Non trovato Post-processing fallito - Pulisci i download completati Ferma Numero Massimo Tentativi Quante volte provare prima di annullare il download diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 914bc460b..a3cb9c2d0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -441,7 +441,6 @@ サーバが同時接続ダウンロードを受け付けません。再試行してください @string/msg_threads = 1 見つかりません 保存処理に失敗しました - 完了済みを一覧から削除します 停止 最大再試行回数 ダウンロードを中止するまでの最大再試行回数 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 73890ef30..59434eb00 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -452,7 +452,6 @@ 서버가 다중 스레드 다운로드를 받아들이지 않습니다, @string/msg_threads = 1 를 사용해 다시 시도해보세요 HTTP 찾을 수 없습니다 후처리 작업이 실패하였습니다 - 완료된 다운로드 비우기 멈추기 최대 재시도 횟수 다운로드를 취소하기 전까지 다시 시도할 최대 횟수 diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 42bed1982..dec7badf5 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -505,7 +505,6 @@ هەمان دۆخ کاراکراوە نەدۆزرایەوە چارەسەرکردن شکستی هێنا - سڕینەوەی داگرتنە تەواوبووەکان ڕاوەستان زیاترین هەوڵدانەکان زۆرترین ژمارەی هەوڵدان پێش پاشگەزبوونەوە لە داگرتنەکە diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index 720dc753e..1e85b1084 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -448,7 +448,6 @@ Серверот не испраќа податоци Серверот не прифаќа преземања со повеќе навои, обидете се со @string/msg_threads = 1 Не е најдено - Избриши завршени преземања Стоп Максимални обиди Максимален број обиди пред откажување на преземањето diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index eb8826d45..d83c7d2f0 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -452,7 +452,6 @@ Server tidak menerima muat turun berbilang thread, cuba lagi dengan @string/msg_threads = 1 Tidak ditemui Pemprosesan-pasca gagal - Hapuskan senarai muat turun yang selesai Berhenti Percubaan maksimum Jumlah percubaan maksimum sebelum membatalkan muat turun diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index ade7e1671..b77002775 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -455,7 +455,6 @@ "Tjeneren godtar ikke flertrådede nedlastinger, prøv igjen med @string/msg_threads = 1 " Ikke funnet Etterbehandling mislyktes - Tøm fullførte nedlastinger Stopp Maksimalt antall forsøk Maksimalt antall tilkoblingsforsøk før nedlastingen avblåses diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index 7ecd8c32a..d1f67a9ee 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -455,7 +455,6 @@ De server aanvaardt geen meerdradige downloads, probeert het opnieuw met @string/msg_threads = 1 Niet gevonden Nabewerking mislukt - Voltooide downloads wissen Stoppen Maximaal aantal pogingen Maximaal aantal pogingen vooraleer dat de download wordt geannuleerd diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 46923aea3..2fc8985bf 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -455,7 +455,6 @@ De server accepteert geen multi-threaded downloads, probeer het opnieuw met @string/msg_threads = 1 Niet gevonden Nabewerking mislukt - Voltooide downloads wissen Stop Maximum aantal keer proberen Maximum aantal pogingen voordat de download wordt geannuleerd diff --git a/app/src/main/res/values-pa/strings.xml b/app/src/main/res/values-pa/strings.xml index 29d030e1e..c50dbf75a 100644 --- a/app/src/main/res/values-pa/strings.xml +++ b/app/src/main/res/values-pa/strings.xml @@ -452,7 +452,6 @@ ਸਰਵਰ ਮਲਟੀ-Threaded ਡਾਊਨਲੋਡਸ ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦਾ, ਇਸ ਨਾਲ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ @string/msg_threads = 1 ਨਹੀਂ ਲਭਿਆ Post-processing ਫੇਲ੍ਹ - ਮੁਕੰਮਲ ਹੋਈਆਂ ਡਾਊਨਲੋਡ ਸਾਫ਼ ਕਰੋ ਰੁੱਕੋ ਵੱਧ ਤੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ ਡਾਉਨਲੋਡ ਰੱਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਵੱਧ ਤੋਂ ਵੱਧ ਕੋਸ਼ਿਸ਼ਾਂ diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index df908ebe2..1d77d7461 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -458,7 +458,6 @@ Serwer nie akceptuje pobierania wielowątkowego, spróbuj ponownie za pomocą @string/msg_threads = 1 Nie znaleziono Przetwarzanie końcowe nie powiodło się - Wyczyść ukończone pobieranie Zatrzymaj Maksymalna liczba powtórzeń Maksymalna liczba prób przed anulowaniem pobierania diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 31f748cc0..acb9284c6 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -465,7 +465,6 @@ abrir em modo popup O servidor não aceita downloads em multi-thread, tente com @string/msg_threads = 1 Não encontrado Falha no pós processamento - Limpar downloads finalizados Parar Tentativas Máximas Número máximo de tentativas antes de cancelar o download diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 504b98642..818cf719e 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -454,7 +454,6 @@ O servidor não aceita transferências de vários processos, tente novamente com @string/msg_threads = 1 Não encontrado Pós-processamento falhado - Limpar transferências concluídas Parar Tentativas máximas Número máximo de tentativas antes de cancelar a transferência diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9c3919834..55fd393a9 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -455,7 +455,6 @@ Сервер не найден Сервер не принимает многопоточные загрузки, повторная попытка с @string/msg_threads = 1 Не найдено - Очистить завершённые Остановить События Конференции diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 629d175c3..1e07837c0 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -463,7 +463,6 @@ Server neakceptuje preberanie viacerých vlákien, zopakujte s @string/msg_threads = 1 Nenájdené Post-spracovanie zlyhalo - Vyčistiť dokončené sťahovania Stop Maximum opakovaní Maximálny počet pokusov pred zrušením stiahnutia diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index f95944aee..d2efc6b4f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -447,7 +447,6 @@ Servern accepterar inte flertrådade nedladdningar, försök igen med @string/msg_threads = 1 Hittades inte Efterbehandling misslyckades - Töm färdiga nedladdningar Stanna Max försök Max antal försök tills nedladdning avbryts diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index b4f506158..e1d7a8f9f 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -427,7 +427,6 @@ เซิร์ฟเวอร์ไม่ส่งข้อมูล เซิร์ฟเวอร์ไม่รองรับการดาวน์โหลดแบบพร้อมกันหลายส่วน โปรดลองอีกครั้งด้วย @string/msg_threads = 1 ไม่พบ - ล้างการดาวน์โหลดที่เสร็จสิ้นแล้ว หยุด จำนวนครั้งสูงสุดที่จะลองใหม่ จำนวนครั้งสูงสุดที่จะลองใหม่ก่อนจะยกเลิกการดาวน์โหลด diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 216c09826..4bf0c730a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -450,7 +450,6 @@ Sunucu, çok iş parçacıklı indirmeleri kabul etmez, @string/msg_threads = 1 ile yeniden deneyin Bulunamadı İşlem sonrası başarısız - Tamamlanan indirmeleri temizle Durdur Azami deneme sayısı İndirmeyi iptal etmeden önce azami deneme sayısı diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 0d0c6082c..9c9a78816 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -462,7 +462,6 @@ Сервер не підтримує завантаження у декілька потоків, спробуйте з параметром @string/msg_threads = 1 Не знайдено Невдала пост-обробка - Очистити завершені завантаження Зупинити Максимум спроб Максимальна кількість спроб перед скасуванням завантаження diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index 2c712d878..f46cad0a7 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -451,7 +451,6 @@ سرور ملٹی تھریڈڈ ڈاؤن لوڈز کو قبول نہیں کرتا ہے، @string/msg_threads = 1 کے ساتھ دوبارہ کوشش کریں نہیں ملا بعد کا عمل نا کام - ختم شدہ ڈاؤن لوڈ صاف کریں روکیں زیادہ سے زیادہ کوششیں ڈاؤن لوڈ منسوخ کرنے سے پہلے کوششوں کی زیادہ سے زیادہ تعداد diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 0f6cfe96f..994fbabb4 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -451,7 +451,6 @@ Máy chủ không chấp nhận tải đa luồng, thử lại với số luồng = 1 Không tìm thấy Xử lý thất bại - Dọn các tải về đã hoàn thành Dừng Số lượt thử lại tối đa Số lượt thử lại trước khi hủy tải về diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 8d210c067..78d240ae8 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -458,7 +458,6 @@ 服务器未发送数据 找不到 NOT FOUND 后期处理失败 - 清除已完成的下载 停止 最大重试次数 取消下载前的最多尝试次数 From 5f940c40ed3758a53fedabcd13772c616888efef Mon Sep 17 00:00:00 2001 From: kapodamy Date: Wed, 25 Mar 2020 16:13:36 -0300 Subject: [PATCH 58/89] fix integer overflow --- app/src/main/java/us/shandian/giga/get/DownloadRunnable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java index 4aa6e912e..7fb12d088 100644 --- a/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java +++ b/app/src/main/java/us/shandian/giga/get/DownloadRunnable.java @@ -70,7 +70,7 @@ public class DownloadRunnable extends Thread { Log.d(TAG, mId + ":acquired block at position=" + block.position + " done=" + block.done); } - long start = block.position * DownloadMission.BLOCK_SIZE; + long start = (long)block.position * DownloadMission.BLOCK_SIZE; long end = start + DownloadMission.BLOCK_SIZE - 1; start += block.done; From 93b75b6013afc80f7a7fab903f3b2bce68a6cf68 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 22:31:21 +0100 Subject: [PATCH 59/89] Update extractor version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 08a50b695..49ac0ccfe 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,7 +92,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:bff595c6c' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:647e7cd45' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' From 55c577e76ec96fad3a52279eaea2201f8f05c2a7 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 22:34:02 +0100 Subject: [PATCH 60/89] Seek duration should not be rounded up when opening the settings, even if inexact seek is disabled --- .../org/schabi/newpipe/settings/VideoAudioSettingsFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java index 9d1c37147..383cf7f74 100644 --- a/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java +++ b/app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java @@ -88,7 +88,7 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment { durations.setEntryValues(displayedDurationValues.toArray(new CharSequence[0])); durations.setEntries(displayedDescriptionValues.toArray(new CharSequence[0])); final int selectedDuration = Integer.parseInt(durations.getValue()); - if (selectedDuration / (int) DateUtils.SECOND_IN_MILLIS % 10 == 5) { + if (inexactSeek && selectedDuration / (int) DateUtils.SECOND_IN_MILLIS % 10 == 5) { final int newDuration = selectedDuration / (int) DateUtils.SECOND_IN_MILLIS + 5; durations.setValue(Integer.toString(newDuration * (int) DateUtils.SECOND_IN_MILLIS)); From c6de6e53b5a76f6e8d6b2adcb0ecf29a7da9bfaa Mon Sep 17 00:00:00 2001 From: Daniele Lira Mereb Date: Thu, 26 Mar 2020 19:06:44 +0000 Subject: [PATCH 61/89] Translated using Weblate (Portuguese (Brazil)) Currently translated at 95.5% (535 of 560 strings) --- app/src/main/res/values-pt-rBR/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 31f748cc0..fd95488d5 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -556,7 +556,8 @@ abrir em modo popup %d segundo %d segundos - Devido as configurações do ExoPlayer, a duração de busca foi alterada para %d segundos + Devido às configurações do ExoPlayer, a duração da procura foi alterada para %d segundos Desativar som Ativar som + \@string/app_name \ No newline at end of file From 2e3f240ac6edaf24390079e2bb22f33a7cbeab18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emin=20Tufan=20=C3=87etin?= Date: Mon, 23 Mar 2020 23:22:42 +0000 Subject: [PATCH 62/89] Translated using Weblate (Turkish) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-tr/strings.xml | 50 ++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 4bf181c82..b966f8c60 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -549,4 +549,54 @@ %d saniye ExoPlayer kısıtlamaları gereği konumlama süresi %d saniyeye belirlenmiştir + \@string/app_name + Sessiz + Sesli + Yardım + + %d dakika + %d dakika + + + %d saat + %d saat + + + %d gün + %d gün + + Besleme kümeleri + En eski abonelik güncellemesi: %s + Yüklenmedi: %d + Besleme yükleniyor… + Besleme işleniyor… + Abonelikleri seç + Abonelik seçilmedi + + %d seçildi + %d seçildi + + Boş küme adı + Ad + Bu kümeyi silmek istiyor musunuz\? + Yeni + Besleme + Besleme güncelleme eşiği + Bir aboneliğin eski sayılmadan önce son güncellemeden sonra geçen zaman — %s + Her zaman güncelle + Uygunken adanmış beslemeden edin + Bazı servislerde kullanılabilir, genellikle daha hızlıdır ancak kısıtlı sayıda öge ve eksik bilgi (örn. süre, öge türü, canlı durumu olmaksızın) getirilebilir. + Hızlı kipi etkinleştir + Hızlı kipi devre dışı bırak + Beslemenin çok yavaş yüklendiğini mi düşünüyorsunuz\? Öyleyse, hızlı yüklemeyi etkinleştirin (ayarlardan değiştirebilir veya aşağıdaki düğmeye dokunabilirsiniz). +\n +\nNewPipe iki besleme yükleme yordamı sunar: +\n• Tüm abonelik kanalını edinme, bu yavaş ancak tamdır. +\n• Adanmış hizmet son noktası kullanır, bu hızlıdır ancak genellikle tam değildir. +\n +\nİkisinin arasındaki fark, hızlı olanın genellikle ögenin süresi veya türü (canlı ve sıradan videoları ayrımsayamaz) gibi bazı bilgilerden yoksunluğu ve daha az öge getirmesidir. +\n +\nYouTube, RSS beslemesiyle bu hızlı yöntemi sunan servislerden biridir. +\n +\nSeçim, sizin neyi yeğlediğinize kalmış: hız veya kusursuz bilgi. \ No newline at end of file From 838f8cb2e202e4658c9670b780b346c04562e765 Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 26 Mar 2020 19:09:59 +0000 Subject: [PATCH 63/89] Translated using Weblate (Portuguese (Brazil)) Currently translated at 95.5% (535 of 560 strings) --- app/src/main/res/values-pt-rBR/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index fd95488d5..f0ea20065 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -556,7 +556,7 @@ abrir em modo popup %d segundo %d segundos - Devido às configurações do ExoPlayer, a duração da procura foi alterada para %d segundos + Devido a restrições do ExoPlayer a duração da pesquisa foi definida como %d segundos Desativar som Ativar som \@string/app_name From 8168445b4a5912f0054c985115c359bb21051e76 Mon Sep 17 00:00:00 2001 From: nautilusx Date: Tue, 24 Mar 2020 06:49:49 +0000 Subject: [PATCH 64/89] Translated using Weblate (German) Currently translated at 99.8% (559 of 560 strings) --- app/src/main/res/values-de/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1f0735009..be5727374 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -579,4 +579,9 @@ Feed laden… Feed verarbeiten… Feed + Abonnements auswählen + Kein Abonnement ausgewählt + Zeit nach der letzten Aktualisierung, bevor ein Abonnement als veraltet angesehen wird — %s + Schnellmodus aktivieren + Schnellmodus deaktivieren \ No newline at end of file From 1994dad9727238aae00ed18e1e6a0609f2032856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=2E=20R=C3=BCdinger?= Date: Wed, 25 Mar 2020 19:21:06 +0000 Subject: [PATCH 65/89] Translated using Weblate (German) Currently translated at 99.8% (559 of 560 strings) --- app/src/main/res/values-de/strings.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index be5727374..96be803f5 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -584,4 +584,19 @@ Zeit nach der letzten Aktualisierung, bevor ein Abonnement als veraltet angesehen wird — %s Schnellmodus aktivieren Schnellmodus deaktivieren + Älteste Aboaktualisierung: %s + Grenzwert für Feed-Aktualisierung + Aus fest zugeordnetem Feed abholen wenn verfügbar + Steht in manchen Diensten zur Verfügung, ist meist viel schneller, liefert aber eventuell eine eingeschränkte Anzahl an Elementen und oft inkomplette Informationen (z. B. keine Videolänge, keinen Elementtyp, keinen Live-Status). + Glaubst du, dass das Laden von Feeds zu langsam ist\? Wenn ja, versuche den Schnelllademodus einzuschalten (du kannst ihn in den Einstellungen oder über die Schaltfläche unten ändern). +\n +\nNewPipe bietet zwei Feed-Ladestrategien: +\n• die Abholung des gesamten abonnierten Kanals, was langsam aber vollständig geschieht. +\n• die Verwendung eines fest zugeordneten Serviceendpunkts, was schnell aber für gewöhnlich inkomplett ist. +\n +\nDer Unterschied zwischen den beiden ist, dass der schnellen normalerweise einige Informationen fehlen, wie die Dauer oder der Typ des Elements (keine Unterscheidung zwischen Live-Videos und normalen) und sie eventuell weniger Elemente liefert. +\n +\nYouTube ist ein Beispiel für einen Service, der mit seinem RSS-Feed diese schnelle Methode anbietet. +\n +\nDie Entscheidung läuft also darauf hinaus, was dir lieber ist: Tempo oder genaue Informationen. \ No newline at end of file From 89dc5cec590924f829dd4fca1958d32ae6576b01 Mon Sep 17 00:00:00 2001 From: B0pol Date: Mon, 23 Mar 2020 07:14:30 +0000 Subject: [PATCH 66/89] Translated using Weblate (Esperanto) Currently translated at 99.8% (559 of 560 strings) --- app/src/main/res/values-eo/strings.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 0b2a67b4d..fca54918e 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -551,17 +551,14 @@ %d minuto %d minutoj - %d horo %d horoj - %d tago %d tagoj - Abonfluoj grupoj Lasta ĝisdatigo: %s @@ -578,7 +575,6 @@ Nomo Ĉu vi volas forviŝi tion grupon? Nova - Abonfluo Abonflua ĝisdatiga sojlo Tempo post lasta ĝisdatigo antaŭ abono estas konsiderita malĝisdatigita — %s @@ -590,4 +586,6 @@ Pro ExoPlayer limoj, la serĉa daŭro estas metita %d sekundojn Mutigi Malmutigi + \@string/app_name + Helpo \ No newline at end of file From 782b9833544cec04a7393f2576e3942482ab8cf6 Mon Sep 17 00:00:00 2001 From: Enol P Date: Tue, 24 Mar 2020 01:00:44 +0000 Subject: [PATCH 67/89] Translated using Weblate (Asturian) Currently translated at 51.2% (287 of 560 strings) --- app/src/main/res/values-b+ast/strings.xml | 32 ++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 6b5357a95..119a88da8 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -212,12 +212,12 @@ Llimpieza de datos Amosar comentarios - Pa cumplir cola GDPR (Regulación Xeneral de Proteición de Datos) europea, pidímoste que revises la política de privacidá de NewPipe. Lléila con procuru. + Pa cumplir cola GDPR (Regulación Xeneral de Proteición de Datos) europea, pidímoste que revises la política de privacidá de NewPipe. Lléila con procuru. \nHas aceutala unviándonos un informe de fallos.¿Desaniciar tol historial de gueta\? \nHas aceutala unviándonos un informe de fallos. Aición al cambiar a otra aplicación dende\'l reproductor de vídeos principal — %s El númberu máximu d\'intentos enantes d\'encaboxar la descarga - Posiciones nes llistes + ¿Quies llimpiar l\'historial de descargues o desaniciar tolos ficheros baxaos\? Esportación anterior Importar el ficheru @@ -277,10 +277,36 @@ La predeterminada del sistema Vídeos - %d segundos + %d segundu %d segundos Tempu Tonu Refugar + La URL nun se sofita + Reproduciendo en segundu planu + Reproduciendo nel mou ventanu + Atroxa llocalmente les consultes de gueta + Los reproductores esternos nun so + Esportóse + Importóse + Alvertencia: Nun pudieron importase tolos ficheros. + + Anovamientos + Finó la descarga + \@string/app_name + Nun pudo validase la instancia + + %d minutu + %d minutos + + + %d hora + %d hores + + + %d día + %d díes + + ¿Quies desaniciar esti grupu\? \ No newline at end of file From 6e3170f5c77bea5858be4563cbe43536b17285c7 Mon Sep 17 00:00:00 2001 From: AioiLight Date: Thu, 26 Mar 2020 09:55:55 +0000 Subject: [PATCH 68/89] Translated using Weblate (Japanese) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-ja/strings.xml | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 492bf2898..b8aad0ea3 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -543,4 +543,48 @@ ExoPlayer の制約のためシーク間隔は %d 秒に設定されました ミュート ミュート解除 + \@string/app_name + ヘルプ + + %d 分 + + + %d 時間 + + + %d 日 + + フィード グループ + 最も古い登録チャンネルの更新: %s + 読み込み失敗: %d + フィードを読み込み中… + フィードを処理中… + チャンネルを選択 + チャンネルが選択されていません + + %d 選択中 + + グループ名が空です + グループ名 + このグループを削除しますか? + 新規 + フィード + フィードの更新間隔 + 最後の更新後、登録チャンネルを更新すべきとするまでの時間 ― %s + 常に更新する + 利用可能な場合は専用フィードから取得 + いくつかのサービスで利用可能、通常よりも高速ですが制限された情報が取得され、たいていの場合不完全です (例: 再生時間、種類、ライブ ステータスなどがない)。 + 高速モードを有効化 + 高速モードを無効化 + フィードの読み込みが遅すぎると思いますか? その場合、高速読み込みを有効化してみてください (設定、もしくは下のボタンを押して変更することができます)。 +\n +\nNewPipe は2つの読み込み方法を提供します: +\n・登録チャンネル全体を取得します。これは低速ですが完全です。 +\n・専用のサービス エンドポイントを使用します。これは高速ですが、たいていの場合不完全です。 +\n +\n2つの違いとして、高速なものは通常、再生時間や種類 (ライブと通常の動画を区別できない) などの情報が不足して、正しい量の情報より少なく取得することがあります。 +\n +\nYouTubeは、この高速な読み込み方法をRSSフィードで提供するサービスのひとつです。 +\n +\nつまり、読み込み方法の選択は速度または正確さのどちらを優先するか、あなたの好みによります。 \ No newline at end of file From c4f58cb6e2f4354a638726e4e12fa8b2f6ab8431 Mon Sep 17 00:00:00 2001 From: zeritti Date: Tue, 24 Mar 2020 18:33:39 +0000 Subject: [PATCH 69/89] Translated using Weblate (Czech) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-cs/strings.xml | 58 ++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ae5730e6c..977d38c02 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -554,11 +554,63 @@ otevření ve vyskakovacím okně Hotovo Videa - %d sekund - %d sekund - %d sekund + %d vteřina + %d vteřiny + %d vteřin Kvůli omezením ExoPlayer bylo prohledávání nastaveno na %d vteřin Umlčet Odumlčet + \@string/app_name + Nápověda + + %d minuta + %d minuty + %d minut + + + %d hodina + %d hodiny + %d hodin + + + %d den + %d dny + %d dnů + + Přísunové skupiny + Aktualizace nejstarších objednávek: %s + Nenačteno: %d + Načítám přísun… + Zpracovávám přísun… + Vybrat objednávky + Objednávky nebyly vybrány + + %d vybrána + %d vybrány + %d vybráno + + Prázdné jméno skupiny + Jméno + Přejete si smazat tuto skupinu\? + Nová + Přísun + Limit aktualizace přísunu + Doba po poslední aktualizaci, po níž je objednávka považována za zastaralou — %s + Vždy aktualizovat + Dodat z vyhrazeného přísunu, je-li dostupný + K dispozici na některých zařízeních, je obvykle mnohem rychlejší, ale může vrátit omezený počet položek a často neúplné informace (např. bez trvání, typu položky, skutečného stavu). + Zapnout rychlý režim + Vypnout rychlý režim + Myslíte si, že náčet přísunu je příliš pomalé\? Pokud ano, zkuste zapnout rychlý náčet (lze změnit v nastavení nebo stiskem tlačítka níže). +\n +\nNewPipe nabízí dvě strategie náčtu přísunu: +\n• Dodání úplného kanálu objednávek, což je pomalé, ale úplné. +\n• Použití vyhrazeného servisního zakončení, což je rychlé, ale obvykle neúplné. +\n +\nRozdíl mezi těmi dvěma je, že tomu rychlému obvykle chybí nějaká informace, např. trvání položky nebo typ (nemůže rozlišit mezi živým a normálním videem) a patrně vrátí méně položek. +\n +\nYouTube je příklad služby, která nabízí tuto rychlou metodu pomocí RSS přísunu. +\n +\nVýběr je vposledku určen tím, čemu dáte přednost: rychlosti nebo přesné informaci. \ No newline at end of file From aef673abd122b7e5b0d9a8c592843a4e40cb32ae Mon Sep 17 00:00:00 2001 From: Stjepan Date: Thu, 26 Mar 2020 15:54:05 +0000 Subject: [PATCH 70/89] Translated using Weblate (Croatian) Currently translated at 89.6% (502 of 560 strings) --- app/src/main/res/values-hr/strings.xml | 59 ++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index e3da3e711..fabd1b30c 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -17,9 +17,9 @@ Izaberi pretraživač rotacija Koristi vanjski reproduktor videozapisa - Uklanja zvuk na NEKIM rezolucijama + Uklanja zvuk na nekim rezolucijama Koristi vanjski reproduktor za zvuk - NewPipe skočni prozor + Skočni prozor Pretplati se Pretplaćeno Pretplata na kanalu otkazana @@ -63,7 +63,7 @@ Svaku pretragu spremi lokalno Prati povijest Pratite pogledane videozapise - Nastavi nakon dobivanja fokusa + Nastavi reprodukciju Nastavi reproducirati nakon prekidanja (npr. telefonski pozivi) Preuzmi Sljedeće @@ -80,7 +80,7 @@ Sadržaj Prikaži eksplicitni sadržaj Videozapis je dobno ograničen. Dopuštanje takvog sadržaja moguće je u postavkama. - UŽIVO + Uživo Preuzimanja Preuzimanja Prijavi grešku @@ -109,7 +109,7 @@ Oprostite, ovo se nije trebalo dogoditi. Prijavi pogrešku putem e-maila Oprostite, neke greške su se dogodile. - PRIJAVI + Prijavi Informacije: Što se dogodilo: Što:\\nRequest:\\nContent Jezik:\\nService:\\nGMT Vrijeme:\\nPackage:\\nVersion:\\nOS version: @@ -129,7 +129,7 @@ Videozapis Zvuk Ponovno pokušaj - Dozvola za pisanje po pohrani je odbijena + Omogućite pristup pohrani prvo tis. mil mlrd. @@ -276,7 +276,7 @@ Ispuniti Povećaj Auto generirano - Omogući \"LeakCanary\" + LeakCanary Monitoring curenja memorije može uzrokovati greške u radu aplikacije prilikom odlaganje gomile Izvijestite o pogreškama izvan životnog ciklusa Prikaži informacije @@ -301,7 +301,7 @@ Poništava vašu trenutnu povijest i pretplate Izvoz povijesti, pretplata i playlisti Očisti povijest gledanja - Briše povijest reproduciranih streamova + Briše povijest reproduciranih streamova i pozicije reprodukcije Obriši cijelu povijest gledanja\? Povijest gledanja izbrisana. Obriši povijest pretraživanja @@ -449,7 +449,7 @@ Odredišnu mapu nije moguće stvoriti Datoteku nije moguće stvoriti Sustav je odbio dozvolu - Sigurna veza nije uspjela + Nije moguće uspostaviti sigurnu vezu Nije moguće pronaći server Nije moguće povezati se s serverom Server ne šalje podatke @@ -477,4 +477,45 @@ "Projekt NewPipe ozbiljno shvaća vašu privatnost. Stoga aplikacija ne prikuplja nikakve podatke bez vašeg pristanka. \nNewPipe pravila o privatnosti detaljno objašnjavaju koji se podaci šalju i pohranjuju kada šaljete izvješće o padu aplikacije." Kako bismo se uskladili s Europskom općom uredbom o zaštiti podataka (GDPR), upozoravamo vas na politiku privatnosti tvrtke NewPipe. Pažljivo ga pročitajte. Morate ga prihvatiti da nam pošaljete izvješća o pogreškama. + Nastavi reprodukciju + Vrati zadnji položaj reprodukcije + Pozicije na popisima + Prikaži poziciju reprodukcije na listi + Obriši podatke + Pozicije reprodukcije su izbrisane. + Datoteka je premještena ili izbrisana + U tijeku je preuzimanje s ovim nazivom + Vrijeme povezanosti je isteklo + Želite li očistiti povijest preuzimanja ili izbrisati sve preuzete datoteke\? + Započni preuzimanja + Zaustavi preuzimanja + Pitaj gdje preuzeti + Obriši poziciju reprodukcije + Obriši sve pozicije reprodukcije + Obriši sve pozicije reprodukcije\? + Nitko ne gleda + NItko ne sluša + Jezik će se promjeniti nakon ponovnog pokretanja aplikacije. + Zadani Kiosk + Podržani su samo HTTP URL-ovi + Lokalno + Nedavno dodano + Automatski generirano (nije pronađen nijedan autor) + Očisti povijest preuzimanja + Izbriši preuzete datoteke + Obrisano %1$s preuzimanja + Dajte dopuštenje za prikazivanje na vrhu + Jezik aplikacije + Zadani sustav + Videozapisi + Isključi + Uključi + Pomoć + Učitavanje feeda… + Ime + Želite li izbrisati ovu grupu\? + Novi + Uvijek ažuriraj + Omogući brz način + Onemogući brz način \ No newline at end of file From 39bb0f4c3ed77304c5f07b096573a1443cff6bba Mon Sep 17 00:00:00 2001 From: anonymous Date: Thu, 26 Mar 2020 16:12:09 +0000 Subject: [PATCH 71/89] Translated using Weblate (Croatian) Currently translated at 89.6% (502 of 560 strings) --- app/src/main/res/values-hr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index fabd1b30c..000de687d 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -518,4 +518,5 @@ Uvijek ažuriraj Omogući brz način Onemogući brz način + Memorija uređaja je popunjena \ No newline at end of file From 4cd5afa3fb72bd4c77e8e576644c109034e4fa98 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 24 Mar 2020 12:27:35 +0000 Subject: [PATCH 72/89] Translated using Weblate (Hebrew) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-he/strings.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index b773af8fd..c9afb0ead 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -601,4 +601,24 @@ לעדכן תמיד הפעלת מצב מהיר השבתת מצב מהיר + + נבחר אחד + %d נבחרו + %d נבחרו + %d נבחרו + + הזמן לאחר העדכון האחרון בטרם מינוי נחשב לבלתי עדכני — %s + לקבל מהזנה ייעודית כשניתן + זמין בחלק מהשירותים, האפשרות הזאת בדרך כלל מהירה יותר אך עשויה להחזיר כמות מוגבלת של פריטים ולעתים פרטים חלקיים (למשל: חסר משך הפרק, סוג הפריט, אין מצב חי). + לדעתך הטעינה אטית מדי\? אם זה המצב אצלך, כדאי לנסות להפעיל טעינה מהירה (ניתן לשנות בהגדרות או על ידי לחיצה על הכפתור שלהלן). +\n +\nהיישומון NewPipe מציע שתי אסטרטגיות לטעינת הזנה: +\n• הורדת כל ערוץ המינוי, אטי אבל שלם. +\n• באמצעות נקודת קצה ייעודית, מהיר אבל חלקי. +\n +\nההבדל בין השתיים הוא שבמהירה חסרים פרטים, כמו משך הפריט או סוגו (אין אפשרות להבדיל בין סרטונים חיים לרגילים) והיא עשויה להחזיר פחות פריטים. +\n +\nYouTube זאת דוגמה לשירות שמציע את השיטה המהירה הזאת עם הזנת ה־RSS שלו. +\n +\nלכן עומדת בפניך הבחירה: מהירות או דיוק בפרטים. \ No newline at end of file From c687d832fa58589620241d02f5029dde1a273db6 Mon Sep 17 00:00:00 2001 From: pjammo Date: Wed, 25 Mar 2020 11:48:13 +0000 Subject: [PATCH 73/89] Translated using Weblate (Italian) Currently translated at 99.6% (558 of 560 strings) --- app/src/main/res/values-it/strings.xml | 49 +++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ccf950aea..c183419b3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -545,10 +545,57 @@ Fatto Video - %d secondi + %d secondo %d secondi A causa dei vincoli di ExoPlayer la durata dello spostamento rapido è stata impostata a %d secondi Silenzia Riattiva audio + \@string/app_name + Aiuto + + %d minuto + %d minuti + + + %d ora + %d ore + + + %d giorno + %d giorni + + Gruppi Feed + Aggiornamento iscrizioni più vecchie: %s + Non caricate: %d + Caricamento feed… + Elaborazione feed… + Seleziona Iscrizioni + Nessuna iscrizione selezionata + + %d selezionato + %d selezionati + + Nome + Eliminare questo gruppo\? + Nuovo + Feed + Limite Aggiornamento Feed + Tempo che deve trascorrere dopo l\'ultimo aggiornamento, prima che un\'iscrizione venga considerata obsoleta — %s + Aggiorna Sempre + Recupero da Feed Dedicato quando Disponibile + Disponibile per alcuni servizi. Solitamente è molto più veloce, ma può restituire una quantità limitata di elementi e informazioni spesso incomplete (es. durata, tipo di elemento, indicatore per video in diretta). + Attiva Recupero Veloce + Disattiva Recupero Veloce + Il caricamento dei feed è troppo lento\? Prova ad abilitare il caricamento veloce (nelle impostazioni o premendo il pulsante qui sotto). +\n +\nNewPipe dispone di due metodi per il caricamento dei feed: +\n• Recuperando l\'intero canale, lento ma completo. +\n• Utilizzando un endpoint dedicato, veloce ma solitamente incompleto. +\n +\nLa differenza è che quello veloce solitamente offre meno informazioni, come la durata o il tipo di elemento (non distingue i video normali da quelli in diretta), e può restituire meno elementi. +\n +\nYouTube è un esempio di servizio che offre questo metodo veloce tramite i suoi feed RSS. +\n +\nLa scelta va fatta in base alle proprie preferenze: velocità o informazioni precise. \ No newline at end of file From 4d23cf774677b03de3d416544c36fc950e409a31 Mon Sep 17 00:00:00 2001 From: wb9688 Date: Wed, 25 Mar 2020 11:38:59 +0000 Subject: [PATCH 74/89] Translated using Weblate (Dutch) Currently translated at 97.1% (544 of 560 strings) --- app/src/main/res/values-nl/strings.xml | 163 +++++++++++++++++++++---- 1 file changed, 139 insertions(+), 24 deletions(-) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 35faa9dde..d170a64c7 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -19,7 +19,7 @@ Kies de downloadlocatie voor video\'s Standaardresolutie Afspelen met Kodi - Kore-app niet gevonden. Installeren? + Installeer ontbrekende Kore-app\? \"Afspelen met Kodi\"-optie tonen Toon een optie om een video af te spelen via Kodi media center Audio @@ -65,9 +65,9 @@ Kan website niet volledig verwerken Kan geen streams vinden Sorry, dit had niet mogen gebeuren. - Fout melden via e-mail + Deze fout melden via e-mail Sorry, er traden enkele fouten op. - MELDEN + Melden Informatie: Wat er is gebeurd: Je opmerking (in het Engels): @@ -78,16 +78,16 @@ Druk op \"zoeken\" om te beginnen Automatisch afspelen Speelt video’s af als NewPipe vanuit een andere app wordt geopend - LIVE + Live Downloads Downloads Foutrapport Kan afbeelding niet laden App/UI gecrasht Wat:\\nVerzoek:\\nTaal van inhoud:\\nDienst:\\nTijd in GMT:\\nPakket:\\nVersie:\\nVersie van besturingssysteem: - Meld een probleem + Probleem melden Gebruikersrapport - Toegang tot opslag geweigerd + Geef eerst toegang tot de opslag Begin Pauzeren Afspelen @@ -115,7 +115,7 @@ Kanaal Ja Later - K + k M B Deze machtiging is vereist om te @@ -174,9 +174,9 @@ Nieuw Zoekgeschiedenis Sla zoekopdrachten lokaal op - Geschiedenis en cache + Kijkgeschiedenis Kijkgeschiedenis bijhouden - Hervat bij focus + Hervat afspelen Ga verder met afspelen na onderbrekingen (zoals telefoongesprekken) NewPipe-melding Meldingen voor NewPipe-achtergrond- en pop-upspelers @@ -237,7 +237,7 @@ Verwijderen Details Audio-instellingen - Houd ingedrukt om toe te voegen aan wachtrij + Ingedrukt houden om toe te voegen aan wachtrij [Onbekend] Toevoegen aan wachtrij in de achtergrond Toevoegen aan wachtrij in nieuwe pop-up @@ -313,12 +313,12 @@ Hier zal binnenkort iets verschijnen ;D Foutopsporing Automatisch gegenereerd - LeakCanary inschakelen + LeakCanary Het monitoren van geheugenlekken kan ervoor zorgen dat de app niet goed meer reageert Out-of-lifecycle-fouten melden Forceer het melden van niet-bezorgbare Rx-uitzonderingen buiten fragment of activiteitscyclus Snelle, minder exact spoelen gebruiken - Minder exact spoelen laat de speler sneller posities zoeken met verminderde precisie + Onnauwkeurig zoeken laat de speler sneller posities zoeken met verminderde precisie. 5, 15 of 25 zoeken werkt dan niet. Volgende stream automatisch in wachtrij plaatsen Automatisch een gerelateerde stream toekennen bij het afspelen van de laatste stream in een niet-herhalende afspeelwachtlijst Bestand @@ -414,10 +414,10 @@ Appupdatemelding Meldingen voor nieuwe versies van NewPipe Externe opslag niet beschikbaar - Downloaden naar externe SD-kaart is nog niet mogelijk. Downloadmap opnieuw instellen\? - Standaard tabbladen worden gebruikt, fout bij het lezen van de opgeslagen tabbladen + Downloaden naar externe SD-kaart is niet mogelijk. Downloadmap opnieuw instellen\? + Fout bij het lezen van de opgeslagen tabbladen, waardoor standaardtabbladen worden gebruikt Standaardinstellingen herstellen - Wilt u de standaardinstellingen herstellen\? + Wil je de standaardinstellingen herstellen\? Aantal abonnees niet beschikbaar Welke tabbladen worden weergegeven op de hoofdpagina Selectie @@ -449,7 +449,7 @@ Het bestand kan niet worden gemaakt De doelmap kan niet worden gemaakt Toestemming door het systeem geweigerd - Beveiligde connectie is mislukt + Kon geen beveiligde verbinding opzetten Kon de server niet vinden Kan niet met de server verbinden De server verzendt geen gegevens @@ -460,24 +460,139 @@ Stop Maximum aantal keer proberen Maximum aantal pogingen voordat de download wordt geannuleerd - Pauzeren bij overschakelen naar mobiele data - Downloads die niet kunnen worden gepauzeerd zullen worden herstart + Onderbreken op netwerken met datalimiet + Handig bij het overschakelen naar mobiele gegevens, hoewel sommige downloads niet onderbroken kunnen worden Gebeurtenissen Conferenties Time-out van verbinding Reacties tonen - Schakel dit uit om reacties niet meer te tonen + Schakel uit om reacties niet te tonen Automatisch afspelen - Reacties - + %s reactie + %s reacties Geen reacties Kan reacties niet laden Sluiten - Het Storage Acces Framework laat downloads naar een externe SD kaart toe. -\n -\nNota: niet alle toestellen zijn compatibel + Het \'Storage Access Framework\' laat downloads naar een externe SD kaart toe. +\n Niet alle toestellen zijn compatibel Wis data Verander de downloadmappen om effect te bekomen + Afspelen hervatten + Laatste afspeelpositie herstellen + Posities in lijsten + Afspeelpositie-indicatoren in lijsten tonen + Afspeelposities verwijderd. + Bestand verplaatst of verwijderd + Een bestand met deze naam bestaat al + kan het bestand niet overschrijven + Er is een download in behandeling met deze naam + Geen ruimte meer op het apparaat + Voortgang verloren, omdat het bestand is verwijderd + Wil je je downloadgeschiedenis wissen of alle gedownloade bestanden verwijderen\? + Downloadwachtrij beperken + Een download zal tegelijkertijd worden uitgevoerd + Downloads starten + Downloads pauzeren + Vraag waar te downloaden + Je zal gevraagd worden waar elke download op te slaan + Je zal gevraagd worden waar elke download op te slaan. +\nKies SAF als je wilt downloaden naar een externe SD-kaart + SAF gebruiken + Afspeelposities verwijderen + Alle afspeelposities verwijderen + Alle afspeelposities verwijderen\? + Niemand kijkt + + %s kijkt + %s kijken + + Niemand luistert + + %s luisteraar + %s luisteraars + + De taal zal veranderen zodra de app opnieuw is opgestart. + Standaardkiosk + Duur van snel voor-/achteruit zoeken + PeerTube-instanties + Selecteer je favoriete PeerTube-instanties + Zoek de instanties die je leuk vindt op %s + Instantie toevoegen + Instantie-URL invoeren + Kon instantie niet valideren + Alleen HTTPS-URL\'s worden ondersteund + Instantie bestaat al + Lokaal + Onlangs toegevoegd + Automatisch gegenereerd (geen uploader gevonden) + herstellen + Kan deze download niet herstellen + Kies een instantie + Videominiatuur op vergrendelscherm + Een videominiatuur wordt getoond op het vergrendelscherm wanneer de achtergrondspeler wordt gebruikt + Downloadgeschiedenis wissen + Gedownloade bestanden verwijderen + %1$s downloads verwijderd + Geef toestemming voor weergave over andere apps + App-taal + Systeemstandaard + Druk op \"Klaar\" zodra opgelost + Klaar + Video\'s + Door beperkingen van ExoPlayer is de zoekduur ingesteld op %d seconden + Dempen + Dempen opheffen + Hulp + + %d seconde + %d secondes + + + %d minuut + %d minuten + + + %d uur + %d uren + + + %d dag + %d dagen + + Feedgroepen + Oudste abonnementsupdate: %s + Niet geladen: %d + Feed aan het laden… + Feed aan het verwerken… + Abonnementen selecteren + Geen abonnement geselecteerd + + %d geselecteerd + %d geselecteerd + + Lege groepsnaam + Naam + Wil je deze groep verwijderen\? + Nieuw + Feed + Drempel voor feedupdate + Tijd na de laatste update voordat een abonnement als verouderd wordt beschouwd — %s + Altijd updaten + Uit speciale feed ophalen indien beschikbaar + Beschikbaar in sommige services, het is meestal veel sneller, maar kan een beperkte hoeveelheid items en vaak onvolledige informatie (bijv. geen duur, itemtype, of livestatus) bevatten. + Snelle modus inschakelen + Snelle modus uitschakelen + Denk je dat het laden van de feed te sloom is\? Zo ja, probeer snel laden in te schakelen (in de instellingen of door op onderstaande knop te drukken). +\n +\nNewPipe biedt twee strategieën aan voor het laden van de feed: +\n• Het hele abonnementskanaal ophalen, wat sloom maar compleet is. +\n• Een speciale feed ophalen, wat snel maar meestal incompleet is. +\n +\nHet verschil tussen de twee is dat de snelle meestal wat informatie mist, zoals de duur of type (live of een normale video) van het item en dat er mogelijk minder items zijn. +\n +\nYouTube is een voorbeeld van een service die deze snelle methode aanbiedt door zijn RSS-feed. +\n +\nDe keuze komt dus neer op wat je liever hebt: snelheid of precieze informatie. \ No newline at end of file From 082b7fa0ec53d8fd3504e356dbdd495994ec9799 Mon Sep 17 00:00:00 2001 From: B0pol Date: Wed, 25 Mar 2020 14:00:41 +0000 Subject: [PATCH 75/89] Translated using Weblate (French) Currently translated at 100.0% (560 of 560 strings) --- app/src/main/res/values-fr/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7b010aacc..cd3d3e614 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -588,17 +588,17 @@ Disponible pour quelques services, c\'est généralement bien plus rapide mais peut retourner un nombre d\'élements limité et des informations souvent incomplètes (ex : pas de durée, pas de statut « En direct ». Activer le mode rapide Désactiver le mode rapide - Pensez vous que la chargement du flux est trop lent ? Si c\'est le cas, essayez le mode rapide (vous pouvez changer le mode dans les paramètres ou en pressant le bouton en dessous).\n\n - -NewPipe propose deux manières de charger le flux :\n -• Charger toutes les chaines auquelles vous êtes abonnés, cette manière est lente mais complète.\n -• Charger depuis un service dédié, cette manière est plus rapide mais souvent incomplète.\n\n - -La différence entre les deux est que la méthode rapide manque souvent de quelques informations, comme la durée d\'un élément ou le type (nous ne pouvons pas différencier les vidéos en direct des vidéos normales) et pourrait retourner moins d\'éléments.\n\n - -YouTube est un exemple qui offre cette méthode rapide avec le flux RSS.\n\n - -Donc le choix vous revient : Preferrez-vous la vitesse où des informations précises ? + Pensez-vous que la chargement du flux est trop lent \? Si c\'est le cas, essayez le mode rapide (vous pouvez changer le mode dans les paramètres ou en pressant le bouton en dessous). +\n +\n NewPipe propose deux manières de charger le flux : +\n • Charger toutes les chaines auquelles vous êtes abonnés, cette manière est lente mais complète. +\n • Charger depuis un service dédié, cette manière est plus rapide mais souvent incomplète. +\n +\n La différence entre les deux est que la méthode rapide manque souvent de quelques informations, comme la durée d\'un élément ou le type (nous ne pouvons pas différencier les vidéos en direct des vidéos normales) et pourrait retourner moins d\'éléments. +\n +\n YouTube est un exemple qui offre cette méthode rapide avec le flux RSS. +\n +\n Donc le choix vous revient : Préferez-vous la vitesse ou des informations précises \? \@string/app_name Aide \ No newline at end of file From 544751895e6356b9ec5dc4647b4dddd44f0a26b3 Mon Sep 17 00:00:00 2001 From: MohammedSR Vevo Date: Mon, 23 Mar 2020 12:02:48 +0000 Subject: [PATCH 76/89] Translated using Weblate (Kurdish) Currently translated at 99.8% (559 of 560 strings) --- app/src/main/res/values-ku/strings.xml | 204 +++++++++++++++---------- 1 file changed, 122 insertions(+), 82 deletions(-) diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index 42bed1982..6acdf91c5 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -22,7 +22,7 @@ به‌كارهێنانی كارپێكه‌ری ڤیدیۆی ده‌ره‌كی هه‌نێ له‌ قه‌باره‌كان ده‌نگیان تێدا نابێت به‌كارهێنانی كارپێكه‌ری ده‌نگی ده‌ره‌كی - په‌نجه‌ره‌ی بچووکی NewPipe + دۆخی په‌نجه‌ره‌ی بچووک به‌شداربوون به‌شداربوویت به‌شداریت نەما له‌ كه‌ناڵ @@ -37,15 +37,15 @@ په‌نجه‌ره‌ی بچووک زیادکردن بۆ فۆڵدەری داگرتنی ڤیدیۆ - ڤیدیۆ داگیراوەکان لێرەدا هەڵدەگیرێن - پەڕگەی داگرتن بۆ ڤیدیۆکان هەڵبژێرە + پەڕگەی ڤیدیۆ داگیراوەکان لێرەدا هەڵدەگیرێن + فۆڵدەری داگرتن بۆ پەڕگەی ڤیدیۆکان هەڵبژێرە فۆڵدەری داگرتنی ده‌نگ - دەنگە داگیراوەکان لێرەدا هەڵدەگیرێن - پەڕگەی داگرتنی دەنگەکان هەڵبژێرە + پەڕگەی دەنگە داگیراوەکان لێرەدا هەڵدەگیرێن + فۆڵدەری داگرتنی پەڕگە دەنگییەکان هەڵبژێرە كاركردنی خۆكارانه‌ - قه‌باره‌ی بنەڕەتی + وردی بنەڕەتی قه‌باره‌ی بنەڕەتی په‌نجه‌ره‌ی بچووک - پیشاندانی قه‌باره‌ی به‌رزتر + پیشاندانی وردی به‌رزتر تەنها چەند مۆبایلێک پشتگیری کارپێکردنی ڤیدیۆی 2K/4K دەکەن كارپێكردن به‌ Kodi ئەپەکە نه‌دۆزرایه‌وه‌. دابمه‌زرێت؟ @@ -64,14 +64,14 @@ ناچالاكی بكه‌ بۆ ڕاگرتنی وێنۆچكه‌كان له‌ باركردن و پاشه‌كه‌وتبوون له‌سه‌ر بیرگه‌ی ئامێره‌كه‌ت. \nگۆڕینی ئه‌مه‌ ده‌بێته‌ هۆی سڕینه‌وه‌یان له‌سه‌ر بیرگه‌ی مۆبایله‌كه‌ت. پاشماوه‌ی وێنۆچكه‌كان سڕایه‌وه‌ - ڤیدیۆ کارپێبکرێ کاتێ NewPipe لە ئەپێکیتر کرایەوە - بەکارهێنانی بەدواگەڕانی ناتەواوی خێرا + ڤیدیۆ کارپێبکرێ کاتێ ئەپەکە لە ئەپێکیتر کرایەوە + بەکارهێنانی بردنەپێشی ناتەواوی خێرا خاوێنکردنەوەی پاشماوەی داتا سڕینەوەی پاشماوەی هەموو داتاکان پاشماوەی داتاکان سڕانەوە ڕیزکردنی خۆکاری کارپێکردنی دواتر کۆنتڕۆڵی کارپێکەر بەجوڵەی پەنجە - جوڵەی پەنجەت لەسەر ڕونما بەکاربهێنە بۆ گۆڕینی ئاستی دەنگ و ڕووناکی + جوڵەی پەنجەت لەسەر ڕوونما بەکاربهێنە بۆ گۆڕینی ئاستی دەنگ و ڕووناکی گەڕانی پێشنیارکراوەکان پیشاندانی پێشنیارەکان لەکاتی گەڕان مێژووی گەڕان @@ -84,7 +84,7 @@ بەستەرەکە پشتگیری نەکراوە وڵاتی بنەڕەتی خزمەتگوزاری - کارپێکەری ڤیدیۆ + کارپێکەر ڤیدیۆ & دەنگ مێژوو & پاشماوە پەنجەرەی بچووک @@ -98,11 +98,11 @@ کارپێکردن ناوەڕۆک سنوردانانی تەمەن - زیندو + زیندوو داگرتنەکان داگرتنەکان ناتوانرێ سکاڵابکرێ - هەمووی + گشتی کەناڵ لیستی کارپێکردن بەڵێ @@ -114,12 +114,12 @@ قەبارە دانانەوە باشترین قەبارە گەڕانەوە - کارپێکردنی هەمووی + کارپێکردنی گشتی هەمیشە تەنها ئێستا - فایل - ئاگانامەکانی NewPipe - ئاگانامەکانی NewPipe بۆ پاشبنەما و کارپێکردنەکانی پەنجەرەی بچووک + پەڕگە + ئاگانامەکانی ئەپ + ئاگانامەکانی ئەپ بۆ پاشبنەما و کارپێکردنەکانی پەنجەرەی بچووک (نەزانراو) چەسپاندنی لاربوونەوە گۆڕین بۆ پاشبنەما @@ -140,13 +140,13 @@ هیچ پەخشێ نەدۆزرایەوە ناتوانرێ وێنە باربکرێ ئەپ/ڕووکار ڕاوەستا - ناتوانرێ ئەم پەخشە لێبدرێ + ناتوانرێ ئەم پەخشە کارپێبکرێ کارپێکەرە ڤیدیۆییە دەرەکییەکان پشتگیری ئەم جۆرە بەستەرانە ناکەن بەستەر هەڵەیە هیچ پەخشێکی ڤیدیۆیی نەدۆزرایەوە پەخشی هیچ دەنگێک نەدۆزرایەوە - ئەو فایلە بوونی نییە یان دەسەڵاتی خوێندنەوە و نوسینی لاوازە - ناوی فایل ناکرێ بەتاڵ بێت + ئەو پەڕگەیە بوونی نییە یان دەسەڵاتی خوێندنەوە و نوسینی لاوازە + ناوی پەڕگە ناکرێ بەتاڵ بێت هەڵەیەک ڕوویدا : %1$s ببوورە، ناتوانرێ ئەوە ڕووبدات. سکاڵا لەسەر کێشە لەڕێگای ئیمێڵ @@ -188,8 +188,8 @@ هیچ ڤیدیۆیەک نییە - ڤیدیۆ - ڤیدیۆکان + %s ڤیدیۆ + %s ڤیدیۆکان دەستپێکردن ڕاگرتن @@ -197,18 +197,18 @@ دروستکردن سڕینەوە سڕینەوەی یەک دانە - سڕینەوەی هەمووی + سڕینەوەی گشتی تاقیکردنەوەی هێڵێک ڕێپێنەدان دانانەوەی ناو ئەرکی نوێ باشە - ناوی فایل + ناوی پەڕگە دابەشکراوەکان کێشە ڕوویدا سێرڤەر پشتگیرینەکراوە - فایل بوونی هەیە - داگرتنەکانی NewPipe + پەڕگە بوونی هەیە + داگرتنەکانی ئەپ گرتەبکە بۆ وردەکاری تکایە چاوەڕێبکە… لەبەرگیرایەوە @@ -220,7 +220,7 @@ داگرتن پیت و ژمارەکان هێما تایبەتییەکان - دەربارەی NewPipe + دەربارەی ئەپ ڕێکخستنەکان دەربارە © %1$s لەلایەن %2$s لەژێر %3$s @@ -236,7 +236,7 @@ ئەم ئەپە لەلایەن چەند خۆبەخشێکەوە دروستکراوە کەکاتی خۆیان پێ بەخشیووە تاکو باشترین خزمەتگوزاریت پێشکەش بکەن. هیچ نەبێت بە کڕینی کوپێک قاوە یارمەتی گەشەپێدەرەکانمان بدە بۆ ئەوەی کاتی زیاتر تەرخان بکەین بۆ بەرەوپێشبردنی NewPipe. پێدانەوە ماڵپەڕ - سەردانی ماڵپەڕی NewPipe بکە بۆ زانیاری و هەواڵی نوێ. + سەردانی ماڵپەڕی ئەپەکەمان بکە بۆ زانیاری و هەواڵی نوێ. خوێندنەوەی مۆڵەتنامە مێژوو گەڕا @@ -266,19 +266,19 @@ هەمیشە بپرسە دەستکەوتنی زانیاری… بارکردنی ناوەڕۆکی داواکراو - لیستی نوێ + خشتەی کارپێکردنی نوێ سڕینەوە ناوںْوسینەوە ناو - زیادکردن بۆ لیست - دانان لەسەر وێنۆچکەی لیست - لیستی نیشانەکراو + زیادکردن بۆ خشتەی کارپێکردن + دانان لەسەر وێنۆچکەی خشتەی کارپێکردن + خشتەی کارپێکردنی نیشانەکراو لادانی نیشانەکراو - ئەم لیستە بسڕدرێتەوە؟ - لیست دروستکرا - لیست دانرا - وێنۆچکەی لیست گۆڕدرا. - ناتوانی ئەم لیستە بسڕیتەوە. + ئەم خشتەی کارپێکردنە بسڕدرێتەوە؟ + خشتەی کارپێکردن دروستکرا + خشتەی کارپێکردن دانرا + وێنۆچکەی خشتەی کارپێکردن گۆڕدرا. + ناتوانی ئەم خشتەی کارپێکردنە بسڕیتەوە. هیچ ژێرنووسێک نییە گونجاو بە ڕونما پڕ بە ڕونما @@ -293,15 +293,15 @@ خەزنکردن بۆ دەهێنرێتەوە… خەزندەکرێ… - هێنانەوەی فایل + هێنانەوەی پەڕگە خەزنی پێشووتر ناتوانرێ بەشدارییەکان بهێنرێتەوە ناتوانرێ بەشدارییەکان خەزن بکرێن - بۆ هێنانەوەی بەشداربوونەکانی یوتوب پێویستە فایلی خەزن بوو بگەڕێنیتەوە: -\n -\n1. ئەم بەستەرە بکەوە: %1$ -\n2. بچۆرەژوورەوە گەر داوای‌ کرد -\n3. داگرتنێک دەست پێدەکات (ئەمە فایلی خەزنکراوە) + بۆ هێنانەوەی بەشداربوونەکانی یوتوب پێویستە پەڕگەی خەزن بوو بگەڕێنیتەوە: +\n +\n1. ئەم بەستەرە بکەوە: %1$ +\n2. بچۆرەژوورەوە گەر داوای‌ کرد +\n3. داگرتنێک دەست پێدەکات (ئەمە پەڕگەی خەزنکراوە) هێنانەوەی پەڕەی کەسی SoundCloud بەدانانی بەستەر یاخوود ئایدی: \n \n1. دۆخی ”Desktop mode” لە وێبگەرەکەتدا چالاک بکە (ئەم ماڵپەڕە بۆ وێبگەری مۆبایلەکان بەردەست نییە) @@ -312,14 +312,14 @@ ئەوە بزانە ئەم کردارە پێویستی بە هێڵێکی گران هەیە. \n \nدەتەوێ بەردەوامبیت؟ - کۆنترۆڵی خێرایی + کۆنترۆڵی خێرایی کارپێکەر خێراییەکان شەپۆلی دەنگ سڕینەوەی بەستەر (ڕەنگە ببێتە هۆی تێکدان) هیچ پەخشێک نییە بۆ داگرتن - ژێرنووس + ژێرنووسەکان بەهۆی گۆڕانکاری لە شێوەی ژێرنووسکردنەکە. پێویستە ئەپەکە دابخەیت و دیسانەوە بیکەیتەوە. - هیچ ئەپێک دانەمەزراوە بۆ کارپێکردنی ئەم فایلە + هیچ ئەپێک دانەمەزراوە بۆ کارپێکردنی ئەم پەڕگەیە سڕینەوەی مێژووی تەماشاکردن مێژوو دەسڕێتەوە لەگەڵ ڤیدیۆ کارپێکراوەکان و شوێنی لیستە ڤیدیۆییەکان سڕینەوەی تەواوی مێژووی تەماشاکردن؟ @@ -330,9 +330,9 @@ 1 بابەت سڕایەوە. ئەم ئەپە سەرچاوە کراوەیە : دەتوانی بەکاریبهێنی، بیخوێنیتەوە و هاوبەشی پێبکەیت و بەرەوپێشی ببەیت. \nبەتایبەتی دەتوانی دابەشیبکەیتەوە یاخوود بگۆڕیت بەپێی مەرجەکانی GNU مۆڵەتنامەی گشتی وەک ئەپێکی بڵاوی خۆڕایی! - سیاسەتی تایبەتی NewPipe - پڕۆژەی NewPipe زانیارییە تایبەتییەکانت بەوردی دەپارێزێ. هەروەها ئەپەکە هیچ داتایەک بەبێ ئاگاداری تۆ بەکارنابات. -\nسیاسەتی تایبەتی NewPipe بەوردەکاری ڕوونکردنەوەت دەداتێ لەسەر ئەو داتایانەی وەریاندەگرێ و بەکاریاندەبات. + سیاسەتی تایبەتی ئەپ + پڕۆژەی ئەپەکە زانیارییە تایبەتییەکانت بەوردی دەپارێزێ. هەروەها ئەپەکە هیچ داتایەک بەبێ ئاگاداری تۆ بەکارنابات. +\nسیاسەتی تایبەتی ئەپ بەوردەکاری ڕوونکردنەوەت دەداتێ لەسەر ئەو داتایانەی وەریاندەگرێ و بەکاریاندەبات. خوێندنەوەی سیاسەتی تایبەتی کەناڵەکان لیستی کارپێکردنەکان @@ -342,14 +342,14 @@ پەڕەیەکی نوێ هەڵبژاردنی پەڕە کۆنترۆڵی دەنگ بەجوڵەی پەنجە - جوڵەی پەنجەت لەسەر ڕونما بەکاربهێنە بۆ گۆڕینی ئاستی دەنگ + جوڵەی پەنجەت لەسەر ڕوونما بەکاربهێنە بۆ گۆڕینی ئاستی دەنگ کۆنترۆڵی ڕووناکی بەجوڵەی پەنجە - جوڵەی پەنجەت لەسەر ڕونما بەکاربهێنە بۆ گۆڕینی ئاستی ڕووناکی ڕونما + جوڵەی پەنجەت لەسەر ڕوونما بەکاربهێنە بۆ گۆڕینی ئاستی ڕووناکی ڕوونما زمانی بنەڕەتی ئەپ نوێکارییەکان - فایل سڕایەوە + پەڕگە سڕایەوە ئاگانامەی نوێکاری ئەپ - ئاگانامەکانی وەشانی نوێی NewPipe + ئاگانامەکانی وەشانی نوێی ئەپ بیرگەی دەرەکی بەردەست نییە داگرتن لە بیرگەی دەرەکی ناکرێت. \nشوێنی فۆڵدەری داگرتنەکان دابنرێتەوە؟ @@ -358,9 +358,9 @@ ژمارەی بەشداربووان نادیارە داگرتنێکیترت هەیە بەهەمان ناو پیشاندانی کێشە - کۆد + هێما فۆڵدەری مەبەست ناتوانرێ دروست بکرێ - فایل ناتوانرێ دروستبکرێ + پەڕگە ناتوانرێ دروستبکرێ ڕێگەپێدان ڕەتکرایەوە لەلایەن سیستەمەوە پەیوەستبوونی پارێزراو شکستی هێنا ناتوانرێ ڕاژە بدۆزرێتەوە @@ -372,8 +372,8 @@ ناچالاککردن بۆ پیشان نەدانی لێدوانەکان کارپێکردنی خۆکاری - لێدوان - لێدوانەکان + %s لێدوان + %s لێدوانەکان هیچ لێدوانێک نییە کارپێکردنەوەی لیست @@ -382,7 +382,7 @@ سڕینەوەی داتا مێژووی تەماشاکردن سڕایەوە. شوێنی کارپێکراوەکان سڕانەوە. - شوێنی فایل گۆڕدراوە یان سڕاوەتەوە + شوێنی پەڕگە گۆڕدراوە یان سڕاوەتەوە داگرتنێکیتر هەیە بەهەمان ناو سڕینەوەی شوێنی کارپێکراوەکان شوێنی هەموو کارپێکراوەکان دەسڕێتەوە @@ -399,7 +399,7 @@ %s گوێی لێدەگرێ %s گوێی لێدەگرن - داواکردنی ناتەواو وا لە کارپێکەرەکە دەکات زۆر بەخێرایی شوێنەکان بگۆڕێت لەگەڵ وردییەکی داشکێنراو + بردنەپێشی ناتەواوی خێرا وا لە کارپێکەرەکە داکات کە بەخێرایی شوێنەکە بگۆڕێت. بردنەپێشی ٥ یان ١٥ یان ٢٥ چرکەیی لەگەڵ ئەمەدا کارناکات. پاشکۆی خۆکاری پەخشێکی بەستراوە لەکاتی کارپێکردنی کۆتا پەخشدا کۆگای گەڕانی نێوخۆیی گێڕانەوە لەدۆخی سەرنج @@ -411,16 +411,16 @@ نەگێڕانەوەی کارپێکەر بۆ پێش کێشە ڕوویدا گێڕانەوەی کارپێکەر بۆکاتی پێش کێشە هەمان فۆڵدەر بوونی نییە - هەمان فایل/بابەت بوونی نییە + هەمان پەڕگە/بابەت بوونی نییە چی:\\nداواکراو:\\nناوەڕۆک:\\nلانگ:\\nخزمەتگوزاری:\\nGMT:\\nکات:\\nپاکێج:\\nوەشان:\\nوەشانی سیستەم: |(تاقیکاری) داگرتنی خێرا بەبەکارهێنانی Tor بۆ زیادکردنی تایبەتێتی (پشتگیری پەخشە ڕاستەوخۆکان ناکات) . بەستەر هەڵەیە یاخوود بەئینتەرنێتەوە پەیوەست نەبوویت - هێما ڕێگەپێدراوەکان لە فایلێکی ناویدا + هێما ڕێگەپێدراوەکان لە پەڕگەیەکی ناویدا هێما نادروستەکان بەم بەهایە جێگۆڕکێ دەکرێن هێمای جێگۆڕین مۆڵەتنامەی ئەپ ئەپێکی خۆڕایی و کێشی کەم بۆ پەخشی ڕاستەوخۆ لەسەر ئەندرۆید. - مۆڵەتنامەی NewPipe + مۆڵەتنامەی ئەپ پەڕەی بەتاڵ پەڕەی کیۆسک پەڕەی بەشدارییەکان @@ -431,8 +431,8 @@ هەڵبژاردنی کیۆسک خەزنکرا هێنرایەوە - فایلی ZIP دروست نییە - ئاگاداربە: ناتوانرێ هەمان فایلەکان بهێنرێنەوە. + پەڕگەی ZIP دروست نییە + ئاگاداربە: ناتوانرێ هەموو پەڕگەکان بهێنرێنەوە. ئەمە لەسەر ڕێکخستنەکانی ئێستات جێگیردەبێت. کیۆسک پڕبینەرەکان @@ -467,11 +467,11 @@ هەڵبژاردن نوێکارییەکان پیشاندانی ئاگانامەیەک بۆ ئامادەبوونی ئەپ لەکاتی بەردەست بوونی وەشانی نوێ - لیستی شێوازی بینین - لیست - چوار خانە - خۆکار - گۆڕینی شێواز + شێوازی پیشاندانی خشتە + خشتەیی + چوار خانەیی + خۆکاری + گۆڕینی پیشاندان وەشانی نوێی ئەپ بەردەستە! گرتەبکە بۆ داگرتن تەواوبوو @@ -489,14 +489,14 @@ کۆنفرانسەکان ناتوانرێ لێدوانەکان باربکرێ پیشاندانی نیشانەکەری شوێنی کارپێکراو لە لیستەکان - فایلێک بەهەمان ناو هەیە - فایلێکی داگیراو بەم ناوەوە هەیە - ناتوانرێ لەسەر ئەو فایلە جێگیربکرێ + پەڕگەیەک بەهەمان ناو هەیە + پەڕگەیەکی داگیراو بەم ناوەوە هەیە + ناتوانرێ لەسەر ئەو پەڕگەیە جێگیربکرێ زمان دەگۆڕدرێ لەدوای داخستن و پاشان کردنەوەی ئەپ. کیۆسکی بنەڕەتی - خێرا بردنە پێشەوە\\ گێڕانەوە بۆکاتی سەرەتا - دۆخی PeerTube - ئارەزوومەندییەکانی دۆخی پێرتوبی ڕێکبخە + ماوەی خێرا بردنە پێشەوە\\ گێڕانەوە بۆ دواوە + دۆخی پێرتووبی + ئارەزوومەندییەکانی دۆخی پێرتووبی ڕێکبخە ئەو دۆخانە بدۆزەرەوە کە لەگەڵ خۆتدا دەگونجێن لە %s زیادکردنی دۆخ بەستەری دۆخ دابنێ @@ -506,15 +506,15 @@ نەدۆزرایەوە چارەسەرکردن شکستی هێنا سڕینەوەی داگرتنە تەواوبووەکان - ڕاوەستان + ڕاگرتن زیاترین هەوڵدانەکان زۆرترین ژمارەی هەوڵدان پێش پاشگەزبوونەوە لە داگرتنەکە ڕاوەستا لەسەر کێشەی هێڵ بەسوودە بۆ کاتی گۆڕینی هێڵ بۆ داتای مۆبایل, لەگەڵ ئەوەشدا زۆربەی داگرتنەکان ڕاناگرێت داخستن - NewPipe داخرا لەکاتی کارکردن لەسەر ئەو فایلە + ئەپ داخرا لەکاتی کارکردن لەسەر ئەو پەڕگەیە بیرگەی ناوەکیت پڕبووە - کردارەکە شکستی هێنا, چونکە ئەو فایلە سڕاوەتەوە + کردارەکە شکستی هێنا, چونکە ئەو پەڕگەیە سڕاوەتەوە هێڵی ئینتەرنێت نەما ئایا دەتەوێ مێژووی داگرتنەکانت بسڕدرێنەوە یان هەموو فایلە داگیراوەکان بسڕدرێنەوە؟ سنوری ڕیزبوونی داگرتنەکان @@ -522,11 +522,11 @@ دەستپێکردنەوەی داگرتنەکان ڕاگرتنی داگرتنەکان پرسیاربکرێ لەکوێ دابگیرێ - پرسیارت لێ دەکرێت بۆ شوێنی داگرتنی هەر فایلێک - پرسیارت لێ دەکرێت بۆ شوێنی داگرتنی هەر فایلێک -\nدەتوانیت SAF بەکاربهێنیت گەر دەتەوێ لە بیرگەی دەرەکیدا فایلەکان دابگریت + پرسیارت لێ دەکرێت بۆ شوێنی داگرتنی هەر پەڕگەیەک + پرسیارت لێ دەکرێت بۆ شوێنی داگرتنی هەر پەڕگەیەک +\nدەتوانیت SAF بەکاربهێنیت گەر دەتەوێ لە بیرگەی دەرەکیدا پەڕگەکان دابگریت بەکارهێنانی SAF - چوارچێوەی گەیشتن بە بیرگە ڕێگەدەدات بە داگرتنی فایلەکان لە بیرگەی دەرەکیدا. + چوارچێوەی گەیشتن بە بیرگە ڕێگەدەدات بە داگرتنی پەڕگەکان لە بیرگەی دەرەکیدا. \nتێبینی: هەندێ لە مۆبایلەکان پشتگیری ناکرێن ناوخۆ لەم ماوەیەدا بڵاوکرابێتەوە @@ -550,4 +550,44 @@ %d چرکە %d چرکە + \@string/ناوی ئەپ + بەهۆی ExoPlayer ەوە ماوەی بردنەپێش و بردنەپاش لە %d چرکەدا دیاریکرا + بێدەنگکردن + بێدەنگ نەکردن + یارمەتی + + %d خولەک + %d خولەك + + + %d کاتژمێر + %d کات ژمێر + + + %d ڕۆژ + "%d ڕۆژەکان" + + کۆمەڵە دیارەکان + کۆنترین نوێکردنەوەی بەشداری: %s + بارنەکراو : %d + بارکردن… + ئامادەکردن… + دیاریکردنی بەشدارییەکان + هیچ بەشدارییەک دیاری نەکراوە + + %d دیاریکراو + %d هەڵبژێردراو + + ناوی کۆمەڵە بەتاڵە + ناو + ئایا دەتەوێ ئەم کۆمەڵەیە بسڕیتەوە؟ + نوێ + دیار + نوێکاری دیار + کاتی پاش دواین نوێکردنەوە دوای بەشداربوون ڕەچاوکراوە — %s + هەمیشە نوێکردنەوە + تێکەڵکردن لە دیاری تەرخانکراوەوە کاتێ بەردەست بوو + لەهەندێ خزمەتگوزاریدا بەردەستە، هەمیشە خێرایە بەڵام ڕەنگە هەندێ لە بابەتەکان زانیارییەکانیان ناتەواو بێت (وەک نەبوونی ماوە، جۆری بابەت ، نەبوونی پەخش). + چالاککردنی دۆخی خێرا + چالاک نەکردنی دۆخی خێرا \ No newline at end of file From 9a980f9341e899015c7f70cfd92da925756a34a1 Mon Sep 17 00:00:00 2001 From: Xiang Xu Date: Mon, 23 Mar 2020 08:18:12 +0000 Subject: [PATCH 77/89] Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (560 of 560 strings) --- .../main/res/values-b+zh+HANS+CN/strings.xml | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index c06e82564..ba6f00ac7 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -349,7 +349,7 @@ 报告『提前结束Android生命周期』错误 强制报告处理后的未送达的Activity或Fragment生命周期之外的Rx异常 使用快速不精确搜索 - 粗略定位播放:允许播放器以略低的精确度为代价换取更快的定位速度。此功能不适用于每隔5、15或25秒定位 + 粗略定位播放:允许播放器以略低的精确度为代价换取更快的定位速度。此功能不适用于每隔5、15或25秒定位. 自动播放下一个 当播放完非循环列表中的最后一个视频时,自动加入一个相关视频到播放列表 没有此文件夹 @@ -542,4 +542,52 @@ 由于ExoPlayer的限制,搜寻间隔设置为%d秒 静音 取消静音 + \@string/应用名 + 帮助 + + %d分钟 + + + + %小时 + + + + %天 + + + Feed组 + 最早订阅更新:%s + 未加载: %d + 正在加载feed… + 正在处理feed… + 选择订阅 + 未选中订阅 + + 已选中%d + + + 组名为空 + 名称 + 您要删除该组吗? + 新建 + Feed + Feed更新阈值 + 上次更新后,订阅被视为过时的时间-%s + 始终更新 + 可用时从专用feed获取 + 在某些服务中可用,通常速度要快得多,但可能返回的条目数量有限,而且信息通常不完整(例如,没有持续时间,条目类型,没有实时状态)。 + 启用快速模式 + 禁用快速模式 + 您是否认为Feed加载太慢?如果是这样,请尝试启用快速加载(您可以在设置中更改它,也可以按下面的按钮更改它)。 +\n +\nNewPipe提供两种feed加载策略: +\n•获取整个订阅频道,这很慢但是很是完整。 +\n•使用专用的服务端点,这样会比较快但通常不完整。 +\n +\n两者之间的区别在于,后者通常缺少一些信息,例如条目的持续时间或类型(无法区分直播视频和普通视频),并且可能返回更少的条目。 +\n +\nYouTube是一个通过其RSS feed提供这种快速方法的服务示例。 +\n +\n因此,选择哪种方式取决于您更看重什么:是速度还是精确的信息。 \ No newline at end of file From 6ce338b2d0c8e309971af49af701bd6f0c3389e4 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 26 Mar 2020 21:56:30 +0100 Subject: [PATCH 78/89] Weblate ... --- app/src/main/res/values-b+ast/strings.xml | 1 - app/src/main/res/values-b+zh+HANS+CN/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-eo/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-he/strings.xml | 1 - app/src/main/res/values-in/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ku/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - 13 files changed, 13 deletions(-) diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 3ef4dd0cc..29e6c5245 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -293,7 +293,6 @@ Anovamientos Finó la descarga - \@string/app_name Nun pudo validase la instancia %d minutu diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index e4a4d057a..6fb4bd587 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -541,7 +541,6 @@ 由于ExoPlayer的限制,搜寻间隔设置为%d秒 静音 取消静音 - \@string/应用名 帮助 %d分钟 diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 72cf2d1d3..154296626 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -559,7 +559,6 @@ otevření ve vyskakovacím okně Kvůli omezením ExoPlayer bylo prohledávání nastaveno na %d vteřin Umlčet Odumlčet - \@string/app_name Nápověda %d minuta diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 767bc6553..797ee4bf4 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -585,6 +585,5 @@ Pro ExoPlayer limoj, la serĉa daŭro estas metita %d sekundojn Mutigi Malmutigi - \@string/app_name Helpo \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 2fda4ef35..14556f1c3 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -452,7 +452,6 @@ Impossible de se connecter au serveur Le serveur n’envoie pas de données Introuvable - Effacer les téléchargements terminés Interrompre sur les connexions limitées Utile lors du basculement aux données mobiles, bien que certains téléchargements ne peuvent pas être suspendus Mode de vue en liste diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 798a187a9..3c665b7f6 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -563,7 +563,6 @@ עקב מגבלות של ExoPlayer מגבלות טווחי החיפוש הוגדרו לכדי %d שניות השתקה ביטול השתקה - נגן מועדף עזרה דקה diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index db76e523f..924c587ce 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -451,7 +451,6 @@ Server tidak menerima unduhan multi-utas, coba lagi dengan @string/msg_threads = 1 Tidak ditemukan Pengolahan-pasca gagal - Hapus unduhan yang sudah selesai Berhenti Percobaan maksimum Jumlah upaya maksimum sebelum membatalkan unduhan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1f9631af0..f760e7b72 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -549,7 +549,6 @@ A causa dei vincoli di ExoPlayer la durata dello spostamento rapido è stata impostata a %d secondi Silenzia Riattiva audio - \@string/app_name Aiuto %d minuto diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ee36082ad..409e04ef2 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -541,7 +541,6 @@ ExoPlayer の制約のためシーク間隔は %d 秒に設定されました ミュート ミュート解除 - \@string/app_name ヘルプ %d 分 diff --git a/app/src/main/res/values-ku/strings.xml b/app/src/main/res/values-ku/strings.xml index c70b9bde8..0172ac502 100644 --- a/app/src/main/res/values-ku/strings.xml +++ b/app/src/main/res/values-ku/strings.xml @@ -549,7 +549,6 @@ %d چرکە %d چرکە - \@string/ناوی ئەپ بەهۆی ExoPlayer ەوە ماوەی بردنەپێش و بردنەپاش لە %d چرکەدا دیاریکرا بێدەنگکردن بێدەنگ نەکردن diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 5dc659ab6..bab963916 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -558,5 +558,4 @@ abrir em modo popup Devido a restrições do ExoPlayer a duração da pesquisa foi definida como %d segundos Desativar som Ativar som - \@string/app_name \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index c02f4418c..0e98d7971 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -547,7 +547,6 @@ %d saniye ExoPlayer kısıtlamaları gereği konumlama süresi %d saniyeye belirlenmiştir - \@string/app_name Sessiz Sesli Yardım diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4c47a7bd2..d5071dded 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -448,7 +448,6 @@ 伺服器不接受多執行緒下載,請以 @string/msg_threads = 1 重試 找不到 後處理失敗 - 清除已結束的下載 停止 最大重試次數 在取消下載前的最大嘗試數 From c6eaed76f3c8b9eb579999e6d2774fb67b16aaa5 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Thu, 26 Mar 2020 23:09:38 +0100 Subject: [PATCH 79/89] Translation fixes --- app/src/main/res/values-b+ast/strings.xml | 8 +++----- app/src/main/res/values-b+zh+HANS+CN/strings.xml | 12 ++++-------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-b+ast/strings.xml b/app/src/main/res/values-b+ast/strings.xml index 29e6c5245..ff6f204ba 100644 --- a/app/src/main/res/values-b+ast/strings.xml +++ b/app/src/main/res/values-b+ast/strings.xml @@ -212,11 +212,10 @@ Amosar comentarios Pa cumplir cola GDPR (Regulación Xeneral de Proteición de Datos) europea, pidímoste que revises la política de privacidá de NewPipe. Lléila con procuru. -\nHas aceutala unviándonos un informe de fallos.¿Desaniciar tol historial de gueta\? -\nHas aceutala unviándonos un informe de fallos. +\nHas aceutala unviándonos un informe de fallos. + Aición al cambiar a otra aplicación dende\'l reproductor de vídeos principal — %s El númberu máximu d\'intentos enantes d\'encaboxar la descarga - ¿Quies llimpiar l\'historial de descargues o desaniciar tolos ficheros baxaos\? Esportación anterior Importar el ficheru @@ -230,8 +229,8 @@ \n \n3.- Anicia sesión cuando se te pida \n2.- Vete a esta URL: %1$s - LaToID, soundcloud.com/latoid \n4.- Copia la URL del perfil al que se te redirixa. + LaToID, soundcloud.com/latoid Cargar miniatures Desactiva esta opción pa evitar la carga de miniatures, aforrar datos y usu de la memoria. Los cambeos van llimpiar la memoria y la caché d\'imáxenes. Minimizar al cambiar a otra aplicación @@ -290,7 +289,6 @@ Esportóse Importóse Alvertencia: Nun pudieron importase tolos ficheros. - Anovamientos Finó la descarga Nun pudo validase la instancia diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index 6fb4bd587..edddc8588 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -543,16 +543,13 @@ 取消静音 帮助 - %d分钟 - + %d分钟 - %小时 - + %小时 - %天 - + %天 Feed组 最早订阅更新:%s @@ -562,8 +559,7 @@ 选择订阅 未选中订阅 - 已选中%d - + 已选中%d 组名为空 名称 From d8e83dabc60b4cf511da700128c7569f67764c77 Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Fri, 27 Mar 2020 11:30:38 -0300 Subject: [PATCH 80/89] Temporary: Fix menu visibility when restoring state in the pager adapter When restoring the state of the adapter, all the fragments' menu visibility were set to false, effectively disabling the menu from the user until he switched pages or another event that triggered the menu to be visible again happened. FragmentStatePagerAdapter is deprecated and should be replaced with its ViewPager2 counterpart, until then, this should do it. --- ...agmentStatePagerAdapterMenuWorkaround.java | 318 ++++++++++++++++++ .../newpipe/fragments/MainFragment.java | 4 +- 2 files changed, 320 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/androidx/fragment/app/FragmentStatePagerAdapterMenuWorkaround.java diff --git a/app/src/main/java/androidx/fragment/app/FragmentStatePagerAdapterMenuWorkaround.java b/app/src/main/java/androidx/fragment/app/FragmentStatePagerAdapterMenuWorkaround.java new file mode 100644 index 000000000..9fd32b735 --- /dev/null +++ b/app/src/main/java/androidx/fragment/app/FragmentStatePagerAdapterMenuWorkaround.java @@ -0,0 +1,318 @@ +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.fragment.app; + +import android.os.Bundle; +import android.os.Parcelable; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.lifecycle.Lifecycle; +import androidx.viewpager.widget.PagerAdapter; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; + +// TODO: Replace this deprecated class with its ViewPager2 counterpart + +/** + * This is a copy from {@link androidx.fragment.app.FragmentStatePagerAdapter}. + *

+ * It includes a workaround to fix the menu visibility when the adapter is restored. + *

+ * When restoring the state of this adapter, all the fragments' menu visibility were set to false, + * effectively disabling the menu from the user until he switched pages or another event that triggered the + * menu to be visible again happened. + *

+ *
Check out the changes in: + *

    + *
  • {@link #saveState()}
  • + *
  • {@link #restoreState(Parcelable, ClassLoader)}
  • + *
+ */ +@SuppressWarnings("deprecation") +public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapter { + private static final String TAG = "FragmentStatePagerAdapt"; + private static final boolean DEBUG = false; + + @Retention(RetentionPolicy.SOURCE) + @IntDef({BEHAVIOR_SET_USER_VISIBLE_HINT, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT}) + private @interface Behavior { } + + /** + * Indicates that {@link Fragment#setUserVisibleHint(boolean)} will be called when the current + * fragment changes. + * + * @deprecated This behavior relies on the deprecated + * {@link Fragment#setUserVisibleHint(boolean)} API. Use + * {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT} to switch to its replacement, + * {@link FragmentTransaction#setMaxLifecycle}. + * @see #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int) + */ + @Deprecated + public static final int BEHAVIOR_SET_USER_VISIBLE_HINT = 0; + + /** + * Indicates that only the current fragment will be in the {@link Lifecycle.State#RESUMED} + * state. All other Fragments are capped at {@link Lifecycle.State#STARTED}. + * + * @see #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int) + */ + public static final int BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT = 1; + + private final FragmentManager mFragmentManager; + private final int mBehavior; + private FragmentTransaction mCurTransaction = null; + + private ArrayList mSavedState = new ArrayList(); + private ArrayList mFragments = new ArrayList(); + private Fragment mCurrentPrimaryItem = null; + + /** + * Constructor for {@link FragmentStatePagerAdapterMenuWorkaround} that sets the fragment manager for the + * adapter. This is the equivalent of calling + * {@link #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)} and passing in + * {@link #BEHAVIOR_SET_USER_VISIBLE_HINT}. + * + *

Fragments will have {@link Fragment#setUserVisibleHint(boolean)} called whenever the + * current Fragment changes.

+ * + * @param fm fragment manager that will interact with this adapter + * @deprecated use {@link #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)} with + * {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT} + */ + @Deprecated + public FragmentStatePagerAdapterMenuWorkaround(@NonNull FragmentManager fm) { + this(fm, BEHAVIOR_SET_USER_VISIBLE_HINT); + } + + /** + * Constructor for {@link FragmentStatePagerAdapterMenuWorkaround}. + * + * If {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT} is passed in, then only the current + * Fragment is in the {@link Lifecycle.State#RESUMED} state, while all other fragments are + * capped at {@link Lifecycle.State#STARTED}. If {@link #BEHAVIOR_SET_USER_VISIBLE_HINT} is + * passed, all fragments are in the {@link Lifecycle.State#RESUMED} state and there will be + * callbacks to {@link Fragment#setUserVisibleHint(boolean)}. + * + * @param fm fragment manager that will interact with this adapter + * @param behavior determines if only current fragments are in a resumed state + */ + public FragmentStatePagerAdapterMenuWorkaround(@NonNull FragmentManager fm, + @Behavior int behavior) { + mFragmentManager = fm; + mBehavior = behavior; + } + + /** + * Return the Fragment associated with a specified position. + */ + @NonNull + public abstract Fragment getItem(int position); + + @Override + public void startUpdate(@NonNull ViewGroup container) { + if (container.getId() == View.NO_ID) { + throw new IllegalStateException("ViewPager with adapter " + this + + " requires a view id"); + } + } + + @SuppressWarnings("deprecation") + @NonNull + @Override + public Object instantiateItem(@NonNull ViewGroup container, int position) { + // If we already have this item instantiated, there is nothing + // to do. This can happen when we are restoring the entire pager + // from its saved state, where the fragment manager has already + // taken care of restoring the fragments we previously had instantiated. + if (mFragments.size() > position) { + Fragment f = mFragments.get(position); + if (f != null) { + return f; + } + } + + if (mCurTransaction == null) { + mCurTransaction = mFragmentManager.beginTransaction(); + } + + Fragment fragment = getItem(position); + if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); + if (mSavedState.size() > position) { + Fragment.SavedState fss = mSavedState.get(position); + if (fss != null) { + fragment.setInitialSavedState(fss); + } + } + while (mFragments.size() <= position) { + mFragments.add(null); + } + fragment.setMenuVisibility(false); + if (mBehavior == BEHAVIOR_SET_USER_VISIBLE_HINT) { + fragment.setUserVisibleHint(false); + } + + mFragments.set(position, fragment); + mCurTransaction.add(container.getId(), fragment); + + if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { + mCurTransaction.setMaxLifecycle(fragment, Lifecycle.State.STARTED); + } + + return fragment; + } + + @Override + public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + Fragment fragment = (Fragment) object; + + if (mCurTransaction == null) { + mCurTransaction = mFragmentManager.beginTransaction(); + } + if (DEBUG) Log.v(TAG, "Removing item #" + position + ": f=" + object + + " v=" + ((Fragment)object).getView()); + while (mSavedState.size() <= position) { + mSavedState.add(null); + } + mSavedState.set(position, fragment.isAdded() + ? mFragmentManager.saveFragmentInstanceState(fragment) : null); + mFragments.set(position, null); + + mCurTransaction.remove(fragment); + if (fragment == mCurrentPrimaryItem) { + mCurrentPrimaryItem = null; + } + } + + @Override + @SuppressWarnings({"ReferenceEquality", "deprecation"}) + public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) { + Fragment fragment = (Fragment)object; + if (fragment != mCurrentPrimaryItem) { + if (mCurrentPrimaryItem != null) { + mCurrentPrimaryItem.setMenuVisibility(false); + if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { + if (mCurTransaction == null) { + mCurTransaction = mFragmentManager.beginTransaction(); + } + mCurTransaction.setMaxLifecycle(mCurrentPrimaryItem, Lifecycle.State.STARTED); + } else { + mCurrentPrimaryItem.setUserVisibleHint(false); + } + } + fragment.setMenuVisibility(true); + if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { + if (mCurTransaction == null) { + mCurTransaction = mFragmentManager.beginTransaction(); + } + mCurTransaction.setMaxLifecycle(fragment, Lifecycle.State.RESUMED); + } else { + fragment.setUserVisibleHint(true); + } + + mCurrentPrimaryItem = fragment; + } + } + + @Override + public void finishUpdate(@NonNull ViewGroup container) { + if (mCurTransaction != null) { + mCurTransaction.commitNowAllowingStateLoss(); + mCurTransaction = null; + } + } + + @Override + public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { + return ((Fragment)object).getView() == view; + } + + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + private final String SELECTED_FRAGMENT = "selected_fragment"; + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + @Override + @Nullable + public Parcelable saveState() { + Bundle state = null; + if (mSavedState.size() > 0) { + state = new Bundle(); + Fragment.SavedState[] fss = new Fragment.SavedState[mSavedState.size()]; + mSavedState.toArray(fss); + state.putParcelableArray("states", fss); + } + for (int i=0; i keys = bundle.keySet(); + for (String key: keys) { + if (key.startsWith("f")) { + int index = Integer.parseInt(key.substring(1)); + Fragment f = mFragmentManager.getFragment(bundle, key); + if (f != null) { + while (mFragments.size() <= index) { + mFragments.add(null); + } + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + final boolean wasSelected = bundle.getString(SELECTED_FRAGMENT, "").equals(key); + f.setMenuVisibility(wasSelected); + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + mFragments.set(index, f); + } else { + Log.w(TAG, "Bad fragment at key " + key); + } + } + } + } + } +} diff --git a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java index e3dfb8982..a157f34bf 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/MainFragment.java @@ -16,7 +16,7 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentStatePagerAdapter; +import androidx.fragment.app.FragmentStatePagerAdapterMenuWorkaround; import androidx.viewpager.widget.ViewPager; import com.google.android.material.tabs.TabLayout; @@ -185,7 +185,7 @@ public class MainFragment extends BaseFragment implements TabLayout.OnTabSelecte updateTitleForTab(tab.getPosition()); } - private static class SelectedTabsPagerAdapter extends FragmentStatePagerAdapter { + private static class SelectedTabsPagerAdapter extends FragmentStatePagerAdapterMenuWorkaround { private final Context context; private final List internalTabsList; From b995f39206298f23e510435cc76b873780c09189 Mon Sep 17 00:00:00 2001 From: bopol Date: Sat, 28 Mar 2020 14:19:42 +0100 Subject: [PATCH 81/89] add upload date on stream grid items fixes #3175 --- .../info_list/holder/StreamGridInfoItemHolder.java | 2 +- .../info_list/holder/StreamInfoItemHolder.java | 6 +++++- app/src/main/res/layout/list_stream_grid_item.xml | 13 +++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamGridInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamGridInfoItemHolder.java index a2e585857..78bdfeaac 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamGridInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamGridInfoItemHolder.java @@ -5,7 +5,7 @@ import android.view.ViewGroup; import org.schabi.newpipe.R; import org.schabi.newpipe.info_list.InfoItemBuilder; -public class StreamGridInfoItemHolder extends StreamMiniInfoItemHolder { +public class StreamGridInfoItemHolder extends StreamInfoItemHolder { public StreamGridInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) { super(infoItemBuilder, R.layout.list_stream_grid_item, parent); diff --git a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java index 1dfbbca3f..8f715c6c0 100644 --- a/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/info_list/holder/StreamInfoItemHolder.java @@ -40,7 +40,11 @@ public class StreamInfoItemHolder extends StreamMiniInfoItemHolder { public final TextView itemAdditionalDetails; public StreamInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) { - super(infoItemBuilder, R.layout.list_stream_item, parent); + this(infoItemBuilder, R.layout.list_stream_item, parent); + } + + public StreamInfoItemHolder(InfoItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) { + super(infoItemBuilder, layoutId, parent); itemAdditionalDetails = itemView.findViewById(R.id.itemAdditionalDetails); } diff --git a/app/src/main/res/layout/list_stream_grid_item.xml b/app/src/main/res/layout/list_stream_grid_item.xml index fc9235e8d..2850c6125 100644 --- a/app/src/main/res/layout/list_stream_grid_item.xml +++ b/app/src/main/res/layout/list_stream_grid_item.xml @@ -67,6 +67,19 @@ android:textSize="@dimen/video_item_search_uploader_text_size" tools:text="Uploader"/> + + Date: Thu, 26 Mar 2020 23:16:56 -0300 Subject: [PATCH 82/89] Introduce a proper way to find urls in a string input --- .../util/urlfinder/PatternsCompat.java | 360 ++++++++++++++++++ .../newpipe/util/urlfinder/UrlFinder.kt | 27 ++ .../newpipe/util/urlfinder/UrlFinderTest.kt | 99 +++++ 3 files changed, 486 insertions(+) create mode 100644 app/src/main/java/org/schabi/newpipe/util/urlfinder/PatternsCompat.java create mode 100644 app/src/main/java/org/schabi/newpipe/util/urlfinder/UrlFinder.kt create mode 100644 app/src/test/java/org/schabi/newpipe/util/urlfinder/UrlFinderTest.kt diff --git a/app/src/main/java/org/schabi/newpipe/util/urlfinder/PatternsCompat.java b/app/src/main/java/org/schabi/newpipe/util/urlfinder/PatternsCompat.java new file mode 100644 index 000000000..bbad56c37 --- /dev/null +++ b/app/src/main/java/org/schabi/newpipe/util/urlfinder/PatternsCompat.java @@ -0,0 +1,360 @@ +/* THIS FILE WAS MODIFIED, CHANGES ARE DOCUMENTED. */ + +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.schabi.newpipe.util.urlfinder; + +import androidx.annotation.RestrictTo; + +import java.util.regex.Pattern; + +import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX; + +/** + * Commonly used regular expression patterns. + */ +public final class PatternsCompat { + /** + * Regular expression to match all IANA top-level domains. + * + * List accurate as of 2015/11/24. List taken from: + * http://data.iana.org/TLD/tlds-alpha-by-domain.txt + * This pattern is auto-generated by frameworks/ex/common/tools/make-iana-tld-pattern.py + */ + static final String IANA_TOP_LEVEL_DOMAINS = + "(?:" + + "(?:aaa|aarp|abb|abbott|abogado|academy|accenture|accountant|accountants|aco|active" + + "|actor|ads|adult|aeg|aero|afl|agency|aig|airforce|airtel|allfinanz|alsace|amica|amsterdam" + + "|android|apartments|app|apple|aquarelle|aramco|archi|army|arpa|arte|asia|associates" + + "|attorney|auction|audio|auto|autos|axa|azure|a[cdefgilmoqrstuwxz])" + + "|(?:band|bank|bar|barcelona|barclaycard|barclays|bargains|bauhaus|bayern|bbc|bbva" + + "|bcn|beats|beer|bentley|berlin|best|bet|bharti|bible|bid|bike|bing|bingo|bio|biz|black" + + "|blackfriday|bloomberg|blue|bms|bmw|bnl|bnpparibas|boats|bom|bond|boo|boots|boutique" + + "|bradesco|bridgestone|broadway|broker|brother|brussels|budapest|build|builders|business" + + "|buzz|bzh|b[abdefghijmnorstvwyz])" + + "|(?:cab|cafe|cal|camera|camp|cancerresearch|canon|capetown|capital|car|caravan|cards" + + "|care|career|careers|cars|cartier|casa|cash|casino|cat|catering|cba|cbn|ceb|center|ceo" + + "|cern|cfa|cfd|chanel|channel|chat|cheap|chloe|christmas|chrome|church|cipriani|cisco" + + "|citic|city|cityeats|claims|cleaning|click|clinic|clothing|cloud|club|clubmed|coach" + + "|codes|coffee|college|cologne|com|commbank|community|company|computer|comsec|condos" + + "|construction|consulting|contractors|cooking|cool|coop|corsica|country|coupons|courses" + + "|credit|creditcard|creditunion|cricket|crown|crs|cruises|csc|cuisinella|cymru|cyou|c[acdfghiklmnoruvwxyz])" + + "|(?:dabur|dad|dance|date|dating|datsun|day|dclk|deals|degree|delivery|dell|delta" + + "|democrat|dental|dentist|desi|design|dev|diamonds|diet|digital|direct|directory|discount" + + "|dnp|docs|dog|doha|domains|doosan|download|drive|durban|dvag|d[ejkmoz])" + + "|(?:earth|eat|edu|education|email|emerck|energy|engineer|engineering|enterprises" + + "|epson|equipment|erni|esq|estate|eurovision|eus|events|everbank|exchange|expert|exposed" + + "|express|e[cegrstu])" + + "|(?:fage|fail|fairwinds|faith|family|fan|fans|farm|fashion|feedback|ferrero|film" + + "|final|finance|financial|firmdale|fish|fishing|fit|fitness|flights|florist|flowers|flsmidth" + + "|fly|foo|football|forex|forsale|forum|foundation|frl|frogans|fund|furniture|futbol|fyi" + + "|f[ijkmor])" + + "|(?:gal|gallery|game|garden|gbiz|gdn|gea|gent|genting|ggee|gift|gifts|gives|giving" + + "|glass|gle|global|globo|gmail|gmo|gmx|gold|goldpoint|golf|goo|goog|google|gop|gov|grainger" + + "|graphics|gratis|green|gripe|group|gucci|guge|guide|guitars|guru|g[abdefghilmnpqrstuwy])" + + "|(?:hamburg|hangout|haus|healthcare|help|here|hermes|hiphop|hitachi|hiv|hockey|holdings" + + "|holiday|homedepot|homes|honda|horse|host|hosting|hoteles|hotmail|house|how|hsbc|hyundai" + + "|h[kmnrtu])" + + "|(?:ibm|icbc|ice|icu|ifm|iinet|immo|immobilien|industries|infiniti|info|ing|ink|institute" + + "|insure|int|international|investments|ipiranga|irish|ist|istanbul|itau|iwc|i[delmnoqrst])" + + "|(?:jaguar|java|jcb|jetzt|jewelry|jlc|jll|jobs|joburg|jprs|juegos|j[emop])" + + "|(?:kaufen|kddi|kia|kim|kinder|kitchen|kiwi|koeln|komatsu|krd|kred|kyoto|k[eghimnprwyz])" + + "|(?:lacaixa|lancaster|land|landrover|lasalle|lat|latrobe|law|lawyer|lds|lease|leclerc" + + "|legal|lexus|lgbt|liaison|lidl|life|lifestyle|lighting|limited|limo|linde|link|live" + + "|lixil|loan|loans|lol|london|lotte|lotto|love|ltd|ltda|lupin|luxe|luxury|l[abcikrstuvy])" + + "|(?:madrid|maif|maison|man|management|mango|market|marketing|markets|marriott|mba" + + "|media|meet|melbourne|meme|memorial|men|menu|meo|miami|microsoft|mil|mini|mma|mobi|moda" + + "|moe|moi|mom|monash|money|montblanc|mormon|mortgage|moscow|motorcycles|mov|movie|movistar" + + "|mtn|mtpc|mtr|museum|mutuelle|m[acdeghklmnopqrstuvwxyz])" + + "|(?:nadex|nagoya|name|navy|nec|net|netbank|network|neustar|new|news|nexus|ngo|nhk" + + "|nico|ninja|nissan|nokia|nra|nrw|ntt|nyc|n[acefgilopruz])" + + "|(?:obi|office|okinawa|omega|one|ong|onl|online|ooo|oracle|orange|org|organic|osaka" + + "|otsuka|ovh|om)" + + "|(?:page|panerai|paris|partners|parts|party|pet|pharmacy|philips|photo|photography" + + "|photos|physio|piaget|pics|pictet|pictures|ping|pink|pizza|place|play|playstation|plumbing" + + "|plus|pohl|poker|porn|post|praxi|press|pro|prod|productions|prof|properties|property" + + "|protection|pub|p[aefghklmnrstwy])" + + "|(?:qpon|quebec|qa)" + + "|(?:racing|realtor|realty|recipes|red|redstone|rehab|reise|reisen|reit|ren|rent|rentals" + + "|repair|report|republican|rest|restaurant|review|reviews|rich|ricoh|rio|rip|rocher|rocks" + + "|rodeo|rsvp|ruhr|run|rwe|ryukyu|r[eosuw])" + + "|(?:saarland|sakura|sale|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|saxo" + + "|sbs|sca|scb|schmidt|scholarships|school|schule|schwarz|science|scor|scot|seat|security" + + "|seek|sener|services|seven|sew|sex|sexy|shiksha|shoes|show|shriram|singles|site|ski" + + "|sky|skype|sncf|soccer|social|software|sohu|solar|solutions|sony|soy|space|spiegel|spreadbetting" + + "|srl|stada|starhub|statoil|stc|stcgroup|stockholm|studio|study|style|sucks|supplies" + + "|supply|support|surf|surgery|suzuki|swatch|swiss|sydney|systems|s[abcdeghijklmnortuvxyz])" + + "|(?:tab|taipei|tatamotors|tatar|tattoo|tax|taxi|team|tech|technology|tel|telefonica" + + "|temasek|tennis|thd|theater|theatre|tickets|tienda|tips|tires|tirol|today|tokyo|tools" + + "|top|toray|toshiba|tours|town|toyota|toys|trade|trading|training|travel|trust|tui|t[cdfghjklmnortvwz])" + + "|(?:ubs|university|uno|uol|u[agksyz])" + + "|(?:vacations|vana|vegas|ventures|versicherung|vet|viajes|video|villas|vin|virgin" + + "|vision|vista|vistaprint|viva|vlaanderen|vodka|vote|voting|voto|voyage|v[aceginu])" + + "|(?:wales|walter|wang|watch|webcam|website|wed|wedding|weir|whoswho|wien|wiki|williamhill" + + "|win|windows|wine|wme|work|works|world|wtc|wtf|w[fs])" + + "|(?:\u03b5\u03bb|\u0431\u0435\u043b|\u0434\u0435\u0442\u0438|\u043a\u043e\u043c|\u043c\u043a\u0434" + + "|\u043c\u043e\u043d|\u043c\u043e\u0441\u043a\u0432\u0430|\u043e\u043d\u043b\u0430\u0439\u043d" + + "|\u043e\u0440\u0433|\u0440\u0443\u0441|\u0440\u0444|\u0441\u0430\u0439\u0442|\u0441\u0440\u0431" + + "|\u0443\u043a\u0440|\u049b\u0430\u0437|\u0570\u0561\u0575|\u05e7\u05d5\u05dd|\u0627\u0631\u0627\u0645\u0643\u0648" + + "|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629" + + "|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0627\u06cc\u0631\u0627\u0646" + + "|\u0628\u0627\u0632\u0627\u0631|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633" + + "|\u0633\u0648\u062f\u0627\u0646|\u0633\u0648\u0631\u064a\u0629|\u0634\u0628\u0643\u0629" + + "|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0641\u0644\u0633\u0637\u064a\u0646" + + "|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0645\u0644\u064a\u0633\u064a\u0627" + + "|\u0645\u0648\u0642\u0639|\u0915\u0949\u092e|\u0928\u0947\u091f|\u092d\u093e\u0930\u0924" + + "|\u0938\u0902\u0917\u0920\u0928|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4" + + "|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd" + + "|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e04\u0e2d\u0e21|\u0e44\u0e17\u0e22" + + "|\u10d2\u10d4|\u307f\u3093\u306a|\u30b0\u30fc\u30b0\u30eb|\u30b3\u30e0|\u4e16\u754c" + + "|\u4e2d\u4fe1|\u4e2d\u56fd|\u4e2d\u570b|\u4e2d\u6587\u7f51|\u4f01\u4e1a|\u4f5b\u5c71" + + "|\u4fe1\u606f|\u5065\u5eb7|\u516b\u5366|\u516c\u53f8|\u516c\u76ca|\u53f0\u6e7e|\u53f0\u7063" + + "|\u5546\u57ce|\u5546\u5e97|\u5546\u6807|\u5728\u7ebf|\u5927\u62ff|\u5a31\u4e50|\u5de5\u884c" + + "|\u5e7f\u4e1c|\u6148\u5584|\u6211\u7231\u4f60|\u624b\u673a|\u653f\u52a1|\u653f\u5e9c" + + "|\u65b0\u52a0\u5761|\u65b0\u95fb|\u65f6\u5c1a|\u673a\u6784|\u6de1\u9a6c\u9521|\u6e38\u620f" + + "|\u70b9\u770b|\u79fb\u52a8|\u7ec4\u7ec7\u673a\u6784|\u7f51\u5740|\u7f51\u5e97|\u7f51\u7edc" + + "|\u8c37\u6b4c|\u96c6\u56e2|\u98de\u5229\u6d66|\u9910\u5385|\u9999\u6e2f|\ub2f7\ub137" + + "|\ub2f7\ucef4|\uc0bc\uc131|\ud55c\uad6d|xbox" + + "|xerox|xin|xn\\-\\-11b4c3d|xn\\-\\-1qqw23a|xn\\-\\-30rr7y|xn\\-\\-3bst00m|xn\\-\\-3ds443g" + + "|xn\\-\\-3e0b707e|xn\\-\\-3pxu8k|xn\\-\\-42c2d9a|xn\\-\\-45brj9c|xn\\-\\-45q11c|xn\\-\\-4gbrim" + + "|xn\\-\\-55qw42g|xn\\-\\-55qx5d|xn\\-\\-6frz82g|xn\\-\\-6qq986b3xl|xn\\-\\-80adxhks" + + "|xn\\-\\-80ao21a|xn\\-\\-80asehdb|xn\\-\\-80aswg|xn\\-\\-90a3ac|xn\\-\\-90ais|xn\\-\\-9dbq2a" + + "|xn\\-\\-9et52u|xn\\-\\-b4w605ferd|xn\\-\\-c1avg|xn\\-\\-c2br7g|xn\\-\\-cg4bki|xn\\-\\-clchc0ea0b2g2a9gcd" + + "|xn\\-\\-czr694b|xn\\-\\-czrs0t|xn\\-\\-czru2d|xn\\-\\-d1acj3b|xn\\-\\-d1alf|xn\\-\\-efvy88h" + + "|xn\\-\\-estv75g|xn\\-\\-fhbei|xn\\-\\-fiq228c5hs|xn\\-\\-fiq64b|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s" + + "|xn\\-\\-fjq720a|xn\\-\\-flw351e|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-gecrj9c" + + "|xn\\-\\-h2brj9c|xn\\-\\-hxt814e|xn\\-\\-i1b6b1a6a2e|xn\\-\\-imr513n|xn\\-\\-io0a7i" + + "|xn\\-\\-j1aef|xn\\-\\-j1amh|xn\\-\\-j6w193g|xn\\-\\-kcrx77d1x4a|xn\\-\\-kprw13d|xn\\-\\-kpry57d" + + "|xn\\-\\-kput3i|xn\\-\\-l1acc|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgb9awbf|xn\\-\\-mgba3a3ejt" + + "|xn\\-\\-mgba3a4f16a|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbab2bd|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e" + + "|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-mgbpl2fh|xn\\-\\-mgbtx2b|xn\\-\\-mgbx4cd0ab" + + "|xn\\-\\-mk1bu44c|xn\\-\\-mxtq1m|xn\\-\\-ngbc5azd|xn\\-\\-node|xn\\-\\-nqv7f|xn\\-\\-nqv7fs00ema" + + "|xn\\-\\-nyqy26a|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1acf|xn\\-\\-p1ai|xn\\-\\-pgbs0dh" + + "|xn\\-\\-pssy2u|xn\\-\\-q9jyb4c|xn\\-\\-qcka1pmc|xn\\-\\-qxam|xn\\-\\-rhqv96g|xn\\-\\-s9brj9c" + + "|xn\\-\\-ses554g|xn\\-\\-t60b56a|xn\\-\\-tckwe|xn\\-\\-unup4y|xn\\-\\-vermgensberater\\-ctb" + + "|xn\\-\\-vermgensberatung\\-pwb|xn\\-\\-vhquv|xn\\-\\-vuq861b|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a" + + "|xn\\-\\-xhq521b|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-y9a3aq|xn\\-\\-yfro4i67o" + + "|xn\\-\\-ygbi2ammx|xn\\-\\-zfr164b|xperia|xxx|xyz)" + + "|(?:yachts|yamaxun|yandex|yodobashi|yoga|yokohama|youtube|y[et])" + + "|(?:zara|zip|zone|zuerich|z[amw]))"; + + public static final Pattern IP_ADDRESS + = Pattern.compile( + "((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4]" + + "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]" + + "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}" + + "|[1-9][0-9]|[0-9]))"); + + /** + * Valid UCS characters defined in RFC 3987. Excludes space characters. + */ + private static final String UCS_CHAR = "[" + + "\u00A0-\uD7FF" + + "\uF900-\uFDCF" + + "\uFDF0-\uFFEF" + + "\uD800\uDC00-\uD83F\uDFFD" + + "\uD840\uDC00-\uD87F\uDFFD" + + "\uD880\uDC00-\uD8BF\uDFFD" + + "\uD8C0\uDC00-\uD8FF\uDFFD" + + "\uD900\uDC00-\uD93F\uDFFD" + + "\uD940\uDC00-\uD97F\uDFFD" + + "\uD980\uDC00-\uD9BF\uDFFD" + + "\uD9C0\uDC00-\uD9FF\uDFFD" + + "\uDA00\uDC00-\uDA3F\uDFFD" + + "\uDA40\uDC00-\uDA7F\uDFFD" + + "\uDA80\uDC00-\uDABF\uDFFD" + + "\uDAC0\uDC00-\uDAFF\uDFFD" + + "\uDB00\uDC00-\uDB3F\uDFFD" + + "\uDB44\uDC00-\uDB7F\uDFFD" + + "&&[^\u00A0[\u2000-\u200A]\u2028\u2029\u202F\u3000]]"; + + /** + * Valid characters for IRI label defined in RFC 3987. + */ + private static final String LABEL_CHAR = "a-zA-Z0-9" + UCS_CHAR; + + /** + * Valid characters for IRI TLD defined in RFC 3987. + */ + private static final String TLD_CHAR = "a-zA-Z" + UCS_CHAR; + + /** + * RFC 1035 Section 2.3.4 limits the labels to a maximum 63 octets. + */ + private static final String IRI_LABEL = + "[" + LABEL_CHAR + "](?:[" + LABEL_CHAR + "_\\-]{0,61}[" + LABEL_CHAR + "]){0,1}"; + + /** + * RFC 3492 references RFC 1034 and limits Punycode algorithm output to 63 characters. + */ + private static final String PUNYCODE_TLD = "xn\\-\\-[\\w\\-]{0,58}\\w"; + + private static final String TLD = "(" + PUNYCODE_TLD + "|" + "[" + TLD_CHAR + "]{2,63}" +")"; + + private static final String HOST_NAME = "(" + IRI_LABEL + "\\.)+" + TLD; + + public static final Pattern DOMAIN_NAME + = Pattern.compile("(" + HOST_NAME + "|" + IP_ADDRESS + ")"); + + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + // CHANGED: Removed rtsp from supported protocols // + //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + private static final String PROTOCOL = "(?i:http|https)://"; + + /* A word boundary or end of input. This is to stop foo.sure from matching as foo.su */ + private static final String WORD_BOUNDARY = "(?:\\b|$|^)"; + + private static final String USER_INFO = "(?:[a-zA-Z0-9\\$\\-\\_\\.\\+\\!\\*\\'\\(\\)" + + "\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,64}(?:\\:(?:[a-zA-Z0-9\\$\\-\\_" + + "\\.\\+\\!\\*\\'\\(\\)\\,\\;\\?\\&\\=]|(?:\\%[a-fA-F0-9]{2})){1,25})?\\@"; + + private static final String PORT_NUMBER = "\\:\\d{1,5}"; + + private static final String PATH_AND_QUERY = "[/\\?](?:(?:[" + LABEL_CHAR + + ";/\\?:@&=#~" // plus optional query params + + "\\-\\.\\+!\\*'\\(\\),_\\$])|(?:%[a-fA-F0-9]{2}))*"; + + /** + * Regular expression pattern to match most part of RFC 3987 + * Internationalized URLs, aka IRIs. + */ + public static final Pattern WEB_URL = Pattern.compile("(" + + "(" + + "(?:" + PROTOCOL + "(?:" + USER_INFO + ")?" + ")?" + + "(?:" + DOMAIN_NAME + ")" + + "(?:" + PORT_NUMBER + ")?" + + ")" + + "(" + PATH_AND_QUERY + ")?" + + WORD_BOUNDARY + + ")"); + + /** + * Regular expression that matches known TLDs and punycode TLDs + */ + private static final String STRICT_TLD = "(?:" + + IANA_TOP_LEVEL_DOMAINS + "|" + PUNYCODE_TLD + ")"; + + /** + * Regular expression that matches host names using {@link #STRICT_TLD} + */ + private static final String STRICT_HOST_NAME = "(?:(?:" + IRI_LABEL + "\\.)+" + + STRICT_TLD + ")"; + + /** + * Regular expression that matches domain names using either {@link #STRICT_HOST_NAME} or + * {@link #IP_ADDRESS} + */ + private static final Pattern STRICT_DOMAIN_NAME + = Pattern.compile("(?:" + STRICT_HOST_NAME + "|" + IP_ADDRESS + ")"); + + /** + * Regular expression that matches domain names without a TLD + */ + private static final String RELAXED_DOMAIN_NAME = + "(?:" + "(?:" + IRI_LABEL + "(?:\\.(?=\\S))" +"?)+" + "|" + IP_ADDRESS + ")"; + + /** + * Regular expression to match strings that do not start with a supported protocol. The TLDs + * are expected to be one of the known TLDs. + */ + private static final String WEB_URL_WITHOUT_PROTOCOL = "(" + + WORD_BOUNDARY + + "(? Date: Thu, 26 Mar 2020 23:18:14 -0300 Subject: [PATCH 83/89] Fix bug when searching for urls from shared content --- .../org/schabi/newpipe/RouterActivity.java | 91 +++---------------- 1 file changed, 15 insertions(+), 76 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/RouterActivity.java b/app/src/main/java/org/schabi/newpipe/RouterActivity.java index 1be6e096a..1ed659e47 100644 --- a/app/src/main/java/org/schabi/newpipe/RouterActivity.java +++ b/app/src/main/java/org/schabi/newpipe/RouterActivity.java @@ -9,12 +9,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; import android.preference.PreferenceManager; -import androidx.annotation.DrawableRes; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.app.NotificationCompat; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; import android.text.TextUtils; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; @@ -26,6 +20,12 @@ import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.NotificationCompat; import androidx.fragment.app.FragmentManager; import org.schabi.newpipe.download.DownloadDialog; @@ -49,12 +49,11 @@ import org.schabi.newpipe.util.ListHelper; import org.schabi.newpipe.util.NavigationHelper; import org.schabi.newpipe.util.PermissionHelper; import org.schabi.newpipe.util.ThemeHelper; +import org.schabi.newpipe.util.urlfinder.UrlFinder; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; -import java.util.HashSet; import java.util.List; import icepick.Icepick; @@ -625,78 +624,18 @@ public class RouterActivity extends AppCompatActivity { // Utils //////////////////////////////////////////////////////////////////////////*/ - /** - * Removes invisible separators (\p{Z}) and punctuation characters including - * brackets (\p{P}). See http://www.regular-expressions.info/unicode.html for - * more details. - */ - private final static String REGEX_REMOVE_FROM_URL = "[\\p{Z}\\p{P}]"; - + @Nullable private String getUrl(Intent intent) { - // first gather data and find service - String videoUrl = null; + String foundUrl = null; if (intent.getData() != null) { - // this means the video was called though another app - videoUrl = intent.getData().toString(); + // Called from another app + foundUrl = intent.getData().toString(); } else if (intent.getStringExtra(Intent.EXTRA_TEXT) != null) { - //this means that vidoe was called through share menu - String extraText = intent.getStringExtra(Intent.EXTRA_TEXT); - final String[] uris = getUris(extraText); - videoUrl = uris.length > 0 ? uris[0] : null; + // Called from the share menu + final String extraText = intent.getStringExtra(Intent.EXTRA_TEXT); + foundUrl = UrlFinder.firstUrlFromInput(extraText); } - return videoUrl; - } - - private String removeHeadingGibberish(final String input) { - int start = 0; - for (int i = input.indexOf("://") - 1; i >= 0; i--) { - if (!input.substring(i, i + 1).matches("\\p{L}")) { - start = i + 1; - break; - } - } - return input.substring(start, input.length()); - } - - private String trim(final String input) { - if (input == null || input.length() < 1) { - return input; - } else { - String output = input; - while (output.length() > 0 && output.substring(0, 1).matches(REGEX_REMOVE_FROM_URL)) { - output = output.substring(1); - } - while (output.length() > 0 - && output.substring(output.length() - 1, output.length()).matches(REGEX_REMOVE_FROM_URL)) { - output = output.substring(0, output.length() - 1); - } - return output; - } - } - - /** - * Retrieves all Strings which look remotely like URLs from a text. - * Used if NewPipe was called through share menu. - * - * @param sharedText text to scan for URLs. - * @return potential URLs - */ - protected String[] getUris(final String sharedText) { - final Collection result = new HashSet<>(); - if (sharedText != null) { - final String[] array = sharedText.split("\\p{Space}"); - for (String s : array) { - s = trim(s); - if (s.length() != 0) { - if (s.matches(".+://.+")) { - result.add(removeHeadingGibberish(s)); - } else if (s.matches(".+\\..+")) { - result.add("http://" + s); - } - } - } - } - return result.toArray(new String[result.size()]); + return foundUrl; } } From f9b718f1eb0c026b40f736eab21de59c86c319bb Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Sat, 28 Mar 2020 14:30:47 -0300 Subject: [PATCH 84/89] Use correct class for getting a vector drawable in older APIs --- .../main/java/org/schabi/newpipe/player/MainVideoPlayer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java index b5e614bec..42759a5ed 100644 --- a/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java +++ b/app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java @@ -403,7 +403,8 @@ public final class MainVideoPlayer extends AppCompatActivity } protected void setMuteButton(final ImageButton muteButton, final boolean isMuted) { - muteButton.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), isMuted ? R.drawable.ic_volume_off_white_72dp : R.drawable.ic_volume_up_white_72dp)); + muteButton.setImageDrawable(AppCompatResources.getDrawable(getApplicationContext(), + isMuted ? R.drawable.ic_volume_off_white_72dp : R.drawable.ic_volume_up_white_72dp)); } From b4cabe23e3f6cadf0e2cee6887319b3959c8ea28 Mon Sep 17 00:00:00 2001 From: Mauricio Colli Date: Thu, 26 Mar 2020 23:58:01 -0300 Subject: [PATCH 85/89] Handle content not available exception more comprehensively --- .../newpipe/fragments/BaseStateFragment.java | 4 ++++ .../fragments/detail/VideoDetailFragment.java | 21 ++++++------------- .../list/channel/ChannelFragment.java | 16 ++++++-------- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/BaseStateFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/BaseStateFragment.java index 8e328266e..f9852b7b0 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/BaseStateFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/BaseStateFragment.java @@ -17,6 +17,7 @@ import org.schabi.newpipe.BaseFragment; import org.schabi.newpipe.MainActivity; import org.schabi.newpipe.R; import org.schabi.newpipe.ReCaptchaActivity; +import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; import org.schabi.newpipe.extractor.exceptions.ReCaptchaException; import org.schabi.newpipe.report.ErrorActivity; import org.schabi.newpipe.report.UserAction; @@ -181,6 +182,9 @@ public abstract class BaseStateFragment extends BaseFragment implements ViewC if (exception instanceof ReCaptchaException) { onReCaptchaException((ReCaptchaException) exception); return true; + } else if (exception instanceof ContentNotAvailableException) { + showError(getString(R.string.content_not_available), false); + return true; } else if (exception instanceof IOException) { showError(getString(R.string.network_error), true); return true; diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index 86198650c..ebec8db0a 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -51,7 +51,6 @@ import org.schabi.newpipe.download.DownloadDialog; import org.schabi.newpipe.extractor.InfoItem; import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.ServiceList; -import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor; @@ -1220,20 +1219,12 @@ public class VideoDetailFragment protected boolean onError(Throwable exception) { if (super.onError(exception)) return true; - else if (exception instanceof ContentNotAvailableException) { - showError(getString(R.string.content_not_available), false); - } else { - int errorId = exception instanceof YoutubeStreamExtractor.DecryptException - ? R.string.youtube_signature_decryption_error - : exception instanceof ParsingException - ? R.string.parsing_error - : R.string.general_error; - onUnrecoverableError(exception, - UserAction.REQUESTED_STREAM, - NewPipe.getNameOfService(serviceId), - url, - errorId); - } + int errorId = exception instanceof YoutubeStreamExtractor.DecryptException ? R.string.youtube_signature_decryption_error + : exception instanceof ExtractionException ? R.string.parsing_error + : R.string.general_error; + + onUnrecoverableError(exception, UserAction.REQUESTED_STREAM, + NewPipe.getNameOfService(serviceId), url, errorId); return true; } diff --git a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java index 3615b0922..40df990f9 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java @@ -440,16 +440,12 @@ public class ChannelFragment extends BaseListInfoFragment { protected boolean onError(Throwable exception) { if (super.onError(exception)) return true; - if (exception instanceof ContentNotAvailableException) { - showError(getString(R.string.content_not_available), false); - } else { - int errorId = exception instanceof ExtractionException ? R.string.parsing_error : R.string.general_error; - onUnrecoverableError(exception, - UserAction.REQUESTED_CHANNEL, - NewPipe.getNameOfService(serviceId), - url, - errorId); - } + int errorId = exception instanceof ExtractionException + ? R.string.parsing_error : R.string.general_error; + + onUnrecoverableError(exception, UserAction.REQUESTED_CHANNEL, + NewPipe.getNameOfService(serviceId), url, errorId); + return true; } From 949150f9ff81ad3f8e183bfc7a600b811e7d85b2 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Sat, 28 Mar 2020 19:18:37 +0100 Subject: [PATCH 86/89] Update extractor version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 49ac0ccfe..89911387b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,7 +92,7 @@ dependencies { exclude module: 'support-annotations' }) - implementation 'com.github.TeamNewPipe:NewPipeExtractor:647e7cd45' + implementation 'com.github.TeamNewPipe:NewPipeExtractor:69e0624e3' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.23.0' From 3c3848d4f80f7d33dd53126c833452513a635399 Mon Sep 17 00:00:00 2001 From: vlt23 Date: Sat, 28 Mar 2020 20:12:17 +0100 Subject: [PATCH 87/89] Fix UI crash in Settings, Content (chinese language) --- app/src/main/res/values-b+zh+HANS+CN/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-b+zh+HANS+CN/strings.xml b/app/src/main/res/values-b+zh+HANS+CN/strings.xml index edddc8588..1fb28f4de 100644 --- a/app/src/main/res/values-b+zh+HANS+CN/strings.xml +++ b/app/src/main/res/values-b+zh+HANS+CN/strings.xml @@ -546,10 +546,10 @@ %d分钟
- %小时 + %d小时 - %天 + %d天 Feed组 最早订阅更新:%s From bcd77031f3ff5fa2adcc17aa95ecf5ff62c8d2f6 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:15:29 +0100 Subject: [PATCH 88/89] Add changelog --- fastlane/metadata/android/en-US/changelogs/900.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/900.txt diff --git a/fastlane/metadata/android/en-US/changelogs/900.txt b/fastlane/metadata/android/en-US/changelogs/900.txt new file mode 100644 index 000000000..b3086b13a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/900.txt @@ -0,0 +1,14 @@ +New +• Subscription groups and sorted feeds +• Mute button in players + +Improved +• Allow opening music.youtube.com and media.ccc.de links in NewPipe +• Relocate two settings from Appearance to Content +• Hide 5, 15, 25 second seek options if inexact seek is enabled + +Fixed +• some WebM videos are not seekable +• database backup on Android P +• crash when sharing a downloaded file +• tons of YouTube extraction issue and more ... \ No newline at end of file From 7f21975971cbcf282ff0181d43351bfd3542e502 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Wed, 25 Mar 2020 12:16:18 +0100 Subject: [PATCH 89/89] release version 0.19.0 (900) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 89911387b..37b03e4ae 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { resValue "string", "app_name", "NewPipe" minSdkVersion 19 targetSdkVersion 28 - versionCode 870 - versionName "0.18.7" + versionCode 900 + versionName "0.19.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true