Conflict resolution
This commit is contained in:
commit
26e22f97ee
|
@ -5,13 +5,13 @@ android:
|
|||
components:
|
||||
# The BuildTools version used by NewPipe
|
||||
- tools
|
||||
- build-tools-27.0.3
|
||||
- build-tools-28.0.3
|
||||
|
||||
# The SDK version used to compile NewPipe
|
||||
- android-27
|
||||
- android-28
|
||||
|
||||
before_install:
|
||||
- yes | sdkmanager "platforms;android-27"
|
||||
- yes | sdkmanager "platforms;android-28"
|
||||
script: ./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleDebug lintDebug testDebugUnitTest
|
||||
|
||||
licenses:
|
||||
|
|
94
README.md
94
README.md
|
@ -1,74 +1,77 @@
|
|||
<p align="center"><a href="https://newpipe.schabi.org"><img src="assets/new_pipe_icon_5.png" width="150"/></a></p>
|
||||
<p align="center"><a href="https://newpipe.schabi.org"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
|
||||
<h2 align="center"><b>NewPipe</b></h2>
|
||||
<h4 align="center">A free lightweight YouTube frontend for Android.</h4>
|
||||
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://f-droid.org/wiki/images/0/06/F-Droid-button_get-it-on.png"/></a></p>
|
||||
<h4 align="center">A libre lightweight streaming frontend for Android.</h4>
|
||||
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://f-droid.org/wiki/images/0/06/F-Droid-button_get-it-on.png"></a></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/TeamNewPipe/NewPipe" alt="GitHub release"><img src="https://img.shields.io/github/release/TeamNewPipe/NewPipe.svg" /></a>
|
||||
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPL v3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg" /></a>
|
||||
<a href="https://travis-ci.org/TeamNewPipe/NewPipe" alt="Build Status"><img src="https://travis-ci.org/TeamNewPipe/NewPipe.svg" /></a>
|
||||
<a href="https://hosted.weblate.org/engage/NewPipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/NewPipe/-/svg-badge.svg" /></a>
|
||||
<a href="http://webchat.freenode.net/?channels=%23newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg" /></a>
|
||||
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"/></a>
|
||||
<a href="https://github.com/TeamNewPipe/NewPipe" alt="GitHub release"><img src="https://img.shields.io/github/release/TeamNewPipe/NewPipe.svg" ></a>
|
||||
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
|
||||
<a href="https://travis-ci.org/TeamNewPipe/NewPipe" alt="Build Status"><img src="https://travis-ci.org/TeamNewPipe/NewPipe.svg"></a>
|
||||
<a href="https://hosted.weblate.org/engage/NewPipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/NewPipe/-/svg-badge.svg"></a>
|
||||
<a href="http://webchat.freenode.net/?channels=%23newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
|
||||
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
|
||||
</p>
|
||||
<hr />
|
||||
<hr>
|
||||
<p align="center"><a href="#screenshots">Screenshots</a> • <a href="#description">Description</a> • <a href="#features">Features</a> • <a href="#contribution">Contribution</a> • <a href="#donate">Donate</a> • <a href="#license">License</a></p>
|
||||
<p align="center"><a href="https://newpipe.schabi.org">Website</a> • <a href="https://newpipe.schabi.org/blog/">Blog</a> • <a href="https://newpipe.schabi.org/press/">Press</a></p>
|
||||
<hr />
|
||||
WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS.
|
||||
<hr>
|
||||
|
||||
<b>WARNING: PUTTING NEWPIPE OR ANY FORK OF IT INTO GOOGLE PLAYSTORE VIOLATES THEIR TERMS OF CONDITIONS.</b>
|
||||
|
||||
## Screenshots
|
||||
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_1.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_1.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_2.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_2.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_3.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_3.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_4.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_4.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_5.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_5.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_6.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_6.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_7.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_7.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_8.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_8.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_9.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_9.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
|
||||
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
|
||||
|
||||
## Description
|
||||
|
||||
NewPipe does not use any Google framework libraries, or the YouTube API. It only parses the website in order to gain the information it needs. Therefore this app can be used on devices without Google Services installed. Also, you don't need a YouTube account to use NewPipe, and it's FLOSS.
|
||||
NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
|
||||
|
||||
### Features
|
||||
|
||||
* Search videos
|
||||
* Display general information about a video
|
||||
* Display general info about videos
|
||||
* Watch YouTube videos
|
||||
* Listen to YouTube videos
|
||||
* Popup mode (floating player)
|
||||
* Select the streaming player to watch the video with
|
||||
* Download videos
|
||||
* Select streaming player to watch video with
|
||||
* Download videos
|
||||
* Download audio only
|
||||
* Open a video in Kodi
|
||||
* Show Next/Related videos
|
||||
* Show next/related videos
|
||||
* Search YouTube in a specific language
|
||||
* Watch/Block age restricted material
|
||||
* Display general information about channels
|
||||
* Display general info about channels
|
||||
* Search channels
|
||||
* Watch videos from a channel
|
||||
* Orbot/Tor support (not yet directly)
|
||||
* 1080p/2k/4k support
|
||||
* 1080p/2K/4K support
|
||||
* View history
|
||||
* Subscribe to channels
|
||||
* Search history
|
||||
* Search/Watch Playlists
|
||||
* Watch as queues Playlists
|
||||
* Queuing videos
|
||||
* Search/watch playlists
|
||||
* Watch as enqueued playlists
|
||||
* Enqueue videos
|
||||
* Local playlists
|
||||
* Subtitles
|
||||
* Multi-service support (eg. SoundCloud in NewPipe Beta)
|
||||
* Multi-service support (e.g. SoundCloud \[beta\])
|
||||
* Livestream support
|
||||
|
||||
### Coming Features
|
||||
|
||||
* Livestream support
|
||||
* Cast to UPnP and Cast
|
||||
* Show comments
|
||||
* ... and many more
|
||||
* … and many more
|
||||
|
||||
## Contribution
|
||||
Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
|
||||
|
@ -77,26 +80,31 @@ The more is done the better it gets!
|
|||
If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
|
||||
|
||||
## Donate
|
||||
If you like NewPipe we'd be happy about a donation. You can either donate via Bitcoin, Bountysource or Liberapay. For further information about donating to NewPipe, please visit our [website](https://newpipe.schabi.org/donate).
|
||||
If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.schabi.org/donate).
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin" /></td>
|
||||
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR Code" width="100px"/></td>
|
||||
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin"></td>
|
||||
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR code" width="100px"></td>
|
||||
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" /></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"/></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px" /></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" ></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"></a></td>
|
||||
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px"></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px" /></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"/></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn." /></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px"></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"></a></td>
|
||||
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn."></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Privacy Policy
|
||||
|
||||
The NewPipe project aims to provide a private, anonymous experience for using media web services.
|
||||
Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.schabi.org/legal/privacy/).
|
||||
|
||||
## License
|
||||
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl-3.0.en.html)
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 27
|
||||
buildToolsVersion '27.0.3'
|
||||
compileSdkVersion 28
|
||||
buildToolsVersion '28.0.3'
|
||||
|
||||
defaultConfig {
|
||||
applicationId "org.schabi.newpipe"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 27
|
||||
versionCode 68
|
||||
versionName "0.14.1"
|
||||
targetSdkVersion 28
|
||||
versionCode 69
|
||||
versionName "0.14.2"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
@ -24,7 +24,6 @@ android {
|
|||
|
||||
debug {
|
||||
multiDexEnabled true
|
||||
|
||||
debuggable true
|
||||
applicationIdSuffix ".debug"
|
||||
}
|
||||
|
@ -44,62 +43,61 @@ android {
|
|||
}
|
||||
|
||||
ext {
|
||||
supportLibVersion = '27.1.1'
|
||||
exoPlayerLibVersion = '2.8.2'
|
||||
supportLibVersion = '28.0.0'
|
||||
exoPlayerLibVersion = '2.8.4' //2.9.0
|
||||
roomDbLibVersion = '1.1.1'
|
||||
leakCanaryLibVersion = '1.5.4'
|
||||
okHttpLibVersion = '3.10.0'
|
||||
leakCanaryLibVersion = '1.5.4' //1.6.1
|
||||
okHttpLibVersion = '3.11.0'
|
||||
icepickLibVersion = '3.2.0'
|
||||
stethoLibVersion = '1.5.0'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2') {
|
||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
|
||||
exclude module: 'support-annotations'
|
||||
}
|
||||
})
|
||||
|
||||
implementation 'com.github.TeamNewPipe:NewPipeExtractor:217d13b1028'
|
||||
implementation 'com.github.TeamNewPipe:NewPipeExtractor:32d316330c26'
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
testImplementation 'org.mockito:mockito-core:2.8.9'
|
||||
testImplementation 'org.mockito:mockito-core:2.23.0'
|
||||
|
||||
implementation "com.android.support:appcompat-v7:$supportLibVersion"
|
||||
implementation "com.android.support:support-v4:$supportLibVersion"
|
||||
implementation "com.android.support:design:$supportLibVersion"
|
||||
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
|
||||
implementation "com.android.support:preference-v14:$supportLibVersion"
|
||||
implementation "com.android.support:appcompat-v7:${supportLibVersion}"
|
||||
implementation "com.android.support:support-v4:${supportLibVersion}"
|
||||
implementation "com.android.support:design:${supportLibVersion}"
|
||||
implementation "com.android.support:recyclerview-v7:${supportLibVersion}"
|
||||
implementation "com.android.support:preference-v14:${supportLibVersion}"
|
||||
implementation "com.android.support:cardview-v7:${supportLibVersion}"
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
||||
|
||||
implementation 'ch.acra:acra:4.9.2'
|
||||
implementation 'ch.acra:acra:4.9.2' //4.11
|
||||
|
||||
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
implementation 'de.hdodenhof:circleimageview:2.2.0'
|
||||
implementation 'com.github.nirhart:ParallaxScroll:dd53d1f9d1'
|
||||
implementation 'com.nononsenseapps:filepicker:4.2.1'
|
||||
|
||||
implementation "com.google.android.exoplayer:exoplayer:$exoPlayerLibVersion"
|
||||
implementation "com.google.android.exoplayer:extension-mediasession:$exoPlayerLibVersion"
|
||||
implementation "com.google.android.exoplayer:exoplayer:${exoPlayerLibVersion}"
|
||||
implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerLibVersion}"
|
||||
|
||||
debugImplementation "com.facebook.stetho:stetho:$stethoLibVersion"
|
||||
debugImplementation "com.facebook.stetho:stetho-urlconnection:$stethoLibVersion"
|
||||
debugImplementation "com.facebook.stetho:stetho:${stethoLibVersion}"
|
||||
debugImplementation "com.facebook.stetho:stetho-urlconnection:${stethoLibVersion}"
|
||||
debugImplementation 'com.android.support:multidex:1.0.3'
|
||||
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.1.14'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
|
||||
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
|
||||
|
||||
implementation "android.arch.persistence.room:runtime:$roomDbLibVersion"
|
||||
implementation "android.arch.persistence.room:rxjava2:$roomDbLibVersion"
|
||||
annotationProcessor "android.arch.persistence.room:compiler:$roomDbLibVersion"
|
||||
implementation "android.arch.persistence.room:runtime:${roomDbLibVersion}"
|
||||
implementation "android.arch.persistence.room:rxjava2:${roomDbLibVersion}"
|
||||
annotationProcessor "android.arch.persistence.room:compiler:${roomDbLibVersion}"
|
||||
|
||||
implementation "frankiesardo:icepick:$icepickLibVersion"
|
||||
annotationProcessor "frankiesardo:icepick-processor:$icepickLibVersion"
|
||||
implementation "frankiesardo:icepick:${icepickLibVersion}"
|
||||
annotationProcessor "frankiesardo:icepick-processor:${icepickLibVersion}"
|
||||
|
||||
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryLibVersion"
|
||||
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryLibVersion"
|
||||
debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryLibVersion}"
|
||||
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:${leakCanaryLibVersion}"
|
||||
|
||||
|
||||
implementation "com.squareup.okhttp3:okhttp:$okHttpLibVersion"
|
||||
debugImplementation "com.facebook.stetho:stetho-okhttp3:$stethoLibVersion"
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
|
||||
implementation 'com.android.support:cardview-v7:27.1.1'
|
||||
implementation "com.squareup.okhttp3:okhttp:${okHttpLibVersion}"
|
||||
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoLibVersion}"
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
|
||||
|
||||
<application
|
||||
android:name=".App"
|
||||
|
@ -238,4 +239,4 @@
|
|||
android:name=".RouterActivity$FetcherService"
|
||||
android:exported="false"/>
|
||||
</application>
|
||||
</manifest>
|
||||
</manifest>
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.app.NotificationChannel;
|
|||
import android.app.NotificationManager;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.Log;
|
||||
|
||||
|
@ -22,6 +23,7 @@ import org.acra.config.ConfigurationBuilder;
|
|||
import org.acra.sender.ReportSenderFactory;
|
||||
import org.schabi.newpipe.extractor.Downloader;
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.extractor.utils.Localization;
|
||||
import org.schabi.newpipe.report.AcraReportSenderFactory;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
|
@ -67,7 +69,8 @@ public class App extends Application {
|
|||
private static App app;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static final Class<? extends ReportSenderFactory>[] reportSenderFactoryClasses = new Class[]{AcraReportSenderFactory.class};
|
||||
private static final Class<? extends ReportSenderFactory>[]
|
||||
reportSenderFactoryClasses = new Class[]{AcraReportSenderFactory.class};
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
|
@ -92,7 +95,8 @@ public class App extends Application {
|
|||
// Initialize settings first because others inits can use its values
|
||||
SettingsActivity.initSettings(this);
|
||||
|
||||
NewPipe.init(getDownloader());
|
||||
NewPipe.init(getDownloader(),
|
||||
org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(this));
|
||||
StateSaver.init(this);
|
||||
initNotificationChannel();
|
||||
|
||||
|
@ -187,7 +191,11 @@ public class App extends Application {
|
|||
ACRA.init(this, acraConfig);
|
||||
} catch (ACRAConfigurationException ace) {
|
||||
ace.printStackTrace();
|
||||
ErrorActivity.reportError(this, ace, null, null, ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
|
||||
ErrorActivity.reportError(this,
|
||||
ace,
|
||||
null,
|
||||
null,
|
||||
ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none",
|
||||
"Could not initialize ACRA crash report", R.string.app_ui_crash));
|
||||
}
|
||||
}
|
||||
|
@ -207,7 +215,8 @@ public class App extends Application {
|
|||
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
|
||||
mChannel.setDescription(description);
|
||||
|
||||
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.createNotificationChannel(mChannel);
|
||||
|
||||
setUpUpdateNotificationChannel(importance);
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.support.annotation.Nullable;
|
|||
import android.text.TextUtils;
|
||||
|
||||
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
|
||||
import org.schabi.newpipe.extractor.utils.Localization;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
@ -103,13 +104,13 @@ public class Downloader implements org.schabi.newpipe.extractor.Downloader {
|
|||
* but set the HTTP header field "Accept-Language" to the supplied string.
|
||||
*
|
||||
* @param siteUrl the URL of the text file to return the contents of
|
||||
* @param language the language (usually a 2-character code) to set as the preferred language
|
||||
* @param localization the language and country (usually a 2-character code) to set
|
||||
* @return the contents of the specified text file
|
||||
*/
|
||||
@Override
|
||||
public String download(String siteUrl, String language) throws IOException, ReCaptchaException {
|
||||
public String download(String siteUrl, Localization localization) throws IOException, ReCaptchaException {
|
||||
Map<String, String> requestProperties = new HashMap<>();
|
||||
requestProperties.put("Accept-Language", language);
|
||||
requestProperties.put("Accept-Language", localization.getLanguage());
|
||||
return download(siteUrl, requestProperties);
|
||||
}
|
||||
|
||||
|
|
|
@ -33,12 +33,14 @@ import android.view.MenuItem;
|
|||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewParent;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
@ -64,19 +66,17 @@ import org.schabi.newpipe.extractor.stream.StreamType;
|
|||
import org.schabi.newpipe.extractor.stream.VideoStream;
|
||||
import org.schabi.newpipe.fragments.BackPressable;
|
||||
import org.schabi.newpipe.fragments.BaseStateFragment;
|
||||
import org.schabi.newpipe.local.history.HistoryRecordManager;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.util.StreamItemAdapter;
|
||||
import org.schabi.newpipe.util.StreamItemAdapter.StreamSizeWrapper;
|
||||
import org.schabi.newpipe.local.dialog.PlaylistAppendDialog;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
import org.schabi.newpipe.info_list.InfoItemDialog;
|
||||
import org.schabi.newpipe.local.dialog.PlaylistAppendDialog;
|
||||
import org.schabi.newpipe.local.history.HistoryRecordManager;
|
||||
import org.schabi.newpipe.player.MainVideoPlayer;
|
||||
import org.schabi.newpipe.player.PopupVideoPlayer;
|
||||
import org.schabi.newpipe.player.helper.PlayerHelper;
|
||||
import org.schabi.newpipe.player.old.PlayVideoActivity;
|
||||
import org.schabi.newpipe.player.playqueue.PlayQueue;
|
||||
import org.schabi.newpipe.player.playqueue.SinglePlayQueue;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
import org.schabi.newpipe.util.ExtractorHelper;
|
||||
|
@ -87,6 +87,8 @@ import org.schabi.newpipe.util.Localization;
|
|||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
import org.schabi.newpipe.util.OnClickGesture;
|
||||
import org.schabi.newpipe.util.PermissionHelper;
|
||||
import org.schabi.newpipe.util.StreamItemAdapter;
|
||||
import org.schabi.newpipe.util.StreamItemAdapter.StreamSizeWrapper;
|
||||
import org.schabi.newpipe.util.ThemeHelper;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -154,6 +156,7 @@ public class VideoDetailFragment
|
|||
|
||||
private View videoTitleRoot;
|
||||
private TextView videoTitleTextView;
|
||||
@Nullable
|
||||
private ImageView videoTitleToggleArrow;
|
||||
private TextView videoCountView;
|
||||
|
||||
|
@ -415,14 +418,16 @@ public class VideoDetailFragment
|
|||
}
|
||||
|
||||
private void toggleTitleAndDescription() {
|
||||
if (videoDescriptionRootLayout.getVisibility() == View.VISIBLE) {
|
||||
videoTitleTextView.setMaxLines(1);
|
||||
videoDescriptionRootLayout.setVisibility(View.GONE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
} else {
|
||||
videoTitleTextView.setMaxLines(10);
|
||||
videoDescriptionRootLayout.setVisibility(View.VISIBLE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_up);
|
||||
if (videoTitleToggleArrow != null) { //it is null for tablets
|
||||
if (videoDescriptionRootLayout.getVisibility() == View.VISIBLE) {
|
||||
videoTitleTextView.setMaxLines(1);
|
||||
videoDescriptionRootLayout.setVisibility(View.GONE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
} else {
|
||||
videoTitleTextView.setMaxLines(10);
|
||||
videoDescriptionRootLayout.setVisibility(View.VISIBLE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_up);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -622,8 +627,11 @@ public class VideoDetailFragment
|
|||
relatedStreamsView.addView(
|
||||
infoItemBuilder.buildView(relatedStreamsView, info.getNextVideo()));
|
||||
relatedStreamsView.addView(getSeparatorView());
|
||||
relatedStreamRootLayout.setVisibility(View.VISIBLE);
|
||||
} else nextStreamTitle.setVisibility(View.GONE);
|
||||
setRelatedStreamsVisibility(View.VISIBLE);
|
||||
} else {
|
||||
nextStreamTitle.setVisibility(View.GONE);
|
||||
setRelatedStreamsVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (info.getRelatedStreams() != null
|
||||
&& !info.getRelatedStreams().isEmpty() && showRelatedStreams) {
|
||||
|
@ -639,13 +647,13 @@ public class VideoDetailFragment
|
|||
}
|
||||
//if (DEBUG) Log.d(TAG, "Total time " + ((System.nanoTime() - first) / 1000000L) + "ms");
|
||||
|
||||
relatedStreamRootLayout.setVisibility(View.VISIBLE);
|
||||
setRelatedStreamsVisibility(View.VISIBLE);
|
||||
relatedStreamExpandButton.setVisibility(View.VISIBLE);
|
||||
|
||||
relatedStreamExpandButton.setImageDrawable(ContextCompat.getDrawable(
|
||||
activity, ThemeHelper.resolveResourceIdFromAttr(activity, R.attr.expand)));
|
||||
} else {
|
||||
if (info.getNextVideo() == null) relatedStreamRootLayout.setVisibility(View.GONE);
|
||||
if (info.getNextVideo() == null) setRelatedStreamsVisibility(View.GONE);
|
||||
relatedStreamExpandButton.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
@ -1114,8 +1122,16 @@ public class VideoDetailFragment
|
|||
animateView(videoTitleTextView, true, 0);
|
||||
|
||||
videoDescriptionRootLayout.setVisibility(View.GONE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
videoTitleToggleArrow.setVisibility(View.GONE);
|
||||
if (videoTitleToggleArrow != null) { //phone
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
videoTitleToggleArrow.setVisibility(View.GONE);
|
||||
} else { //tablet
|
||||
final View related = (View) relatedStreamRootLayout.getParent();
|
||||
//don`t need to hide it if related streams are disabled
|
||||
if (related.getVisibility() == View.VISIBLE) {
|
||||
related.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
}
|
||||
videoTitleRoot.setClickable(false);
|
||||
|
||||
imageLoader.cancelDisplayTask(thumbnailImageView);
|
||||
|
@ -1190,11 +1206,15 @@ public class VideoDetailFragment
|
|||
detailDurationView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
videoTitleRoot.setClickable(true);
|
||||
videoTitleToggleArrow.setVisibility(View.VISIBLE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
videoDescriptionView.setVisibility(View.GONE);
|
||||
videoDescriptionRootLayout.setVisibility(View.GONE);
|
||||
if (videoTitleToggleArrow != null) {
|
||||
videoTitleRoot.setClickable(true);
|
||||
videoTitleToggleArrow.setVisibility(View.VISIBLE);
|
||||
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
|
||||
videoDescriptionRootLayout.setVisibility(View.GONE);
|
||||
} else {
|
||||
videoDescriptionRootLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (!TextUtils.isEmpty(info.getUploadDate())) {
|
||||
videoUploadDateView.setText(Localization.localizeDate(activity, info.getUploadDate()));
|
||||
}
|
||||
|
@ -1242,6 +1262,11 @@ public class VideoDetailFragment
|
|||
// Only auto play in the first open
|
||||
autoPlayEnabled = false;
|
||||
}
|
||||
|
||||
final ViewParent related = relatedStreamRootLayout.getParent();
|
||||
if (related instanceof ScrollView) {
|
||||
((ScrollView) related).scrollTo(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1299,4 +1324,13 @@ public class VideoDetailFragment
|
|||
|
||||
showError(getString(R.string.blocked_by_gema), false, R.drawable.gruese_die_gema);
|
||||
}
|
||||
|
||||
private void setRelatedStreamsVisibility(int visibility) {
|
||||
final ViewParent parent = relatedStreamRootLayout.getParent();
|
||||
if (parent instanceof ScrollView) {
|
||||
((ScrollView) parent).setVisibility(visibility);
|
||||
} else {
|
||||
relatedStreamRootLayout.setVisibility(visibility);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,10 +3,15 @@ package org.schabi.newpipe.fragments.list;
|
|||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
|
@ -21,9 +26,9 @@ import org.schabi.newpipe.extractor.playlist.PlaylistInfoItem;
|
|||
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
||||
import org.schabi.newpipe.fragments.BaseStateFragment;
|
||||
import org.schabi.newpipe.fragments.OnScrollBelowItemsListener;
|
||||
import org.schabi.newpipe.local.dialog.PlaylistAppendDialog;
|
||||
import org.schabi.newpipe.info_list.InfoItemDialog;
|
||||
import org.schabi.newpipe.info_list.InfoListAdapter;
|
||||
import org.schabi.newpipe.local.dialog.PlaylistAppendDialog;
|
||||
import org.schabi.newpipe.player.playqueue.SinglePlayQueue;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
|
@ -36,7 +41,7 @@ import java.util.Queue;
|
|||
|
||||
import static org.schabi.newpipe.util.AnimationUtils.animateView;
|
||||
|
||||
public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implements ListViewContract<I, N>, StateSaver.WriteRead {
|
||||
public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implements ListViewContract<I, N>, StateSaver.WriteRead, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Views
|
||||
|
@ -44,6 +49,9 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
|||
|
||||
protected InfoListAdapter infoListAdapter;
|
||||
protected RecyclerView itemsList;
|
||||
private int updateFlags = 0;
|
||||
|
||||
private static final int LIST_MODE_UPDATE_FLAG = 0x32;
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// LifeCycle
|
||||
|
@ -59,12 +67,31 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setHasOptionsMenu(true);
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
StateSaver.onDestroy(savedState);
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.unregisterOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
if (updateFlags != 0) {
|
||||
if ((updateFlags & LIST_MODE_UPDATE_FLAG) != 0) {
|
||||
final boolean useGrid = isGridLayout();
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
infoListAdapter.setGridItemVariants(useGrid);
|
||||
infoListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
updateFlags = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
@ -119,13 +146,25 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
|||
return new LinearLayoutManager(activity);
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager getGridLayoutManager() {
|
||||
final Resources resources = activity.getResources();
|
||||
int width = resources.getDimensionPixelSize(R.dimen.video_item_grid_thumbnail_image_width);
|
||||
width += (24 * resources.getDisplayMetrics().density);
|
||||
final int spanCount = (int) Math.floor(resources.getDisplayMetrics().widthPixels / (double)width);
|
||||
final GridLayoutManager lm = new GridLayoutManager(activity, spanCount);
|
||||
lm.setSpanSizeLookup(infoListAdapter.getSpanSizeLookup(spanCount));
|
||||
return lm;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews(View rootView, Bundle savedInstanceState) {
|
||||
super.initViews(rootView, savedInstanceState);
|
||||
|
||||
final boolean useGrid = isGridLayout();
|
||||
itemsList = rootView.findViewById(R.id.items_list);
|
||||
itemsList.setLayoutManager(getListLayoutManager());
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
|
||||
infoListAdapter.setGridItemVariants(useGrid);
|
||||
infoListAdapter.setFooter(getListFooter());
|
||||
infoListAdapter.setHeader(getListHeader());
|
||||
|
||||
|
@ -308,4 +347,22 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> implem
|
|||
public void handleNextItems(N result) {
|
||||
isLoading.set(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(getString(R.string.list_view_mode_key))) {
|
||||
updateFlags |= LIST_MODE_UPDATE_FLAG;
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isGridLayout() {
|
||||
final String list_mode = PreferenceManager.getDefaultSharedPreferences(activity).getString(getString(R.string.list_view_mode_key), getString(R.string.list_view_mode_value));
|
||||
if ("auto".equals(list_mode)) {
|
||||
final Configuration configuration = getResources().getConfiguration();
|
||||
return configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
|
||||
&& configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE);
|
||||
} else {
|
||||
return "grid".equals(list_mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -128,26 +128,16 @@ public class KioskFragment extends BaseListInfoFragment<KioskInfo> {
|
|||
|
||||
@Override
|
||||
public Single<KioskInfo> loadResult(boolean forceReload) {
|
||||
String contentCountry = PreferenceManager
|
||||
.getDefaultSharedPreferences(activity)
|
||||
.getString(getString(R.string.content_country_key),
|
||||
getString(R.string.default_country_value));
|
||||
return ExtractorHelper.getKioskInfo(serviceId,
|
||||
url,
|
||||
contentCountry,
|
||||
forceReload);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Single<ListExtractor.InfoItemsPage> loadMoreItemsLogic() {
|
||||
String contentCountry = PreferenceManager
|
||||
.getDefaultSharedPreferences(activity)
|
||||
.getString(getString(R.string.content_country_key),
|
||||
getString(R.string.default_country_value));
|
||||
return ExtractorHelper.getMoreKioskItems(serviceId,
|
||||
url,
|
||||
currentNextPageUrl,
|
||||
contentCountry);
|
||||
currentNextPageUrl);
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -626,7 +626,7 @@ public class SearchFragment
|
|||
}
|
||||
|
||||
final Observable<List<SuggestionItem>> network = ExtractorHelper
|
||||
.suggestionsFor(serviceId, query, contentCountry)
|
||||
.suggestionsFor(serviceId, query)
|
||||
.toObservable()
|
||||
.map(strings -> {
|
||||
List<SuggestionItem> result = new ArrayList<>();
|
||||
|
@ -726,8 +726,7 @@ public class SearchFragment
|
|||
searchDisposable = ExtractorHelper.searchFor(serviceId,
|
||||
searchString,
|
||||
Arrays.asList(contentFilter),
|
||||
sortFilter,
|
||||
contentCountry)
|
||||
sortFilter)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.doOnEvent((searchResult, throwable) -> isLoading.set(false))
|
||||
|
@ -745,8 +744,7 @@ public class SearchFragment
|
|||
searchString,
|
||||
asList(contentFilter),
|
||||
sortFilter,
|
||||
nextPageUrl,
|
||||
contentCountry)
|
||||
nextPageUrl)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.doOnEvent((nextItemsResult, throwable) -> isLoading.set(false))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.schabi.newpipe.info_list;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
@ -12,9 +13,12 @@ import org.schabi.newpipe.extractor.playlist.PlaylistInfoItem;
|
|||
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
||||
import org.schabi.newpipe.info_list.holder.ChannelInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.ChannelMiniInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.ChannelGridInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.InfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.PlaylistGridInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.PlaylistInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.PlaylistMiniInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.StreamGridInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.StreamInfoItemHolder;
|
||||
import org.schabi.newpipe.info_list.holder.StreamMiniInfoItemHolder;
|
||||
import org.schabi.newpipe.util.FallbackViewHolder;
|
||||
|
@ -52,14 +56,18 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
|
||||
private static final int MINI_STREAM_HOLDER_TYPE = 0x100;
|
||||
private static final int STREAM_HOLDER_TYPE = 0x101;
|
||||
private static final int GRID_STREAM_HOLDER_TYPE = 0x102;
|
||||
private static final int MINI_CHANNEL_HOLDER_TYPE = 0x200;
|
||||
private static final int CHANNEL_HOLDER_TYPE = 0x201;
|
||||
private static final int GRID_CHANNEL_HOLDER_TYPE = 0x202;
|
||||
private static final int MINI_PLAYLIST_HOLDER_TYPE = 0x300;
|
||||
private static final int PLAYLIST_HOLDER_TYPE = 0x301;
|
||||
private static final int GRID_PLAYLIST_HOLDER_TYPE = 0x302;
|
||||
|
||||
private final InfoItemBuilder infoItemBuilder;
|
||||
private final ArrayList<InfoItem> infoItemList;
|
||||
private boolean useMiniVariant = false;
|
||||
private boolean useGridVariant = false;
|
||||
private boolean showFooter = false;
|
||||
private View header = null;
|
||||
private View footer = null;
|
||||
|
@ -94,6 +102,10 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
this.useMiniVariant = useMiniVariant;
|
||||
}
|
||||
|
||||
public void setGridItemVariants(boolean useGridVariant) {
|
||||
this.useGridVariant = useGridVariant;
|
||||
}
|
||||
|
||||
public void addInfoItemList(List<InfoItem> data) {
|
||||
if (data != null) {
|
||||
if (DEBUG) {
|
||||
|
@ -206,11 +218,11 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
final InfoItem item = infoItemList.get(position);
|
||||
switch (item.getInfoType()) {
|
||||
case STREAM:
|
||||
return useMiniVariant ? MINI_STREAM_HOLDER_TYPE : STREAM_HOLDER_TYPE;
|
||||
return useGridVariant ? GRID_STREAM_HOLDER_TYPE : useMiniVariant ? MINI_STREAM_HOLDER_TYPE : STREAM_HOLDER_TYPE;
|
||||
case CHANNEL:
|
||||
return useMiniVariant ? MINI_CHANNEL_HOLDER_TYPE : CHANNEL_HOLDER_TYPE;
|
||||
return useGridVariant ? GRID_CHANNEL_HOLDER_TYPE : useMiniVariant ? MINI_CHANNEL_HOLDER_TYPE : CHANNEL_HOLDER_TYPE;
|
||||
case PLAYLIST:
|
||||
return useMiniVariant ? MINI_PLAYLIST_HOLDER_TYPE : PLAYLIST_HOLDER_TYPE;
|
||||
return useGridVariant ? GRID_PLAYLIST_HOLDER_TYPE : useMiniVariant ? MINI_PLAYLIST_HOLDER_TYPE : PLAYLIST_HOLDER_TYPE;
|
||||
default:
|
||||
Log.e(TAG, "Trollolo");
|
||||
return -1;
|
||||
|
@ -229,14 +241,20 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
return new StreamMiniInfoItemHolder(infoItemBuilder, parent);
|
||||
case STREAM_HOLDER_TYPE:
|
||||
return new StreamInfoItemHolder(infoItemBuilder, parent);
|
||||
case GRID_STREAM_HOLDER_TYPE:
|
||||
return new StreamGridInfoItemHolder(infoItemBuilder, parent);
|
||||
case MINI_CHANNEL_HOLDER_TYPE:
|
||||
return new ChannelMiniInfoItemHolder(infoItemBuilder, parent);
|
||||
case CHANNEL_HOLDER_TYPE:
|
||||
return new ChannelInfoItemHolder(infoItemBuilder, parent);
|
||||
case GRID_CHANNEL_HOLDER_TYPE:
|
||||
return new ChannelGridInfoItemHolder(infoItemBuilder, parent);
|
||||
case MINI_PLAYLIST_HOLDER_TYPE:
|
||||
return new PlaylistMiniInfoItemHolder(infoItemBuilder, parent);
|
||||
case PLAYLIST_HOLDER_TYPE:
|
||||
return new PlaylistInfoItemHolder(infoItemBuilder, parent);
|
||||
case GRID_PLAYLIST_HOLDER_TYPE:
|
||||
return new PlaylistGridInfoItemHolder(infoItemBuilder, parent);
|
||||
default:
|
||||
Log.e(TAG, "Trollolo");
|
||||
return new FallbackViewHolder(new View(parent.getContext()));
|
||||
|
@ -257,4 +275,14 @@ public class InfoListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
|
|||
((HFHolder) holder).view = footer;
|
||||
}
|
||||
}
|
||||
|
||||
public GridLayoutManager.SpanSizeLookup getSpanSizeLookup(final int spanCount) {
|
||||
return new GridLayoutManager.SpanSizeLookup() {
|
||||
@Override
|
||||
public int getSpanSize(int position) {
|
||||
final int type = getItemViewType(position);
|
||||
return type == HEADER_TYPE || type == FOOTER_TYPE ? spanCount : 1;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
|
||||
public class ChannelGridInfoItemHolder extends ChannelMiniInfoItemHolder {
|
||||
|
||||
public ChannelGridInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_channel_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -47,6 +47,13 @@ public class ChannelMiniInfoItemHolder extends InfoItemHolder {
|
|||
itemBuilder.getOnChannelSelectedListener().selected(item);
|
||||
}
|
||||
});
|
||||
|
||||
itemView.setOnLongClickListener(view -> {
|
||||
if (itemBuilder.getOnChannelSelectedListener() != null) {
|
||||
itemBuilder.getOnChannelSelectedListener().held(item);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
protected String getDetailLine(final ChannelInfoItem item) {
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
|
||||
public class PlaylistGridInfoItemHolder extends PlaylistMiniInfoItemHolder {
|
||||
|
||||
public PlaylistGridInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_playlist_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.info_list.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.info_list.InfoItemBuilder;
|
||||
|
||||
public class StreamGridInfoItemHolder extends StreamMiniInfoItemHolder {
|
||||
|
||||
public StreamGridInfoItemHolder(InfoItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_stream_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -1,8 +1,13 @@
|
|||
package org.schabi.newpipe.local;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
|
@ -25,7 +30,7 @@ import static org.schabi.newpipe.util.AnimationUtils.animateView;
|
|||
* called and is memory efficient when in backstack.
|
||||
* */
|
||||
public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
||||
implements ListViewContract<I, N> {
|
||||
implements ListViewContract<I, N>, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Views
|
||||
|
@ -36,6 +41,9 @@ public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
|||
|
||||
protected LocalItemListAdapter itemListAdapter;
|
||||
protected RecyclerView itemsList;
|
||||
private int updateFlags = 0;
|
||||
|
||||
private static final int LIST_MODE_UPDATE_FLAG = 0x32;
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Lifecycle - Creation
|
||||
|
@ -45,6 +53,29 @@ public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setHasOptionsMenu(true);
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.unregisterOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (updateFlags != 0) {
|
||||
if ((updateFlags & LIST_MODE_UPDATE_FLAG) != 0) {
|
||||
final boolean useGrid = isGridLayout();
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
itemListAdapter.setGridItemVariants(useGrid);
|
||||
itemListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
updateFlags = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
@ -59,6 +90,16 @@ public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
|||
return activity.getLayoutInflater().inflate(R.layout.pignate_footer, itemsList, false);
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager getGridLayoutManager() {
|
||||
final Resources resources = activity.getResources();
|
||||
int width = resources.getDimensionPixelSize(R.dimen.video_item_grid_thumbnail_image_width);
|
||||
width += (24 * resources.getDisplayMetrics().density);
|
||||
final int spanCount = (int) Math.floor(resources.getDisplayMetrics().widthPixels / (double)width);
|
||||
final GridLayoutManager lm = new GridLayoutManager(activity, spanCount);
|
||||
lm.setSpanSizeLookup(itemListAdapter.getSpanSizeLookup(spanCount));
|
||||
return lm;
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager getListLayoutManager() {
|
||||
return new LinearLayoutManager(activity);
|
||||
}
|
||||
|
@ -67,10 +108,13 @@ public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
|||
protected void initViews(View rootView, Bundle savedInstanceState) {
|
||||
super.initViews(rootView, savedInstanceState);
|
||||
|
||||
itemsList = rootView.findViewById(R.id.items_list);
|
||||
itemsList.setLayoutManager(getListLayoutManager());
|
||||
|
||||
itemListAdapter = new LocalItemListAdapter(activity);
|
||||
|
||||
final boolean useGrid = isGridLayout();
|
||||
itemsList = rootView.findViewById(R.id.items_list);
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
|
||||
itemListAdapter.setGridItemVariants(useGrid);
|
||||
itemListAdapter.setHeader(headerRootView = getListHeader());
|
||||
itemListAdapter.setFooter(footerRootView = getListFooter());
|
||||
|
||||
|
@ -174,4 +218,22 @@ public abstract class BaseLocalListFragment<I, N> extends BaseStateFragment<I>
|
|||
resetFragment();
|
||||
return super.onError(exception);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(getString(R.string.list_view_mode_key))) {
|
||||
updateFlags |= LIST_MODE_UPDATE_FLAG;
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isGridLayout() {
|
||||
final String list_mode = PreferenceManager.getDefaultSharedPreferences(activity).getString(getString(R.string.list_view_mode_key), getString(R.string.list_view_mode_value));
|
||||
if ("auto".equals(list_mode)) {
|
||||
final Configuration configuration = getResources().getConfiguration();
|
||||
return configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
|
||||
&& configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE);
|
||||
} else {
|
||||
return "grid".equals(list_mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
package org.schabi.newpipe.local;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.database.LocalItem;
|
||||
import org.schabi.newpipe.local.HeaderFooterHolder;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
import org.schabi.newpipe.local.holder.LocalItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalPlaylistGridItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalPlaylistItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalPlaylistStreamGridItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalPlaylistStreamItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalStatisticStreamGridItemHolder;
|
||||
import org.schabi.newpipe.local.holder.LocalStatisticStreamItemHolder;
|
||||
import org.schabi.newpipe.local.holder.RemotePlaylistGridItemHolder;
|
||||
import org.schabi.newpipe.local.holder.RemotePlaylistItemHolder;
|
||||
import org.schabi.newpipe.util.FallbackViewHolder;
|
||||
import org.schabi.newpipe.util.Localization;
|
||||
|
@ -52,14 +55,19 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
|
||||
private static final int STREAM_STATISTICS_HOLDER_TYPE = 0x1000;
|
||||
private static final int STREAM_PLAYLIST_HOLDER_TYPE = 0x1001;
|
||||
private static final int STREAM_STATISTICS_GRID_HOLDER_TYPE = 0x1002;
|
||||
private static final int STREAM_PLAYLIST_GRID_HOLDER_TYPE = 0x1004;
|
||||
private static final int LOCAL_PLAYLIST_HOLDER_TYPE = 0x2000;
|
||||
private static final int REMOTE_PLAYLIST_HOLDER_TYPE = 0x2001;
|
||||
private static final int LOCAL_PLAYLIST_GRID_HOLDER_TYPE = 0x2002;
|
||||
private static final int REMOTE_PLAYLIST_GRID_HOLDER_TYPE = 0x2004;
|
||||
|
||||
private final LocalItemBuilder localItemBuilder;
|
||||
private final ArrayList<LocalItem> localItems;
|
||||
private final DateFormat dateFormat;
|
||||
|
||||
private boolean showFooter = false;
|
||||
private boolean useGridVariant = false;
|
||||
private View header = null;
|
||||
private View footer = null;
|
||||
|
||||
|
@ -134,6 +142,10 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public void setGridItemVariants(boolean useGridVariant) {
|
||||
this.useGridVariant = useGridVariant;
|
||||
}
|
||||
|
||||
public void setHeader(View header) {
|
||||
boolean changed = header != this.header;
|
||||
this.header = header;
|
||||
|
@ -195,11 +207,11 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
final LocalItem item = localItems.get(position);
|
||||
|
||||
switch (item.getLocalItemType()) {
|
||||
case PLAYLIST_LOCAL_ITEM: return LOCAL_PLAYLIST_HOLDER_TYPE;
|
||||
case PLAYLIST_REMOTE_ITEM: return REMOTE_PLAYLIST_HOLDER_TYPE;
|
||||
case PLAYLIST_LOCAL_ITEM: return useGridVariant ? LOCAL_PLAYLIST_GRID_HOLDER_TYPE : LOCAL_PLAYLIST_HOLDER_TYPE;
|
||||
case PLAYLIST_REMOTE_ITEM: return useGridVariant ? REMOTE_PLAYLIST_GRID_HOLDER_TYPE : REMOTE_PLAYLIST_HOLDER_TYPE;
|
||||
|
||||
case PLAYLIST_STREAM_ITEM: return STREAM_PLAYLIST_HOLDER_TYPE;
|
||||
case STATISTIC_STREAM_ITEM: return STREAM_STATISTICS_HOLDER_TYPE;
|
||||
case PLAYLIST_STREAM_ITEM: return useGridVariant ? STREAM_PLAYLIST_GRID_HOLDER_TYPE : STREAM_PLAYLIST_HOLDER_TYPE;
|
||||
case STATISTIC_STREAM_ITEM: return useGridVariant ? STREAM_STATISTICS_GRID_HOLDER_TYPE : STREAM_STATISTICS_HOLDER_TYPE;
|
||||
default:
|
||||
Log.e(TAG, "No holder type has been considered for item: [" +
|
||||
item.getLocalItemType() + "]");
|
||||
|
@ -218,12 +230,20 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
return new HeaderFooterHolder(footer);
|
||||
case LOCAL_PLAYLIST_HOLDER_TYPE:
|
||||
return new LocalPlaylistItemHolder(localItemBuilder, parent);
|
||||
case LOCAL_PLAYLIST_GRID_HOLDER_TYPE:
|
||||
return new LocalPlaylistGridItemHolder(localItemBuilder, parent);
|
||||
case REMOTE_PLAYLIST_HOLDER_TYPE:
|
||||
return new RemotePlaylistItemHolder(localItemBuilder, parent);
|
||||
case REMOTE_PLAYLIST_GRID_HOLDER_TYPE:
|
||||
return new RemotePlaylistGridItemHolder(localItemBuilder, parent);
|
||||
case STREAM_PLAYLIST_HOLDER_TYPE:
|
||||
return new LocalPlaylistStreamItemHolder(localItemBuilder, parent);
|
||||
case STREAM_PLAYLIST_GRID_HOLDER_TYPE:
|
||||
return new LocalPlaylistStreamGridItemHolder(localItemBuilder, parent);
|
||||
case STREAM_STATISTICS_HOLDER_TYPE:
|
||||
return new LocalStatisticStreamItemHolder(localItemBuilder, parent);
|
||||
case STREAM_STATISTICS_GRID_HOLDER_TYPE:
|
||||
return new LocalStatisticStreamGridItemHolder(localItemBuilder, parent);
|
||||
default:
|
||||
Log.e(TAG, "No view type has been considered for holder: [" + type + "]");
|
||||
return new FallbackViewHolder(new View(parent.getContext()));
|
||||
|
@ -247,4 +267,14 @@ public class LocalItemListAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
((HeaderFooterHolder) holder).view = footer;
|
||||
}
|
||||
}
|
||||
|
||||
public GridLayoutManager.SpanSizeLookup getSpanSizeLookup(final int spanCount) {
|
||||
return new GridLayoutManager.SpanSizeLookup() {
|
||||
@Override
|
||||
public int getSpanSize(int position) {
|
||||
final int type = getItemViewType(position);
|
||||
return type == HEADER_TYPE || type == FOOTER_TYPE ? spanCount : 1;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
package org.schabi.newpipe.local.dialog;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.view.Window;
|
||||
|
||||
import org.schabi.newpipe.database.stream.model.StreamEntity;
|
||||
import org.schabi.newpipe.util.StateSaver;
|
||||
|
@ -41,6 +43,18 @@ public abstract class PlaylistDialog extends DialogFragment implements StateSave
|
|||
StateSaver.onDestroy(savedState);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
final Dialog dialog = super.onCreateDialog(savedInstanceState);
|
||||
//remove title
|
||||
final Window window = dialog.getWindow();
|
||||
if (window != null) {
|
||||
window.requestFeature(Window.FEATURE_NO_TITLE);
|
||||
}
|
||||
return dialog;
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// State Saving
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.local.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
|
||||
public class LocalPlaylistGridItemHolder extends LocalPlaylistItemHolder {
|
||||
|
||||
public LocalPlaylistGridItemHolder(LocalItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_playlist_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -16,6 +16,10 @@ public class LocalPlaylistItemHolder extends PlaylistItemHolder {
|
|||
super(infoItemBuilder, parent);
|
||||
}
|
||||
|
||||
LocalPlaylistItemHolder(LocalItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) {
|
||||
super(infoItemBuilder, layoutId, parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFromItem(final LocalItem localItem, final DateFormat dateFormat) {
|
||||
if (!(localItem instanceof PlaylistMetadataEntry)) return;
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.local.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
|
||||
public class LocalPlaylistStreamGridItemHolder extends LocalPlaylistStreamItemHolder {
|
||||
|
||||
public LocalPlaylistStreamGridItemHolder(LocalItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_stream_playlist_grid_item, parent); //TODO
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.local.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
|
||||
public class LocalStatisticStreamGridItemHolder extends LocalStatisticStreamItemHolder {
|
||||
|
||||
public LocalStatisticStreamGridItemHolder(LocalItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_stream_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package org.schabi.newpipe.local.holder;
|
||||
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -42,10 +43,15 @@ public class LocalStatisticStreamItemHolder extends LocalItemHolder {
|
|||
public final TextView itemVideoTitleView;
|
||||
public final TextView itemUploaderView;
|
||||
public final TextView itemDurationView;
|
||||
@Nullable
|
||||
public final TextView itemAdditionalDetails;
|
||||
|
||||
public LocalStatisticStreamItemHolder(LocalItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_stream_item, parent);
|
||||
public LocalStatisticStreamItemHolder(LocalItemBuilder itemBuilder, ViewGroup parent) {
|
||||
this(itemBuilder, R.layout.list_stream_item, parent);
|
||||
}
|
||||
|
||||
LocalStatisticStreamItemHolder(LocalItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) {
|
||||
super(infoItemBuilder, layoutId, parent);
|
||||
|
||||
itemThumbnailView = itemView.findViewById(R.id.itemThumbnailView);
|
||||
itemVideoTitleView = itemView.findViewById(R.id.itemVideoTitleView);
|
||||
|
@ -80,7 +86,9 @@ public class LocalStatisticStreamItemHolder extends LocalItemHolder {
|
|||
itemDurationView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
itemAdditionalDetails.setText(getStreamInfoDetailLine(item, dateFormat));
|
||||
if (itemAdditionalDetails != null) {
|
||||
itemAdditionalDetails.setText(getStreamInfoDetailLine(item, dateFormat));
|
||||
}
|
||||
|
||||
// Default thumbnail is shown on error, while loading and if the url is empty
|
||||
itemBuilder.displayImage(item.thumbnailUrl, itemThumbnailView,
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package org.schabi.newpipe.local.holder;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.local.LocalItemBuilder;
|
||||
|
||||
public class RemotePlaylistGridItemHolder extends RemotePlaylistItemHolder {
|
||||
|
||||
public RemotePlaylistGridItemHolder(LocalItemBuilder infoItemBuilder, ViewGroup parent) {
|
||||
super(infoItemBuilder, R.layout.list_playlist_grid_item, parent);
|
||||
}
|
||||
}
|
|
@ -16,6 +16,10 @@ public class RemotePlaylistItemHolder extends PlaylistItemHolder {
|
|||
super(infoItemBuilder, parent);
|
||||
}
|
||||
|
||||
RemotePlaylistItemHolder(LocalItemBuilder infoItemBuilder, int layoutId, ViewGroup parent) {
|
||||
super(infoItemBuilder, layoutId, parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFromItem(final LocalItem localItem, final DateFormat dateFormat) {
|
||||
if (!(localItem instanceof PlaylistRemoteEntity)) return;
|
||||
|
|
|
@ -459,7 +459,11 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt
|
|||
|
||||
|
||||
private ItemTouchHelper.SimpleCallback getItemTouchCallback() {
|
||||
return new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN,
|
||||
int directions = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
|
||||
if (isGridLayout()) {
|
||||
directions |= ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT;
|
||||
}
|
||||
return new ItemTouchHelper.SimpleCallback(directions,
|
||||
ItemTouchHelper.ACTION_STATE_IDLE) {
|
||||
@Override
|
||||
public int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int viewSize,
|
||||
|
|
|
@ -1,21 +1,30 @@
|
|||
package org.schabi.newpipe.local.subscription;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.Parcelable;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.DrawableRes;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -42,6 +51,8 @@ import org.schabi.newpipe.info_list.InfoListAdapter;
|
|||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsExportService;
|
||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.FilePickerActivityHelper;
|
||||
import org.schabi.newpipe.util.NavigationHelper;
|
||||
import org.schabi.newpipe.util.OnClickGesture;
|
||||
|
@ -70,7 +81,7 @@ import static org.schabi.newpipe.local.subscription.services.SubscriptionsImport
|
|||
import static org.schabi.newpipe.util.AnimationUtils.animateRotation;
|
||||
import static org.schabi.newpipe.util.AnimationUtils.animateView;
|
||||
|
||||
public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEntity>> {
|
||||
public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEntity>> implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
private static final int REQUEST_EXPORT_CODE = 666;
|
||||
private static final int REQUEST_IMPORT_CODE = 667;
|
||||
|
||||
|
@ -78,6 +89,9 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
@State
|
||||
protected Parcelable itemsListState;
|
||||
private InfoListAdapter infoListAdapter;
|
||||
private int updateFlags = 0;
|
||||
|
||||
private static final int LIST_MODE_UPDATE_FLAG = 0x32;
|
||||
|
||||
private View whatsNewItemListHeader;
|
||||
private View importExportListHeader;
|
||||
|
@ -97,6 +111,8 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setHasOptionsMenu(true);
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -124,6 +140,15 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
public void onResume() {
|
||||
super.onResume();
|
||||
setupBroadcastReceiver();
|
||||
if (updateFlags != 0) {
|
||||
if ((updateFlags & LIST_MODE_UPDATE_FLAG) != 0) {
|
||||
final boolean useGrid = isGridLayout();
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
infoListAdapter.setGridItemVariants(useGrid);
|
||||
infoListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
updateFlags = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -150,9 +175,25 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
disposables = null;
|
||||
subscriptionService = null;
|
||||
|
||||
PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.unregisterOnSharedPreferenceChangeListener(this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager getListLayoutManager() {
|
||||
return new LinearLayoutManager(activity);
|
||||
}
|
||||
|
||||
protected RecyclerView.LayoutManager getGridLayoutManager() {
|
||||
final Resources resources = activity.getResources();
|
||||
int width = resources.getDimensionPixelSize(R.dimen.video_item_grid_thumbnail_image_width);
|
||||
width += (24 * resources.getDisplayMetrics().density);
|
||||
final int spanCount = (int) Math.floor(resources.getDisplayMetrics().widthPixels / (double)width);
|
||||
final GridLayoutManager lm = new GridLayoutManager(activity, spanCount);
|
||||
lm.setSpanSizeLookup(infoListAdapter.getSpanSizeLookup(spanCount));
|
||||
return lm;
|
||||
}
|
||||
|
||||
/*/////////////////////////////////////////////////////////////////////////
|
||||
// Menu
|
||||
/////////////////////////////////////////////////////////////////////////*/
|
||||
|
@ -284,9 +325,10 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
protected void initViews(View rootView, Bundle savedInstanceState) {
|
||||
super.initViews(rootView, savedInstanceState);
|
||||
|
||||
final boolean useGrid = isGridLayout();
|
||||
infoListAdapter = new InfoListAdapter(getActivity());
|
||||
itemsList = rootView.findViewById(R.id.items_list);
|
||||
itemsList.setLayoutManager(new LinearLayoutManager(activity));
|
||||
itemsList.setLayoutManager(useGrid ? getGridLayoutManager() : getListLayoutManager());
|
||||
|
||||
View headerRootLayout;
|
||||
infoListAdapter.setHeader(headerRootLayout = activity.getLayoutInflater().inflate(R.layout.subscription_header, itemsList, false));
|
||||
|
@ -295,6 +337,7 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
importExportOptions = headerRootLayout.findViewById(R.id.import_export_options);
|
||||
|
||||
infoListAdapter.useMiniItemVariants(true);
|
||||
infoListAdapter.setGridItemVariants(useGrid);
|
||||
itemsList.setAdapter(infoListAdapter);
|
||||
|
||||
setupImportFromItems(headerRootLayout.findViewById(R.id.import_from_options));
|
||||
|
@ -318,7 +361,7 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
super.initListeners();
|
||||
|
||||
infoListAdapter.setOnChannelSelectedListener(new OnClickGesture<ChannelInfoItem>() {
|
||||
@Override
|
||||
|
||||
public void selected(ChannelInfoItem selectedItem) {
|
||||
final FragmentManager fragmentManager = getFM();
|
||||
NavigationHelper.openChannelFragment(fragmentManager,
|
||||
|
@ -326,6 +369,11 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
selectedItem.getUrl(),
|
||||
selectedItem.getName());
|
||||
}
|
||||
|
||||
public void held(ChannelInfoItem selectedItem) {
|
||||
showLongTapDialog(selectedItem);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//noinspection ConstantConditions
|
||||
|
@ -336,6 +384,85 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
importExportListHeader.setOnClickListener(v -> importExportOptions.switchState());
|
||||
}
|
||||
|
||||
private void showLongTapDialog(ChannelInfoItem selectedItem) {
|
||||
final Context context = getContext();
|
||||
final Activity activity = getActivity();
|
||||
if (context == null || context.getResources() == null || getActivity() == null) return;
|
||||
|
||||
final String[] commands = new String[]{
|
||||
context.getResources().getString(R.string.share),
|
||||
context.getResources().getString(R.string.unsubscribe)
|
||||
};
|
||||
|
||||
final DialogInterface.OnClickListener actions = (dialogInterface, i) -> {
|
||||
switch (i) {
|
||||
case 0:
|
||||
shareChannel(selectedItem);
|
||||
break;
|
||||
case 1:
|
||||
deleteChannel(selectedItem);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
final View bannerView = View.inflate(activity, R.layout.dialog_title, null);
|
||||
bannerView.setSelected(true);
|
||||
|
||||
TextView titleView = bannerView.findViewById(R.id.itemTitleView);
|
||||
titleView.setText(selectedItem.getName());
|
||||
|
||||
TextView detailsView = bannerView.findViewById(R.id.itemAdditionalDetails);
|
||||
detailsView.setVisibility(View.GONE);
|
||||
|
||||
new AlertDialog.Builder(activity)
|
||||
.setCustomTitle(bannerView)
|
||||
.setItems(commands, actions)
|
||||
.create()
|
||||
.show();
|
||||
|
||||
}
|
||||
|
||||
private void shareChannel (ChannelInfoItem selectedItem) {
|
||||
shareUrl(selectedItem.getName(), selectedItem.getUrl());
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void deleteChannel (ChannelInfoItem selectedItem) {
|
||||
subscriptionService.subscriptionTable()
|
||||
.getSubscription(selectedItem.getServiceId(), selectedItem.getUrl())
|
||||
.toObservable()
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(getDeleteObserver());
|
||||
|
||||
Toast.makeText(activity, getString(R.string.channel_unsubscribed), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Observer<List<SubscriptionEntity>> getDeleteObserver(){
|
||||
return new Observer<List<SubscriptionEntity>>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
disposables.add(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(List<SubscriptionEntity> subscriptionEntities) {
|
||||
subscriptionService.subscriptionTable().delete(subscriptionEntities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable exception) {
|
||||
SubscriptionFragment.this.onError(exception);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() { }
|
||||
};
|
||||
}
|
||||
|
||||
private void resetFragment() {
|
||||
if (disposables != null) disposables.clear();
|
||||
if (infoListAdapter != null) infoListAdapter.clearStreamItemList();
|
||||
|
@ -445,4 +572,22 @@ public class SubscriptionFragment extends BaseStateFragment<List<SubscriptionEnt
|
|||
R.string.general_error);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(getString(R.string.list_view_mode_key))) {
|
||||
updateFlags |= LIST_MODE_UPDATE_FLAG;
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isGridLayout() {
|
||||
final String list_mode = PreferenceManager.getDefaultSharedPreferences(activity).getString(getString(R.string.list_view_mode_key), getString(R.string.list_view_mode_value));
|
||||
if ("auto".equals(list_mode)) {
|
||||
final Configuration configuration = getResources().getConfiguration();
|
||||
return configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
|
||||
&& configuration.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_LARGE);
|
||||
} else {
|
||||
return "grid".equals(list_mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,35 +98,54 @@ public abstract class BasePlayer implements
|
|||
Player.EventListener, PlaybackListener, ImageLoadingListener {
|
||||
|
||||
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
|
||||
@NonNull public static final String TAG = "BasePlayer";
|
||||
@NonNull
|
||||
public static final String TAG = "BasePlayer";
|
||||
|
||||
@NonNull final protected Context context;
|
||||
@NonNull
|
||||
final protected Context context;
|
||||
|
||||
@NonNull final protected BroadcastReceiver broadcastReceiver;
|
||||
@NonNull final protected IntentFilter intentFilter;
|
||||
@NonNull
|
||||
final protected BroadcastReceiver broadcastReceiver;
|
||||
@NonNull
|
||||
final protected IntentFilter intentFilter;
|
||||
|
||||
@NonNull final protected HistoryRecordManager recordManager;
|
||||
@NonNull
|
||||
final protected HistoryRecordManager recordManager;
|
||||
|
||||
@NonNull final protected CustomTrackSelector trackSelector;
|
||||
@NonNull final protected PlayerDataSource dataSource;
|
||||
@NonNull
|
||||
final protected CustomTrackSelector trackSelector;
|
||||
@NonNull
|
||||
final protected PlayerDataSource dataSource;
|
||||
|
||||
@NonNull final private LoadControl loadControl;
|
||||
@NonNull final private RenderersFactory renderFactory;
|
||||
@NonNull
|
||||
final private LoadControl loadControl;
|
||||
@NonNull
|
||||
final private RenderersFactory renderFactory;
|
||||
|
||||
@NonNull final private SerialDisposable progressUpdateReactor;
|
||||
@NonNull final private CompositeDisposable databaseUpdateReactor;
|
||||
@NonNull
|
||||
final private SerialDisposable progressUpdateReactor;
|
||||
@NonNull
|
||||
final private CompositeDisposable databaseUpdateReactor;
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Intent
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@NonNull public static final String REPEAT_MODE = "repeat_mode";
|
||||
@NonNull public static final String PLAYBACK_PITCH = "playback_pitch";
|
||||
@NonNull public static final String PLAYBACK_SPEED = "playback_speed";
|
||||
@NonNull public static final String PLAYBACK_SKIP_SILENCE = "playback_skip_silence";
|
||||
@NonNull public static final String PLAYBACK_QUALITY = "playback_quality";
|
||||
@NonNull public static final String PLAY_QUEUE_KEY = "play_queue_key";
|
||||
@NonNull public static final String APPEND_ONLY = "append_only";
|
||||
@NonNull public static final String SELECT_ON_APPEND = "select_on_append";
|
||||
@NonNull
|
||||
public static final String REPEAT_MODE = "repeat_mode";
|
||||
@NonNull
|
||||
public static final String PLAYBACK_PITCH = "playback_pitch";
|
||||
@NonNull
|
||||
public static final String PLAYBACK_SPEED = "playback_speed";
|
||||
@NonNull
|
||||
public static final String PLAYBACK_SKIP_SILENCE = "playback_skip_silence";
|
||||
@NonNull
|
||||
public static final String PLAYBACK_QUALITY = "playback_quality";
|
||||
@NonNull
|
||||
public static final String PLAY_QUEUE_KEY = "play_queue_key";
|
||||
@NonNull
|
||||
public static final String APPEND_ONLY = "append_only";
|
||||
@NonNull
|
||||
public static final String SELECT_ON_APPEND = "select_on_append";
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Playback
|
||||
|
@ -137,13 +156,18 @@ public abstract class BasePlayer implements
|
|||
protected PlayQueue playQueue;
|
||||
protected PlayQueueAdapter playQueueAdapter;
|
||||
|
||||
@Nullable protected MediaSourceManager playbackManager;
|
||||
@Nullable
|
||||
protected MediaSourceManager playbackManager;
|
||||
|
||||
@Nullable private PlayQueueItem currentItem;
|
||||
@Nullable private MediaSourceTag currentMetadata;
|
||||
@Nullable private Bitmap currentThumbnail;
|
||||
@Nullable
|
||||
private PlayQueueItem currentItem;
|
||||
@Nullable
|
||||
private MediaSourceTag currentMetadata;
|
||||
@Nullable
|
||||
private Bitmap currentThumbnail;
|
||||
|
||||
@Nullable protected Toast errorToast;
|
||||
@Nullable
|
||||
protected Toast errorToast;
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Player
|
||||
|
@ -213,7 +237,8 @@ public abstract class BasePlayer implements
|
|||
registerBroadcastReceiver();
|
||||
}
|
||||
|
||||
public void initListeners() {}
|
||||
public void initListeners() {
|
||||
}
|
||||
|
||||
public void handleIntent(Intent intent) {
|
||||
if (DEBUG) Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]");
|
||||
|
@ -297,7 +322,6 @@ public abstract class BasePlayer implements
|
|||
databaseUpdateReactor.clear();
|
||||
progressUpdateReactor.set(null);
|
||||
|
||||
simpleExoPlayer = null;
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
@ -425,13 +449,15 @@ public abstract class BasePlayer implements
|
|||
if (!isProgressLoopRunning()) startProgressLoop();
|
||||
}
|
||||
|
||||
public void onBuffering() {}
|
||||
public void onBuffering() {
|
||||
}
|
||||
|
||||
public void onPaused() {
|
||||
if (isProgressLoopRunning()) stopProgressLoop();
|
||||
}
|
||||
|
||||
public void onPausedSeek() {}
|
||||
public void onPausedSeek() {
|
||||
}
|
||||
|
||||
public void onCompleted() {
|
||||
if (DEBUG) Log.d(TAG, "onCompleted() called");
|
||||
|
@ -602,19 +628,19 @@ public abstract class BasePlayer implements
|
|||
/**
|
||||
* Processes the exceptions produced by {@link com.google.android.exoplayer2.ExoPlayer ExoPlayer}.
|
||||
* There are multiple types of errors: <br><br>
|
||||
*
|
||||
* <p>
|
||||
* {@link ExoPlaybackException#TYPE_SOURCE TYPE_SOURCE}: <br><br>
|
||||
*
|
||||
* <p>
|
||||
* {@link ExoPlaybackException#TYPE_UNEXPECTED TYPE_UNEXPECTED}: <br><br>
|
||||
* If a runtime error occurred, then we can try to recover it by restarting the playback
|
||||
* after setting the timestamp recovery. <br><br>
|
||||
*
|
||||
* <p>
|
||||
* {@link ExoPlaybackException#TYPE_RENDERER TYPE_RENDERER}: <br><br>
|
||||
* If the renderer failed, treat the error as unrecoverable.
|
||||
*
|
||||
* @see #processSourceError(IOException)
|
||||
* @see Player.EventListener#onPlayerError(ExoPlaybackException)
|
||||
* */
|
||||
*/
|
||||
@Override
|
||||
public void onPlayerError(ExoPlaybackException error) {
|
||||
if (DEBUG) Log.d(TAG, "ExoPlayer - onPlayerError() called with: " +
|
||||
|
@ -900,8 +926,8 @@ public abstract class BasePlayer implements
|
|||
if (DEBUG) Log.d(TAG, "onPlayPrevious() called");
|
||||
|
||||
/* If current playback has run for PLAY_PREV_ACTIVATION_LIMIT_MILLIS milliseconds,
|
||||
* restart current track. Also restart the track if the current track
|
||||
* is the first in a queue.*/
|
||||
* restart current track. Also restart the track if the current track
|
||||
* is the first in a queue.*/
|
||||
if (simpleExoPlayer.getCurrentPosition() > PLAY_PREV_ACTIVATION_LIMIT_MILLIS ||
|
||||
playQueue.getIndex() == 0) {
|
||||
seekToDefault();
|
||||
|
@ -1010,8 +1036,8 @@ public abstract class BasePlayer implements
|
|||
try {
|
||||
metadata = (MediaSourceTag) simpleExoPlayer.getCurrentTag();
|
||||
} catch (IndexOutOfBoundsException | ClassCastException error) {
|
||||
if(DEBUG) Log.d(TAG, "Could not update metadata: " + error.getMessage());
|
||||
if(DEBUG) error.printStackTrace();
|
||||
if (DEBUG) Log.d(TAG, "Could not update metadata: " + error.getMessage());
|
||||
if (DEBUG) error.printStackTrace();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1075,7 +1101,9 @@ public abstract class BasePlayer implements
|
|||
currentThumbnail;
|
||||
}
|
||||
|
||||
/** Checks if the current playback is a livestream AND is playing at or beyond the live edge */
|
||||
/**
|
||||
* Checks if the current playback is a livestream AND is playing at or beyond the live edge
|
||||
*/
|
||||
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||
public boolean isLiveEdge() {
|
||||
if (simpleExoPlayer == null || !isLive()) return false;
|
||||
|
@ -1099,8 +1127,8 @@ public abstract class BasePlayer implements
|
|||
} catch (@NonNull IndexOutOfBoundsException ignored) {
|
||||
// Why would this even happen =(
|
||||
// But lets log it anyway. Save is save
|
||||
if(DEBUG) Log.d(TAG, "Could not update metadata: " + ignored.getMessage());
|
||||
if(DEBUG) ignored.printStackTrace();
|
||||
if (DEBUG) Log.d(TAG, "Could not update metadata: " + ignored.getMessage());
|
||||
if (DEBUG) ignored.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -1113,7 +1141,9 @@ public abstract class BasePlayer implements
|
|||
|
||||
@Player.RepeatMode
|
||||
public int getRepeatMode() {
|
||||
return simpleExoPlayer == null ? Player.REPEAT_MODE_OFF : simpleExoPlayer.getRepeatMode();
|
||||
return simpleExoPlayer == null
|
||||
? Player.REPEAT_MODE_OFF
|
||||
: simpleExoPlayer.getRepeatMode();
|
||||
}
|
||||
|
||||
public void setRepeatMode(@Player.RepeatMode final int repeatMode) {
|
||||
|
@ -1179,4 +1209,8 @@ public abstract class BasePlayer implements
|
|||
if (DEBUG) Log.d(TAG, "Setting recovery, queue: " + queuePos + ", pos: " + windowPos);
|
||||
playQueue.setRecovery(queuePos, windowPos);
|
||||
}
|
||||
|
||||
public boolean gotDestroyed() {
|
||||
return simpleExoPlayer == null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -217,10 +217,9 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
if (playerImpl == null) return;
|
||||
|
||||
playerImpl.setRecovery();
|
||||
playerState = new PlayerState(playerImpl.getPlayQueue(), playerImpl.getRepeatMode(),
|
||||
playerImpl.getPlaybackSpeed(), playerImpl.getPlaybackPitch(),
|
||||
playerImpl.getPlaybackQuality(), playerImpl.getPlaybackSkipSilence(),
|
||||
playerImpl.isPlaying());
|
||||
if(!playerImpl.gotDestroyed()) {
|
||||
playerState = createPlayerState();
|
||||
}
|
||||
StateSaver.tryToSave(isChangingConfigurations(), null, outState, this);
|
||||
}
|
||||
|
||||
|
@ -235,6 +234,7 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
if (!isBackPressed) {
|
||||
playerImpl.minimize();
|
||||
}
|
||||
playerState = createPlayerState();
|
||||
playerImpl.destroy();
|
||||
|
||||
isInMultiWindow = false;
|
||||
|
@ -245,6 +245,13 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
// State Saving
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
private PlayerState createPlayerState() {
|
||||
return new PlayerState(playerImpl.getPlayQueue(), playerImpl.getRepeatMode(),
|
||||
playerImpl.getPlaybackSpeed(), playerImpl.getPlaybackPitch(),
|
||||
playerImpl.getPlaybackQuality(), playerImpl.getPlaybackSkipSilence(),
|
||||
playerImpl.isPlaying());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generateSuffix() {
|
||||
return "." + UUID.randomUUID().toString() + ".player";
|
||||
|
@ -1006,12 +1013,14 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
|
||||
private static final int MOVEMENT_THRESHOLD = 40;
|
||||
|
||||
private final boolean isPlayerGestureEnabled = PlayerHelper.isPlayerGestureEnabled(getApplicationContext());
|
||||
private final boolean isVolumeGestureEnabled = PlayerHelper.isVolumeGestureEnabled(getApplicationContext());
|
||||
private final boolean isBrightnessGestureEnabled = PlayerHelper.isBrightnessGestureEnabled(getApplicationContext());
|
||||
|
||||
private final int maxVolume = playerImpl.getAudioReactor().getMaxVolume();
|
||||
|
||||
@Override
|
||||
public boolean onScroll(MotionEvent initialEvent, MotionEvent movingEvent, float distanceX, float distanceY) {
|
||||
if (!isPlayerGestureEnabled) return false;
|
||||
if (!isVolumeGestureEnabled && !isBrightnessGestureEnabled) return false;
|
||||
|
||||
//noinspection PointlessBooleanExpression
|
||||
if (DEBUG && false) Log.d(TAG, "MainVideoPlayer.onScroll = " +
|
||||
|
@ -1027,7 +1036,11 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
|
||||
isMoving = true;
|
||||
|
||||
if (initialEvent.getX() > playerImpl.getRootView().getWidth() / 2) {
|
||||
boolean acceptAnyArea = isVolumeGestureEnabled != isBrightnessGestureEnabled;
|
||||
boolean acceptVolumeArea = acceptAnyArea || initialEvent.getX() > playerImpl.getRootView().getWidth() / 2;
|
||||
boolean acceptBrightnessArea = acceptAnyArea || !acceptVolumeArea;
|
||||
|
||||
if (isVolumeGestureEnabled && acceptVolumeArea) {
|
||||
playerImpl.getVolumeProgressBar().incrementProgressBy((int) distanceY);
|
||||
float currentProgressPercent =
|
||||
(float) playerImpl.getVolumeProgressBar().getProgress() / playerImpl.getMaxGestureLength();
|
||||
|
@ -1052,7 +1065,7 @@ public final class MainVideoPlayer extends AppCompatActivity
|
|||
if (playerImpl.getBrightnessRelativeLayout().getVisibility() == View.VISIBLE) {
|
||||
playerImpl.getBrightnessRelativeLayout().setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
} else if (isBrightnessGestureEnabled && acceptBrightnessArea) {
|
||||
playerImpl.getBrightnessProgressBar().incrementProgressBy((int) distanceY);
|
||||
float currentProgressPercent =
|
||||
(float) playerImpl.getBrightnessProgressBar().getProgress() / playerImpl.getMaxGestureLength();
|
||||
|
|
|
@ -169,8 +169,12 @@ public class PlayerHelper {
|
|||
return isResumeAfterAudioFocusGain(context, false);
|
||||
}
|
||||
|
||||
public static boolean isPlayerGestureEnabled(@NonNull final Context context) {
|
||||
return isPlayerGestureEnabled(context, true);
|
||||
public static boolean isVolumeGestureEnabled(@NonNull final Context context) {
|
||||
return isVolumeGestureEnabled(context, true);
|
||||
}
|
||||
|
||||
public static boolean isBrightnessGestureEnabled(@NonNull final Context context) {
|
||||
return isBrightnessGestureEnabled(context, true);
|
||||
}
|
||||
|
||||
public static boolean isUsingOldPlayer(@NonNull final Context context) {
|
||||
|
@ -306,8 +310,12 @@ public class PlayerHelper {
|
|||
return getPreferences(context).getBoolean(context.getString(R.string.resume_on_audio_focus_gain_key), b);
|
||||
}
|
||||
|
||||
private static boolean isPlayerGestureEnabled(@NonNull final Context context, final boolean b) {
|
||||
return getPreferences(context).getBoolean(context.getString(R.string.player_gesture_controls_key), b);
|
||||
private static boolean isVolumeGestureEnabled(@NonNull final Context context, final boolean b) {
|
||||
return getPreferences(context).getBoolean(context.getString(R.string.volume_gesture_control_key), b);
|
||||
}
|
||||
|
||||
private static boolean isBrightnessGestureEnabled(@NonNull final Context context, final boolean b) {
|
||||
return getPreferences(context).getBoolean(context.getString(R.string.brightness_gesture_control_key), b);
|
||||
}
|
||||
|
||||
private static boolean isUsingOldPlayer(@NonNull final Context context, final boolean b) {
|
||||
|
|
|
@ -17,6 +17,8 @@ import com.nononsenseapps.filepicker.Utils;
|
|||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.extractor.utils.Localization;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.FilePickerActivityHelper;
|
||||
|
@ -106,6 +108,20 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
|
|||
startActivityForResult(i, REQUEST_EXPORT_PATH);
|
||||
return true;
|
||||
});
|
||||
|
||||
Preference setPreferredLanguage = findPreference(getString(R.string.content_language_key));
|
||||
setPreferredLanguage.setOnPreferenceChangeListener((Preference p, Object newLanguage) -> {
|
||||
Localization oldLocal = org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(getActivity());
|
||||
NewPipe.setLocalization(new Localization(oldLocal.getCountry(), (String) newLanguage));
|
||||
return true;
|
||||
});
|
||||
|
||||
Preference setPreferredCountry = findPreference(getString(R.string.content_country_key));
|
||||
setPreferredCountry.setOnPreferenceChangeListener((Preference p, Object newCountry) -> {
|
||||
Localization oldLocal = org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(getActivity());
|
||||
NewPipe.setLocalization(new Localization((String) newCountry, oldLocal.getLanguage()));
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.schabi.newpipe.extractor.Info;
|
|||
import org.schabi.newpipe.extractor.ListExtractor.InfoItemsPage;
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.extractor.channel.ChannelInfo;
|
||||
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
|
||||
import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException;
|
||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
|
||||
|
@ -67,42 +68,37 @@ public final class ExtractorHelper {
|
|||
public static Single<SearchInfo> searchFor(final int serviceId,
|
||||
final String searchString,
|
||||
final List<String> contentFilter,
|
||||
final String sortFilter,
|
||||
final String contentCountry) {
|
||||
final String sortFilter) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(() ->
|
||||
SearchInfo.getInfo(NewPipe.getService(serviceId),
|
||||
NewPipe.getService(serviceId)
|
||||
.getSearchQHFactory()
|
||||
.fromQuery(searchString, contentFilter, sortFilter),
|
||||
contentCountry));
|
||||
.fromQuery(searchString, contentFilter, sortFilter)));
|
||||
}
|
||||
|
||||
public static Single<InfoItemsPage> getMoreSearchItems(final int serviceId,
|
||||
final String searchString,
|
||||
final List<String> contentFilter,
|
||||
final String sortFilter,
|
||||
final String pageUrl,
|
||||
final String contentCountry) {
|
||||
final String pageUrl) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(() ->
|
||||
SearchInfo.getMoreItems(NewPipe.getService(serviceId),
|
||||
NewPipe.getService(serviceId)
|
||||
.getSearchQHFactory()
|
||||
.fromQuery(searchString, contentFilter, sortFilter),
|
||||
contentCountry,
|
||||
pageUrl));
|
||||
|
||||
}
|
||||
|
||||
public static Single<List<String>> suggestionsFor(final int serviceId,
|
||||
final String query,
|
||||
final String contentCountry) {
|
||||
final String query) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(() ->
|
||||
NewPipe.getService(serviceId)
|
||||
.getSuggestionExtractor()
|
||||
.suggestionList(query, contentCountry));
|
||||
.suggestionList(query));
|
||||
}
|
||||
|
||||
public static Single<StreamInfo> getStreamInfo(final int serviceId,
|
||||
|
@ -147,19 +143,17 @@ public final class ExtractorHelper {
|
|||
|
||||
public static Single<KioskInfo> getKioskInfo(final int serviceId,
|
||||
final String url,
|
||||
final String contentCountry,
|
||||
boolean forceLoad) {
|
||||
return checkCache(forceLoad, serviceId, url, Single.fromCallable(() ->
|
||||
KioskInfo.getInfo(NewPipe.getService(serviceId), url, contentCountry)));
|
||||
KioskInfo.getInfo(NewPipe.getService(serviceId), url)));
|
||||
}
|
||||
|
||||
public static Single<InfoItemsPage> getMoreKioskItems(final int serviceId,
|
||||
final String url,
|
||||
final String nextStreamsUrl,
|
||||
final String contentCountry) {
|
||||
final String nextStreamsUrl) {
|
||||
return Single.fromCallable(() ->
|
||||
KioskInfo.getMoreItems(NewPipe.getService(serviceId),
|
||||
url, nextStreamsUrl, contentCountry));
|
||||
url, nextStreamsUrl));
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -110,7 +110,8 @@ public final class ListHelper {
|
|||
: context.getString(R.string.best_resolution_key);
|
||||
|
||||
String maxResolution = getResolutionLimit(context);
|
||||
if (maxResolution != null && compareVideoStreamResolution(maxResolution, resolution) < 1){
|
||||
if (maxResolution != null && (resolution.equals(context.getString(R.string.best_resolution_key))
|
||||
|| compareVideoStreamResolution(maxResolution, resolution) < 1)) {
|
||||
resolution = maxResolution;
|
||||
}
|
||||
return resolution;
|
||||
|
|
|
@ -69,10 +69,23 @@ public class Localization {
|
|||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
public static org.schabi.newpipe.extractor.utils.Localization getPreferredExtractorLocal(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
String languageCode = sp.getString(context.getString(R.string.content_language_key),
|
||||
context.getString(R.string.default_language_value));
|
||||
|
||||
String countryCode = sp.getString(context.getString(R.string.content_country_key),
|
||||
context.getString(R.string.default_country_value));
|
||||
|
||||
return new org.schabi.newpipe.extractor.utils.Localization(countryCode, languageCode);
|
||||
}
|
||||
|
||||
public static Locale getPreferredLocale(Context context) {
|
||||
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
String languageCode = sp.getString(context.getString(R.string.search_language_key), context.getString(R.string.default_language_value));
|
||||
String languageCode = sp.getString(context.getString(R.string.content_language_key),
|
||||
context.getString(R.string.default_language_value));
|
||||
|
||||
try {
|
||||
if (languageCode.length() == 2) {
|
||||
|
|
|
@ -96,12 +96,12 @@ public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.ViewHold
|
|||
}
|
||||
});
|
||||
|
||||
/*h.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
h.itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showDetail(h);
|
||||
if(h.mission.finished) viewFile(h);
|
||||
}
|
||||
});*/
|
||||
});
|
||||
|
||||
return h;
|
||||
}
|
||||
|
@ -200,14 +200,12 @@ public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.ViewHold
|
|||
Menu menu = popup.getMenu();
|
||||
MenuItem start = menu.findItem(R.id.start);
|
||||
MenuItem pause = menu.findItem(R.id.pause);
|
||||
MenuItem view = menu.findItem(R.id.view);
|
||||
MenuItem delete = menu.findItem(R.id.delete);
|
||||
MenuItem checksum = menu.findItem(R.id.checksum);
|
||||
|
||||
// Set to false first
|
||||
start.setVisible(false);
|
||||
pause.setVisible(false);
|
||||
view.setVisible(false);
|
||||
delete.setVisible(false);
|
||||
checksum.setVisible(false);
|
||||
|
||||
|
@ -222,7 +220,6 @@ public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.ViewHold
|
|||
pause.setVisible(true);
|
||||
}
|
||||
} else {
|
||||
view.setVisible(true);
|
||||
delete.setVisible(true);
|
||||
checksum.setVisible(true);
|
||||
}
|
||||
|
@ -241,27 +238,6 @@ public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.ViewHold
|
|||
mBinder.onMissionRemoved(mItemList.get(h.position));
|
||||
h.lastTimeStamp = -1;
|
||||
h.lastDone = -1;
|
||||
return true;
|
||||
case R.id.view:
|
||||
File f = new File(h.mission.location, h.mission.name);
|
||||
String ext = Utility.getFileExt(h.mission.name);
|
||||
|
||||
Log.d(TAG, "Viewing file: " + f.getAbsolutePath() + " ext: " + ext);
|
||||
|
||||
if (ext == null) {
|
||||
Log.w(TAG, "Can't view file because it has no extension: " +
|
||||
h.mission.name);
|
||||
return false;
|
||||
}
|
||||
|
||||
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext.substring(1));
|
||||
Log.v(TAG, "Mime: " + mime + " package: " + mContext.getApplicationContext().getPackageName() + ".provider");
|
||||
if (f.exists()) {
|
||||
viewFileWithFileProvider(f, mime);
|
||||
} else {
|
||||
Log.w(TAG, "File doesn't exist");
|
||||
}
|
||||
|
||||
return true;
|
||||
case R.id.delete:
|
||||
mDeleteDownloadManager.add(h.mission);
|
||||
|
@ -282,6 +258,28 @@ public class MissionAdapter extends RecyclerView.Adapter<MissionAdapter.ViewHold
|
|||
popup.show();
|
||||
}
|
||||
|
||||
private boolean viewFile(ViewHolder h) {
|
||||
File f = new File(h.mission.location, h.mission.name);
|
||||
String ext = Utility.getFileExt(h.mission.name);
|
||||
|
||||
Log.d(TAG, "Viewing file: " + f.getAbsolutePath() + " ext: " + ext);
|
||||
|
||||
if (ext == null) {
|
||||
Log.w(TAG, "Can't view file because it has no extension: " +
|
||||
h.mission.name);
|
||||
return true;
|
||||
}
|
||||
|
||||
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext.substring(1));
|
||||
Log.v(TAG, "Mime: " + mime + " package: " + mContext.getApplicationContext().getPackageName() + ".provider");
|
||||
if (f.exists()) {
|
||||
viewFileWithFileProvider(f, mime);
|
||||
} else {
|
||||
Log.w(TAG, "File doesn't exist");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void viewFileWithFileProvider(File file, String mimetype) {
|
||||
String ourPackage = mContext.getApplicationContext().getPackageName();
|
||||
Uri uri = FileProvider.getUriForFile(mContext, ourPackage + ".provider", file);
|
||||
|
|
|
@ -0,0 +1,581 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:gravity="center">
|
||||
|
||||
<com.google.android.exoplayer2.ui.AspectRatioFrameLayout
|
||||
android:id="@+id/aspectRatioLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<SurfaceView
|
||||
android:id="@+id/surfaceView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
|
||||
<View
|
||||
android:id="@+id/surfaceForeground"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/black"/>
|
||||
|
||||
</com.google.android.exoplayer2.ui.AspectRatioFrameLayout>
|
||||
|
||||
<com.google.android.exoplayer2.ui.SubtitleView
|
||||
android:id="@+id/subtitleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/endScreen"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone"
|
||||
tools:background="@android:color/white"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/playQueuePanel"
|
||||
android:layout_width="380dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:visibility="invisible"
|
||||
android:background="?attr/queue_background_color"
|
||||
tools:visibility="visible">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:id="@+id/playQueueControl">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/playQueueClose"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginRight="40dp"
|
||||
android:layout_marginEnd="40dp"
|
||||
android:padding="10dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="?attr/colorAccent"
|
||||
android:src="@drawable/ic_close_white_24dp"
|
||||
android:background="?android:selectableItemBackground"
|
||||
tools:ignore="ContentDescription"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/repeatButton"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="40dp"
|
||||
android:layout_marginStart="40dp"
|
||||
android:padding="10dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="?attr/colorAccent"
|
||||
android:src="@drawable/exo_controls_repeat_off"
|
||||
android:background="?android:selectableItemBackground"
|
||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/shuffleButton"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@id/repeatButton"
|
||||
android:padding="10dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitXY"
|
||||
android:tint="?attr/colorAccent"
|
||||
android:src="@drawable/ic_shuffle_white_24dp"
|
||||
android:background="?android:selectableItemBackground"
|
||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/playQueue"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/playQueueControl"
|
||||
android:scrollbars="vertical"
|
||||
app:layoutManager="LinearLayoutManager"
|
||||
tools:listitem="@layout/play_queue_item"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/playbackControlRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/video_overlay_color"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/playbackWindowRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/topControls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="@drawable/player_top_controls_bg"
|
||||
android:gravity="top"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingRight="5dp"
|
||||
tools:ignore="RtlHardcoded">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/metadataView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toLeftOf="@+id/qualityTextView"
|
||||
android:gravity="top"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
tools:ignore="RtlHardcoded">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/titleTextView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="The Video Title LONG very LONG"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/channelTextView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="12sp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
tools:text="The Video Artist LONG very LONG very Long"/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/qualityTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_toLeftOf="@+id/playbackSpeed"
|
||||
android:gravity="center"
|
||||
android:minWidth="50dp"
|
||||
android:text="720p"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="HardcodedText,RtlHardcoded"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/playbackSpeed"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_toLeftOf="@+id/queueButton"
|
||||
android:gravity="center"
|
||||
android:minHeight="35dp"
|
||||
android:minWidth="40dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||
tools:text="1x" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/queueButton"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_toLeftOf="@+id/moreOptionsButton"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="5dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/list"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/moreOptionsButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginLeft="2dp"
|
||||
android:padding="5dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_expand_more_white_24dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/secondaryControls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/topControls"
|
||||
android:gravity="top"
|
||||
android:paddingLeft="5dp"
|
||||
android:paddingRight="5dp"
|
||||
android:visibility="invisible"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:visibility="visible">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/resizeTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="35dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:gravity="center"
|
||||
android:minWidth="50dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="HardcodedText,RtlHardcoded"
|
||||
tools:text="FIT"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/captionTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:layout_toLeftOf="@id/switchBackground"
|
||||
android:layout_toRightOf="@id/resizeTextView"
|
||||
android:gravity="center|left"
|
||||
android:minHeight="35dp"
|
||||
android:minWidth="40dp"
|
||||
android:paddingLeft="2dp"
|
||||
android:paddingRight="2dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textStyle="bold"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="RelativeOverlap,RtlHardcoded"
|
||||
tools:text="English" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/toggleOrientation"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginRight="2dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="5dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_screen_rotation_white"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/toggle_orientation"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/switchPopup"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:layout_toLeftOf="@id/toggleOrientation"
|
||||
android:layout_centerVertical="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_fullscreen_exit_white"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/switch_to_popup"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/switchBackground"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:layout_toLeftOf="@id/switchPopup"
|
||||
android:layout_centerVertical="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="5dp"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_headset_white_24dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:contentDescription="@string/switch_to_background"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/bottomControls"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="@drawable/player_controls_bg"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/playbackCurrentTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:minHeight="40dp"
|
||||
android:text="-:--:--"
|
||||
android:textColor="@android:color/white"
|
||||
tools:ignore="HardcodedText"
|
||||
tools:text="1:06:29"/>
|
||||
|
||||
|
||||
<android.support.v7.widget.AppCompatSeekBar
|
||||
android:id="@+id/playbackSeekBar"
|
||||
style="@style/Widget.AppCompat.SeekBar"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingTop="8dp"
|
||||
tools:progress="25"
|
||||
tools:secondaryProgress="50"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/playbackEndTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:text="-:--:--"
|
||||
android:textColor="@android:color/white"
|
||||
tools:ignore="HardcodedText"
|
||||
tools:text="1:23:49"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/playbackLiveSync"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingLeft="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/duration_live_button"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:maxLength="4"
|
||||
android:visibility="gone"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
tools:ignore="HardcodedText,RtlHardcoded,RtlSymmetry" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/playPauseButton"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_pause_white"
|
||||
tools:ignore="ContentDescription"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/playPreviousButton"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginRight="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toLeftOf="@id/playPauseButton"
|
||||
android:layout_toStartOf="@id/playPauseButton"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/exo_controls_previous"
|
||||
tools:ignore="ContentDescription"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/playNextButton"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginLeft="30dp"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toRightOf="@id/playPauseButton"
|
||||
android:layout_toEndOf="@id/playPauseButton"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/exo_controls_next"
|
||||
tools:ignore="ContentDescription"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/controlAnimationView"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:background="@drawable/background_oval_black_transparent"
|
||||
android:visibility="gone"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/ic_action_av_fast_rewind"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/loading_panel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@android:color/black"
|
||||
tools:visibility="gone">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBarLoadingPanel"
|
||||
style="?android:attr/progressBarStyleLargeInverse"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:indeterminate="true"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_gravity="center"
|
||||
android:layout_toEndOf="@+id/loading_panel"
|
||||
android:layout_toRightOf="@+id/loading_panel"
|
||||
tools:ignore="RtlHardcoded">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/volumeRelativeLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="@drawable/background_oval_black_transparent"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/volumeProgressBar"
|
||||
style="?android:progressBarStyleHorizontal"
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="128dp"
|
||||
android:indeterminate="false"
|
||||
android:progressDrawable="@drawable/progress_circular_white" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/volumeImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/ic_volume_up_white_72dp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/brightnessRelativeLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="@drawable/background_oval_black_transparent"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/brightnessProgressBar"
|
||||
style="?android:progressBarStyleHorizontal"
|
||||
android:layout_width="128dp"
|
||||
android:layout_height="128dp"
|
||||
android:indeterminate="false"
|
||||
android:progressDrawable="@drawable/progress_circular_white" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/brightnessImageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/ic_brightness_high_white_72dp" />
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/currentDisplaySeek"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginBottom="58dp"
|
||||
android:background="#64000000"
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingLeft="30dp"
|
||||
android:paddingRight="30dp"
|
||||
android:paddingTop="10dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="26sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="1:06:29"
|
||||
tools:visibility="visible" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,491 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/video_item_detail"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.nirhart.parallaxscroll.views.ParallaxScrollView
|
||||
android:id="@+id/detail_main_content"
|
||||
app:parallax_factor="1.9"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="5">
|
||||
|
||||
<!--WRAPPER-->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- THUMBNAIL -->
|
||||
<FrameLayout
|
||||
android:id="@+id/detail_thumbnail_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/black"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:foreground="?attr/selectableItemBackground">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/detail_thumbnail_image_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
android:contentDescription="@string/detail_thumbnail_view_description"
|
||||
android:scaleType="fitCenter"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:layout_height="200dp"
|
||||
tools:src="@drawable/dummy_thumbnail" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/detail_thumbnail_play_button"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@android:color/transparent"
|
||||
android:src="@drawable/new_play_arrow"
|
||||
android:visibility="invisible"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/touch_append_detail"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="#64000000"
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingLeft="30dp"
|
||||
android:paddingRight="30dp"
|
||||
android:paddingTop="10dp"
|
||||
android:text="@string/hold_to_append"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_duration_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:alpha=".6"
|
||||
android:background="#23000000"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="2dp"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:textAllCaps="true"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="12:38"
|
||||
tools:visibility="visible" />
|
||||
</FrameLayout>
|
||||
|
||||
<!-- CONTENT -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/detail_content_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?android:windowBackground">
|
||||
|
||||
<!-- TITLE -->
|
||||
<FrameLayout
|
||||
android:id="@+id/detail_title_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingRight="12dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_video_title_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginRight="20dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingTop="12dp"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_detail_title_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a ultricies ex. Integer sit amet sodales risus. Duis non mi et urna pretium bibendum. Nunc eleifend est quis ipsum porttitor egestas. Sed facilisis, nisl quis eleifend pellentesque, orci metus egestas dolor, at accumsan eros metus quis libero." />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<!-- LOADING INDICATOR-->
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progress_bar"
|
||||
style="@style/Widget.AppCompat.ProgressBar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/detail_title_root_layout"
|
||||
android:layout_marginTop="@dimen/video_item_detail_error_panel_margin"
|
||||
android:indeterminate="true"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<!--ERROR PANEL-->
|
||||
<include
|
||||
android:id="@+id/error_panel"
|
||||
layout="@layout/error_retry"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/detail_title_root_layout"
|
||||
android:layout_marginTop="@dimen/video_item_detail_error_panel_margin"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<!--HIDING ROOT-->
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_content_root_hiding"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@+id/detail_title_root_layout"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<!--DETAIL-->
|
||||
<RelativeLayout
|
||||
android:id="@+id/detail_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="55dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<!--UPLOADER-->
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_uploader_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_toLeftOf="@id/details_panel"
|
||||
android:layout_toStartOf="@id/details_panel"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="6dp">
|
||||
|
||||
<de.hdodenhof.circleimageview.CircleImageView
|
||||
android:id="@+id/detail_uploader_thumbnail_view"
|
||||
android:layout_width="@dimen/video_item_detail_uploader_image_size"
|
||||
android:layout_height="@dimen/video_item_detail_uploader_image_size"
|
||||
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
|
||||
android:src="@drawable/buddy"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_uploader_text_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_detail_uploader_text_size"
|
||||
android:textStyle="bold"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="Uploader" />
|
||||
|
||||
<!--<Button
|
||||
android:id="@+id/detail_uploader_subscribe"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical|right"
|
||||
android:layout_marginRight="12dp"
|
||||
android:text="@string/rss_button_title"
|
||||
android:textSize="12sp"
|
||||
android:theme="@style/RedButton"
|
||||
android:drawableLeft="@drawable/ic_rss_feed_white_24dp"
|
||||
tools:ignore="RtlHardcoded"
|
||||
android:visibility="gone"/>-->
|
||||
</LinearLayout>
|
||||
|
||||
<!-- VIEW & THUMBS -->
|
||||
<RelativeLayout
|
||||
android:id="@+id/details_panel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_view_count_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:layout_marginTop="6dp"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_detail_views_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="2,816,821,505 views" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/detail_thumbs_up_img_view"
|
||||
android:layout_width="@dimen/video_item_detail_like_image_width"
|
||||
android:layout_height="@dimen/video_item_detail_like_image_height"
|
||||
android:layout_below="@id/detail_view_count_view"
|
||||
android:contentDescription="@string/detail_likes_img_view_description"
|
||||
android:src="?attr/thumbs_up" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_thumbs_up_count_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/video_item_detail_like_image_height"
|
||||
android:layout_below="@id/detail_view_count_view"
|
||||
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
|
||||
android:layout_toRightOf="@id/detail_thumbs_up_img_view"
|
||||
android:gravity="center_vertical"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/video_item_detail_likes_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="12M" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/detail_thumbs_down_img_view"
|
||||
android:layout_width="@dimen/video_item_detail_like_image_width"
|
||||
android:layout_height="@dimen/video_item_detail_like_image_height"
|
||||
android:layout_below="@id/detail_view_count_view"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
|
||||
android:contentDescription="@string/detail_dislikes_img_view_description"
|
||||
android:src="?attr/thumbs_down"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_thumbs_down_count_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/video_item_detail_like_image_height"
|
||||
android:layout_below="@id/detail_view_count_view"
|
||||
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
|
||||
android:layout_toRightOf="@id/detail_thumbs_down_img_view"
|
||||
android:gravity="center_vertical"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/video_item_detail_likes_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="10K" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_thumbs_disabled_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/video_item_detail_like_image_height"
|
||||
android:layout_below="@id/detail_view_count_view"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_toRightOf="@id/detail_thumbs_down_img_view"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/disabled"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_detail_likes_text_size"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:visibility="visible" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_control_panel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="6dp">
|
||||
|
||||
<!-- CONTROLS -->
|
||||
<TextView
|
||||
android:id="@+id/detail_controls_playlist_append"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="55dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/append_playlist"
|
||||
android:drawableTop="?attr/ic_playlist_add"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:text="@string/controls_add_to_playlist_title"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_controls_background"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="55dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/play_audio"
|
||||
android:drawableTop="?attr/audio"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:text="@string/controls_background_title"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_controls_popup"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="55dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/open_in_popup_mode"
|
||||
android:drawableTop="?attr/popup"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:text="@string/controls_popup_title"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_controls_download"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="55dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/controls_download_desc"
|
||||
android:drawableTop="?attr/download"
|
||||
android:focusable="true"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingTop="6dp"
|
||||
android:text="@string/download"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:background="?attr/separator_color" />
|
||||
|
||||
<!--DESCRIPTIONS-->
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_description_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_upload_date_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/video_item_detail_upload_date_text_size"
|
||||
android:textStyle="bold"
|
||||
tools:text="Published on Oct 2, 2009" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_description_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginRight="12dp"
|
||||
android:layout_marginTop="3dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textIsSelectable="true"
|
||||
android:textSize="@dimen/video_item_detail_description_text_size"
|
||||
tools:text="Description Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a ultricies ex. Integer sit amet sodales risus. Duis non mi et urna pretium bibendum." />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginRight="8dp"
|
||||
android:background="?attr/separator_color" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</com.nirhart.parallaxscroll.views.ParallaxScrollView>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="3">
|
||||
|
||||
<!--NEXT AND RELATED VIDEOS-->
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_related_streams_root_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:paddingTop="14dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/detail_next_stream_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:text="@string/next_video_title"
|
||||
android:textAllCaps="true"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="@dimen/video_item_detail_next_text_size"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/detail_related_streams_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="2dp"
|
||||
android:orientation="vertical"
|
||||
tools:minHeight="50dp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/detail_related_streams_expand"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:paddingBottom="10dp"
|
||||
android:paddingTop="4dp"
|
||||
android:src="?attr/expand"
|
||||
android:textAlignment="center"
|
||||
android:textAllCaps="true"
|
||||
tools:ignore="ContentDescription" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
|
@ -11,7 +11,6 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="vertical"
|
||||
app:layoutManager="LinearLayoutManager"
|
||||
android:visibility="gone"
|
||||
tools:listitem="@layout/list_channel_item"
|
||||
tools:visibility="visible"/>
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/itemRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="@dimen/video_item_search_padding">
|
||||
|
||||
<de.hdodenhof.circleimageview.CircleImageView
|
||||
android:id="@+id/itemThumbnailView"
|
||||
android:layout_width="@dimen/video_item_grid_thumbnail_image_height"
|
||||
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:padding="2dp"
|
||||
android:contentDescription="@string/list_thumbnail_view_description"
|
||||
android:src="@drawable/buddy_channel_item"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemTitleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/itemThumbnailView"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:gravity="center_horizontal"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_search_title_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="Channel Title, Lorem ipsum"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemAdditionalDetails"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/itemTitleView"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textSize="@dimen/video_item_search_upload_date_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="10M subscribers"/>
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/itemRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="@dimen/video_item_search_padding">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemThumbnailView"
|
||||
android:layout_width="@dimen/video_item_grid_thumbnail_image_width"
|
||||
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||
android:contentDescription="@string/list_thumbnail_view_description"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/dummy_thumbnail_playlist"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemStreamCountView"
|
||||
android:layout_width="@dimen/playlist_item_thumbnail_stream_count_width"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignBottom="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_alignTop="@id/itemThumbnailView"
|
||||
android:background="@color/playlist_stream_count_background_color"
|
||||
android:drawableTop="@drawable/ic_playlist_play_white_24dp"
|
||||
android:gravity="center"
|
||||
android:paddingBottom="14dp"
|
||||
android:paddingTop="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/duration_text_color"
|
||||
android:textSize="@dimen/video_item_search_duration_text_size"
|
||||
android:textStyle="bold"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="314159"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemTitleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/itemThumbnailView"
|
||||
android:layout_alignLeft="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_search_title_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemUploaderView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/itemTitleView"
|
||||
android:layout_alignLeft="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textSize="@dimen/video_item_search_uploader_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="Uploader"/>
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/itemRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="@dimen/video_item_search_padding">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemThumbnailView"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_width="@dimen/video_item_grid_thumbnail_image_width"
|
||||
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
||||
android:layout_alignParentTop="true"
|
||||
android:contentDescription="@string/list_thumbnail_view_description"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/dummy_thumbnail"
|
||||
tools:ignore="RtlHardcoded"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemDurationView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_marginBottom="@dimen/video_item_search_duration_margin"
|
||||
android:layout_marginRight="@dimen/video_item_search_duration_margin"
|
||||
android:background="@color/duration_background_color"
|
||||
android:paddingBottom="@dimen/video_item_search_duration_vertical_padding"
|
||||
android:paddingLeft="@dimen/video_item_search_duration_horizontal_padding"
|
||||
android:paddingRight="@dimen/video_item_search_duration_horizontal_padding"
|
||||
android:paddingTop="@dimen/video_item_search_duration_vertical_padding"
|
||||
android:textAllCaps="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/duration_text_color"
|
||||
android:textSize="@dimen/video_item_search_duration_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="1:09:10"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemVideoTitleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/itemThumbnailView"
|
||||
android:layout_alignLeft="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_search_title_text_size"
|
||||
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsumLorem ipsum"
|
||||
android:layout_alignEnd="@id/itemThumbnailView" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemUploaderView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/itemVideoTitleView"
|
||||
android:layout_alignLeft="@id/itemVideoTitleView"
|
||||
android:layout_alignRight="@id/itemVideoTitleView"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textSize="@dimen/video_item_search_uploader_text_size"
|
||||
tools:text="Uploader"/>
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/itemRoot"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="@dimen/video_item_search_padding">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemThumbnailView"
|
||||
android:layout_width="@dimen/video_item_grid_thumbnail_image_width"
|
||||
android:layout_height="@dimen/video_item_grid_thumbnail_image_height"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
|
||||
android:contentDescription="@string/list_thumbnail_view_description"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/dummy_thumbnail"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemDurationView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_marginBottom="@dimen/video_item_search_duration_margin"
|
||||
android:layout_marginRight="@dimen/video_item_search_duration_margin"
|
||||
android:background="@color/duration_background_color"
|
||||
android:paddingBottom="@dimen/video_item_search_duration_vertical_padding"
|
||||
android:paddingLeft="@dimen/video_item_search_duration_horizontal_padding"
|
||||
android:paddingRight="@dimen/video_item_search_duration_horizontal_padding"
|
||||
android:paddingTop="@dimen/video_item_search_duration_vertical_padding"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/duration_text_color"
|
||||
android:textSize="@dimen/video_item_search_duration_text_size"
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:text="1:09:10" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/itemHandle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="55dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:contentDescription="@string/detail_drag_description"
|
||||
android:paddingLeft="@dimen/video_item_search_image_right_margin"
|
||||
android:scaleType="center"
|
||||
android:src="?attr/drag_handle"
|
||||
tools:ignore="RtlHardcoded,RtlSymmetry" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemVideoTitleView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignEnd="@id/itemThumbnailView"
|
||||
android:layout_alignLeft="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_alignStart="@id/itemThumbnailView"
|
||||
android:layout_below="@id/itemThumbnailView"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textSize="@dimen/video_item_search_title_text_size"
|
||||
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique..." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/itemAdditionalDetails"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignEnd="@id/itemThumbnailView"
|
||||
android:layout_alignLeft="@id/itemThumbnailView"
|
||||
android:layout_alignRight="@id/itemThumbnailView"
|
||||
android:layout_alignStart="@id/itemThumbnailView"
|
||||
android:layout_below="@+id/itemVideoTitleView"
|
||||
android:lines="1"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textSize="@dimen/video_item_search_uploader_text_size"
|
||||
tools:text="Uploader" />
|
||||
|
||||
</RelativeLayout>
|
|
@ -7,11 +7,7 @@
|
|||
<item
|
||||
android:id="@+id/pause"
|
||||
android:title="@string/pause"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/view"
|
||||
android:title="@string/view"/>
|
||||
|
||||
|
||||
<item
|
||||
android:id="@+id/delete"
|
||||
android:title="@string/delete"/>
|
||||
|
|
|
@ -28,13 +28,13 @@
|
|||
<string name="network_error">خطأ في الشبكة</string>
|
||||
<string name="next_video_title">الفيديو التالي</string>
|
||||
<string name="no_player_found">لا يوجد مشغل فيديو. هل تريد تثبيت VLC ؟</string>
|
||||
<string name="open_in_browser">فتح في المتصفح</string>
|
||||
<string name="open_in_browser">افتح في المتصفح</string>
|
||||
<string name="play_audio">الصوت</string>
|
||||
<string name="play_btn_text">تشغيل</string>
|
||||
<string name="play_with_kodi_title">تشغيل بواسطة Kodi</string>
|
||||
<string name="play_with_kodi_title">تشغيل بواسطة كودي</string>
|
||||
<string name="screen_rotation">التدوير</string>
|
||||
<string name="search">بحث</string>
|
||||
<string name="search_language_title">اللغة الإفتراضية للمحتوى</string>
|
||||
<string name="content_language_title">اللغة الإفتراضية للمحتوى</string>
|
||||
<string name="settings">الإعدادات</string>
|
||||
<string name="settings_category_appearance_title">المظهر</string>
|
||||
<string name="settings_category_other_title">اخرى</string>
|
||||
|
@ -42,8 +42,8 @@
|
|||
<string name="share">مشاركة</string>
|
||||
<string name="share_dialog_title">مشاركة بواسطة</string>
|
||||
<string name="show_next_and_similar_title">عرض الفديوهات \'التالية\'و\'المماثلة\'</string>
|
||||
<string name="show_play_with_kodi_summary">عرض خيار لتشغيل الفيديو بواسطة Kodi Media Center</string>
|
||||
<string name="show_play_with_kodi_title">عرض خيار التشغيل بواسطة Kodi</string>
|
||||
<string name="show_play_with_kodi_summary">عرض خيار لتشغيل الفيديو بواسطة مشغل كودي</string>
|
||||
<string name="show_play_with_kodi_title">عرض خيار التشغيل بواسطة كودي</string>
|
||||
<string name="theme_title">السمة</string>
|
||||
<string name="upload_date_text">تم النشر يوم %1$s</string>
|
||||
<string name="url_not_supported_toast">الرابط غير مدعوم</string>
|
||||
|
@ -66,30 +66,30 @@
|
|||
|
||||
<string name="fragment_whats_new">ما الجديد</string>
|
||||
|
||||
<string name="controls_background_title">الخلفية</string>
|
||||
<string name="controls_background_title">في الخلفية</string>
|
||||
<string name="autoplay_by_calling_app_title">تشغيل تلقائي</string>
|
||||
<string name="black_theme_title">اسود</string>
|
||||
<string name="enable_watch_history_title">التاريخ وذاكرة التخزين المؤقت</string>
|
||||
<string name="settings_category_history_title">التاريخ و ذاكرة التخزين المؤقتة</string>
|
||||
<string name="settings_category_history_title">التاريخ و التخزين المؤقت</string>
|
||||
<string name="content">المحتوى</string>
|
||||
<string name="downloads">التنزيلات</string>
|
||||
<string name="downloads_title">التنزيلات</string>
|
||||
<string name="all">الكل</string>
|
||||
<string name="channel">القناة</string>
|
||||
<string name="video">فيديو</string>
|
||||
<string name="video">الفيديو</string>
|
||||
<string name="settings_category_downloads_title">التنزيل</string>
|
||||
<string name="action_about">عن التطبيق</string>
|
||||
<string name="tab_about">عن التطبيق</string>
|
||||
<string name="title_activity_history">التاريخ</string>
|
||||
<string name="action_history">التاريخ</string>
|
||||
<string name="open_in_popup_mode">فتح في وضع النافذة المنبثقة</string>
|
||||
<string name="open_in_popup_mode">افتح في وضع النافذة المنبثقة</string>
|
||||
<string name="use_external_video_player_summary">"بعض الخيارات الدقة لن تحتوي على صوت عند تمكين هذا الخيار "</string>
|
||||
<string name="popup_mode_share_menu_title">وضع النوافذ المنبثقة NewPipe</string>
|
||||
<string name="channel_unsubscribed">تم إلغاء الاشتراك في القناة</string>
|
||||
<string name="subscription_change_failed">تعذر تغيير حالة الاشتراك</string>
|
||||
<string name="subscription_update_failed">تعذر تحديث الاشتراك</string>
|
||||
|
||||
<string name="controls_popup_title">نافذة</string>
|
||||
<string name="controls_popup_title">نافذة المنبثقة</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_summary">تشغيل مقطع الفيديو عند إستدعاء NewPipe من تطبيق آخر</string>
|
||||
<string name="default_popup_resolution_title">الدقة الافتراضية لنوافذ المنبثقة</string>
|
||||
|
@ -107,11 +107,11 @@
|
|||
<string name="enable_watch_history_summary">تتبع مقاطع الفيديو التي تمت مشاهدتها</string>
|
||||
<string name="resume_on_audio_focus_gain_title">استئناف عند اكتساب التركيز</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">متابعة التشغيل بعد المقاطعات (مثل المكالمات الهاتفية)</string>
|
||||
<string name="show_hold_to_append_title">عرض\"عقد لإلحاق\"عنوان</string>
|
||||
<string name="show_hold_to_append_summary">عرض تلميح أو زر منبثق عند الضغط على خلفية على صفحة تفاصيل الفيديو</string>
|
||||
<string name="show_hold_to_append_title">عرض تلميح \"اضغط للتجاهل\"</string>
|
||||
<string name="show_hold_to_append_summary">عرض تلميح على صفحة التفاصيل عند استخدام وضع مشغل الخلفية أو النافذة المنبثقة</string>
|
||||
<string name="settings_category_player_title">المشغل</string>
|
||||
<string name="settings_category_player_behavior_title">السلوك</string>
|
||||
<string name="settings_category_popup_title">المنبثق</string>
|
||||
<string name="settings_category_popup_title">الوضع المنبثق</string>
|
||||
<string name="popup_playing_toast">يتم التشغيل في الوضع المنبثق</string>
|
||||
<string name="background_player_append">تم وضعه على قائمة الانتظار في مشغل الخلفية</string>
|
||||
<string name="popup_playing_append">تم وضعه على قائمة الانتظار في مشغل النافذة المنبثقة</string>
|
||||
|
@ -177,9 +177,9 @@
|
|||
<item quantity="zero">صفر مشترِك</item>
|
||||
<item quantity="one">%s مشترِك</item>
|
||||
<item quantity="two">مشترِكان</item>
|
||||
<item quantity="few">%s مشترك</item>
|
||||
<item quantity="few">%s مشتركين</item>
|
||||
<item quantity="many">%s مشترك</item>
|
||||
<item quantity="other">%s مشتركون</item>
|
||||
<item quantity="other">%s مشترك</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">دون مشاهدات</string>
|
||||
|
@ -194,7 +194,7 @@
|
|||
<string name="finish">حسناً</string>
|
||||
|
||||
<string name="msg_name">اسم الملف</string>
|
||||
<string name="msg_threads">الخيوط</string>
|
||||
<string name="msg_threads">التقسيم</string>
|
||||
<string name="msg_error">الخطأ</string>
|
||||
<string name="msg_server_unsupported">الخادم غير معتمد</string>
|
||||
<string name="msg_exists">الملف موجود مسبقا</string>
|
||||
|
@ -208,8 +208,8 @@
|
|||
\nللفتح في وضع النافذة المنبثقة</string>
|
||||
|
||||
<string name="reCaptchaActivity">اختبار reCAPTCHA</string>
|
||||
<string name="settings_file_charset_title">الأحرف المسموح بها في أسماء الملفات</string>
|
||||
<string name="settings_file_replacement_character_summary">يتم استبدال الأحرف غير الصالحة بهذه القيمة</string>
|
||||
<string name="settings_file_charset_title">السماح بالرموز في أسماء الملفات</string>
|
||||
<string name="settings_file_replacement_character_summary">يتم استبدال الرموز غير المسموح بها بهذه القيمة</string>
|
||||
<string name="settings_file_replacement_character_title">استبدال الحرف</string>
|
||||
|
||||
<string name="charset_letters_and_digits">الحروف والأرقام</string>
|
||||
|
@ -222,7 +222,7 @@
|
|||
<string name="action_open_website">فتح الموقع</string>
|
||||
<string name="tab_contributors">المساهمون</string>
|
||||
<string name="tab_licenses">التراخيص</string>
|
||||
<string name="app_description">تطبيق حُر و خفيف لالتقاط البث على نظام الأندرويد.</string>
|
||||
<string name="app_description">تطبيق حُر و خفيف لتشغيل اليوتيوب على نظام الأندرويد.</string>
|
||||
<string name="contribution_title">ساهم</string>
|
||||
<string name="contribution_encouragement">إذا كانت لديك أفكار؛ أو ترجمة، أو تغييرات تخص التصميم، أو تنظيف و تحسين الشفرة البرمجية ، أو تعديلات عميقة عليها، فتذكر أنّ مساعدتك دائما موضع ترحيب. وكلما أتممنا شيئا كلما كان ذلك أفضل !</string>
|
||||
<string name="view_on_github">عرض على GitHub</string>
|
||||
|
@ -258,17 +258,17 @@
|
|||
<string name="play_queue_remove">حذف</string>
|
||||
<string name="play_queue_stream_detail">التفاصيل</string>
|
||||
<string name="play_queue_audio_settings">الإعدادات الصوتية</string>
|
||||
<string name="start_here_on_main">ابدء التشغيل هنا</string>
|
||||
<string name="start_here_on_main">تشغيل هنا</string>
|
||||
<string name="start_here_on_popup">تشغيل هنا في وضع النافذة المنبثقة</string>
|
||||
<string name="reCaptcha_title">تحدي ريكابتشا</string>
|
||||
<string name="hold_to_append">اضغط للإدراج في قائمة الانتظار</string>
|
||||
<plurals name="views">
|
||||
<item quantity="zero">لاتوجد مشاهدة</item>
|
||||
<item quantity="zero">بدون مشاهدات</item>
|
||||
<item quantity="one">%s مشاهدة</item>
|
||||
<item quantity="two">مشاهدتين</item>
|
||||
<item quantity="few">%s مشاهدات كثيرة</item>
|
||||
<item quantity="many">%s عدد المشاهدات</item>
|
||||
<item quantity="other">%s أقصى مشاهدات</item>
|
||||
<item quantity="few">%s مشاهدات</item>
|
||||
<item quantity="many">%s مشاهدات</item>
|
||||
<item quantity="other">%s مشاهدة</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="videos">
|
||||
|
@ -289,7 +289,7 @@
|
|||
<string name="kiosk">الكشك</string>
|
||||
<string name="enqueue_on_background">إدراج في قائمة الانتظار في الخلفية</string>
|
||||
<string name="enqueue_on_popup">إدراج في قائمة الانتظار على المنبثقة</string>
|
||||
<string name="start_here_on_background">ابدأ هنا في الخلفية</string>
|
||||
<string name="start_here_on_background">تشغيل في الخلفية</string>
|
||||
<string name="default_content_country_title">المحتوى الإفتراضي حسب البلد</string>
|
||||
<string name="toggle_orientation">تغيير الإتجاه</string>
|
||||
<string name="switch_to_background">الإنتقال إلى التشغيل في الخلفية</string>
|
||||
|
@ -375,7 +375,7 @@
|
|||
<string name="resize_fit">تناسب مع الشاشة</string>
|
||||
<string name="caption_auto_generated">توليد تلقائي</string>
|
||||
|
||||
<string name="import_export_title">إستيراد وتصدير</string>
|
||||
<string name="import_export_title">إستيراد او تصدير</string>
|
||||
<string name="import_title">إستيراد</string>
|
||||
<string name="import_from">إستعادة مِن</string>
|
||||
<string name="export_to">تصدير إلى</string>
|
||||
|
@ -419,7 +419,7 @@
|
|||
<string name="external_player_unsupported_link_type">المشغل الخارجي لا يدعم هذه الأنواع من الروابط</string>
|
||||
<string name="invalid_source">ملف غير صالح / محتوى غير صالح</string>
|
||||
<string name="invalid_file">الملف غير موجود أو ليس لديك الإذن الكافي للقراءة أو الكتابة فيه</string>
|
||||
<string name="no_streams_available_download">لا توجد تدفقات متاحة للتنزيل</string>
|
||||
<string name="no_streams_available_download">لا يوجد بث متاح للتنزيل</string>
|
||||
|
||||
<string name="one_item_deleted">تم حذف عنصر واحد.</string>
|
||||
|
||||
|
@ -438,7 +438,7 @@
|
|||
|
||||
<string name="background_player">مشغل الخلفية</string>
|
||||
<string name="popup_player">المشغل المنبثق</string>
|
||||
<string name="previous_export">التصدير السابق</string>
|
||||
<string name="previous_export">نسخة احتياطية</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">تعذر استيراد الاشتراكات</string>
|
||||
<string name="subscriptions_export_unsuccessful">لا يمكن تصدير الاشتراكات</string>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<string name="next_video_title">Videu siguiente</string>
|
||||
<string name="show_next_and_similar_title">Amosar vídeos siguientes y asemeyaos</string>
|
||||
<string name="url_not_supported_toast">URL non sofitada</string>
|
||||
<string name="search_language_title">Llingua por defeutu del conteníu</string>
|
||||
<string name="content_language_title">Llingua por defeutu del conteníu</string>
|
||||
<string name="settings_category_video_audio_title">Videu y audiu</string>
|
||||
<string name="settings_category_appearance_title">Aspeutu</string>
|
||||
<string name="settings_category_other_title">Otru</string>
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
<string name="url_not_supported_toast">URL не падтрымліваецца</string>
|
||||
<string name="default_content_country_title">Краіна кантэнту па змаўчанні</string>
|
||||
<string name="service_title">Сэрвіс</string>
|
||||
<string name="search_language_title">Мова кантэнту па змаўчанні</string>
|
||||
<string name="content_language_title">Мова кантэнту па змаўчанні</string>
|
||||
<string name="settings_category_player_title">Плэер</string>
|
||||
<string name="settings_category_player_behavior_title">Павядзенне</string>
|
||||
<string name="settings_category_video_audio_title">Відэа і аўдыё</string>
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
<string name="show_next_and_similar_title">Показвай „следващ“ и „подобни“</string>
|
||||
<string name="show_hold_to_append_title">Показвай съвет „задръж за добавяне“</string>
|
||||
<string name="url_not_supported_toast">Непознат URL</string>
|
||||
<string name="search_language_title">Език на съдържанието по подразбиране</string>
|
||||
<string name="content_language_title">Език на съдържанието по подразбиране</string>
|
||||
<string name="settings_category_player_title">Плейър</string>
|
||||
<string name="settings_category_player_behavior_title">Поведение</string>
|
||||
<string name="settings_category_video_audio_title">Видео & Аудио</string>
|
||||
|
@ -288,7 +288,7 @@
|
|||
<string name="clear_views_history_summary">Изтрива историята на възпроизвежданите стриймове</string>
|
||||
<string name="video_streams_empty">Не са намерени видео стриймове</string>
|
||||
<string name="audio_streams_empty">Не са намерени аудио стриймове</string>
|
||||
<string name="info_labels">"Какво:\\nЗаявка:\\nЕзик на съдържанието:\\nУслуга:\\nВреме по GMT:\\nПакет:\\nВерсия:\\nОС версия: "</string>
|
||||
<string name="info_labels">Какво:\\nЗаявка:\\nЕзик на съдържанието:\\nУслуга:\\nВреме по GMT:\\nПакет:\\nВерсия:\\nОС версия:</string>
|
||||
<string name="list_thumbnail_view_description">Миниатюра на видео</string>
|
||||
<string name="user_report">Потребителски доклад</string>
|
||||
<string name="detail_drag_description">Пренареди чрез плъзгане</string>
|
||||
|
@ -461,4 +461,5 @@
|
|||
<string name="users">Потребители</string>
|
||||
<string name="playback_reset">Възстанови</string>
|
||||
|
||||
<string name="playback_step">Стъпка</string>
|
||||
</resources>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<string name="next_video_title">পরবর্তী ভিডিও</string>
|
||||
<string name="show_next_and_similar_title">পরবর্তী এবং অনুরূপ ভিডিওগুলি দেখাও</string>
|
||||
<string name="url_not_supported_toast">URL সমর্থিত নয়</string>
|
||||
<string name="search_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string>
|
||||
<string name="content_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string>
|
||||
<string name="settings_category_video_audio_title">ভিডিও এবং অডিও</string>
|
||||
<string name="settings_category_popup_title">পপআপ</string>
|
||||
<string name="settings_category_appearance_title">অ্যাপিয়ারেন্স</string>
|
||||
|
|
|
@ -177,7 +177,7 @@
|
|||
<string name="next_video_title">Vídeo següent</string>
|
||||
<string name="show_next_and_similar_title">Mostra el vídeo següent i similars</string>
|
||||
<string name="default_content_country_title">País per defecte dels continguts</string>
|
||||
<string name="search_language_title">Llengua per defecte dels continguts</string>
|
||||
<string name="content_language_title">Llengua per defecte dels continguts</string>
|
||||
<string name="settings_category_popup_title">Emergent</string>
|
||||
<string name="background_player_playing_toast">S\'està reproduint en segon pla</string>
|
||||
<string name="popup_playing_toast">S\'està reproduint en mode emergent</string>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="main_bg_subtitle">点按搜索即可开始</string>
|
||||
<string name="view_count_text">%1$s 意见</string>
|
||||
<string name="upload_date_text">发布 %1$s</string>
|
||||
<string name="no_player_found">找不到流播放器。你想安装VLC吗?</string>
|
||||
<string name="no_player_found_toast">找不到流播放器(您可以安装VLC播放它)</string>
|
||||
<resources><string name="main_bg_subtitle">点击搜索按钮即可开始使用</string>
|
||||
<string name="view_count_text">%1$s 次观看</string>
|
||||
<string name="upload_date_text">发布于 %1$s</string>
|
||||
<string name="no_player_found">找不到流媒体播放器。您想安装 VLC 吗?</string>
|
||||
<string name="no_player_found_toast">找不到流媒体播放器(您可以安装 VLC 来播放)</string>
|
||||
<string name="install">安装</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="open_in_browser">在浏览器中打开</string>
|
||||
<string name="open_in_popup_mode">在弹出模式下打开</string>
|
||||
<string name="open_in_popup_mode">在悬浮窗模式下打开</string>
|
||||
<string name="share">分享</string>
|
||||
<string name="download">下载</string>
|
||||
<string name="controls_download_desc">下载流文件.</string>
|
||||
<string name="controls_download_desc">下载流媒体文件。</string>
|
||||
<string name="search">搜索</string>
|
||||
<string name="settings">设置</string>
|
||||
<string name="did_you_mean">你的意思是: %1$s ?</string>
|
||||
<string name="share_dialog_title">与某人分享</string>
|
||||
<string name="did_you_mean">您是不是要找: %1$s ?</string>
|
||||
<string name="share_dialog_title">分享至</string>
|
||||
<string name="choose_browser">选择浏览器</string>
|
||||
<string name="screen_rotation">回转</string>
|
||||
<string name="screen_rotation">旋转</string>
|
||||
<string name="use_external_video_player_title">使用外部视频播放器</string>
|
||||
<string name="use_external_video_player_summary">启用此选项时,某些分辨率将不会有音频</string>
|
||||
<string name="use_external_audio_player_title">使用外部音频播放器</string>
|
||||
|
@ -65,7 +65,7 @@
|
|||
<string name="black_theme_title">黑色</string>
|
||||
<string name="popup_remember_size_pos_title">记住弹出窗口的尺寸与位置</string>
|
||||
<string name="popup_remember_size_pos_summary">记住上一次弹出窗口的位置以及大小</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">清理照片内存</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">已清除图像缓存</string>
|
||||
<string name="minimize_on_exit_popup_description">最小化弹出播放器</string>
|
||||
|
||||
|
||||
|
@ -120,4 +120,11 @@
|
|||
<string name="minimize_on_exit_summary">从主视频播放器切换到其他应用程序时的操作 - %s</string>
|
||||
<string name="minimize_on_exit_none_description">没有</string>
|
||||
<string name="minimize_on_exit_background_description">最小化背景播放器</string>
|
||||
<string name="webm_description">WebM — 自由视频格式</string>
|
||||
<string name="use_inexact_seek_title">使用快速粗略定位</string>
|
||||
<string name="use_inexact_seek_summary">粗略定位功能允许播放器以略低的精确度为代价换取更快的定位速度</string>
|
||||
<string name="download_thumbnail_title">下载缩略图</string>
|
||||
<string name="metadata_cache_wipe_title">清除缓存的元数据</string>
|
||||
<string name="metadata_cache_wipe_summary">移除所有缓存的网页数据</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">已清除缓存的元数据</string>
|
||||
</resources>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<string name="next_video_title">Další videa</string>
|
||||
<string name="show_next_and_similar_title">Zobrazovat \'další\' a \'podobná\' videa</string>
|
||||
<string name="url_not_supported_toast">URL není podporováno</string>
|
||||
<string name="search_language_title">Preferovaný jazyk obsahu</string>
|
||||
<string name="content_language_title">Preferovaný jazyk obsahu</string>
|
||||
<string name="settings_category_video_audio_title">Video a zvuk</string>
|
||||
<string name="settings_category_appearance_title">Vzhled</string>
|
||||
<string name="settings_category_other_title">Ostatní</string>
|
||||
|
@ -372,7 +372,7 @@ otevření ve vyskakovacím okně</string>
|
|||
<string name="playlist_thumbnail_change_success">Náhled playlistu změněn</string>
|
||||
<string name="playlist_delete_failure">Playlist nelze smazat</string>
|
||||
|
||||
<string name="caption_none">Žádné poznámky</string>
|
||||
<string name="caption_none">Žádné titulky</string>
|
||||
|
||||
<string name="resize_fit">Přizpůsobit</string>
|
||||
<string name="resize_fill">Vyplnit</string>
|
||||
|
@ -457,8 +457,8 @@ otevření ve vyskakovacím okně</string>
|
|||
<string name="preferred_open_action_settings_title">Preferovaná \'otevřít\' akce</string>
|
||||
<string name="preferred_open_action_settings_summary">Výchozí chování při otevírání obsahu — %s</string>
|
||||
|
||||
<string name="caption_setting_title">Poznámky</string>
|
||||
<string name="caption_setting_description">Upravuje velikost textu poznámek a styly pozadí. Změny se projeví po restartu aplikace</string>
|
||||
<string name="caption_setting_title">Titulky</string>
|
||||
<string name="caption_setting_description">Upravuje velikost textu titulků a styly pozadí. Změny se projeví po restartu aplikace</string>
|
||||
|
||||
<string name="toast_no_player">K přehrání tohoto souboru chybí vhodná aplikace</string>
|
||||
|
||||
|
@ -473,4 +473,31 @@ otevření ve vyskakovacím okně</string>
|
|||
<string name="one_item_deleted">Jedna položka smazána.</string>
|
||||
|
||||
<string name="app_license">NewPipe je copyleft libre software: Můžete jej používat, sdílet a vylepšovat dle vaší vůle. Redistribuovat a/nebo upravovat lze za podmínek GNU General Public Licence zveřejňované nadací Free Software Foundation, a to buď za podmínek licence verze 3 nebo (dle vaší volby) jakékoli pozdější verze.</string>
|
||||
</resources>
|
||||
<string name="channels">kanály</string>
|
||||
<string name="playlists">Playlisty</string>
|
||||
<string name="tracks">Stopy</string>
|
||||
<string name="users">Uživatelé</string>
|
||||
<string name="privacy_policy_title">Zásady ochrany soukromí v NewPipe</string>
|
||||
<string name="privacy_policy_encouragement">Projekt NewPipe bere vaše soukromí velice vážně. Proto aplikace neshromažďuje žádné údaje bez vašeho souhlasu.
|
||||
\nZásady ochrany soukromí NewPipe podrobně vysvětlují, jaké údaje jsou odesílány a ukládány, když odešlete zprávu o pádu aplikace.</string>
|
||||
<string name="read_privacy_policy">Přečíst zásady ochrany soukromí</string>
|
||||
<string name="import_settings">Chcete také přenést nastavení?</string>
|
||||
|
||||
<string name="skip_silence_checkbox">Zrychleně vpřed během ticha</string>
|
||||
<string name="playback_step">Krok</string>
|
||||
<string name="playback_reset">Reset</string>
|
||||
|
||||
<string name="start_accept_privacy_policy">Abychom vyhověli Obecnému nařízení o ochraně osobních údajů (GDPR), upozorňujeme vás na zásady ochrany soukromí v NewPipe. Přečtěte si je prosím pozorně.
|
||||
\nJe potřeba je odsouhlasit, abyste nám mohli odeslat hlášení chyb.</string>
|
||||
<string name="accept">Přijmout</string>
|
||||
<string name="decline">Odmítnout</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Bez omezení</string>
|
||||
<string name="limit_mobile_data_usage_title">Omezit rozlišení při použití mobilních dat</string>
|
||||
<string name="minimize_on_exit_title">Minimalizovat při přepínání aplikací</string>
|
||||
<string name="minimize_on_exit_summary">Akce při přepínání aplikací z hlavního přehrávače videa - %s</string>
|
||||
<string name="minimize_on_exit_none_description">Žádná</string>
|
||||
<string name="minimize_on_exit_background_description">Minimalizovat přehrávač na pozadí</string>
|
||||
<string name="minimize_on_exit_popup_description">Minimalizovat přehrávač do vyskakovacího okna</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<string name="download">Download</string>
|
||||
<string name="search">Suchen</string>
|
||||
<string name="settings">Einstellungen</string>
|
||||
<string name="did_you_mean">Meintest du: %1$s ?</string>
|
||||
<string name="did_you_mean">Meintest du: %1$s\?</string>
|
||||
<string name="share_dialog_title">Teilen mit</string>
|
||||
<string name="choose_browser">Browser auswählen</string>
|
||||
<string name="screen_rotation">Drehen des Geräts</string>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<string name="show_next_and_similar_title">\'Nächste\' und \'ähnliche\' Videos anzeigen</string>
|
||||
<string name="url_not_supported_toast">URL wird nicht unterstützt</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="search_language_title">Bevorzugte Sprache des Inhalts</string>
|
||||
<string name="content_language_title">Bevorzugte Sprache des Inhalts</string>
|
||||
<string name="list_thumbnail_view_description">Video-Vorschaubild</string>
|
||||
<string name="detail_thumbnail_view_description">Video-Vorschaubild</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Nutzerbild</string>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="next_video_title">Επόμενο βίντεο</string>
|
||||
<string name="show_next_and_similar_title">Εμφάνιση \"επόμενου\" και \"σχετικών\" βίντεο</string>
|
||||
<string name="url_not_supported_toast">Δεν υποστηρίζεται η διεύθυνση URL</string>
|
||||
<string name="search_language_title">Προεπιλεγμένη γλώσσα περιεχομένου</string>
|
||||
<string name="content_language_title">Προεπιλεγμένη γλώσσα περιεχομένου</string>
|
||||
<string name="settings_category_video_audio_title">Βίντεο & Ήχος</string>
|
||||
<string name="settings_category_appearance_title">Εμφάνιση</string>
|
||||
<string name="settings_category_other_title">Άλλα</string>
|
||||
|
@ -217,7 +217,7 @@
|
|||
<string name="invalid_url_toast">Μη έγκυρο URL</string>
|
||||
<string name="video_streams_empty">Δε βρέθηκαν ροές βίντεο</string>
|
||||
<string name="audio_streams_empty">Δε βρέθηκαν ροές ήχου</string>
|
||||
<string name="invalid_directory">Μη έγκυρη τοποθεσία</string>
|
||||
<string name="invalid_directory">Μη έγκυρη διεύθυνση</string>
|
||||
<string name="invalid_source">Μη έγκυρο αρχείο ή πηγή περιεχομένου</string>
|
||||
<string name="invalid_file">Το αρχείο δεν υπάρχει ή δεν έχουμε επαρκή εξουσιοδότηση για να διαβάσουμε ή να γράψουμε σε αυτό</string>
|
||||
<string name="file_name_empty_error">Το όνομα αρχείου δεν μπορεί να είναι κενό</string>
|
||||
|
@ -301,7 +301,7 @@
|
|||
<string name="error_unable_to_load_license">Δεν ήταν δυνατή η φόρτωση της άδειας</string>
|
||||
<string name="tab_about">Περί</string>
|
||||
<string name="tab_contributors">Συνεισφέροντες</string>
|
||||
<string name="app_description">Ελέυθερη και ελαφριά εφαρμογή αναπαραγωγής ροών στο Android.</string>
|
||||
<string name="app_description">Ανοιχτού κώδικα, ελαφριά εφαρμογή του Android, για την αναπαραγωγή πολυμεσων από το ίντερνετ.</string>
|
||||
<string name="contribution_title">Συνεισφέρετε</string>
|
||||
<string name="contribution_encouragement">Αν έχετε ιδέες για μετάφραση, αλλαγή σχεδιασμού, εκκαθάριση ή ριζικές αλλαγές κώδικα της εφαρμογής—η βοήθεια σας είναι πάντα ευπρόσδεκτη. Όσο περισσότερη έχουμε, τόσο καλύτεροι γινόμαστε!</string>
|
||||
<string name="view_on_github">Δείτε το στο GitHub</string>
|
||||
|
@ -405,7 +405,7 @@
|
|||
<string name="caption_setting_description">Τροποποίηση του μεγέθους και του φόντου των υπότιτλων. Απαιτεί επανεκκίνηση της εφαρμογής</string>
|
||||
|
||||
<string name="enable_leak_canary_title">Ενεργοποίηση του LeakCanary</string>
|
||||
<string name="enable_leak_canary_summary">Η παρακολούθηση των διαρροών μνήμης μπορεί να κάνει την εφαρμογή να μην αποκρίνεται κατά το heap dumping</string>
|
||||
<string name="enable_leak_canary_summary">Η παρακολούθηση των διαρροών μνήμης μπορεί να προκαλέσει την διακοπή της εφαρμογής</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_summary"/>
|
||||
|
||||
|
@ -442,7 +442,7 @@
|
|||
<string name="playback_tempo">Τέμπο</string>
|
||||
<string name="playback_pitch">Τόνος</string>
|
||||
<string name="minimize_on_exit_summary">Ενέργεια κατά τη μετάβαση σε άλλη εφαρμογή — %s</string>
|
||||
<string name="feed_page_summary">Σελίδαρ Ροής</string>
|
||||
<string name="feed_page_summary">Σελίδα Ροής</string>
|
||||
<string name="trending">Δημοφιλή</string>
|
||||
<string name="enable_disposed_exceptions_title">Αναφορά σφαλμάτων εκτός κύκλου ζωής</string>
|
||||
<string name="import_soundcloud_instructions_hint">Το όνομα χρήστη σας, soundcloud.com/όνομαχρήστη</string>
|
||||
|
@ -450,7 +450,7 @@
|
|||
<string name="unhook_checkbox">Αποσύνδεση (μπορεί να προκαλέσει παραμόρφωση)</string>
|
||||
<string name="skip_silence_checkbox">Επιτάχυνση αναπαραγωγής κατά τη διάρκεια σιωπής</string>
|
||||
<string name="playback_step">Βήμα</string>
|
||||
<string name="playback_reset">Μηδενισμός</string>
|
||||
<string name="playback_reset">Επαναφορά</string>
|
||||
|
||||
<string name="start_accept_privacy_policy">Προς συμμόρφωση με τον Ευρωπαϊκό Γενικό Κανονισμό για την Προστασία Δεδομένων (GDPR), σας επιστούμε την προσοχή στην πολιτική προστασίας προσωπικών δεδομένων του NewPipe. Παραλούμε, διαβάστε την προσεκτικά.
|
||||
\nΘα πρέπει να την αποδεχτέιτε προκειμένου να μας αποστείλετε την αναφορά σφάλματος.</string>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<string name="download_dialog_title">Elŝuti</string>
|
||||
<string name="next_video_title">Sekva video</string>
|
||||
<string name="url_not_supported_toast">Ligilo ne subtenita</string>
|
||||
<string name="search_language_title">Preferata enhavlingvo</string>
|
||||
<string name="content_language_title">Preferata enhavlingvo</string>
|
||||
<string name="settings_category_video_audio_title">Video kaj sono</string>
|
||||
<string name="settings_category_appearance_title">Apero</string>
|
||||
<string name="settings_category_other_title">Alia</string>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<string name="youtube_signature_decryption_error">No se pudo descifrar la URL del vídeo</string>
|
||||
<string name="parsing_error">No se pudo analizar el sitio web</string>
|
||||
<string name="show_next_and_similar_title">Mostrar vídeos \'siguientes\' y \'similares\'</string>
|
||||
<string name="search_language_title">Idioma del contenido por defecto</string>
|
||||
<string name="content_language_title">Idioma del contenido por defecto</string>
|
||||
<string name="list_thumbnail_view_description">Vista previa del vídeo</string>
|
||||
<string name="detail_thumbnail_view_description">Vista previa del vídeo</string>
|
||||
<string name="detail_likes_img_view_description">Me gusta</string>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
<string name="url_not_supported_toast">URL pole toetatud</string>
|
||||
<string name="default_content_country_title">Sisu vaikimisi riik</string>
|
||||
<string name="service_title">Teenus</string>
|
||||
<string name="search_language_title">Sisu vaikimisi keel</string>
|
||||
<string name="content_language_title">Sisu vaikimisi keel</string>
|
||||
<string name="settings_category_player_title">Pleier</string>
|
||||
<string name="settings_category_player_behavior_title">Käitumine</string>
|
||||
<string name="settings_category_video_audio_title">Heli ja pilt</string>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<string name="next_video_title">Hurrengo bideoa</string>
|
||||
<string name="show_next_and_similar_title">Erakutsi \'hurrengo\' eta \'antzeko\' bideoak</string>
|
||||
<string name="url_not_supported_toast">URLak ez du euskarririk</string>
|
||||
<string name="search_language_title">Edukiaren hizkuntz lehenetsia</string>
|
||||
<string name="content_language_title">Edukiaren hizkuntz lehenetsia</string>
|
||||
<string name="settings_category_video_audio_title">Bideoa eta Audioa</string>
|
||||
<string name="play_btn_text">Erreproduzitu</string>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<string name="next_video_title">ویدیوی بعدی</string>
|
||||
<string name="show_next_and_similar_title">نماش ویدیوهای بعدی و مشابه</string>
|
||||
<string name="url_not_supported_toast">نشانی اینترنتی پشتیبانی نمیشود</string>
|
||||
<string name="search_language_title">زبان محتوای ترجیحی</string>
|
||||
<string name="content_language_title">زبان محتوای ترجیحی</string>
|
||||
<string name="settings_category_video_audio_title">ویدیو و صدا</string>
|
||||
<string name="settings_category_appearance_title">ظاهر</string>
|
||||
<string name="settings_category_other_title">دیگر</string>
|
||||
|
@ -117,4 +117,21 @@
|
|||
<string name="msg_copied">در حافظه رونوشت شد.</string>
|
||||
<string name="no_available_dir">لطفاً یک شاخهٔ بارگیری موجود را برگزینید.</string>
|
||||
|
||||
</resources>
|
||||
<string name="no_player_found_toast">هیچ پخش کننده استریمی پیدا نشد (شما میتوانید برنامه ویالسی را برای پخش آن نصب نمایید)</string>
|
||||
<string name="controls_download_desc">بارگیری پرونده جریان.</string>
|
||||
<string name="use_external_video_player_summary">هنگامی که این گزینه فعال باشد، برخی از کیفیتها فاقد صدا خواهند بود</string>
|
||||
<string name="subscribe_button_title">اشتراک</string>
|
||||
<string name="subscribed_button_title">مشترک شده</string>
|
||||
<string name="channel_unsubscribed">اشتراک کانال لغو شد</string>
|
||||
<string name="subscription_change_failed">ناتوانی در تغییر وضعیت اشتراک</string>
|
||||
<string name="subscription_update_failed">ناتوانی در بهروزرسانی اشتراک</string>
|
||||
<string name="show_info">نمایش اطلاعات</string>
|
||||
|
||||
<string name="tab_main">اصلی</string>
|
||||
<string name="tab_subscriptions">اشتراکها</string>
|
||||
<string name="tab_bookmarks">نشانگذاریها</string>
|
||||
|
||||
<string name="fragment_whats_new">موارد جدید</string>
|
||||
|
||||
<string name="controls_background_title">پس زمینه</string>
|
||||
</resources>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="download_path_audio_dialog_title">Aseta sijainti minne äänitiedostot tallennetaan</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Automaattitoisto</string>
|
||||
<string name="autoplay_by_calling_app_summary">Toistaa automaattisesti videon, kun NewPipe sovellusta kutsutaan toisesta sovelluksesta</string>
|
||||
<string name="autoplay_by_calling_app_summary">Toistaa automaattisesti videon, kun NewPipe avataan toisesta ohjelmasta</string>
|
||||
<string name="default_resolution_title">Oletusresoluutio</string>
|
||||
<string name="default_popup_resolution_title">Ponnahdusikkunan oletusresoluutio</string>
|
||||
<string name="show_higher_resolutions_title">Näytä korkeampia resoluutioita</string>
|
||||
|
@ -66,18 +66,18 @@
|
|||
<string name="show_search_suggestions_summary">Näytä ehdotuksia hakiessa</string>
|
||||
<string name="enable_search_history_title">Hakuhistoria</string>
|
||||
<string name="enable_search_history_summary">Tallentaa hakutietokannan paikallisesti</string>
|
||||
<string name="enable_watch_history_title">Historia</string>
|
||||
<string name="enable_watch_history_title">Historia ja Välimuisti</string>
|
||||
<string name="enable_watch_history_summary">Pidä muistissa katsotut videot</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Jatka toistoa keskeytysten jälkeen (esim. puhelut)</string>
|
||||
<string name="download_dialog_title">Lataus</string>
|
||||
<string name="next_video_title">Seuraava video</string>
|
||||
<string name="show_next_and_similar_title">Näytä seuraavia ja samankaltaisia videoita</string>
|
||||
<string name="url_not_supported_toast">URL ei tueta</string>
|
||||
<string name="search_language_title">Oletus-sisällon kieli</string>
|
||||
<string name="content_language_title">Oletus-sisällon kieli</string>
|
||||
<string name="settings_category_player_title">Soitin</string>
|
||||
<string name="settings_category_player_behavior_title">Käyttäytyminen</string>
|
||||
<string name="settings_category_video_audio_title">Video & Ääni</string>
|
||||
<string name="settings_category_history_title">Historia</string>
|
||||
<string name="settings_category_history_title">Historia ja välimuisti</string>
|
||||
<string name="settings_category_popup_title">Ponnahdusikkuna</string>
|
||||
<string name="settings_category_appearance_title">Ulkoasu</string>
|
||||
<string name="settings_category_other_title">Muu</string>
|
||||
|
@ -170,7 +170,7 @@
|
|||
<string name="no_videos">Ei videoita</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="one">%s video</item>
|
||||
<item quantity="other">%s videota</item>
|
||||
<item quantity="other">%s videoita</item>
|
||||
</plurals>
|
||||
|
||||
<string name="start">Aloita</string>
|
||||
|
@ -216,7 +216,7 @@
|
|||
<string name="tab_about">Tietoja</string>
|
||||
<string name="tab_contributors">Hyväntekijät</string>
|
||||
<string name="tab_licenses">Lisenssit</string>
|
||||
<string name="app_description">Vapaa kevyt Android YouTube-frontend.</string>
|
||||
<string name="app_description">Vapaa ja kevyt nettivideo- ja audiostriimitoistin Androidille.</string>
|
||||
<string name="view_on_github">Näytä GitHub:ssa</string>
|
||||
<string name="app_license_title">NewPipe:n Lisenssi</string>
|
||||
<string name="contribution_encouragement">Olkoon sinulla ideoita; käännöksistä, design muutoksista, koodin siivoamisesta tai raskaista koodimuutoksista—apu on aina tervetullutta. Mitä enemmän saadaan tehtyä, sen paremmaksi sovellus tulee!</string>
|
||||
|
@ -232,7 +232,7 @@
|
|||
<string name="history_cleared">Historia pyyhitty</string>
|
||||
<string name="item_deleted">Poistettu</string>
|
||||
<string name="delete_item_search_history">Haluatko poistaa tämän hakuhistoriasta?</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Jatka toistoa</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Jatka keskeytyksen jälkeen</string>
|
||||
<string name="what_device_headline">Info:</string>
|
||||
<string name="info_labels">Mikä:\\nPyyntö:\\nSisällön kieli:\\nPalvelu:\\nGMT Aika:\\nPaketti:\\nVersio:\\nOS versio:</string>
|
||||
<string name="copyright" formatted="true">© %1$s %2$s %3$s alla</string>
|
||||
|
@ -255,7 +255,7 @@
|
|||
<string name="popup_playing_append">Lisätty ikkunajonoon</string>
|
||||
<string name="play_all">Toista kaikki</string>
|
||||
|
||||
<string name="player_stream_failure">Toisto epäonnistui</string>
|
||||
<string name="player_stream_failure">Tätä ei voitu toistaa</string>
|
||||
<string name="player_unrecoverable_failure">Palautuskelvoton soittimen virhe</string>
|
||||
<string name="player_recoverable_failure">Palaudutaan soittimen virheestä</string>
|
||||
|
||||
|
@ -265,7 +265,7 @@
|
|||
<string name="play_queue_stream_detail">Yksityiskohdat</string>
|
||||
<string name="play_queue_audio_settings">Ääniasetukset</string>
|
||||
<string name="hold_to_append">Pidä pohjassa lisätäksesi jonoon</string>
|
||||
<string name="show_hold_to_append_title">Näytä vihje soittolistalle</string>
|
||||
<string name="show_hold_to_append_title">"Näytä vihje soittolistaan lisäämiseen "</string>
|
||||
<string name="unknown_content">[Tuntematon]</string>
|
||||
|
||||
<string name="enqueue_on_background">Lisää taustatoistojonoon</string>
|
||||
|
@ -274,8 +274,192 @@
|
|||
<string name="start_here_on_background">Aloita toisto taustalla</string>
|
||||
<string name="start_here_on_popup">Aloita toisto ikkunassa</string>
|
||||
<string name="donation_title">Lahjoita</string>
|
||||
<string name="donation_encouragement">NewPipe kehitetään vapaaehtoisten toimesta, jotka käyttävät vapaa-aikaansa tuottaakseen parhaimman kokemuksen sinulle. Nyt on aika antaa takaisin, jotta kehittäjät voivat tehdä NewPipe:sta vielä paremman nauttiessaan kupin kahvia!</string>
|
||||
<string name="donation_encouragement">NewPipe kehitetään vapaaehtoisten toimesta, jotka käyttävät vapaa-aikaansa tuottaakseen parhaan mahdollisen käyttökokemuksen sinulle. Nyt on aika antaa takaisin, jotta kehittäjät voivat tehdä NewPipe:sta vielä paremman nauttiessaan kupin kahvia!</string>
|
||||
<string name="give_back">Anna takaisin</string>
|
||||
<string name="website_title">Websivu</string>
|
||||
<string name="website_encouragement">Käy verkkosivuillamme saadaksesi lisää tietoa ja uusimmat uutiset NewPipe:sta.</string>
|
||||
</resources>
|
||||
<string name="website_encouragement">Käy verkkosivuillamme saadaksesi lisää tietoa ja uusimmat uutiset NewPipe:stä.</string>
|
||||
<string name="no_player_found_toast">Soitinta ei löytynyt (voit asentaa VLC:n toistaaksesi)</string>
|
||||
<string name="controls_download_desc">Lataa toistotiedosto.</string>
|
||||
<string name="show_info">Näytä lisätietoja</string>
|
||||
|
||||
<string name="tab_bookmarks">Kirjanmerkit</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">Lisää soittolistaan</string>
|
||||
|
||||
<string name="use_inexact_seek_title">Käytä nopeampaa epätarkkaa pikakelausta</string>
|
||||
<string name="use_inexact_seek_summary">Epätarkka kelaus mahdollistaa videon kelauksen nopeammin, huonommalla tarkkuudella</string>
|
||||
<string name="download_thumbnail_title">Näytä videoiden pikkukuvat</string>
|
||||
<string name="download_thumbnail_summary">Poista käytöstä lopettaaksesi kaikkien pikkukuvien lataus säästääksesi mobiilidataa ja muistinkäyttöä. Tämän asetuksen muuttaminen poistaa kaikki pikkukuvat välimuistista</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Kuvavälimuisti tyhjennetty</string>
|
||||
<string name="metadata_cache_wipe_title">Poista tallennettu metatieto</string>
|
||||
<string name="metadata_cache_wipe_summary">Poista kaikki tallennettu sivutieto</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">Metatiedot poistettu</string>
|
||||
<string name="auto_queue_summary">Automaattisesti lisää seuraavan youtuben ehdottaman videon soittolistaan, sen viimeisen kappaleen soidessa (Youtuben Autoplay)</string>
|
||||
<string name="default_content_country_title">Sisällön oletusmaa</string>
|
||||
<string name="service_title">Palvelu</string>
|
||||
<string name="settings_category_debug_title">"Virheenkorjaus "</string>
|
||||
<string name="channels">Kanavat</string>
|
||||
<string name="playlists">Soittolistat</string>
|
||||
<string name="tracks">Ääniraidat</string>
|
||||
<string name="users">Käyttäjät</string>
|
||||
<string name="always">Aina</string>
|
||||
<string name="just_once">Vain kerran</string>
|
||||
<string name="file">Tiedosto</string>
|
||||
|
||||
<string name="toggle_orientation">Muuta näytön suuntausta</string>
|
||||
<string name="switch_to_background">Vaihda taustalle</string>
|
||||
<string name="switch_to_popup">Vaihda ponnahdusikkunatoistoon</string>
|
||||
<string name="switch_to_main">Vaihda normaalitoistoon</string>
|
||||
|
||||
<string name="import_data_title">Tuo tietokanta</string>
|
||||
<string name="export_data_title">Vie tietokanta</string>
|
||||
<string name="import_data_summary">Kirjoittaa yli tämänhetkisen historian ja tilaukset</string>
|
||||
<string name="export_data_summary">Vie historia, tilaukset tai soittolistat</string>
|
||||
<string name="clear_views_history_title">Poista katseluhistoria</string>
|
||||
<string name="clear_views_history_summary">Poistaa toistohistorian</string>
|
||||
<string name="delete_view_history_alert">Poista koko katseluhistoria.</string>
|
||||
<string name="view_history_deleted">Katseluhistoria onnistuneesti poistettu.</string>
|
||||
<string name="clear_search_history_title">Poista hakuhistoria</string>
|
||||
<string name="clear_search_history_summary">Poistaa historian haetuista videoista</string>
|
||||
<string name="delete_search_history_alert">Poista koko hakuhistoria.</string>
|
||||
<string name="search_history_deleted">Hakuhistoria onnistuneesti poistettu.</string>
|
||||
<string name="external_player_unsupported_link_type">Ulkoiset soittimet eivät tue tämänkaltaisia linkkejä</string>
|
||||
<string name="invalid_url_toast">Viallinen osoite</string>
|
||||
<string name="video_streams_empty">Videojonoja ei löytynyt</string>
|
||||
<string name="audio_streams_empty">Audiojonoja ei löytynyt</string>
|
||||
<string name="invalid_directory">Virheellinen kansio</string>
|
||||
<string name="invalid_source">Virheellinen tiedosto/lähde</string>
|
||||
<string name="invalid_file">Tiedosta ei löydy tai sen kirjoittamiseen/lukemiseen ei ole lupaa</string>
|
||||
<string name="file_name_empty_error">Tiedostonimi ei voi olla tyhjä</string>
|
||||
<string name="error_occurred_detail">Hups! Tapahtui virhe: %1$s</string>
|
||||
<string name="detail_drag_description">Vedä järjestelläksesi</string>
|
||||
|
||||
<string name="create">Luo</string>
|
||||
<string name="delete_one">Poista yksi</string>
|
||||
<string name="delete_all">Poista kaikki</string>
|
||||
<string name="dismiss">Hylkää</string>
|
||||
<string name="rename">Nimeä uudelleen</string>
|
||||
|
||||
<string name="one_item_deleted">1 poistettu.</string>
|
||||
|
||||
<string name="toast_no_player">Ohjelmaa tämän toistamiseen ei ole asennettu</string>
|
||||
|
||||
<string name="privacy_policy_title">NewPipen tietosuojakäytäntö</string>
|
||||
<string name="privacy_policy_encouragement">NewPipe ottaa yksityisyytesi tosissaan. Siksi se ei kerää sinulta mitään tietoja ilman lupaasi. NewPipen tietosuojakäytännössä selitetään tarkasti mitä tietoja lähetetään tai tallennetaan virheraportin yhteydessä.</string>
|
||||
<string name="read_privacy_policy">Lue tietosuojakäytäntö</string>
|
||||
<string name="auto_queue_title">Automaattisesti lisää ehdotettu video soittolistaan</string>
|
||||
<string name="no_streams_available_download">Videostriimejä ei löytynyt ladattavaksi</string>
|
||||
|
||||
<string name="app_license">NewPipe on vapaata softaa. Voit käyttää sitä, katsella sekä muokata sen koodia ja parannella sitä ilmaiseksi mielesi mukaan. Tarkemmin sanottuna, voit jakaa sitä edelleen ja/tai muokata sitä Free Software Foundationin julkaiseman GNU GPL:n, joko versio kolmosen (GPLv3), tai uudemman, ehdoilla.</string>
|
||||
<string name="delete_stream_history_prompt">Haluatko poistaa tämän katseluhistoriasta?</string>
|
||||
<string name="delete_all_history_prompt">Oletko varma että haluat poistaa kaiken katseluhistoriasta?</string>
|
||||
<string name="title_last_played">Viimeksi toistettu</string>
|
||||
<string name="title_most_played">Eniten toistetut</string>
|
||||
|
||||
<string name="export_complete_toast">Vienti valmis</string>
|
||||
<string name="import_complete_toast">Tuonti valmis</string>
|
||||
<string name="no_valid_zip_file">Virheellinen ZIP-tiedosto</string>
|
||||
<string name="could_not_import_all_files">Varoitus: Ei voitu tuoda kaikkia tiedostoja.</string>
|
||||
<string name="override_current_data">Tämä nollaa nykyiset asetuksesi.</string>
|
||||
<string name="import_settings">Haluatko myös tuoda asetukset?</string>
|
||||
|
||||
<string name="drawer_open">Avaa alasvetovalikko</string>
|
||||
<string name="drawer_close">Sulje alasvetovalikko</string>
|
||||
<string name="drawer_header_action_paceholder_text">Tähän tulee jotain jossainvaiheessa ;D</string>
|
||||
|
||||
|
||||
<string name="preferred_open_action_settings_title">Ensisijainen avaustapa</string>
|
||||
<string name="preferred_open_action_settings_summary">Oletustoiminto avatessa sisältöä — %s</string>
|
||||
|
||||
<string name="video_player">Videosoitin</string>
|
||||
<string name="background_player">Taustasoitin</string>
|
||||
<string name="popup_player">Ponnahdusikkunasoitin</string>
|
||||
<string name="always_ask_open_action">Kysy aina</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">Haetaan infoa…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Ladataan pyydettyä sisältöä</string>
|
||||
|
||||
<string name="create_playlist">Luo uusi soittolista</string>
|
||||
<string name="delete_playlist">Poista soittolista</string>
|
||||
<string name="rename_playlist">Uudelleennimeä soittolista</string>
|
||||
<string name="playlist_name_input">Nimi</string>
|
||||
<string name="append_playlist">Lisää soittolistaan</string>
|
||||
<string name="set_as_playlist_thumbnail">Aseta soittolistan kuvakkeeksi</string>
|
||||
|
||||
<string name="bookmark_playlist">Tallenna soittolista kirjanmerkkeihin</string>
|
||||
<string name="unbookmark_playlist">Poista kirjanmerkki</string>
|
||||
|
||||
<string name="delete_playlist_prompt">Haluatko poistaa tämän soittolistan?</string>
|
||||
<string name="playlist_creation_success">Soittolista luotu</string>
|
||||
<string name="playlist_add_stream_success">Lisätty soittolistaan</string>
|
||||
<string name="playlist_thumbnail_change_success">Soittolistan kuvake muutettu</string>
|
||||
<string name="playlist_delete_failure">Soittolistaa ei voitu poistaa</string>
|
||||
|
||||
<string name="caption_none">Ei tekstityksiä</string>
|
||||
|
||||
<string name="resize_fit">Sovita</string>
|
||||
<string name="resize_fill">Täytä</string>
|
||||
<string name="resize_zoom">Suurenna</string>
|
||||
|
||||
<string name="caption_auto_generated">Automaattisesti luotu</string>
|
||||
|
||||
<string name="caption_setting_title">Tekstitykset</string>
|
||||
<string name="caption_setting_description">Muokkaa tekstitysten kokoa ja taustaa. Asetusten päivittämiseksi sinun tulee käynnistää ohjelma uudelleen</string>
|
||||
|
||||
<string name="enable_leak_canary_title">Laita päälle LeakCanary-muistivuodonpaljastin (virheenkorjausta varten)</string>
|
||||
<string name="enable_leak_canary_summary">Muistivuotojen valvonta voi aiheuttaa ohjelman hidastumisen virhetilanteissa</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Raportoi yhteensopimattomuusvirheitä jotka aiheutuvat vanhoista ohjelmista</string>
|
||||
<string name="enable_disposed_exceptions_summary">Pakota raportointi kuljetuskelvottomille Rx-poikkeuksille jotka ovat muistisirpaleiden tai aktiviteettielämänkaaren ulkopuolella poiston jälkeen</string>
|
||||
|
||||
<string name="import_export_title">Tuo/Vie</string>
|
||||
<string name="import_title">Tuo</string>
|
||||
<string name="import_from">Tuo kohteesta</string>
|
||||
<string name="export_to">Vie kohteeseen</string>
|
||||
|
||||
<string name="import_ongoing">Tuodaan…</string>
|
||||
<string name="export_ongoing">Viedään…</string>
|
||||
|
||||
<string name="import_file_title">Tuo tiedosto</string>
|
||||
<string name="previous_export">Edellinen vienti</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">Tilauksia ei voitu tuoda</string>
|
||||
<string name="subscriptions_export_unsuccessful">Tilauksia ei voitu viedä</string>
|
||||
|
||||
<string name="import_youtube_instructions">Tuo youtube-tilaukset lataamalla ensin tilauslistatiedostosi:
|
||||
\n
|
||||
\n1. Mene osoitteeseen: %1$s
|
||||
\n2. Kirjaudu sisään kun niin vaaditaan
|
||||
\n3. Latauksen pitäisi alkaa (se on se tiedosto)</string>
|
||||
<string name="import_soundcloud_instructions">Tuo SoundCloud-profiili kirjoittamalla joko osoite tai ID:si:
|
||||
\n
|
||||
\n1. Laita päälle työpöytämoodi selaimessasi (tai käytä tietokonetta, tämä sivu ei toimi mobiilisivuna)
|
||||
\n2. Mene tähän osoitteeseen: %1$s
|
||||
\n3. Kirjaudu sisään kysyttäessä.
|
||||
\n4. Kopioi se nettiosoite johon sinut ohjattiin.</string>
|
||||
<string name="import_soundcloud_instructions_hint">sinun käyttäjänimesi, soundcloud.com/<sinun käyttäjänimesi></string>
|
||||
|
||||
<string name="import_network_expensive_warning">Ota huomioon että tämä operaatio voi käyttää paljon dataa.
|
||||
\nHaluatko jatkaa?</string>
|
||||
|
||||
<string name="playback_speed_control">Toiston nopeuden säätimet</string>
|
||||
<string name="playback_tempo">Musiikkitempo</string>
|
||||
<string name="playback_pitch">Sävelkorkeus</string>
|
||||
<string name="unhook_checkbox">Irroita tempo ja nopeus toisistaan (saattaa aiheuttaa säröä äänessä)</string>
|
||||
<string name="skip_silence_checkbox">Kelaa eteenpäin hiljaisissa kohdissa</string>
|
||||
<string name="playback_step">Askel</string>
|
||||
<string name="playback_reset">Nollaa</string>
|
||||
|
||||
<string name="start_accept_privacy_policy">Jotta olisimme kelpoisia EU:n uuden yleisen tietosuoja-asetuksen (GDPR) kannalta, meidän pitää muistuttaa sinua lukemaan NewPipen tietosuojakäytäntö. Lue se oikeasti. Sinun pitää myös hyväksyä se jotta voit lähettää virheraportin.</string>
|
||||
<string name="accept">Hyväksy</string>
|
||||
<string name="decline">Hylkää</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Ei rajaa</string>
|
||||
<string name="limit_mobile_data_usage_title">Rajoita resoluutiota kun mobiilidata on käytössä</string>
|
||||
<string name="minimize_on_exit_title">Pienennä vaihtaessa ohjelmaa</string>
|
||||
<string name="minimize_on_exit_summary">Toiminto kun vaihdetaan toiseen ohjelmaan päävideosoittimesta — %s</string>
|
||||
<string name="minimize_on_exit_none_description">Ei koskaan</string>
|
||||
<string name="minimize_on_exit_background_description">Pienennä taustasoittimeksi</string>
|
||||
<string name="minimize_on_exit_popup_description">Muuta ponnahdusikkunaksi</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<string name="detail_thumbnail_view_description">Miniature d’aperçu vidéo</string>
|
||||
<string name="detail_dislikes_img_view_description">Je n’aime pas</string>
|
||||
<string name="detail_likes_img_view_description">J’aime</string>
|
||||
<string name="search_language_title">Langue du contenu par défaut</string>
|
||||
<string name="content_language_title">Langue du contenu par défaut</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniature de l’avatar de l’utilisateur</string>
|
||||
<string name="use_external_video_player_title">Utiliser un lecteur vidéo externe</string>
|
||||
<string name="use_external_audio_player_title">Utiliser un lecteur audio externe</string>
|
||||
|
@ -431,14 +431,12 @@
|
|||
\n1. Suivez ce lien : %1$s
|
||||
\n2. Connectez-vous à votre compte lorsque ce sera demandé
|
||||
\n3. Un téléchargement va démarrer (ce sera celui du fichier nécessaire à l\'importation des abonnements)"</string>
|
||||
<string name="import_soundcloud_instructions">Pour importer vos abonnements SoundCloud, vous devez connaitre l\'URL de votre profil ou votre identifiant (id). Si vous le savez, tapez-le ci-dessous.
|
||||
<string name="import_soundcloud_instructions">Importez un profil SoundCloud avec l\'URL de votre profil ou votre identifiant (id) :
|
||||
\n
|
||||
\nSi vous ne le connaissez pas, veuillez suivre les étapes suivantes :
|
||||
\n
|
||||
\n1. Activer le \"mode bureau\" dans votre navigateur (le site n\'est pas accesible en mode mobile)
|
||||
\n1. Activer le \"mode bureau\" dans votre navigateur (le site n\'est pas accessible en mode mobile)
|
||||
\n2. Suivez cette URL : %1$s
|
||||
\n3. Connectez-vous à votre compte
|
||||
\n4. Copier l\'URL vers lequel vous venez d\'être redirigé (qui est l\'URL de votre profil)</string>
|
||||
\n4. Copier l\'URL vers lequel vous venez d\'être redirigé (qui est l\'URL de votre profil).</string>
|
||||
<string name="import_soundcloud_instructions_hint">votreID, soundcloud.com/votreid</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Cette opération peut consommer beaucoup de données mobiles.
|
||||
|
@ -495,7 +493,7 @@
|
|||
<string name="minimize_on_exit_title">Minimiser lors du changement d\'application</string>
|
||||
<string name="minimize_on_exit_summary">Action lors du changement d\'applications depuis le lecteur vidéo —%s</string>
|
||||
<string name="minimize_on_exit_none_description">Aucune</string>
|
||||
<string name="minimize_on_exit_background_description">Lecture en arrière plan</string>
|
||||
<string name="minimize_on_exit_popup_description">Mettre en lecteur popup</string>
|
||||
<string name="minimize_on_exit_background_description">Minimiser pour lire en arrière plan</string>
|
||||
<string name="minimize_on_exit_popup_description">Minimiser vers lecteur PopUp</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,464 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="main_bg_subtitle">Toque em «Procurar» para comezar</string>
|
||||
<string name="view_count_text">%1$s visualizacións</string>
|
||||
<string name="upload_date_text">Publicado o día %1$s</string>
|
||||
<string name="no_player_found">Non foi encontrado ningún reprodutor. Desexa instalar o VLC?</string>
|
||||
<string name="no_player_found_toast">Non foi encontrado ningún reprodutor (pode instalar o VLC para o reproducir)</string>
|
||||
<string name="install">Instalar</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="open_in_browser">Abrir no navegador</string>
|
||||
<string name="open_in_popup_mode">Abrir no modo popup</string>
|
||||
<string name="share">Compartillar</string>
|
||||
<string name="download">Descarregar</string>
|
||||
<string name="controls_download_desc">Descarregar o ficheiro de emisión.</string>
|
||||
<string name="search">Procurar</string>
|
||||
<string name="settings">Opcións</string>
|
||||
<string name="did_you_mean">Non querería dicir «%1$s»?</string>
|
||||
<string name="share_dialog_title">Compartillar con</string>
|
||||
<string name="choose_browser">Escoller un navegador</string>
|
||||
<string name="screen_rotation">rotación</string>
|
||||
<string name="use_external_video_player_title">Usar un reprodutor de vídeo externo</string>
|
||||
<string name="use_external_video_player_summary">Podería NON haber audio con algunhas resolucións se esta opción estiver activa</string>
|
||||
<string name="use_external_audio_player_title">Usar un reprodutor externo de audio</string>
|
||||
<string name="popup_mode_share_menu_title">Modo popup do NewPipe</string>
|
||||
<string name="subscribe_button_title">Subscribir</string>
|
||||
<string name="subscribed_button_title">Subscrito</string>
|
||||
<string name="channel_unsubscribed">Xa non está subscrito ao canal</string>
|
||||
<string name="subscription_change_failed">Non foi posíbel modificar a subscrición</string>
|
||||
<string name="subscription_update_failed">Non foi posíbel actualizar a subscrición</string>
|
||||
<string name="show_info">Mostrar información</string>
|
||||
|
||||
<string name="tab_main">Principal</string>
|
||||
<string name="tab_subscriptions">Subscricións</string>
|
||||
<string name="tab_bookmarks">Favoritos</string>
|
||||
|
||||
<string name="fragment_whats_new">Novidades</string>
|
||||
|
||||
<string name="controls_background_title">Segundo plano</string>
|
||||
<string name="controls_popup_title">Modo popup</string>
|
||||
<string name="controls_add_to_playlist_title">Engadir a</string>
|
||||
|
||||
<string name="download_path_title">Ruta de descarga de vídeos</string>
|
||||
<string name="download_path_summary">Ruta onde gardar os vídeos descarregados</string>
|
||||
<string name="download_path_dialog_title">Introduza a ruta de descarga de vídeos</string>
|
||||
|
||||
<string name="download_path_audio_title">Ruta de descarga de audio</string>
|
||||
<string name="download_path_audio_summary">Ruta onde gardar o audio descarregado</string>
|
||||
<string name="download_path_audio_dialog_title">Introduza a ruta de descarga dos ficheiros de audio</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Reproducir automaticamente</string>
|
||||
<string name="autoplay_by_calling_app_summary">Reproducir o vídeo pedido cando o NewPipe sexa invocado por outro aplicativo</string>
|
||||
<string name="default_resolution_title">Resolución predeterminada</string>
|
||||
<string name="default_popup_resolution_title">Resolución predeterminada do popup</string>
|
||||
<string name="show_higher_resolutions_title">Mostrar resolucións máis altas</string>
|
||||
<string name="show_higher_resolutions_summary">Moitos dispositivos non permiten reproducir vídeos en 2K/4K</string>
|
||||
<string name="play_with_kodi_title">Reproducir co Kodi</string>
|
||||
<string name="kore_not_found">O aplicativo Kore non foi encontrado. Desexa instalalo?</string>
|
||||
<string name="show_play_with_kodi_title">Mostrar a opción «Reproducir co Kodi»</string>
|
||||
<string name="show_play_with_kodi_summary">Mostrar unha opción para reproducir o vídeo co Kodi Media Center</string>
|
||||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Formato de audio predeterminado</string>
|
||||
<string name="default_video_format_title">Formato de vídeo predeterminado</string>
|
||||
<string name="webm_description">WebM — formato libre</string>
|
||||
<string name="m4a_description">M4A — mellor calidade</string>
|
||||
<string name="theme_title">Tema</string>
|
||||
<string name="light_theme_title">Claro</string>
|
||||
<string name="dark_theme_title">Escuro</string>
|
||||
<string name="black_theme_title">Negro</string>
|
||||
<string name="popup_remember_size_pos_title">Lembrar o tamaño e a posición do «popup»</string>
|
||||
<string name="popup_remember_size_pos_summary">Lembrar o tamaño e a posición anteriores do «popup»</string>
|
||||
<string name="use_inexact_seek_title">Usar un salto inexacto mais inexacto</string>
|
||||
<string name="use_inexact_seek_summary">O salto inexacto permite saltar a posicións máis rápido, mais con menos precisión</string>
|
||||
<string name="download_thumbnail_title">Carregar miniaturas</string>
|
||||
<string name="download_thumbnail_summary">Desactíveo para evitar a carga de miniaturas e poupar datos e memoria. Modificar esta opción limpa a caché de imaxes da memoria e do disco</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">A caché de imaxes foi limpada</string>
|
||||
<string name="metadata_cache_wipe_title">Os metadatos da caché foron eliminados</string>
|
||||
<string name="metadata_cache_wipe_summary">Eliminar todos os datos de páxinas en caché</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">Os metadatos da caché foron eliminados</string>
|
||||
<string name="auto_queue_title">Colocar a seguinte emisión na cola automaticamente</string>
|
||||
<string name="auto_queue_summary">Engadir automaticamente unha emisión ao reproducir a última emisión nunha cola sen repetición</string>
|
||||
<string name="player_gesture_controls_title">Controis de xesto do reprodutor</string>
|
||||
<string name="player_gesture_controls_summary">Usar xestos para controlar o brillo e volume do reprodutor</string>
|
||||
<string name="show_search_suggestions_title">Suxestións de procura</string>
|
||||
<string name="show_search_suggestions_summary">Mostrar suxestións ao procurar</string>
|
||||
<string name="enable_search_history_title">Historial de procura</string>
|
||||
<string name="enable_search_history_summary">Gardar os termos de pesquisa localmente</string>
|
||||
<string name="enable_watch_history_title">Historial e caché</string>
|
||||
<string name="enable_watch_history_summary">Gardar historial de vídeos vistos</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Retormar o vídeo ao enfocar</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Continuar a reprodución após interrupcións (como chamadas)</string>
|
||||
<string name="download_dialog_title">Descarregar</string>
|
||||
<string name="next_video_title">Vídeo seguinte</string>
|
||||
<string name="show_next_and_similar_title">Mostrar vídeos «seguintes» e «semellantes»</string>
|
||||
<string name="show_hold_to_append_title">Mostrar a suxestión «Manteña presionado para engadir á cola»</string>
|
||||
<string name="show_hold_to_append_summary">Mostrar unha suxestión ao premer o botón de segundo plano ou o de popup na páxina de detalles do vídeo</string>
|
||||
<string name="url_not_supported_toast">Este URL non está soportado</string>
|
||||
<string name="default_content_country_title">País predeterminado para o contido</string>
|
||||
<string name="service_title">Servizo</string>
|
||||
<string name="search_language_title">Idioma predeterminado do contido</string>
|
||||
<string name="settings_category_player_title">Reprodutor</string>
|
||||
<string name="settings_category_player_behavior_title">Comportamento</string>
|
||||
<string name="settings_category_video_audio_title">Vídeo e audio</string>
|
||||
<string name="settings_category_history_title">Historial e caché</string>
|
||||
<string name="settings_category_popup_title">Popup</string>
|
||||
<string name="settings_category_appearance_title">Aparencia</string>
|
||||
<string name="settings_category_other_title">Outros</string>
|
||||
<string name="settings_category_debug_title">Depuración</string>
|
||||
<string name="background_player_playing_toast">Reproducindo en segundo plano</string>
|
||||
<string name="popup_playing_toast">Reproducindo en modo «popup»</string>
|
||||
<string name="background_player_append">Na cola do reprodutor en segundo plano</string>
|
||||
<string name="popup_playing_append">Na cola do reprodutor popup</string>
|
||||
<string name="play_btn_text">Reproducir</string>
|
||||
<string name="content">Contido</string>
|
||||
<string name="show_age_restricted_content_title">Mostrar contido con restrición de idade</string>
|
||||
<string name="video_is_age_restricted">Vídeo con restrición de idade. Pode permitir a reprodución deste material nas Opcións.</string>
|
||||
<string name="duration_live">en directo</string>
|
||||
<string name="downloads">Descargas</string>
|
||||
<string name="downloads_title">Descargas</string>
|
||||
<string name="error_report_title">Relatorio de erro</string>
|
||||
<string name="all">Todo</string>
|
||||
<string name="channel">Canal</string>
|
||||
<string name="channels">Canais</string>
|
||||
<string name="playlist">Lista de reprodución</string>
|
||||
<string name="playlists">Listas de reprodución</string>
|
||||
<string name="tracks">Pistas</string>
|
||||
<string name="users">Usuarios</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="later">Máis tarde</string>
|
||||
<string name="disabled">Desactivado</string>
|
||||
<string name="filter">Filtro</string>
|
||||
<string name="refresh">Actualizar</string>
|
||||
<string name="clear">Limpar</string>
|
||||
<string name="popup_resizing_indicator_title">Redimensionando</string>
|
||||
<string name="best_resolution">Mellor resolución</string>
|
||||
<string name="undo">Desfacer</string>
|
||||
<string name="play_all">Reproducilos todos</string>
|
||||
<string name="always">Sempre</string>
|
||||
<string name="just_once">Só unha vez</string>
|
||||
<string name="file">Ficheiro</string>
|
||||
|
||||
<string name="notification_channel_name">Notificación do NewPipe</string>
|
||||
<string name="notification_channel_description">Notificacións para o NewPipe e os reprodutores «popup»</string>
|
||||
|
||||
<string name="unknown_content">[Descoñecido]</string>
|
||||
|
||||
<string name="toggle_orientation">Mudar a orientación</string>
|
||||
<string name="switch_to_background">Mudar para o segundo plano</string>
|
||||
<string name="switch_to_popup">Mudar para o «popup»</string>
|
||||
<string name="switch_to_main">Mudar para principal</string>
|
||||
|
||||
<string name="import_data_title">Importar base de datos</string>
|
||||
<string name="export_data_title">Exportar base de datos</string>
|
||||
<string name="import_data_summary">Isto vai sobreescribir o seu historial e as súas subscricións actuais</string>
|
||||
<string name="export_data_summary">Exportar historial, subscricións e listas de reprodución</string>
|
||||
<string name="clear_views_history_title">Limpar historial de reproducións</string>
|
||||
<string name="clear_views_history_summary">Elimina o historial de emisións reproducidas</string>
|
||||
<string name="delete_view_history_alert">Elimina todo o historial de reproducións.</string>
|
||||
<string name="view_history_deleted">O historial de reproducións foi eliminado.</string>
|
||||
<string name="clear_search_history_title">Limpar o historial de procura</string>
|
||||
<string name="clear_search_history_summary">Elimina o historial de termos procurados</string>
|
||||
<string name="delete_search_history_alert">Elimina todo o historial de procura.</string>
|
||||
<string name="search_history_deleted">O historial de procuras foi eliminado.</string>
|
||||
<string name="general_error">Erro</string>
|
||||
<string name="network_error">Erro de rede</string>
|
||||
<string name="could_not_load_thumbnails">Non foi posíbel carregar todas as miniaturas</string>
|
||||
<string name="youtube_signature_decryption_error">Non foi posíbel descifrar a asinatura do vídeo</string>
|
||||
<string name="parsing_error">Non foi posíbel procesar o sitio web</string>
|
||||
<string name="light_parsing_error">Non foi posíbel procesar o sitio web por completo</string>
|
||||
<string name="content_not_available">O contido non está dispoñíbel
|
||||
\n</string>
|
||||
<string name="blocked_by_gema">Bloqueado pola GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Non foi posíbel configurar o menú de descargas</string>
|
||||
<string name="live_streams_not_supported">Isto é unha emisión en directo, polo que aínda non está soportado.</string>
|
||||
<string name="could_not_get_stream">Non foi posíbel obter unha emisión</string>
|
||||
<string name="could_not_load_image">Non foi posíbel carregar a imaxe</string>
|
||||
<string name="app_ui_crash">O aplicativo pechouse</string>
|
||||
<string name="player_stream_failure">Non foi posíbel reproducir este vídeo</string>
|
||||
<string name="player_unrecoverable_failure">Ocorreu un erro irrecuperábel co reprodutor</string>
|
||||
<string name="player_recoverable_failure">Recuperándose dun erro do reprodutor</string>
|
||||
<string name="external_player_unsupported_link_type">Os reprodutores externos non soportan estes tipos de ligazóns</string>
|
||||
<string name="invalid_url_toast">URL inválido</string>
|
||||
<string name="video_streams_empty">Non foi encontrada ningunha emisión de vídeo</string>
|
||||
<string name="audio_streams_empty">Non foi encontrada ningunha emisión de audio</string>
|
||||
<string name="invalid_directory">Directorio inválido</string>
|
||||
<string name="invalid_source">A fonte do ficheiro ou contido é inválida</string>
|
||||
<string name="invalid_file">O ficheiro non existe ou non ten permisos suficientes para o ler ou escribir</string>
|
||||
<string name="file_name_empty_error">O nome do ficheiro non pode estar vacío</string>
|
||||
<string name="error_occurred_detail">Ocorreu un erro: %1$s</string>
|
||||
<string name="no_streams_available_download">Non hai emisións para descargar</string>
|
||||
|
||||
<string name="sorry_string">Deculpe, isto non debería ter acontecido.</string>
|
||||
<string name="error_report_button_text">Informar do erro por correo electrónico</string>
|
||||
<string name="error_snackbar_message">Desculpe, ocorreron algúns erros.</string>
|
||||
<string name="error_snackbar_action">Relatorio</string>
|
||||
<string name="what_device_headline">Información:</string>
|
||||
<string name="what_happened_headline">Que ocorreu:</string>
|
||||
<string name="info_labels">Problema:\\nPetición:\\nIdioma do contido:\\nServizo:\\nHora GMT:\\nPaquete:\\nVersión:\\nVersión do SO:</string>
|
||||
<string name="your_comment">O teu comentario (en inglés):</string>
|
||||
<string name="error_details_headline">Detalles:</string>
|
||||
|
||||
|
||||
<string name="list_thumbnail_view_description">Miniatura do vídeo</string>
|
||||
<string name="detail_thumbnail_view_description">Miniatura do vídeo</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniatura do avatar do autor</string>
|
||||
<string name="detail_likes_img_view_description">Gosto</string>
|
||||
<string name="detail_dislikes_img_view_description">Non gosto</string>
|
||||
<string name="use_tor_title">Usar o Tor</string>
|
||||
<string name="use_tor_summary">(Experimental) Redirixir o tráfico polo Tor para aumentar a privacidade (as emisións aínda non están soportadas).</string>
|
||||
<string name="report_error">Informar dun erro</string>
|
||||
<string name="user_report">Relatorio do usuario</string>
|
||||
<string name="search_no_results">Non hai resultados</string>
|
||||
<string name="empty_subscription_feed_subtitle">Nada que ver</string>
|
||||
<string name="detail_drag_description">Arrastre para reordenar</string>
|
||||
|
||||
<string name="err_dir_create">Non foi posíbel crear o directorio «%1$s»</string>
|
||||
<string name="info_dir_created">O directorio de descargas «%1$s» foi creado</string>
|
||||
|
||||
<string name="video">Vídeo</string>
|
||||
<string name="audio">Audio</string>
|
||||
<string name="retry">Tentar de novo</string>
|
||||
<string name="storage_permission_denied">A permisión de acceso ao almacenamento foi denegada</string>
|
||||
<string name="use_old_player_title">Usar o reprodutor antigo</string>
|
||||
<string name="use_old_player_summary">Versión interna anticuada do reprodutor Mediaframework</string>
|
||||
|
||||
<string name="short_thousand">K</string>
|
||||
<string name="short_million">M</string>
|
||||
<string name="short_billion">MM</string>
|
||||
|
||||
<string name="no_subscribers">Ningún subscrito</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="one">%s subscrito</item>
|
||||
<item quantity="other">%s subscritos</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">Ningunha visualización</string>
|
||||
<plurals name="views">
|
||||
<item quantity="one">%s visualización</item>
|
||||
<item quantity="other">%s visualizacións</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">Ningún vídeo</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="one">%s vídeo</item>
|
||||
<item quantity="other">%s vídeos</item>
|
||||
</plurals>
|
||||
|
||||
<string name="start">Comezar</string>
|
||||
<string name="pause">Pausar</string>
|
||||
<string name="view">Reproducir</string>
|
||||
<string name="create">Crear</string>
|
||||
<string name="delete">Eliminar</string>
|
||||
<string name="delete_one">Eliminar un</string>
|
||||
<string name="delete_all">Eliminalos todos</string>
|
||||
<string name="checksum">Suma de comprobación</string>
|
||||
<string name="dismiss">Descartar</string>
|
||||
<string name="rename">Renomear</string>
|
||||
|
||||
<string name="add">Nova misión</string>
|
||||
<string name="finish">OK</string>
|
||||
|
||||
<string name="msg_name">Nome do ficheiro</string>
|
||||
<string name="msg_threads">Fios</string>
|
||||
<string name="msg_error">Erro</string>
|
||||
<string name="msg_server_unsupported">O servidor non está soportado</string>
|
||||
<string name="msg_exists">O ficheiro xa existe</string>
|
||||
<string name="msg_url_malform">O URL está mal formado ou a Internet non está dispoñíbel</string>
|
||||
<string name="msg_running">Descarga do NewPipe</string>
|
||||
<string name="msg_running_detail">Toque para ver detalles</string>
|
||||
<string name="msg_wait">Por favor, agarde…</string>
|
||||
<string name="msg_copied">Copiado para o portarretallos</string>
|
||||
<string name="no_available_dir">Por favor, seleccione o directorio para descargas</string>
|
||||
<string name="msg_popup_permission">Esta permisión é necesaria
|
||||
\npara abrir o vídeo no modo «popup»</string>
|
||||
<string name="one_item_deleted">1 elemento foi eliminado.</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">Desafío reCAPTCHA</string>
|
||||
<string name="recaptcha_request_toast">Desafío reCAPTCHA solicitado</string>
|
||||
|
||||
<string name="settings_category_downloads_title">Descarregar</string>
|
||||
<string name="settings_file_charset_title">Caracteres permitidos nos nomes de ficheiros</string>
|
||||
<string name="settings_file_replacement_character_summary">Os caracteres inválidos serán substituídos por este valor</string>
|
||||
<string name="settings_file_replacement_character_title">Carácter de substitución</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Letras e díxitos</string>
|
||||
<string name="charset_most_special_characters">A maioría dos caracteres especiais</string>
|
||||
|
||||
<string name="toast_no_player">Non hai ningún aplicativo instalado para reproducir este ficheiro</string>
|
||||
|
||||
<string name="title_activity_about">Sobre o NewPipe</string>
|
||||
<string name="action_settings">Opcións</string>
|
||||
<string name="action_about">Sobre</string>
|
||||
<string name="title_licenses">Licenzas de terceiros</string>
|
||||
<string name="copyright" formatted="true">© %1$s de %2$s, so %3$s</string>
|
||||
<string name="error_unable_to_load_license">Non foi posíbel carregar a licenza</string>
|
||||
<string name="action_open_website">Abrir o sitio web</string>
|
||||
<string name="tab_about">Sobre</string>
|
||||
<string name="tab_contributors">Colaboradores</string>
|
||||
<string name="tab_licenses">Licenzas</string>
|
||||
<string name="app_description">Reprodutor lixeiro e libre para Android.</string>
|
||||
<string name="contribution_title">Colaborar</string>
|
||||
<string name="contribution_encouragement">Se ten ideas de tradución, mudanzas ao deseño, limpeza de código ou mudanzas serias deste—a axuda sempre é benvida. Canto máis fixermos, tanto máis vai mellorar!</string>
|
||||
<string name="view_on_github">Ver no GitHub</string>
|
||||
<string name="donation_title">Doar</string>
|
||||
<string name="donation_encouragement">O NewPipe é desenvolvido por voluntarios que empregan o seu tempo libre para lle ofrecer a mellor experiencia. Pode retribuír e así axudar os desenvolvedores a tornaren o NewPipe aínda mellor en canto desfrutan dunha cunca de café.</string>
|
||||
<string name="give_back">Retribuír</string>
|
||||
<string name="website_title">Sitio web</string>
|
||||
<string name="website_encouragement">Visite o sitio web do NewPipe para saber máis e ver noticias sobre o proxecto.</string>
|
||||
<string name="privacy_policy_title">Política de privacidade do NewPipe</string>
|
||||
<string name="privacy_policy_encouragement">O proxecto NewPipe dá moita importancia á súa privacidade. Por tanto, non recolle ningún dato sen o seu consentimento.
|
||||
\nA política de privacidade do NewPipe explica con máis detalle que datos son enviados e gardados cando envía un relatorio de erros.</string>
|
||||
<string name="read_privacy_policy">Ler a política de privacidade</string>
|
||||
<string name="app_license_title">Licenza do NewPipe</string>
|
||||
<string name="app_license">O NewPipe é software copyleft libre: pode usalo, estudalo, compartillalo e melloralo como quixer. En concreto, pode redistribuílo e/ou modificalo so os termos da Licenza Pública Xeral GNU, publicada pola Free Software Foundation, quer a versión 3 da Licenza, ou calquera outra versión posterior da súa escolla.</string>
|
||||
<string name="read_full_license">Ler a licenza</string>
|
||||
|
||||
|
||||
<string name="title_activity_history">Historial</string>
|
||||
<string name="title_history_search">Procurado</string>
|
||||
<string name="title_history_view">Visto</string>
|
||||
<string name="history_disabled">O historial está desactivado</string>
|
||||
<string name="action_history">Historial</string>
|
||||
<string name="history_empty">O historial está vacío</string>
|
||||
<string name="history_cleared">O historial foi limpado</string>
|
||||
<string name="item_deleted">O elemento foi eliminado</string>
|
||||
<string name="delete_item_search_history">Desexa eliminar este elemento do historial de procura?</string>
|
||||
<string name="delete_stream_history_prompt">Desexa eliminar este elemento do historial de visualizacións?</string>
|
||||
<string name="delete_all_history_prompt">Ten a certeza de querer eliminar todos os elementos do historial?</string>
|
||||
<string name="title_last_played">Última reprodución</string>
|
||||
<string name="title_most_played">Máis reproducido</string>
|
||||
|
||||
<string name="main_page_content">Contido da páxina principal</string>
|
||||
<string name="blank_page_summary">Páxina en branco</string>
|
||||
<string name="kiosk_page_summary">Páxina do «kiosk»</string>
|
||||
<string name="subscription_page_summary">Páxina de subscricións</string>
|
||||
<string name="feed_page_summary">Páxina da fonte</string>
|
||||
<string name="channel_page_summary">Páxina do canal</string>
|
||||
<string name="select_a_channel">Seleccione un canal</string>
|
||||
<string name="no_channel_subscribed_yet">Non subscribiu ningún canal</string>
|
||||
<string name="select_a_kiosk">Seleccione un «kiosk»</string>
|
||||
<string name="export_complete_toast">Exportación completa</string>
|
||||
<string name="import_complete_toast">Importación completada</string>
|
||||
<string name="no_valid_zip_file">Ficheiro ZIP inválido</string>
|
||||
<string name="could_not_import_all_files">Aviso: non todos os ficheiros foron importados.</string>
|
||||
<string name="override_current_data">Isto vai reescribir a súa configuración actual.</string>
|
||||
<string name="import_settings">Desexa importar tamén as opcións?</string>
|
||||
|
||||
<string name="kiosk">Kiosk</string>
|
||||
<string name="trending">Tendencias</string>
|
||||
<string name="top_50">Top 50</string>
|
||||
<string name="new_and_hot">Novo e popular</string>
|
||||
<string name="title_activity_background_player">Reprodutor en segundo plano</string>
|
||||
<string name="title_activity_popup_player">Reprodutor «popup»</string>
|
||||
<string name="play_queue_remove">Eliminar</string>
|
||||
<string name="play_queue_stream_detail">Detalles</string>
|
||||
<string name="play_queue_audio_settings">Opcións de audio</string>
|
||||
<string name="hold_to_append">Manteña para colocar na cola</string>
|
||||
<string name="enqueue_on_background">Colocar na cola de segundo plano</string>
|
||||
<string name="enqueue_on_popup">Colocar na cola de popup</string>
|
||||
<string name="start_here_on_main">Comezar a reprodución aquí</string>
|
||||
<string name="start_here_on_background">Comezar aquí en segundo plano</string>
|
||||
<string name="start_here_on_popup">Comezar aquí en popup</string>
|
||||
|
||||
<string name="drawer_open">Abrir o menú</string>
|
||||
<string name="drawer_close">Fechar o menú</string>
|
||||
<string name="drawer_header_action_paceholder_text">Algo vai xurdir aquí en breve ;D</string>
|
||||
|
||||
|
||||
<string name="preferred_open_action_settings_title">Acción «abrir» preferida</string>
|
||||
<string name="preferred_open_action_settings_summary">Acción predeterminada ao abrir o contido — %s</string>
|
||||
|
||||
<string name="video_player">Reprodutor de vídeo</string>
|
||||
<string name="background_player">Reprodutor en segundo plano</string>
|
||||
<string name="popup_player">Reprodutor en popup</string>
|
||||
<string name="always_ask_open_action">Preguntar sempre</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">Obtendo información…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Carregando o contido solicitado</string>
|
||||
|
||||
<string name="create_playlist">Crear unha nova lista de reprodución</string>
|
||||
<string name="delete_playlist">Eliminar a lista de reprodución</string>
|
||||
<string name="rename_playlist">Renomear a lista de reprodución</string>
|
||||
<string name="playlist_name_input">Nome</string>
|
||||
<string name="append_playlist">Engadir á lista de reprodución</string>
|
||||
<string name="set_as_playlist_thumbnail">Estabelecer como miniatura da lista de reprodución</string>
|
||||
|
||||
<string name="bookmark_playlist">Gardar a lista de reprodución nos marcadores</string>
|
||||
<string name="unbookmark_playlist">Eliminar o marcador</string>
|
||||
|
||||
<string name="delete_playlist_prompt">Desexa eliminar esta lista de reprodución?</string>
|
||||
<string name="playlist_creation_success">A lista de reprodución foi creada</string>
|
||||
<string name="playlist_add_stream_success">O vídeo foi engadido á lista de reprodución</string>
|
||||
<string name="playlist_thumbnail_change_success">A miniatura da lista de reprodución foi modificada</string>
|
||||
<string name="playlist_delete_failure">Non foi posíbel eliminar a lista de reprodución</string>
|
||||
|
||||
<string name="caption_none">Sen lenda</string>
|
||||
|
||||
<string name="resize_fit">Axustar</string>
|
||||
<string name="resize_fill">Encher</string>
|
||||
<string name="resize_zoom">Zoom</string>
|
||||
|
||||
<string name="caption_auto_generated">Xerado automaticamente</string>
|
||||
|
||||
<string name="caption_setting_title">Lenda</string>
|
||||
<string name="caption_setting_description">Modificar a escala de texto da lenda e os estilos de segundo plano do reprodutor. Para ter efecto, é preciso reiniciar o aplicativo</string>
|
||||
|
||||
<string name="enable_leak_canary_title">Activar LeakCanary</string>
|
||||
<string name="enable_leak_canary_summary">A monitorización de fugas de memoria pode facer que o aplicativo deixe de responder cando hai vertedura da pila</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Informar de erros de fóra do ciclo de vida</string>
|
||||
<string name="enable_disposed_exceptions_summary">Forzar a comunicación de excepcións Rx non entregábeis fóra do ciclo de vida do fragmento ou actividade após o descarte</string>
|
||||
|
||||
<string name="import_export_title">Importar/Exportar</string>
|
||||
<string name="import_title">Importar</string>
|
||||
<string name="import_from">Importar de</string>
|
||||
<string name="export_to">Exportar a</string>
|
||||
|
||||
<string name="import_ongoing">Importando…</string>
|
||||
<string name="export_ongoing">Exportando…</string>
|
||||
|
||||
<string name="import_file_title">Importar un ficheiro</string>
|
||||
<string name="previous_export">Exportación anterior</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">Non foi posíbel importar as subscricións</string>
|
||||
<string name="subscriptions_export_unsuccessful">Non foi posíbel exportar as subscricións</string>
|
||||
|
||||
<string name="import_youtube_instructions">Pode importar as súas subscricións de YouTube descarregando o ficheiro de exportacións:
|
||||
\n
|
||||
\n1. Acceda ao URL %1$s
|
||||
\n2. Inicie a sesión cando lle for solicitado
|
||||
\n3. Ha comezar unha descarga (a do ficheiro de exportación)</string>
|
||||
<string name="import_soundcloud_instructions">Pode importar un perfil do SoundCloud escribindo o URL ou o seu ID:
|
||||
\n
|
||||
\n1. Active o «modo desktop» nun navegador da Internet (o sitio non está dispoñíbel para dispositivos móbiles)
|
||||
\n2. Acceda ao URL %1$s
|
||||
\n3. Inicie a sesión cando lle for solicitado
|
||||
\n4. Copie o URL de perfil a que foi redirixido.</string>
|
||||
<string name="import_soundcloud_instructions_hint">oseuID, soundcloud.com/oseuid</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Teña en conta que esta operación pode consumir moitos recursos de rede.
|
||||
\n
|
||||
\nDesexa continuar?</string>
|
||||
|
||||
<string name="playback_speed_control">Controis de velocidade da reprodución</string>
|
||||
<string name="playback_tempo">Tempo</string>
|
||||
<string name="playback_pitch">Ton</string>
|
||||
<string name="unhook_checkbox">Desvincular (pode causar distorsión)</string>
|
||||
<string name="skip_silence_checkbox">Avanzar rápido durante os momentos de silencio</string>
|
||||
<string name="playback_step">Paso</string>
|
||||
<string name="playback_reset">Reiniciar</string>
|
||||
|
||||
<string name="start_accept_privacy_policy">Para cumprirmos co Regulamento Xeral Europeo de Protección de Datos (GDPR), chamamos a súa atención sobre a nova política de privacidade do NewPipe. Por favor, léao con coidado.
|
||||
\nDebe aceptalo para nos enviar un relatorio de erro.</string>
|
||||
<string name="accept">Aceptar</string>
|
||||
<string name="decline">Recusar</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Sen límite</string>
|
||||
<string name="limit_mobile_data_usage_title">Limitar a resolución ao usar datos móbiles</string>
|
||||
<string name="minimize_on_exit_title">Minimizar ao mudar de aplicativo</string>
|
||||
<string name="minimize_on_exit_summary">Acción ao mudar de aplicativo desde o reprodutor orixinal — %s</string>
|
||||
<string name="minimize_on_exit_none_description">Ningunha</string>
|
||||
<string name="minimize_on_exit_background_description">Minimizar ao reprodutor en segundo plano</string>
|
||||
<string name="minimize_on_exit_popup_description">Minimizar o reprodutor popup</string>
|
||||
|
||||
</resources>
|
|
@ -59,7 +59,7 @@
|
|||
<string name="next_video_title">הסרטון הבא</string>
|
||||
<string name="show_next_and_similar_title">הראה את הסרטונים הבאים וסרטונים דומים</string>
|
||||
<string name="url_not_supported_toast">כתובת URL לא נתמכת</string>
|
||||
<string name="search_language_title">שפת התוכן המועדפת</string>
|
||||
<string name="content_language_title">שפת התוכן המועדפת</string>
|
||||
<string name="settings_category_video_audio_title">סרטים ושמע</string>
|
||||
<string name="settings_category_popup_title">חלון צץ</string>
|
||||
<string name="settings_category_appearance_title">תצוגה</string>
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
<string name="show_hold_to_append_title">\"संलग्न करने के लिए पकड़ें रहे\" दिखाए</string>
|
||||
<string name="show_hold_to_append_summary">जब बैकग्राउंड और पॉपअप बटन विडियो के विवरण पन्ने में दबाई जाए तो tip को दिखाए</string>
|
||||
<string name="url_not_supported_toast">ये वाला URL इसमें नहीं चलेगा</string>
|
||||
<string name="search_language_title">डिफ़ॉल्ट विषय की भाषा</string>
|
||||
<string name="content_language_title">डिफ़ॉल्ट विषय की भाषा</string>
|
||||
<string name="settings_category_player_title">प्लेयर</string>
|
||||
<string name="settings_category_player_behavior_title">चाल चलन</string>
|
||||
<string name="settings_category_popup_title">पॉपअप</string>
|
||||
|
@ -247,7 +247,7 @@
|
|||
<string name="copyright" formatted="true">%2$s के द्वारा © %1$s जो %3$s के अधीन आते है</string>
|
||||
<string name="error_unable_to_load_license">लाइसेंस load नहीं हो रहा</string>
|
||||
<string name="tab_contributors">सहयोगकर्ता</string>
|
||||
<string name="app_description">एंड्राइड के लिए हल्का और मुफ्त स्ट्रीमिंग।</string>
|
||||
<string name="app_description">एंड्राइड के लिए हल्का और मुफ्त स्ट्रीमिंग एप्लिकेशन|</string>
|
||||
<string name="contribution_encouragement">अगर आपके पास कोई सुझाव हो जैसे -अनुवाद , डिजाईन में बदलाव ,code को साफ़ रखना , या फिर code में जायदा बदलाव लाना हो तो - साहयता के लिए आपका स्वागत है . जितना ज्यादा होगा उतना बेहतर होगा !</string>
|
||||
<string name="delete_item_search_history">क्या आप इसको खोज इतिहास के मिटाना चाहते है ?</string>
|
||||
|
||||
|
@ -295,7 +295,7 @@
|
|||
<string name="import_data_title">डेटाबेस आयात करें</string>
|
||||
<string name="export_data_title">डेटाबेस निर्यात करें</string>
|
||||
<string name="import_data_summary">आपके वर्तमान इतिहास और सब्सक्रिप्शन को ओवरराइड करेगा</string>
|
||||
<string name="export_data_summary">इतिहास, सब्सक्रिप्शन और प्लेलिस्ट निर्यात करें ।</string>
|
||||
<string name="export_data_summary">इतिहास, सब्सक्रिप्शन और प्लेलिस्ट निर्यात करें</string>
|
||||
<string name="external_player_unsupported_link_type">एक्सटर्नल प्लेयर इन प्रकार के लिंक सपोर्ट नहीं करता</string>
|
||||
<string name="invalid_url_toast">अमान्य URL</string>
|
||||
<string name="video_streams_empty">कोई वीडियो स्ट्रीम नहीं मिला</string>
|
||||
|
@ -383,7 +383,7 @@
|
|||
<string name="metadata_cache_wipe_summary">सभी कैश किए गए वेबपृष्ठ डेटा हटाएं</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">मेटाडाटा कैश मिटा दिया गया</string>
|
||||
<string name="auto_queue_title">अगली स्ट्रीम को स्वचालित रूप से जोड़ें</string>
|
||||
<string name="auto_queue_summary">गैर-दोहराने वाली कतार में अंतिम स्ट्रीम चलाते समय संबंधित स्ट्रीम को स्वतः संलग्न करें।</string>
|
||||
<string name="auto_queue_summary">गैर-दोहराने वाली कतार में अंतिम स्ट्रीम चलाते समय संबंधित स्ट्रीम को स्वतः संलग्न करें</string>
|
||||
<string name="file">फाइल</string>
|
||||
|
||||
<string name="channels">चेनल्स</string>
|
||||
|
@ -416,7 +416,7 @@
|
|||
<string name="import_settings">क्या आप सेटिंग्स भी आयात करना चाहते है?</string>
|
||||
|
||||
<string name="preferred_open_action_settings_title">पसंदीदा \'खोलने पर\' करवाई</string>
|
||||
<string name="preferred_open_action_settings_summary">सामग्री खोलते समय डिफ़ॉल्ट कारवाही</string>
|
||||
<string name="preferred_open_action_settings_summary">सामग्री खोलते समय डिफ़ॉल्ट कारवाही — %s</string>
|
||||
|
||||
<string name="caption_setting_title">केप्सन</string>
|
||||
<string name="caption_setting_description">प्लेयर केप्शन के शब्दों का परिमाण और पृष्ठभूमि शैलियो को बदले। लागू करने के लिए ऐप को पुनः प्रारम्भ करना जरूरी है।</string>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<string name="download_path_audio_dialog_title">Unesi put za preuzimanje zvučne datoteke</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Auto. reprod. kada je NewPipe pozvan iz druge apl.</string>
|
||||
<string name="autoplay_by_calling_app_summary">Automatski reproduciraj videozapis kad je NewPipe pozvan iz druge aplikacije</string>
|
||||
<string name="autoplay_by_calling_app_summary">Reproducira videozapis kad je NewPipe pozvan iz druge aplikacije</string>
|
||||
<string name="default_resolution_title">Zadana razlučivost</string>
|
||||
<string name="default_popup_resolution_title">Zadana razlučivost skočnog prozora</string>
|
||||
<string name="show_higher_resolutions_title">Prikaži veće razlučivosti</string>
|
||||
|
@ -77,7 +77,7 @@
|
|||
<string name="next_video_title">Sljedeći videozapis</string>
|
||||
<string name="show_next_and_similar_title">Prikaži sljedeće i slične videozapise</string>
|
||||
<string name="url_not_supported_toast">URL nije podržan</string>
|
||||
<string name="search_language_title">Zadani jezik sadržaja</string>
|
||||
<string name="content_language_title">Zadani jezik sadržaja</string>
|
||||
<string name="settings_category_video_audio_title">Video i zvuk</string>
|
||||
<string name="settings_category_popup_title">Skočni prozor</string>
|
||||
<string name="settings_category_appearance_title">Izgled</string>
|
||||
|
@ -116,7 +116,7 @@
|
|||
<string name="could_not_get_stream">Nije moguće dobaviti stream</string>
|
||||
<string name="could_not_load_image">Nije moguće učitati sliku</string>
|
||||
<string name="app_ui_crash">Aplikacija/UI se srušio</string>
|
||||
<string name="sorry_string">Oprostitee, ovo se nije trebalo dogoditi.</string>
|
||||
<string name="sorry_string">Oprostite, ovo se nije trebalo dogoditi.</string>
|
||||
<string name="error_report_button_text">Prijavi pogrešku putem e-maila</string>
|
||||
<string name="error_snackbar_message">Oprostite, neke greške su se dogodile.</string>
|
||||
<string name="error_snackbar_action">PRIJAVI</string>
|
||||
|
@ -284,7 +284,7 @@
|
|||
<string name="website_title">Web stranica</string>
|
||||
<string name="start_here_on_main">Ovdje započni reprodukciju</string>
|
||||
<string name="start_here_on_background">Ovdje započni repr. u pozadini</string>
|
||||
<string name="enqueue_on_background">Dadaj na red čekanja u pozadini</string>
|
||||
<string name="enqueue_on_background">Dodaj na red čekanja u pozadini</string>
|
||||
<string name="enqueue_on_popup">Dodaj na red u skočnom prozoru</string>
|
||||
<string name="start_here_on_popup">Započni ovdje u Skočnom prozoru</string>
|
||||
|
||||
|
@ -333,4 +333,109 @@
|
|||
<string name="enable_leak_canary_summary">Monitoring curenja memorije može uzrokovati greške u radu aplikacije prilikom odlaganje gomile</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Izvijestite o pogreškama izvan životnog ciklusa</string>
|
||||
<string name="show_info">Prikaži informacije</string>
|
||||
|
||||
<string name="tab_bookmarks">Oznake</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">Dodaj u</string>
|
||||
|
||||
<string name="download_thumbnail_title">Učitaj slike</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Slikovna predmemorija obrisana</string>
|
||||
<string name="metadata_cache_wipe_title">Obriši predmemorijsku metupodataka</string>
|
||||
<string name="service_title">Usluga</string>
|
||||
<string name="channels">Kanali</string>
|
||||
<string name="playlists">Playliste</string>
|
||||
<string name="tracks">Pjesme</string>
|
||||
<string name="users">Korisnici</string>
|
||||
<string name="always">Uvijek</string>
|
||||
<string name="just_once">Samo jednom</string>
|
||||
<string name="file">Datoteka</string>
|
||||
|
||||
<string name="switch_to_background">Prijeđi na pozadinu</string>
|
||||
<string name="switch_to_popup">Prijeđi na skočni prozor</string>
|
||||
<string name="switch_to_main">Prijeđi na glavni</string>
|
||||
|
||||
<string name="import_data_title">Uvoz baze podataka</string>
|
||||
<string name="export_data_title">Izvoz baze podataka</string>
|
||||
<string name="import_data_summary">Poništava vašu trenutnu povijest i pretplate</string>
|
||||
<string name="export_data_summary">Izvoz povijesti, pretplata i playlisti</string>
|
||||
<string name="clear_views_history_title">Očisti povijest gledanja</string>
|
||||
<string name="clear_views_history_summary">Briše povijest reproduciranih streamova</string>
|
||||
<string name="delete_view_history_alert">Obriši cijelu povijest gledanja.</string>
|
||||
<string name="view_history_deleted">Povijest gledanja izbrisana.</string>
|
||||
<string name="clear_search_history_title">Obriši povijest pretraživanja</string>
|
||||
<string name="delete_search_history_alert">Obriši cijelu povijest pretraživanja.</string>
|
||||
<string name="search_history_deleted">Povijest pretraživanja obrisana.</string>
|
||||
<string name="invalid_url_toast">Neispravan URL</string>
|
||||
<string name="invalid_directory">Nevažeći direktorij</string>
|
||||
<string name="file_name_empty_error">Naziv datoteke ne može biti prazan</string>
|
||||
<string name="error_occurred_detail">Dogodila se greška: %1$s</string>
|
||||
<string name="detail_drag_description">Povucite za promjenu redoslijeda</string>
|
||||
|
||||
<string name="create">Stvori</string>
|
||||
<string name="delete_one">Izbriši jedan</string>
|
||||
<string name="delete_all">Izbriši sve</string>
|
||||
<string name="dismiss">Odbaci</string>
|
||||
<string name="rename">Preimenuj</string>
|
||||
|
||||
<string name="one_item_deleted">1 stavka izbrisana.</string>
|
||||
|
||||
<string name="toast_no_player">Nijedna aplikacija nije instalirana za reprodukciju te datoteke</string>
|
||||
|
||||
<string name="give_back">Vrati</string>
|
||||
<string name="website_encouragement">Posjetite web stranicu NewPipe za više informacija i vijesti.</string>
|
||||
<string name="privacy_policy_title">NewPipeova pravila o privatnosti</string>
|
||||
<string name="read_privacy_policy">Pročitajte pravila o privatnosti</string>
|
||||
<string name="delete_stream_history_prompt">Želite li izbrisati ovu stavku iz povijesti gledanja?</string>
|
||||
<string name="delete_all_history_prompt">Jeste li sigurni da želite izbrisati sve stavke iz povijesti?</string>
|
||||
<string name="title_last_played">Zadnje svirano</string>
|
||||
<string name="title_most_played">Najviše svirano</string>
|
||||
|
||||
<string name="export_complete_toast">Izvoz završen</string>
|
||||
<string name="import_complete_toast">Uvoz završen</string>
|
||||
<string name="no_valid_zip_file">Nema važeće ZIP datoteke</string>
|
||||
<string name="could_not_import_all_files">Upozorenje: Nije moguće uvesti sve datoteke.</string>
|
||||
<string name="override_current_data">Ovo će poništiti vaše trenutne postavke.</string>
|
||||
<string name="import_settings">Želite li također uvesti postavke?</string>
|
||||
|
||||
<string name="import_export_title">Uvoz/Izvoz</string>
|
||||
<string name="import_title">Uvoz</string>
|
||||
<string name="import_from">Uvoz iz</string>
|
||||
<string name="export_to">Izvoz u</string>
|
||||
|
||||
<string name="import_ongoing">Uvoz…</string>
|
||||
<string name="export_ongoing">Izvoz…</string>
|
||||
|
||||
<string name="import_file_title">Uvoz datoteke</string>
|
||||
<string name="previous_export">Prethodni izvozi</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">Nije moguće uvesti pretplatnike</string>
|
||||
<string name="subscriptions_export_unsuccessful">Nije moguće izvesti pretplatnike</string>
|
||||
|
||||
<string name="import_youtube_instructions">Uvezite YouTube pretplatnike preuzimanjem izvozne datoteke:
|
||||
\n
|
||||
\n1. Idite na ovaj URL: %1%s
|
||||
\n2. Ulogirajte se
|
||||
\n3. Preuzimanje bi trebalo početi (to je izvozna datoteka)</string>
|
||||
<string name="import_soundcloud_instructions_hint">vašID, soundcloud.com/vašID</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Uzmite u obzir da ova operacija može uzrokovat veliku potrošnju prometa.
|
||||
\n
|
||||
\nŽelite li nastaviti?</string>
|
||||
|
||||
<string name="playback_speed_control">Kontrole brzine reprodukcije</string>
|
||||
<string name="skip_silence_checkbox">Premotaj naprijed tijekom šutnje</string>
|
||||
<string name="playback_step">Korak</string>
|
||||
<string name="playback_reset">Resetiraj</string>
|
||||
|
||||
<string name="accept">Prihvati</string>
|
||||
<string name="decline">Odbij</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Bez ograničenja</string>
|
||||
<string name="limit_mobile_data_usage_title">Ograniči rezoluciju tijekom korištenja mobilnih podataka</string>
|
||||
<string name="minimize_on_exit_none_description">Nijedan</string>
|
||||
<string name="no_player_found_toast">Reproduktor za stream nije pronađen (možete instalirati VLC za reprodukciju)</string>
|
||||
<string name="controls_download_desc">Preuzmite datoteku za stream.</string>
|
||||
<string name="use_inexact_seek_title">Koristi brzo netočno premotavanje</string>
|
||||
<string name="use_inexact_seek_summary">Netočno premotavanje omogućava reproduktoru da premota na mjesto brže uz manju preciznost</string>
|
||||
</resources>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<resources>
|
||||
<string name="view_count_text">%1$s megtekintés</string>
|
||||
<string name="upload_date_text">Közzétéve: %1$s</string>
|
||||
<string name="no_player_found">Nem található megfelelő lejátszó. Feltelepíti a VLC lejátszót?</string>
|
||||
<string name="no_player_found">Nem található megfelelő lejátszó. Telepíted a VLC lejátszót?</string>
|
||||
<string name="install">Telepítés</string>
|
||||
<string name="cancel">Mégse</string>
|
||||
<string name="open_in_browser">Megnyitás böngészőben</string>
|
||||
|
@ -15,22 +15,24 @@
|
|||
<string name="choose_browser">Válasszon böngészőt</string>
|
||||
<string name="screen_rotation">forgatás</string>
|
||||
<string name="download_path_title">Videófájlok letöltési helye</string>
|
||||
<string name="download_path_summary">Útvonal a letöltött videók tárolásához.</string>
|
||||
<string name="download_path_summary">Útvonal a letöltött videók tárolásához</string>
|
||||
<string name="download_path_dialog_title">Adja meg a videófájlok letöltési helyét</string>
|
||||
<string name="default_resolution_title">Alapértelmezett felbontás</string>
|
||||
<string name="play_with_kodi_title">Lejátszás Kodi-val</string>
|
||||
<string name="kore_not_found">A Kore alkalmazás nem található. Feltelepíti a Kore lejátszót?</string>
|
||||
<string name="kore_not_found">A Kore alkalmazás nem található. Telepíted a Kore lejátszót?</string>
|
||||
<string name="show_play_with_kodi_title">\"Lejátszás Kodi-val\" opció mutatása</string>
|
||||
<string name="show_play_with_kodi_summary">Mutat egy opciót a videók Kodi médiaközponttal való lejátszására.</string>
|
||||
<string name="show_play_with_kodi_summary">Opció mutatása a videók Kodi médiaközponttal való lejátszására</string>
|
||||
<string name="play_audio">Hang</string>
|
||||
<string name="default_audio_format_title">Alapértelmezett hang formátum</string>
|
||||
<string name="webm_description">WebM — szabad formátum</string>
|
||||
<string name="m4a_description">M4A — jobb minőség</string>
|
||||
<string name="download_dialog_title">Letöltés</string>
|
||||
<string name="next_video_title">Következő videó</string>
|
||||
<string name="url_not_supported_toast">A webcím nem támogatott</string>
|
||||
<string name="use_external_video_player_title">Külső videólejátszó használata</string>
|
||||
<string name="use_external_audio_player_title">Külső hanglejátszó használata</string>
|
||||
|
||||
<string name="download_path_audio_dialog_title">Adja meg a hangfájlok letöltési helyét.</string>
|
||||
<string name="download_path_audio_dialog_title">Add meg a hangfájlok letöltési helyét</string>
|
||||
|
||||
<string name="use_tor_title">Tor használata</string>
|
||||
<string name="use_tor_summary">(Kísérleti) Adatforgalom Tor-on keresztüli kényszerítése a biztonság fokozása érdekében (a videó stream-elés még nem támogatott).</string>
|
||||
|
@ -41,7 +43,7 @@
|
|||
<string name="background_player_playing_toast">Lejátszás háttérben</string>
|
||||
<string name="settings_category_video_audio_title">Videó és audio</string>
|
||||
<string name="settings_category_appearance_title">Megjelenés</string>
|
||||
<string name="search_language_title">Tartalom preferált nyelve</string>
|
||||
<string name="content_language_title">Tartalom preferált nyelve</string>
|
||||
<string name="settings_category_other_title">További beállítások</string>
|
||||
<string name="show_next_and_similar_title">Következő hasonló videók mutatása</string>
|
||||
<string name="dark_theme_title">Sötét</string>
|
||||
|
@ -60,12 +62,12 @@
|
|||
<string name="content">Tartalom</string>
|
||||
<string name="show_age_restricted_content_title">Korhatáros tartalom mutatása</string>
|
||||
<string name="general_error">Hiba</string>
|
||||
<string name="content_not_available">A tartalom nem elérhető.</string>
|
||||
<string name="blocked_by_gema">GEMA által blokkolt.</string>
|
||||
<string name="live_streams_not_supported">Ez egy élö közvetités. Még nem támogatva.</string>
|
||||
<string name="autoplay_by_calling_app_title">Automatikus lejátszás külső indítás esetén</string>
|
||||
<string name="autoplay_by_calling_app_summary">Videók automatikus lejátszása a NewPipe külső indításakor.</string>
|
||||
<string name="video_is_age_restricted">A video korhatáros. A megtekintéséhez engedélyezze a korhatáros videókat.</string>
|
||||
<string name="content_not_available">A tartalom nem elérhető</string>
|
||||
<string name="blocked_by_gema">GEMA által blokkolt</string>
|
||||
<string name="live_streams_not_supported">Ez egy élő közvetítés, amely még nem támogatott.</string>
|
||||
<string name="autoplay_by_calling_app_title">Automatikus lejátszás</string>
|
||||
<string name="autoplay_by_calling_app_summary">Videók automatikus lejátszása, ha a NewPipe egy másik alkalmazásból lett indítva</string>
|
||||
<string name="video_is_age_restricted">Korhatáros videó. A megtekintéséhez engedélyezze a korhatáros videókat a Beállításokban.</string>
|
||||
<string name="duration_live">élő</string>
|
||||
|
||||
<string name="error_snackbar_action">JELENTÉS</string>
|
||||
|
@ -76,11 +78,11 @@
|
|||
|
||||
|
||||
<string name="error_snackbar_message">Sajnos hiba történt.</string>
|
||||
<string name="sorry_string">Ennek nem kellett volna megtörténnie.</string>
|
||||
<string name="error_report_button_text">Hibajelentés emailben</string>
|
||||
<string name="could_not_get_stream">A stream nem elérhető.</string>
|
||||
<string name="could_not_setup_download_menu">Nem sikerült a letöltés menü beállítása.</string>
|
||||
<string name="youtube_signature_decryption_error">Nem sikerült a video url aláírás azonosítása.</string>
|
||||
<string name="sorry_string">Elnézést, ennek nem kellett volna megtörténnie.</string>
|
||||
<string name="error_report_button_text">Hibajelentés e-mailben</string>
|
||||
<string name="could_not_get_stream">A stream nem elérhető</string>
|
||||
<string name="could_not_setup_download_menu">Nem sikerült a letöltés menü beállítása</string>
|
||||
<string name="youtube_signature_decryption_error">Nem sikerült a videó URL aláírás azonosítása</string>
|
||||
<string name="storage_permission_denied">Háttértárhoz való hozzáférés megtagadva</string>
|
||||
<string name="retry">Újra</string>
|
||||
<string name="report_error">Hibajelentés</string>
|
||||
|
@ -90,21 +92,21 @@
|
|||
<string name="audio">Audio</string>
|
||||
<string name="main_bg_subtitle">A kezdéshez koppints a keresésre</string>
|
||||
<string name="could_not_load_thumbnails">Nem sikerült az összes előnézeti kép betöltése</string>
|
||||
<string name="parsing_error">Nem sikerült a weblap betöltése.</string>
|
||||
<string name="light_parsing_error">Nem sikerült a weblap teljes betöltése.</string>
|
||||
<string name="parsing_error">Nem sikerült a weblap betöltése</string>
|
||||
<string name="light_parsing_error">Nem sikerült a weblap teljes betöltése</string>
|
||||
<string name="downloads">Letöltések</string>
|
||||
<string name="downloads_title">Letöltések</string>
|
||||
<string name="error_report_title">Hibabejelentés</string>
|
||||
|
||||
<string name="start">Indít</string>
|
||||
<string name="pause">Szünet</string>
|
||||
<string name="view">Megtekintés</string>
|
||||
<string name="view">Lejátszás</string>
|
||||
<string name="delete">Törlés</string>
|
||||
<string name="checksum">Ellenőrző összeg</string>
|
||||
|
||||
<string name="finish">Ok</string>
|
||||
<string name="finish">Rendben</string>
|
||||
|
||||
<string name="msg_name">Filenév</string>
|
||||
<string name="msg_name">Fájlnév</string>
|
||||
<string name="msg_threads">Threadek</string>
|
||||
<string name="msg_error">Hiba</string>
|
||||
<string name="msg_exists">A file már létezik</string>
|
||||
|
@ -146,12 +148,12 @@
|
|||
<string name="show_search_suggestions_title">Keresési javaslatok</string>
|
||||
<string name="show_search_suggestions_summary">Mutasson javaslatokat keresés közben</string>
|
||||
<string name="enable_search_history_title">Keresési előzmények</string>
|
||||
<string name="enable_watch_history_title">Előzmények</string>
|
||||
<string name="enable_watch_history_title">Előzmények és gyorsítótár</string>
|
||||
<string name="enable_watch_history_summary">Megnézett videók nyomon követése</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">"Lejátszás folytatása félbeszakítás után (pl.: telefonhívás) "</string>
|
||||
<string name="settings_category_player_title">Lejátszó</string>
|
||||
<string name="settings_category_player_behavior_title">Működés</string>
|
||||
<string name="settings_category_history_title">Előzmények</string>
|
||||
<string name="settings_category_history_title">Előzmények és gyorsítótár</string>
|
||||
<string name="settings_category_popup_title">Felugró ablak</string>
|
||||
<string name="settings_category_debug_title">Hibaelhárítás</string>
|
||||
<string name="popup_playing_toast">Lejátszás felugró ablakban</string>
|
||||
|
@ -180,7 +182,7 @@
|
|||
<string name="import_data_title">Adatbázis importálása</string>
|
||||
<string name="export_data_title">Adatbázis exportálása</string>
|
||||
<string name="import_data_summary">Felül fogja írni a jelenlegi előzményeket és feliratkozásokat</string>
|
||||
<string name="export_data_summary">Előzmények,Feliratkozások és lejátszási listák exportálása.</string>
|
||||
<string name="export_data_summary">Előzmények, feliratkozások és lejátszási listák exportálása</string>
|
||||
<string name="could_not_load_image">Kép betöltése sikertelen</string>
|
||||
<string name="app_ui_crash">Alkalmazás/Kezelő felület összeomlott</string>
|
||||
<string name="player_stream_failure">Videó lejátszása sikertelen</string>
|
||||
|
@ -192,4 +194,242 @@
|
|||
<string name="info_labels">Mi:\\nKérés:\\nTartalom nyelve:\\nSzolgáltatás:\\nGMT Idő:\\nCsomag:\\nVerzió:\\nOperációs Rendszer verzió:</string>
|
||||
<string name="search_no_results">Nincs találat</string>
|
||||
<string name="use_old_player_title">Régi lejátszó használata</string>
|
||||
</resources>
|
||||
<string name="controls_download_desc">Adatfolyam fájl letöltése.</string>
|
||||
<string name="controls_add_to_playlist_title">Hozzáadás</string>
|
||||
|
||||
<string name="use_inexact_seek_title">Gyorsabb, de pontatlan tekerés használata</string>
|
||||
<string name="use_inexact_seek_summary">A pontatlan tekerés lehetővé teszi, hogy gyorsabban ugorjon a pozíciókra, de kevesebb pontossággal</string>
|
||||
<string name="download_thumbnail_title">Bélyegképek betöltése</string>
|
||||
<string name="download_thumbnail_summary">Kapcsold ki, hogy a bélyegképek ne legyenek betöltve és mentve, így csökkentve az adat és memória használatot. Ennek az értéknek a megváltoztatása törli a memóriában és a meghajtón lévő bélyegkép gyorsítótárat</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">A bélyegkép gyorsítótár törölve</string>
|
||||
<string name="metadata_cache_wipe_title">Gyorsítótárazott metaadat törlése</string>
|
||||
<string name="metadata_cache_wipe_summary">Minden gyorsítótárazott weboldal adat törlése</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">A metaadat gyorsítótár törölve lett</string>
|
||||
<string name="auto_queue_title">Következő videó automatikus lejátszása</string>
|
||||
<string name="enable_search_history_summary">Keresési előzmények tárolása az eszközön</string>
|
||||
<string name="service_title">Szolgáltatás</string>
|
||||
<string name="channels">Csatornák</string>
|
||||
<string name="playlists">Lejátszási listák</string>
|
||||
<string name="tracks">Zeneszámok</string>
|
||||
<string name="users">Felhasználók</string>
|
||||
<string name="file">Fájl</string>
|
||||
|
||||
<string name="switch_to_background">Folytatás a háttérben</string>
|
||||
<string name="switch_to_popup">Folytatás felugró ablakban</string>
|
||||
<string name="clear_views_history_title">Megtekintési előzmények törlése</string>
|
||||
<string name="clear_views_history_summary">Eltávolítja a megtekintési előzményeket</string>
|
||||
<string name="delete_view_history_alert">Összes megtekintési előzmény törlése.</string>
|
||||
<string name="view_history_deleted">Megtekintési előzmények törölve.</string>
|
||||
<string name="clear_search_history_title">Keresési előzmények törlése</string>
|
||||
<string name="clear_search_history_summary">Eltávolítja a kereséshez használt kifejezéseket az előzményekből</string>
|
||||
<string name="delete_search_history_alert">Összes keresési előzmény törlése.</string>
|
||||
<string name="search_history_deleted">Keresési előzmények törölve.</string>
|
||||
<string name="player_unrecoverable_failure">Lejátszási hiba történt</string>
|
||||
<string name="player_recoverable_failure">Lejátszási hiba helyreállítása</string>
|
||||
<string name="invalid_directory">Érvénytelen könyvtár</string>
|
||||
<string name="invalid_source">Érvénytelen fájl vagy tartalom forrás</string>
|
||||
<string name="invalid_file">A fájl nem létezik vagy jogosultsági hiba lépett fel</string>
|
||||
<string name="file_name_empty_error">A fájl neve nem lehet üres</string>
|
||||
<string name="error_occurred_detail">Hiba történt: %1$s</string>
|
||||
<string name="no_streams_available_download">Nincs letölthető adatforrás</string>
|
||||
|
||||
<string name="empty_subscription_feed_subtitle">Itt nincs semmi</string>
|
||||
<string name="detail_drag_description">Húzza az átrendezéshez</string>
|
||||
|
||||
<string name="use_old_player_summary">Régi beépített Mediaframework lejátszó</string>
|
||||
|
||||
<string name="short_thousand">e</string>
|
||||
<string name="short_million">M</string>
|
||||
<string name="short_billion">Mrd</string>
|
||||
|
||||
<string name="no_subscribers">Nincs feliratkozó</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="one">%s feliratkozó</item>
|
||||
<item quantity="other">%s feliratkozó</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">Nincs megtekintés</string>
|
||||
<plurals name="views">
|
||||
<item quantity="one">%s megtekintés</item>
|
||||
<item quantity="other">%s megtekintés</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">Nincs videó</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="one">%s videó</item>
|
||||
<item quantity="other">%s videó</item>
|
||||
</plurals>
|
||||
|
||||
<string name="create">Létrehozás</string>
|
||||
<string name="delete_one">Egy törlése</string>
|
||||
<string name="delete_all">Összes törlése</string>
|
||||
<string name="rename">Átnevezés</string>
|
||||
|
||||
<string name="msg_popup_permission">Ez az engedély szükséges a felugró ablakban történő megnyitáshoz</string>
|
||||
<string name="one_item_deleted">1 elem törölve.</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA rejtvény</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA rejtvény igényelve</string>
|
||||
|
||||
<string name="settings_category_downloads_title">Letöltés</string>
|
||||
<string name="settings_file_charset_title">Fájlnevekben engedélyezett karakterek</string>
|
||||
<string name="settings_file_replacement_character_summary">Érvénytelen karakterek ezzel az értékkel kerülnek helyettesítésre</string>
|
||||
<string name="settings_file_replacement_character_title">Csere karakter</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Betűk és számok</string>
|
||||
<string name="charset_most_special_characters">Legtöbb speciális karakter</string>
|
||||
|
||||
<string name="toast_no_player">Nincs a fájl lejátszásához szükséges alkalmazás telepítve</string>
|
||||
|
||||
<string name="title_activity_about">A NewPipe alkalmazásról</string>
|
||||
<string name="action_settings">Beállítások</string>
|
||||
<string name="action_about">Az alkalmazásról</string>
|
||||
<string name="error_unable_to_load_license">Engedély betöltése sikertelen</string>
|
||||
<string name="action_open_website">Honlap megnyitása</string>
|
||||
<string name="tab_about">Az alkalmazásról</string>
|
||||
<string name="tab_contributors">Közreműködők</string>
|
||||
<string name="tab_licenses">Engedélyek</string>
|
||||
<string name="app_description">Ingyenes, egyszerű streamelés Androidon.</string>
|
||||
<string name="contribution_title">Közreműködés</string>
|
||||
<string name="contribution_encouragement">Legyen ötleted a fordítással, a megjelenéssel, a forrás kód tisztításával vagy komolyabb átszervezésével kapcsolatban, bármilyen segítséget szívesen fogadunk. Járulj hozzá az alkalmazás fejlesztéséhez!</string>
|
||||
<string name="view_on_github">Megtekintés GitHubon</string>
|
||||
<string name="donation_title">Adományozás</string>
|
||||
<string name="donation_encouragement">A NewPipe alkalmazást önkéntesek fejlesztik szabadidejükben, hogy a lehető legjobb élményt hozzák el neked. Járulj hozzá a fejlesztők kávéjához, hogy tovább dolgozhassanak az alkalmazáson!</string>
|
||||
<string name="give_back">Hozzájárulás</string>
|
||||
<string name="website_title">Honlap</string>
|
||||
<string name="website_encouragement">Látogasd meg a NewPipe honlapját további információkért és hírekért!</string>
|
||||
<string name="privacy_policy_title">A NewPipe adatvédelmi irányelvei</string>
|
||||
<string name="privacy_policy_encouragement">A NewPipe projekt komolyan veszi az adataid védelmét. Az alkalmazás nem gyűjt semmilyen adatot a beleegyezésed nélkül.
|
||||
\nA NewPipe adatvédelmi irányelve részletesen elmagyarázza, mely adatok kerülnek elküldésre és tárolásra az alkalmazás összeomlásának jelentésekor.</string>
|
||||
<string name="read_privacy_policy">Az adatvédelmi irányelvek elolvasása</string>
|
||||
<string name="app_license_title">A NewPipe engedélye</string>
|
||||
<string name="read_full_license">Engedély elolvasása</string>
|
||||
|
||||
|
||||
<string name="title_activity_history">Előzmények</string>
|
||||
<string name="title_history_search">Keresési előzmények</string>
|
||||
<string name="title_history_view">Megtekintési előzmények</string>
|
||||
<string name="history_disabled">Előzmények kikapcsolva</string>
|
||||
<string name="action_history">Előzmények</string>
|
||||
<string name="history_empty">Nincsenek előzmények</string>
|
||||
<string name="history_cleared">Előzmények törölve</string>
|
||||
<string name="item_deleted">Elem törölve</string>
|
||||
<string name="delete_item_search_history">Törölni kívánja ezt az elemet a keresési előzmények közül\?</string>
|
||||
<string name="delete_stream_history_prompt">Törölni kívánja ezt az elemet a megtekintési előzmények közül\?</string>
|
||||
<string name="delete_all_history_prompt">Biztosan törölni kíván minden elemet az előzmények közül\?</string>
|
||||
<string name="title_last_played">Utoljára lejátszott</string>
|
||||
<string name="title_most_played">Legtöbbet lejátszott</string>
|
||||
|
||||
<string name="main_page_content">Főoldal tartalma</string>
|
||||
<string name="blank_page_summary">Üres oldal</string>
|
||||
<string name="kiosk_page_summary">Újságárus oldal</string>
|
||||
<string name="subscription_page_summary">Feliratkozási oldal</string>
|
||||
<string name="feed_page_summary">Feed oldal</string>
|
||||
<string name="channel_page_summary">Csatorna oldal</string>
|
||||
<string name="select_a_channel">Csatorna választása</string>
|
||||
<string name="no_channel_subscribed_yet">Még nincs csatorna feliratkozás</string>
|
||||
<string name="select_a_kiosk">Újságárus választása</string>
|
||||
<string name="export_complete_toast">Sikeres export</string>
|
||||
<string name="import_complete_toast">Sikeres import</string>
|
||||
<string name="no_valid_zip_file">Nem érvényes ZIP fájl</string>
|
||||
<string name="could_not_import_all_files">Figyelmeztetés: nem sikerült az összes fájl importálása.</string>
|
||||
<string name="override_current_data">Ez felül fogja írni a jelenlegi beállításokat.</string>
|
||||
<string name="import_settings">A beállításokat is importálni kívánja\?</string>
|
||||
|
||||
<string name="kiosk">Újságárus</string>
|
||||
<string name="trending">Felkapott</string>
|
||||
<string name="top_50">Top 50</string>
|
||||
<string name="new_and_hot">Új és friss</string>
|
||||
<string name="title_activity_popup_player">Felugró ablak lejátszó</string>
|
||||
<string name="play_queue_remove">Eltávolítás</string>
|
||||
<string name="play_queue_stream_detail">Részletek</string>
|
||||
<string name="play_queue_audio_settings">Hang beállítások</string>
|
||||
<string name="drawer_header_action_paceholder_text">Itt hamarosan megjelenik valami :)</string>
|
||||
|
||||
|
||||
<string name="preferred_open_action_settings_summary">Alapértelmezett tevékenység „%s” típusú tartalom megnyitásakor</string>
|
||||
|
||||
<string name="video_player">Videólejátszó</string>
|
||||
<string name="background_player">Lejátszás háttérben</string>
|
||||
<string name="popup_player">Felugró ablakos lejátszás</string>
|
||||
<string name="always_ask_open_action">Mindig kérdezz rá</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">Információk gyűjtése…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Kért tartalom betöltése</string>
|
||||
|
||||
<string name="create_playlist">Új lejátszási lista létrehozása</string>
|
||||
<string name="delete_playlist">Lejátszási lista törlése</string>
|
||||
<string name="rename_playlist">Lejátszási lista átnevezése</string>
|
||||
<string name="playlist_name_input">Név</string>
|
||||
<string name="append_playlist">Lejátszási listához adás</string>
|
||||
<string name="set_as_playlist_thumbnail">Beállítás lejátszási lista előképeként</string>
|
||||
|
||||
<string name="unbookmark_playlist">Könyvjelző törlése</string>
|
||||
|
||||
<string name="delete_playlist_prompt">Kívánja törölni ezt a lejátszási listát\?</string>
|
||||
<string name="playlist_creation_success">Lejátszási listsa létrehozva</string>
|
||||
<string name="playlist_add_stream_success">Lejátszási listához hozzáadva</string>
|
||||
<string name="playlist_thumbnail_change_success">Lejátszási lista előképe megváltozott</string>
|
||||
<string name="playlist_delete_failure">Nem sikerült a lejátszási lista törlése</string>
|
||||
|
||||
<string name="caption_none">Felirat kikapcsolva</string>
|
||||
|
||||
<string name="resize_fit">Illeszkedés</string>
|
||||
<string name="resize_fill">Kitöltés</string>
|
||||
<string name="resize_zoom">Közelítés</string>
|
||||
|
||||
<string name="caption_auto_generated">Automatikusan létrehozott</string>
|
||||
|
||||
<string name="caption_setting_title">Feliratok</string>
|
||||
<string name="caption_setting_description">Feliratok méretének és hátterének stílusbeli módosítása. A módosítások életbelépésehez az alkalmazás újraindítása szükséges.</string>
|
||||
|
||||
<string name="enable_leak_canary_title">LeakCanary bekapcsolása</string>
|
||||
<string name="import_export_title">Import/Export</string>
|
||||
<string name="import_title">Import</string>
|
||||
<string name="import_from">Importálás a következőből</string>
|
||||
<string name="export_to">Exportálás a következőbe</string>
|
||||
|
||||
<string name="import_ongoing">Importálás…</string>
|
||||
<string name="export_ongoing">Exportálás…</string>
|
||||
|
||||
<string name="import_file_title">Fájl importálása</string>
|
||||
<string name="previous_export">Előző exportálás</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">Sikertelen a feliratkozások importálása</string>
|
||||
<string name="subscriptions_export_unsuccessful">Sikertelen a feliratkozások exportálása</string>
|
||||
|
||||
<string name="import_youtube_instructions">Importálja YouTube feliratkozásait az export fájl letöltésével:
|
||||
\n
|
||||
\n1. Navigáljon erre az oldalra: %1$s
|
||||
\n2. Jelentkezzen be
|
||||
\n3. Ekkor az export fájl letöltése megkezdődik</string>
|
||||
<string name="import_soundcloud_instructions">Importálja SoundCloud profilját az URL vagy az azonosítójának begépelésével:
|
||||
\n
|
||||
\n1. Az oldal mobileszközökön nem elérhető, így „asztali böngésző mód” szükséges
|
||||
\n2. Navigáljon erre az oldalra: %1$s
|
||||
\n3. Jelentkezzen be
|
||||
\n4. Másolja ki a profil URL-t, ahova át lett irányítva.</string>
|
||||
<string name="import_soundcloud_instructions_hint">azonosítód, soundcloud.com/azonosítód</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Ez a művelet adatforgalom igényes lehet.
|
||||
\n
|
||||
\nFolytatni kívánja\?</string>
|
||||
|
||||
<string name="playback_tempo">Ütem</string>
|
||||
<string name="playback_pitch">Hangmagasság</string>
|
||||
<string name="skip_silence_checkbox">Előrepörgetés csend alatt</string>
|
||||
<string name="playback_step">Lépés</string>
|
||||
<string name="playback_reset">Helyreállítás</string>
|
||||
|
||||
<string name="accept">Elfogadás</string>
|
||||
<string name="decline">Elutasítás</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Nincs korlát</string>
|
||||
<string name="limit_mobile_data_usage_title">Felbontás korlátozása mobilinternet használata esetén</string>
|
||||
<string name="minimize_on_exit_summary">Művelet alkalmazás váltásakor a fő videólejátszóról — %s</string>
|
||||
<string name="minimize_on_exit_none_description">Ne tegyen semmit</string>
|
||||
<string name="minimize_on_exit_background_description">Lejátszás folytatása a háttérben</string>
|
||||
<string name="minimize_on_exit_popup_description">Lejátszás folytatása felugró ablakban</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<string name="next_video_title">Video berikutnya</string>
|
||||
<string name="show_next_and_similar_title">Tampilkan video \'berikutnya\' dan \'serupa\'</string>
|
||||
<string name="url_not_supported_toast">URL tidak didukung</string>
|
||||
<string name="search_language_title">Bahasa konten baku</string>
|
||||
<string name="content_language_title">Bahasa konten baku</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="settings_category_appearance_title">Tampilan</string>
|
||||
<string name="settings_category_other_title">Lainnya</string>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<string name="download">Scarica</string>
|
||||
<string name="search">Cerca</string>
|
||||
<string name="settings">Impostazioni</string>
|
||||
<string name="did_you_mean">Intendevi: %1$s ?</string>
|
||||
<string name="did_you_mean">Intendevi %1$s?</string>
|
||||
<string name="share_dialog_title">Condividi con</string>
|
||||
<string name="choose_browser">Scegli il browser</string>
|
||||
<string name="screen_rotation">rotazione</string>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<string name="next_video_title">Prossimo video</string>
|
||||
<string name="show_next_and_similar_title">Mostra \'prossimi\' video e video \'simili\'</string>
|
||||
<string name="url_not_supported_toast">URL non supportato</string>
|
||||
<string name="search_language_title">Lingua predefinita per i contenuti</string>
|
||||
<string name="content_language_title">Lingua predefinita per i contenuti</string>
|
||||
<string name="settings_category_video_audio_title">Video e Audio</string>
|
||||
|
||||
<string name="list_thumbnail_view_description">Miniatura anteprima video</string>
|
||||
|
@ -74,7 +74,7 @@
|
|||
<string name="show_age_restricted_content_title">Mostra contenuti vietati ai minori</string>
|
||||
<string name="video_is_age_restricted">Questo video è riservato ad un pubblico maggiorenne. Per accedervi, abilita \"Mostra contenuti vietati ai minori\" nelle impostazioni.</string>
|
||||
|
||||
<string name="main_bg_subtitle">Tocca cerca per iniziare</string>
|
||||
<string name="main_bg_subtitle">Tocca Cerca per iniziare</string>
|
||||
<string name="autoplay_by_calling_app_title">Riproduzione automatica</string>
|
||||
<string name="autoplay_by_calling_app_summary">Riproduci i video quando NewPipe viene aperto da un\'altra app</string>
|
||||
<string name="duration_live">in diretta</string>
|
||||
|
@ -147,7 +147,7 @@
|
|||
|
||||
|
||||
<string name="open_in_popup_mode">Apri in modalità popup</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe modalità popup</string>
|
||||
<string name="popup_mode_share_menu_title">Modalità popup di NewPipe</string>
|
||||
|
||||
<string name="popup_playing_toast">Riproduzione in modalità popup</string>
|
||||
<string name="disabled">Disattivato</string>
|
||||
|
|
|
@ -25,14 +25,14 @@
|
|||
<string name="default_audio_format_title">デフォルトの音楽形式</string>
|
||||
<string name="download_dialog_title">保存</string>
|
||||
<string name="next_video_title">次の動画</string>
|
||||
<string name="show_next_and_similar_title">\"次の動画\"と\"関連動画\"を表示します</string>
|
||||
<string name="show_next_and_similar_title">「次の動画」と「関連動画」を表示</string>
|
||||
<string name="url_not_supported_toast">URLは使用できません</string>
|
||||
<string name="search_language_title">優先言語</string>
|
||||
<string name="content_language_title">優先言語</string>
|
||||
<string name="settings_category_video_audio_title">動画と音楽</string>
|
||||
<string name="view_count_text">%1$s ビュー</string>
|
||||
<string name="list_thumbnail_view_description">動画 プレビュー サムネイル</string>
|
||||
<string name="detail_thumbnail_view_description">動画 プレビュー サムネイル</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">アップローダー サムネイル</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">投稿者アイコンのサムネイル</string>
|
||||
<string name="detail_dislikes_img_view_description">低評価</string>
|
||||
<string name="detail_likes_img_view_description">高評価</string>
|
||||
<string name="use_external_video_player_title">外部プレイヤーを使用する</string>
|
||||
|
@ -43,9 +43,9 @@
|
|||
|
||||
<string name="use_tor_title">Torを使用する</string>
|
||||
<string name="use_tor_summary">(実験的) 強制的に Tor を経由した経路で保存して、匿名性を高めます(動画の同時再生は未だ対応していません)。</string>
|
||||
<string name="theme_title">外観</string>
|
||||
<string name="dark_theme_title">暗</string>
|
||||
<string name="light_theme_title">明</string>
|
||||
<string name="theme_title">テーマ</string>
|
||||
<string name="dark_theme_title">ダーク</string>
|
||||
<string name="light_theme_title">ライト</string>
|
||||
|
||||
<string name="settings_category_appearance_title">外観</string>
|
||||
<string name="settings_category_other_title">その他</string>
|
||||
|
@ -59,26 +59,26 @@
|
|||
<string name="info_dir_created">保存場所 \'%1$s\' を作成しました</string>
|
||||
<string name="general_error">エラー</string>
|
||||
<string name="could_not_load_thumbnails">全てのサムネイルを読み込むことができません</string>
|
||||
<string name="youtube_signature_decryption_error">動画のURL署名を復号できませんでした</string>
|
||||
<string name="youtube_signature_decryption_error">動画の URL 署名を復号できませんでした</string>
|
||||
<string name="parsing_error">Webサイトを解析できませんでした</string>
|
||||
<string name="content_not_available">コンテンツが利用できません</string>
|
||||
<string name="blocked_by_gema">GEMA によって阻止されました</string>
|
||||
<string name="blocked_by_gema">GEMA にブロックされました</string>
|
||||
|
||||
<string name="could_not_setup_download_menu">保存メニューを設定できませんでした</string>
|
||||
|
||||
|
||||
<string name="live_streams_not_supported">生放送には対応していません</string>
|
||||
<string name="live_streams_not_supported">生放送にはまだ対応していません</string>
|
||||
|
||||
|
||||
<string name="content">内容</string>
|
||||
<string name="content">コンテンツ</string>
|
||||
<string name="show_age_restricted_content_title">年齢制限のあるコンテンツを表示する</string>
|
||||
<string name="video_is_age_restricted">この動画には年齢制限があります。視聴するには設定から制限を解除して下さい。</string>
|
||||
|
||||
<string name="light_parsing_error">Webサイトを完全には解析できませんでした</string>
|
||||
<string name="light_parsing_error">ウェブサイトを完全には解析できませんでした</string>
|
||||
<string name="could_not_get_stream">動画を取得できませんでした</string>
|
||||
<string name="sorry_string">申し訳ありません。発生すべきではありませんでした。</string>
|
||||
<string name="sorry_string">申し訳ありません。発生すべきでものではありませんでした。</string>
|
||||
<string name="error_report_button_text">メールで不具合を報告</string>
|
||||
<string name="error_snackbar_message">複数の不具合が発生しました</string>
|
||||
<string name="error_snackbar_message">申し訳ありません。いくつかのエラーが発生しました。</string>
|
||||
<string name="error_snackbar_action">報告</string>
|
||||
<string name="what_device_headline">情報:</string>
|
||||
<string name="what_happened_headline">何が起こりましたか:</string>
|
||||
|
@ -91,7 +91,7 @@
|
|||
<string name="retry">再試行</string>
|
||||
<string name="storage_permission_denied">ストレージへのアクセスが拒否されました</string>
|
||||
<string name="autoplay_by_calling_app_title">自動再生</string>
|
||||
<string name="autoplay_by_calling_app_summary">NewPipeが他のアプリから呼び出された際に、自動的に動画を再生します。</string>
|
||||
<string name="autoplay_by_calling_app_summary">NewPipe が他のアプリから呼び出された時、動画を再生します。</string>
|
||||
<string name="report_error">不具合を報告</string>
|
||||
<string name="user_report">利用者報告</string>
|
||||
|
||||
|
@ -100,7 +100,7 @@
|
|||
<string name="main_bg_subtitle">開始するには検索をタップ</string>
|
||||
<string name="start">開始</string>
|
||||
<string name="pause">一時停止</string>
|
||||
<string name="view">表示</string>
|
||||
<string name="view">再生</string>
|
||||
<string name="delete">削除</string>
|
||||
<string name="checksum">チェックサム</string>
|
||||
|
||||
|
@ -117,7 +117,7 @@
|
|||
<string name="msg_running_detail">タップして詳細を表示</string>
|
||||
<string name="msg_wait">お待ちください…</string>
|
||||
<string name="msg_copied">クリップボードにコピーしました</string>
|
||||
<string name="no_available_dir">利用可能な保存場所を選択して下さい</string>
|
||||
<string name="no_available_dir">ダウンロードフォルダを選択して下さい</string>
|
||||
|
||||
<string name="downloads">保存</string>
|
||||
<string name="downloads_title">保存</string>
|
||||
|
@ -126,13 +126,13 @@
|
|||
<string name="could_not_load_image">画像を読み込みできません</string>
|
||||
|
||||
<string name="app_ui_crash">アプリ/UI がクラッシュしました</string>
|
||||
<string name="info_labels">何:\\n提案:\\nコンテンツ言語:\\nサービス:\\nGMT 時間:\\nパッケージ:\\nバージョン:\\nOS バージョン:</string>
|
||||
<string name="info_labels">何:\\\\n提案:\\\\nコンテンツ言語:\\\\nサービス:\\\\nGMT 時間:\\\\nパッケージ:\\\\nバージョン:\\\\nOSバージョン:</string>
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA の要求</string>
|
||||
|
||||
<string name="recaptcha_request_toast">reCAPTCHA を要求しました</string>
|
||||
|
||||
<string name="black_theme_title">黒</string>
|
||||
<string name="black_theme_title">ブラック</string>
|
||||
|
||||
<string name="all">すべて</string>
|
||||
<string name="channel">チャンネル</string>
|
||||
|
@ -161,7 +161,7 @@
|
|||
|
||||
<string name="default_popup_resolution_title">デフォルトのポップアップ解像度</string>
|
||||
<string name="show_higher_resolutions_title">高い解像度で表示</string>
|
||||
<string name="show_higher_resolutions_summary">一部のデバイスのみ 2K/4K ビデオの再生をサポートしています</string>
|
||||
<string name="show_higher_resolutions_summary">2K/4K ビデオの再生は一部のデバイスのみサポートしています</string>
|
||||
<string name="controls_background_title">背景</string>
|
||||
<string name="controls_popup_title">ポップアップ</string>
|
||||
|
||||
|
@ -175,7 +175,7 @@
|
|||
<string name="settings_category_popup_title">ポップアップ</string>
|
||||
<string name="popup_resizing_indicator_title">サイズを変更</string>
|
||||
|
||||
<string name="use_external_video_player_summary">このオプションが有効になっているとき、一部の解像度では音声がありません。</string>
|
||||
<string name="use_external_video_player_summary">このオプションが有効になっているとき、一部の解像度では音声がありません</string>
|
||||
<string name="player_gesture_controls_title">プレーヤーのジェスチャー コントロール</string>
|
||||
<string name="player_gesture_controls_summary">ジェスチャーを使用してプレーヤーの明るさと音量をコントロールする</string>
|
||||
<string name="show_search_suggestions_title">検索候補</string>
|
||||
|
@ -193,12 +193,12 @@
|
|||
<string name="tab_about">このアプリについて</string>
|
||||
<string name="tab_contributors">貢献者</string>
|
||||
<string name="tab_licenses">ライセンス</string>
|
||||
<string name="app_description">Android向けの無料で軽量なYouTubeフロントエンド。</string>
|
||||
<string name="view_on_github">Github で表示</string>
|
||||
<string name="app_description">Android 向けの自由で軽量なプレイヤー</string>
|
||||
<string name="view_on_github">GitHub で表示</string>
|
||||
<string name="app_license_title">NewPipe のライセンス</string>
|
||||
<string name="contribution_encouragement">翻訳、デザインの変更、コードの整理、動作の重いコードの変更など、アイデアをお持ちではありませんか?ヘルプはいつでも歓迎します。より良いものを一緒に作り上げましょう!</string>
|
||||
<string name="read_full_license">ライセンスを読む</string>
|
||||
<string name="contribution_title">貢献</string>
|
||||
<string name="contribution_title">貢献する</string>
|
||||
<string name="subscribe_button_title">チャンネル登録</string>
|
||||
<string name="subscribed_button_title">チャンネル登録しました</string>
|
||||
<string name="channel_unsubscribed">チャンネル登録を解除しました</string>
|
||||
|
@ -212,14 +212,14 @@
|
|||
|
||||
<string name="enable_search_history_title">検索履歴</string>
|
||||
<string name="enable_search_history_summary">検索履歴をローカルに保存します</string>
|
||||
<string name="enable_watch_history_title">再生履歴</string>
|
||||
<string name="enable_watch_history_title">再生履歴とキャッシュ</string>
|
||||
<string name="enable_watch_history_summary">再生した動画を記録します</string>
|
||||
<string name="resume_on_audio_focus_gain_title">フォーカスで再開</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">電話などによる中断の後、再生を再開します</string>
|
||||
<string name="settings_category_player_title">プレーヤー</string>
|
||||
<string name="show_hold_to_append_summary">動画の詳細ページで背景、またはポップアップボタンが押されたときにヒントを表示する</string>
|
||||
<string name="settings_category_player_behavior_title">動作</string>
|
||||
<string name="settings_category_history_title">履歴</string>
|
||||
<string name="settings_category_history_title">履歴とキャッシュ</string>
|
||||
<string name="playlist">再生リスト</string>
|
||||
<string name="undo">元に戻す</string>
|
||||
<string name="play_all">すべて再生</string>
|
||||
|
@ -227,7 +227,7 @@
|
|||
<string name="notification_channel_name">NewPipeの通知</string>
|
||||
<string name="unknown_content">[不明]</string>
|
||||
|
||||
<string name="player_stream_failure">動画の再生に失敗しました</string>
|
||||
<string name="player_stream_failure">動画の再生ができませんでした</string>
|
||||
<string name="player_unrecoverable_failure">回復不能な再生エラーが発生しました</string>
|
||||
<string name="search_no_results">何も見つかりませんでした</string>
|
||||
<string name="no_subscribers">チャンネル登録なし</string>
|
||||
|
@ -241,9 +241,9 @@
|
|||
<string name="charset_most_special_characters">ほとんどの特殊文字</string>
|
||||
|
||||
<string name="donation_title">寄付</string>
|
||||
<string name="donation_encouragement">NewPipeはあなたに最高の経験をもたらすため、自由時間を費やしたボランティアによって開発されています。カップのコーヒー(Java)を楽しんでいる間に、開発者がNewPipeをより良いものにすることが出来るよう、今度はお返しをする時間です!</string>
|
||||
<string name="donation_encouragement">NewPipe は、あなたに最高の体験を味わってもらうために、ボランティアが自分たちの時間を使って開発しています。開発者たちがコーヒーを飲みながら NewPipe を継続的に改良できるよう、あなたのご支援をお願いします。</string>
|
||||
<string name="website_title">Webサイト</string>
|
||||
<string name="website_encouragement">NewPipeに関する詳しい情報や最新のニュースについては、我々のWebサイトをご覧ください。</string>
|
||||
<string name="website_encouragement">NewPipe の詳しい情報や最新情報については、ウェブサイトをご覧ください。</string>
|
||||
<string name="title_activity_history">履歴</string>
|
||||
<string name="title_history_search">検索履歴</string>
|
||||
<string name="title_history_view">再生履歴</string>
|
||||
|
@ -285,13 +285,13 @@
|
|||
<string name="import_data_title">データベースのインポート</string>
|
||||
<string name="export_data_title">データベースのエクスポート</string>
|
||||
<string name="import_data_summary">既存の履歴と購読リストは上書きされます</string>
|
||||
<string name="export_data_summary">履歴や購読リスト、プレイリストをエクスポートします。</string>
|
||||
<string name="export_data_summary">履歴や購読リスト、プレイリストをエクスポートします</string>
|
||||
<string name="player_recoverable_failure">再生エラーからの回復中</string>
|
||||
<string name="external_player_unsupported_link_type">外部プレーヤーは、これらのタイプのリンクをサポートしていません</string>
|
||||
<string name="invalid_url_toast">無効なURL</string>
|
||||
<string name="export_complete_toast">エクスポートが完了しました</string>
|
||||
<string name="import_complete_toast">インポートが完了しました</string>
|
||||
<string name="no_valid_zip_file">有効なZipファイルがありません</string>
|
||||
<string name="no_valid_zip_file">有効な ZIP ファイルではありません</string>
|
||||
<string name="could_not_import_all_files">警告: すべてのファイルをインポートできませんでした。</string>
|
||||
<string name="override_current_data">これにより、現在の設定が上書きされます。</string>
|
||||
|
||||
|
@ -307,7 +307,7 @@
|
|||
<string name="always_ask_player">常に尋ねる</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">情報を取得しています…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">要求したコンテンツを読み込んでいます</string>
|
||||
<string name="preferred_player_fetcher_notification_message">コンテンツを読み込んでいます</string>
|
||||
<string name="controls_download_desc">動画ファイルをダウンロード</string>
|
||||
<string name="show_info">情報を表示</string>
|
||||
|
||||
|
@ -353,10 +353,10 @@
|
|||
<string name="unbookmark_playlist">ブックマークを削除</string>
|
||||
|
||||
<string name="delete_playlist_prompt">このプレイリストを削除しますか?</string>
|
||||
<string name="playlist_creation_success">プレイリストが正常に作成されました</string>
|
||||
<string name="playlist_creation_success">プレイリストが作成されました</string>
|
||||
<string name="playlist_add_stream_success">プレイリストに追加しました</string>
|
||||
<string name="playlist_thumbnail_change_success">プレイリストのサムネイルを変更しました</string>
|
||||
<string name="playlist_delete_failure">プレイリストの削除に失敗しました</string>
|
||||
<string name="playlist_delete_failure">プレイリストが削除できませんでした</string>
|
||||
|
||||
<string name="caption_none">字幕なし</string>
|
||||
|
||||
|
@ -372,8 +372,8 @@
|
|||
<string name="import_file_title">ファイルからインポート</string>
|
||||
<string name="previous_export">前回のエクスポート</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">購読リストのインポートに失敗しました</string>
|
||||
<string name="subscriptions_export_unsuccessful">購読リストのエクスポートに失敗しました</string>
|
||||
<string name="subscriptions_import_unsuccessful">購読リストがインポートできませんでした</string>
|
||||
<string name="subscriptions_export_unsuccessful">購読リストがエクスポートできませんでした</string>
|
||||
|
||||
<string name="playback_tempo">テンポ</string>
|
||||
<string name="playback_pitch">音程</string>
|
||||
|
@ -381,14 +381,92 @@
|
|||
<string name="background_player_append">バックグラウンド再生リストに追加されました</string>
|
||||
<string name="popup_playing_append">ポップアップ再生リストに追加されました</string>
|
||||
<string name="clear_views_history_title">再生履歴を消去</string>
|
||||
<string name="clear_views_history_summary">再生した動画の履歴を削除します。</string>
|
||||
<string name="clear_views_history_summary">再生した動画の履歴を削除します</string>
|
||||
<string name="view_history_deleted">再生履歴を削除しました。</string>
|
||||
<string name="clear_search_history_title">検索履歴を消去</string>
|
||||
<string name="clear_search_history_summary">検索キーワードの履歴を削除します。</string>
|
||||
<string name="clear_search_history_summary">検索キーワードの履歴を削除します</string>
|
||||
<string name="search_history_deleted">検索履歴を削除しました。</string>
|
||||
<string name="toast_no_player">このファイルを再生するためのアプリがインストールされていません</string>
|
||||
|
||||
<string name="import_settings">設定をインポートしますか?</string>
|
||||
|
||||
<string name="caption_setting_title">字幕</string>
|
||||
</resources>
|
||||
<string name="channels">チャンネル</string>
|
||||
<string name="playlists">プレイリスト</string>
|
||||
<string name="users">ユーザー</string>
|
||||
<string name="privacy_policy_title">NewPipe プライバシーポリシー</string>
|
||||
<string name="read_privacy_policy">プライバシーポリシーを確認</string>
|
||||
<string name="use_inexact_seek_title">おおまかなシーク</string>
|
||||
<string name="use_inexact_seek_summary">おおまかなシークを使用すると、正確さ下がりますが、高速なシークが可能になります</string>
|
||||
<string name="download_thumbnail_summary">すべてのサムネイルの読み込みと保存を無効化します。このオプションを切り替えるとメモリおよびディスク上の画像キャッシュがクリアされます</string>
|
||||
<string name="auto_queue_summary">繰り返しでないキューの最後の動画を再生時、関連動画を自動的にキューに追加する</string>
|
||||
<string name="delete_view_history_alert">すべての再生履歴を削除します</string>
|
||||
<string name="delete_search_history_alert">すべての検索履歴を削除します</string>
|
||||
<string name="invalid_source">ファイル/コンテンツのソースが無効です</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="other">登録者数 %s 人</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">視聴なし</string>
|
||||
<plurals name="views">
|
||||
<item quantity="other">視聴回数 %s 回</item>
|
||||
</plurals>
|
||||
|
||||
<plurals name="videos">
|
||||
<item quantity="other">%s 本の動画</item>
|
||||
</plurals>
|
||||
|
||||
<string name="one_item_deleted">1 つのアイテムが削除されました</string>
|
||||
|
||||
<string name="give_back">支援する</string>
|
||||
<string name="privacy_policy_encouragement">NewPipe プロジェクトはあなたのプライバシーを非常に大切にしています。あなたの同意がない限り、アプリはいかなるデータも収集しません。NewPipe のプライバシー・ポリシーでは、クラッシュリポート送信時にどのような種類のデータが送信・記録されるかを詳細に説明しています。</string>
|
||||
<string name="app_license">NewPipe は著作権が自由のソフトウェアです。自由であるとは、あなたは自分の自由意志で、ソフトウェアを自由に使ったり、自由に研究したり、自由に改良することができるということです。あなたは、GNU フリーソフトウェア財団が公開する GNU General Public ライセンス バージョン3以降の下に、自由に再配布・修正を行うことができます。</string>
|
||||
<string name="title_last_played">最終再生日時</string>
|
||||
<string name="title_most_played">最も再生した動画</string>
|
||||
|
||||
<string name="resize_zoom">ズーム</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">追加...</string>
|
||||
|
||||
<string name="show_hold_to_append_title">「長押しして追加」のヒントを表示</string>
|
||||
<string name="tracks">トラック</string>
|
||||
<string name="notification_channel_description">NewPipe バックグラウンドおよびポップアップのプレーヤーの通知</string>
|
||||
|
||||
<string name="new_and_hot">新しい & ホット</string>
|
||||
<string name="hold_to_append">長押ししてキューに入れる</string>
|
||||
<string name="enqueue_on_background">バックグラウンド時にキューに入れる</string>
|
||||
<string name="enqueue_on_popup">ポップアップ時にキューに入れる</string>
|
||||
<string name="start_here_on_popup">ポップアップ時にここから開始</string>
|
||||
|
||||
<string name="drawer_header_action_paceholder_text">すぐにここに表示されます;D</string>
|
||||
|
||||
|
||||
<string name="preferred_open_action_settings_title">お好みの \'開く\' アクション</string>
|
||||
<string name="preferred_open_action_settings_summary">コンテンツを開くときのデフォルト動作 — %s</string>
|
||||
|
||||
<string name="resize_fit">フィット</string>
|
||||
<string name="resize_fill">埋める</string>
|
||||
<string name="caption_auto_generated">自動生成</string>
|
||||
|
||||
<string name="caption_setting_description">プレーヤーのキャプション文字スケールと背景スタイルを変更します。有効にするにはアプリの再起動が必要です</string>
|
||||
|
||||
<string name="empty_subscription_feed_subtitle">何もありません</string>
|
||||
<string name="import_youtube_instructions">保存したエクスポートファイルからYoutubeの購読をインポート:
|
||||
\n
|
||||
\n1. このURLを開きます: %1$s
|
||||
\n2. ログインしていなければログインします
|
||||
\n3. ダウンロードが始まります (これがエクスポートファイルです)</string>
|
||||
<string name="playback_reset">リセット</string>
|
||||
|
||||
<string name="accept">同意する</string>
|
||||
<string name="decline">拒否</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">制限なし</string>
|
||||
<string name="limit_mobile_data_usage_title">モバイルデータ使用時の解像度の制限</string>
|
||||
<string name="minimize_on_exit_title">アプリ切り替え時の最小化</string>
|
||||
<string name="minimize_on_exit_summary">プレーヤーから他アプリに切り替え時の動作 — %s</string>
|
||||
<string name="minimize_on_exit_none_description">何もしない</string>
|
||||
<string name="minimize_on_exit_background_description">バックグラウンドに変更</string>
|
||||
<string name="minimize_on_exit_popup_description">ポップアップに変更</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<string name="next_video_title">다음 비디오</string>
|
||||
<string name="show_next_and_similar_title">다음 및 유사한 비디오 표시</string>
|
||||
<string name="url_not_supported_toast">지원하지 않는 URL 입니다</string>
|
||||
<string name="search_language_title">기본 컨텐츠 언어</string>
|
||||
<string name="content_language_title">기본 컨텐츠 언어</string>
|
||||
<string name="settings_category_video_audio_title">비디오 & 오디오</string>
|
||||
|
||||
<string name="list_thumbnail_view_description">비디오 미리보기 썸네일</string>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<string name="info_dir_created">다운로드 디렉토리를 만들었습니다 \'%1$s\'</string>
|
||||
<string name="main_bg_subtitle">검색 버튼을 눌러서 시작하세요</string>
|
||||
<string name="autoplay_by_calling_app_title">자동으로 재생</string>
|
||||
<string name="autoplay_by_calling_app_summary">NewPipe가 다른 앱으로부터 호출되었을 경우 비디오를 자동으로 재생합니다</string>
|
||||
<string name="autoplay_by_calling_app_summary">NewPipe가 다른 앱으로부터 호출되었을 때 동영상을 재생합니다</string>
|
||||
<string name="content">컨텐츠</string>
|
||||
<string name="show_age_restricted_content_title">나이 제한이 있는 컨텐츠를 표시</string>
|
||||
<string name="video_is_age_restricted">연령 제한 비디오입니다. 설정 메뉴에서 시청 허용 여부를 변경하실 수 있습니다.</string>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<string name="show_search_suggestions_summary">검색 중에 제안을 표시합니다</string>
|
||||
<string name="enable_search_history_title">검색 기록</string>
|
||||
<string name="enable_search_history_summary">검색 기록을 기기에 저장합니다</string>
|
||||
<string name="enable_watch_history_title">기록</string>
|
||||
<string name="enable_watch_history_title">기록 및 캐시 관리</string>
|
||||
<string name="enable_watch_history_summary">시청했던 비디오 기록을 저장</string>
|
||||
<string name="resume_on_audio_focus_gain_title">초점 복원시 재생 재개</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">전화 통화 등으로 인해 재생이 중단된 이후에 다시 재생을 시작합니다</string>
|
||||
|
@ -165,7 +165,7 @@
|
|||
|
||||
<string name="could_not_load_image">이미지를 불러올 수 없습니다</string>
|
||||
<string name="app_ui_crash">앱/UI 충돌</string>
|
||||
<string name="player_stream_failure">이 스트림을 재생할 수 없습니다</string>
|
||||
<string name="player_stream_failure">이 스트림을 재생할 수 없습니다.</string>
|
||||
<string name="player_unrecoverable_failure">복구할 수 없는 플레이어 오류가 발생했습니다</string>
|
||||
<string name="player_recoverable_failure">플레이어 오류로부터 복구 중</string>
|
||||
|
||||
|
@ -234,7 +234,7 @@
|
|||
<string name="tab_about">뉴파이프</string>
|
||||
<string name="tab_contributors">기여자</string>
|
||||
<string name="tab_licenses">라이센스</string>
|
||||
<string name="app_description">안드로이드를 위한 개방/자유/무료 유튜브 프론트엔드 입니다.</string>
|
||||
<string name="app_description">가볍고 빠른 자유 안드로이드 스트리밍 앱입니다.</string>
|
||||
<string name="contribution_title">기여</string>
|
||||
<string name="contribution_encouragement">번역, 디자인, 코딩 등 다양한 기여를 언제나 환영합니다. 향상에 참여해주세요!</string>
|
||||
<string name="view_on_github">GitHub에서 보기</string>
|
||||
|
@ -293,7 +293,7 @@
|
|||
<string name="use_inexact_seek_title">정확하지는 않지만 빠른 탐색</string>
|
||||
<string name="use_inexact_seek_summary">정확하지 않은 탐색은 빠르게 위치로 탐색할 수 있지만 정확도는 떨어집니다</string>
|
||||
<string name="auto_queue_title">다음 스트림을 자동으로 재생열에 추가하기</string>
|
||||
<string name="auto_queue_summary">전 스트림이 무한 반복 재생 큐가 아닐 때 관련된 스트림 자동 재생하기.</string>
|
||||
<string name="auto_queue_summary">이전 스트림이 무한 반복 재생 큐가 아닐 경우, 관련 스트림을 자동 재생합니다.</string>
|
||||
<string name="default_content_country_title">기본 콘텐츠 국가</string>
|
||||
<string name="service_title">서비스</string>
|
||||
<string name="settings_category_debug_title">디버그</string>
|
||||
|
@ -309,7 +309,7 @@
|
|||
<string name="import_data_title">데이터베이스 가져오기</string>
|
||||
<string name="export_data_title">데이터베이스 내보내기</string>
|
||||
<string name="import_data_summary">현재 시청 기록 및 구독 목록을 덮어쓰기 됩니다</string>
|
||||
<string name="export_data_summary">시청 기록, 구독 목록, 재생목록 내보내기.</string>
|
||||
<string name="export_data_summary">시청 기록, 구독 목록과 재생목록을 내보냅니다.</string>
|
||||
<string name="external_player_unsupported_link_type">외부 플레이어는 이러한 종류의 링크를 지원하지 않습니다</string>
|
||||
<string name="invalid_url_toast">잘못된 URL</string>
|
||||
<string name="video_streams_empty">발견된 비디오 스트림 없음</string>
|
||||
|
@ -359,7 +359,7 @@
|
|||
<string name="unbookmark_playlist">북마크 제거하기</string>
|
||||
|
||||
<string name="delete_playlist_prompt">이 재생목록을 삭제하시겠습니까?</string>
|
||||
<string name="playlist_creation_success">재생목록 생성 성공</string>
|
||||
<string name="playlist_creation_success">재생목록 생성 완료</string>
|
||||
<string name="playlist_add_stream_success">재생목록에 추가됨</string>
|
||||
<string name="playlist_thumbnail_change_success">재생목록 썸내일이 바뀜</string>
|
||||
<string name="playlist_delete_failure">재생목록 삭제 실패</string>
|
||||
|
@ -379,9 +379,9 @@
|
|||
<string name="live_sync">동기화</string>
|
||||
|
||||
<string name="enable_leak_canary_title">LeakCanary 할성화</string>
|
||||
<string name="enable_leak_canary_summary">메모리 누수 모니터링은 힙 덤핑시 앱이 불안정할 수 있습니다</string>
|
||||
<string name="enable_leak_canary_summary">힙 덤프 중 메모리 누수 점검으로 앱이 불안정해질 수 있습니다</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Out-of-Lifecycle 에러 보고</string>
|
||||
<string name="enable_disposed_exceptions_title">Out-of-Lifecycle 오류 보고</string>
|
||||
<string name="enable_disposed_exceptions_summary">프래그먼트 또는 버려진 액티비티 주기 밖에서 일어나는 전달할 수 없는 Rx 예외를 강제적으로 보고하기</string>
|
||||
|
||||
<string name="file">파일</string>
|
||||
|
@ -410,21 +410,21 @@
|
|||
\n1. 이곳으로 가세요: $1$s
|
||||
\n2. 로그인이 필요하면 하세요
|
||||
\n3. 다운로드가 곧 시작 됩니다 (이 파일이 내보내기 파일 입니다)</string>
|
||||
<string name="import_soundcloud_instructions">SoundCloud 팔로잉 목록을 가져오려면 당신의 프로필 URL 및 ID를 알아야 합니다. 알고 있다면 아래에 있는 빈칸에 입력해 주세요.
|
||||
<string name="import_soundcloud_instructions">SoundCloud 프로필을 가져오시려면 URL 및 ID를 입력해주세요.
|
||||
\n
|
||||
\n프로필 URL을 찾으시려면 다음 과정을 따라해 주세요.
|
||||
\n
|
||||
\n만약 모르신다면, 다음을 참고하세요:
|
||||
\n
|
||||
\n1. 모바일 환경이시면 브라우저 설정에서 데스크탑 모드를 활성화해주세요. Chrome 모바일에서는 오른쪽 … 클릭시 아래쪽에 있습니다.
|
||||
\n2. 이 주소로 가세요: %1$s
|
||||
\n3. 로그인이 필요하면 하세요.
|
||||
\n3. 로그인이 필요하면 하세요.
|
||||
\n4. 리디렉트된 곳의 URL을 복사하세요. (이 URL이 당신의 프로필 URL 입니다)</string>
|
||||
<string name="import_soundcloud_instructions_hint">프로필ID, soundcloud.com/프로필ID</string>
|
||||
|
||||
<string name="import_network_expensive_warning">경고: 데이터 소모량이 늘어날 수 있습니다.
|
||||
\n
|
||||
\n진행하시겠습니까?</string>
|
||||
<string name="import_network_expensive_warning">경고: 데이터 소모량이 늘어날 수 있습니다.
|
||||
\n
|
||||
\n계속하시겠습니까?</string>
|
||||
<string name="download_thumbnail_title">썸내일 로드하기</string>
|
||||
<string name="download_thumbnail_summary">모든 썸내일의 로드와 데이터에 저장하기를 멈춥니다. 이것은 메모리와 이미지 캐시를 지울 것입니다.</string>
|
||||
<string name="download_thumbnail_summary">동영상 썸네일을 로드하지 않으며, 데이터와 메모리 사용을 최대한 줄입니다. 이 옵션을
|
||||
\n선택 시, 모든 메모리 캐시와 저장소 캐시를 삭제합니다.</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">이미지 캐시 지워짐</string>
|
||||
<string name="metadata_cache_wipe_title">캐시된 메타데이터 지우기</string>
|
||||
<string name="metadata_cache_wipe_summary">캐시된 모든 웹페이지 데이터 지우기</string>
|
||||
|
@ -432,12 +432,12 @@
|
|||
<string name="playback_speed_control">재생 속도 조절</string>
|
||||
<string name="playback_tempo">템포</string>
|
||||
<string name="playback_pitch">피치</string>
|
||||
<string name="unhook_checkbox">후크 취소 (소리가 깨질수 있음)</string>
|
||||
<string name="unhook_checkbox">영상과 소리 분리 (소리가 깨질 수 있음)</string>
|
||||
<string name="playback_nightcore">나이트코어</string>
|
||||
<string name="playback_default">기본</string>
|
||||
<string name="no_streams_available_download">다운로드 가능한 스트림이 없습니다</string>
|
||||
|
||||
<string name="toast_no_player">이 파일을 위한 플레이어가 발견되지 않았습니다</string>
|
||||
<string name="toast_no_player">이 파일을 재생할 수 있는 플레이어 앱이 없습니다.</string>
|
||||
|
||||
<string name="preferred_open_action_settings_title">선호하는 열기 동작</string>
|
||||
<string name="preferred_open_action_settings_summary">컨텐츠를 열 때 사용할 기본 동작 — %s</string>
|
||||
|
@ -445,4 +445,29 @@
|
|||
<string name="caption_setting_title">자막</string>
|
||||
<string name="caption_setting_description">플레이어 자막 텍스트 크기와 배경 스타일을 변경합니다. 효과를 적용하려면 앱을 재시작 해야합니다.</string>
|
||||
|
||||
<string name="channels">채널만</string>
|
||||
<string name="playlists">재생 목록만</string>
|
||||
<string name="clear_views_history_title">시청 기록 삭제하기</string>
|
||||
<string name="clear_views_history_summary">동영상 시청 기록을 삭제합니다.</string>
|
||||
<string name="delete_view_history_alert">\'삭제\' 버튼을 누르면 모든 시청 기록이 삭제됩니다.</string>
|
||||
<string name="view_history_deleted">동영상 시청 기록이 삭제되었습니다.</string>
|
||||
<string name="clear_search_history_title">검색 기록 삭제</string>
|
||||
<string name="clear_search_history_summary">검색 기록을 모두 삭제합니다.</string>
|
||||
<string name="delete_search_history_alert">\'삭제\' 버튼을 누르면 모든 검색 기록이 삭제됩니다.</string>
|
||||
<string name="search_history_deleted">검색 기록이 삭제되었습니다.</string>
|
||||
<string name="privacy_policy_title">뉴파이프 개인정보 보호 정책</string>
|
||||
<string name="privacy_policy_encouragement">뉴파이프 프로젝트는 사용자의 개인 정보 보호를 최우선으로 생각하며, 동의 없이 어떠한 정보도 수집하지 않습니다.
|
||||
\n뉴파이프 개인정보 보호 정책에서는 오류 보고 시 어떠한 정보가 수집되고 저장되는지 자세히 명시되어 있습니다.</string>
|
||||
<string name="read_privacy_policy">개인정보 보호 정책 읽기</string>
|
||||
<string name="app_license">뉴파이프는 카피레프트 자유 소프트웨어입니다. 사용자는 이 앱을 사용, 공유, 또는 수정하는 것이 가능하고, 수정 후 재배포 시 자유 소프트웨어 재단의 GNU 라이센스 버전
|
||||
\n3 또는 그 이상의 버전을 포함해야 합니다.</string>
|
||||
<string name="import_settings">앱 설정을 가져오시겠습니까?</string>
|
||||
|
||||
<string name="skip_silence_checkbox">무음 구간 스킵</string>
|
||||
<string name="start_accept_privacy_policy">유럽 연합 일반 데이터 보호 규정 (GDPR) 에 따라, 사용자는 뉴파이프 개인정보 보호 정책을 읽고 꼼꼼히 확인해야 합니다. 버그 리포트를 보내시려면 개인정보 보호 정책에 동의해주세요.</string>
|
||||
<string name="accept">동의</string>
|
||||
<string name="decline">동의하지 않음</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">데이터 제한 없음</string>
|
||||
<string name="limit_mobile_data_usage_title">모바일 데이터 사용 시 화질 제한</string>
|
||||
</resources>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<string name="next_video_title">Kitas vaizdo įrašas</string>
|
||||
<string name="show_next_and_similar_title">Rodyti kitus panašius vaizdo įrašus</string>
|
||||
<string name="url_not_supported_toast">URL nepalaikoma</string>
|
||||
<string name="search_language_title">Numatytoji tūrinio kalba</string>
|
||||
<string name="content_language_title">Numatytoji tūrinio kalba</string>
|
||||
<string name="settings_category_video_audio_title">Vaizdas ir garsas</string>
|
||||
<string name="settings_category_popup_title">Iššokantis langas</string>
|
||||
<string name="settings_category_appearance_title">Išvaizda</string>
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<string name="url_not_supported_toast">Неподдржана URL врска</string>
|
||||
<string name="default_content_country_title">Земја на прикажани видеа</string>
|
||||
<string name="service_title">Услуга</string>
|
||||
<string name="search_language_title">Претпочитан јазик на видеата</string>
|
||||
<string name="content_language_title">Претпочитан јазик на видеата</string>
|
||||
<string name="settings_category_player_title">Плеер</string>
|
||||
<string name="settings_category_player_behavior_title">Однесување</string>
|
||||
<string name="settings_category_video_audio_title">Видео и Звук</string>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<string name="next_video_title">Neste video</string>
|
||||
<string name="show_next_and_similar_title">Vis \"neste\" og \"lignende\" videoer</string>
|
||||
<string name="url_not_supported_toast">Nettadressen støttes ikke</string>
|
||||
<string name="search_language_title">Foretrukket innholdsspråk</string>
|
||||
<string name="content_language_title">Foretrukket innholdsspråk</string>
|
||||
<string name="settings_category_video_audio_title">Video og lyd</string>
|
||||
<string name="settings_category_appearance_title">Utseende</string>
|
||||
<string name="settings_category_other_title">Annet</string>
|
||||
|
@ -377,7 +377,7 @@
|
|||
<string name="smaller_caption_font_size">Mindre skrift</string>
|
||||
<string name="normal_caption_font_size">Normal skrift</string>
|
||||
<string name="larger_caption_font_size">Større skrift</string>
|
||||
<string name="use_inexact_seek_title">Bruk raskt unøyaktig søk</string>
|
||||
<string name="use_inexact_seek_title">Bruk raskt unøyaktig blafring</string>
|
||||
<string name="settings_category_debug_title">Feilretting</string>
|
||||
<string name="file">Fil</string>
|
||||
|
||||
|
@ -434,7 +434,7 @@
|
|||
<string name="search_history_deleted">Søkehistorikk slettet.</string>
|
||||
<string name="one_item_deleted">Ett element slettet.</string>
|
||||
|
||||
<string name="toast_no_player">Inget program installert for avspilling av denne filen.</string>
|
||||
<string name="toast_no_player">Inget program installert for avspilling av denne filen</string>
|
||||
|
||||
<string name="caption_setting_title">Undertekster</string>
|
||||
<string name="caption_setting_description">Endre undertekststørrelse og bakgrunnsstiler. Krever omstart av programmet for å tre i effekt</string>
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<string name="url_not_supported_toast">URL wordt niet ondersteund</string>
|
||||
<string name="default_content_country_title">Standaardinhoudsland</string>
|
||||
<string name="service_title">Dienst</string>
|
||||
<string name="search_language_title">Standaardtaal voor inhoud</string>
|
||||
<string name="content_language_title">Standaardtaal voor inhoud</string>
|
||||
<string name="settings_category_player_title">Speler</string>
|
||||
<string name="settings_category_player_behavior_title">Gedrag</string>
|
||||
<string name="settings_category_video_audio_title">Video & audio</string>
|
||||
|
|
|
@ -5,38 +5,38 @@
|
|||
<string name="no_player_found">Geen speler met streamondersteuning gevonden. Wil je VLC installeren?</string>
|
||||
<string name="install">Installeren</string>
|
||||
<string name="cancel">Annuleren</string>
|
||||
<string name="open_in_browser">In browser openen</string>
|
||||
<string name="open_in_browser">Openen in browser</string>
|
||||
<string name="share">Delen</string>
|
||||
<string name="download">Downloaden</string>
|
||||
<string name="search">Zoeken</string>
|
||||
<string name="settings">Instellingen</string>
|
||||
<string name="did_you_mean">Bedoelde je: %1$s ?</string>
|
||||
<string name="did_you_mean">Bedoelde je: %1$s\?</string>
|
||||
<string name="share_dialog_title">Delen met</string>
|
||||
<string name="choose_browser">Kies een browser</string>
|
||||
<string name="screen_rotation">rotatie</string>
|
||||
<string name="screen_rotation">draaiing</string>
|
||||
<string name="download_path_title">Downloadlocatie voor video\'s</string>
|
||||
<string name="download_path_summary">Locatie om gedownloade video\'s in op te slaan</string>
|
||||
<string name="download_path_dialog_title">Voer downloadlocatie in voor video\'s</string>
|
||||
<string name="default_resolution_title">Standaardresolutie</string>
|
||||
<string name="play_with_kodi_title">Afspelen met Kodi</string>
|
||||
<string name="kore_not_found">Kore-app niet gevonden. Installeren?</string>
|
||||
<string name="show_play_with_kodi_title">Toon \"Afspelen met Kodi\"-optie</string>
|
||||
<string name="show_play_with_kodi_summary">Toont een optie om een video op een Kodi media center af te spelen</string>
|
||||
<string name="show_play_with_kodi_title">\"Afspelen met Kodi\"-optie tonen</string>
|
||||
<string name="show_play_with_kodi_summary">Toont een optie om een video af te spelen op een Kodi-mediastation</string>
|
||||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Standaardaudioformaat</string>
|
||||
<string name="download_dialog_title">Downloaden</string>
|
||||
<string name="next_video_title">Volgende video</string>
|
||||
<string name="url_not_supported_toast">URL wordt niet ondersteund</string>
|
||||
<string name="show_next_and_similar_title">‘volgende’ en ‘vergelijkbare’ video’s weergeven</string>
|
||||
<string name="search_language_title">Standaardtaal voor inhoud</string>
|
||||
<string name="content_language_title">Standaardtaal voor inhoud</string>
|
||||
<string name="use_external_video_player_title">Externe videospeler gebruiken</string>
|
||||
<string name="use_external_audio_player_title">Externe audiospeler gebruiken</string>
|
||||
<string name="settings_category_video_audio_title">Video & audio</string>
|
||||
<string name="settings_category_video_audio_title">Audio en video</string>
|
||||
|
||||
<string name="list_thumbnail_view_description">Videovoorbeeldminiatuur</string>
|
||||
<string name="detail_thumbnail_view_description">Videovoorbeeldminiatuur</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Avatarminiatuur van uploader</string>
|
||||
<string name="detail_dislikes_img_view_description">Duimpjes omlaag</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Gebruikersafbeelding van uploader</string>
|
||||
<string name="detail_dislikes_img_view_description">Vind-ik-niet-leuks</string>
|
||||
<string name="download_path_audio_title">Downloadlocatie voor audio</string>
|
||||
<string name="download_path_audio_summary">Locatie om gedownloade muziek in op te slaan</string>
|
||||
<string name="download_path_audio_dialog_title">Voer downloadlocatie voor audiobestanden in</string>
|
||||
|
@ -46,38 +46,38 @@
|
|||
<string name="light_theme_title">Licht</string>
|
||||
|
||||
<string name="settings_category_appearance_title">Uiterlijk</string>
|
||||
<string name="settings_category_other_title">Overige</string>
|
||||
<string name="background_player_playing_toast">Speelt af in achtergrond</string>
|
||||
<string name="settings_category_other_title">Overig</string>
|
||||
<string name="background_player_playing_toast">Speelt af op achtergrond</string>
|
||||
<string name="play_btn_text">Afspelen</string>
|
||||
<string name="content">Inhoud</string>
|
||||
<string name="show_age_restricted_content_title">Toon inhoud met leeftijdsbeperking</string>
|
||||
<string name="video_is_age_restricted">Video heeft leeftijdsbeperking. Leeftijdsbeperkte video\'s kunnen ingeschakeld worden in de instellingen.</string>
|
||||
<string name="show_age_restricted_content_title">Inhoud met leeftijdsbeperking tonen</string>
|
||||
<string name="video_is_age_restricted">De video heeft een leeftijdsbeperking. Toestaan van dit soort video\'s kan worden ingeschakeld in de instellingen.</string>
|
||||
|
||||
<string name="general_error">Fout</string>
|
||||
<string name="network_error">Netwerkfout</string>
|
||||
<string name="could_not_load_thumbnails">Kon niet alle miniaturen laden</string>
|
||||
<string name="youtube_signature_decryption_error">Kon video-URL-ondertekening niet ontsleutelen</string>
|
||||
<string name="parsing_error">Kon website niet verwerken</string>
|
||||
<string name="could_not_load_thumbnails">Kan niet alle miniatuurvoorbeelden laden</string>
|
||||
<string name="youtube_signature_decryption_error">Kan video-URL-ondertekening niet ontsleutelen</string>
|
||||
<string name="parsing_error">Kan website niet verwerken</string>
|
||||
<string name="content_not_available">Inhoud niet beschikbaar</string>
|
||||
<string name="blocked_by_gema">Geblokkeerd door GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Kon downloadmenu niet instellen</string>
|
||||
<string name="live_streams_not_supported">Dit is een LIVESTREAM, deze worden nog niet ondersteund.</string>
|
||||
<string name="could_not_setup_download_menu">Kan downloadmenu niet instellen</string>
|
||||
<string name="live_streams_not_supported">Dit is een LIVESTREAM; deze worden nog niet ondersteund.</string>
|
||||
|
||||
|
||||
<string name="detail_likes_img_view_description">Duimpjes omhoog</string>
|
||||
<string name="use_tor_title">Gebruik Tor</string>
|
||||
<string name="detail_likes_img_view_description">Vind-ik-leuks</string>
|
||||
<string name="use_tor_title">Tor gebruiken</string>
|
||||
<string name="use_tor_summary">(Experimenteel) Dwing downloadverkeer door Tor voor verhoogde privacy (streamen van video\'s wordt nog niet ondersteund).</string>
|
||||
|
||||
<string name="err_dir_create">Kan downloadmap \'%1$s\' niet aanmaken</string>
|
||||
<string name="info_dir_created">Downloadmap \'%1$s\' aangemaakt</string>
|
||||
<string name="light_parsing_error">Kon de website niet volledig inlezen</string>
|
||||
<string name="could_not_get_stream">Kon geen streams vinden</string>
|
||||
<string name="sorry_string">Sorry, dit zou niet mogen gebeuren.</string>
|
||||
<string name="err_dir_create">Kan downloadmap \'%1$s\' niet creëren</string>
|
||||
<string name="info_dir_created">Downloadmap \'%1$s\' gecreëerd</string>
|
||||
<string name="light_parsing_error">Kan website niet volledig verwerken</string>
|
||||
<string name="could_not_get_stream">Kan geen streams vinden</string>
|
||||
<string name="sorry_string">Sorry, dit had niet mogen gebeuren.</string>
|
||||
<string name="error_report_button_text">Fout melden via e-mail</string>
|
||||
<string name="error_snackbar_message">Sorry, er traden enkele fouten op.</string>
|
||||
<string name="error_snackbar_action">MELDEN</string>
|
||||
<string name="what_device_headline">Info:</string>
|
||||
<string name="what_happened_headline">Wat is er gebeurd:</string>
|
||||
<string name="what_device_headline">Informatie:</string>
|
||||
<string name="what_happened_headline">Wat er is gebeurd:</string>
|
||||
<string name="your_comment">Je opmerking (in het Engels):</string>
|
||||
<string name="error_details_headline">Details:</string>
|
||||
|
||||
|
@ -85,7 +85,7 @@
|
|||
<string name="video">Video</string>
|
||||
<string name="audio">Geluid</string>
|
||||
<string name="retry">Opnieuw proberen</string>
|
||||
<string name="main_bg_subtitle">Tik op zoeken om te beginnen</string>
|
||||
<string name="main_bg_subtitle">Druk op zoeken om te beginnen</string>
|
||||
<string name="autoplay_by_calling_app_title">Automatisch afspelen</string>
|
||||
<string name="autoplay_by_calling_app_summary">Speelt video’s af als NewPipe vanuit een andere app wordt geopend</string>
|
||||
<string name="duration_live">live</string>
|
||||
|
@ -93,7 +93,7 @@
|
|||
<string name="downloads_title">Downloads</string>
|
||||
<string name="error_report_title">Foutrapport</string>
|
||||
|
||||
<string name="could_not_load_image">Kon afbeelding niet laden</string>
|
||||
<string name="could_not_load_image">Kan afbeelding niet laden</string>
|
||||
<string name="app_ui_crash">App/UI gecrasht</string>
|
||||
<string name="info_labels">Wat:\\nVerzoek:\\nTaal van inhoud:\\nDienst:\\nTijd in GMT:\\nPakket:\\nVersie:\\nVersie van besturingssysteem:</string>
|
||||
<string name="report_error">Meld een probleem</string>
|
||||
|
@ -115,9 +115,9 @@
|
|||
<string name="msg_error">Fout</string>
|
||||
<string name="msg_server_unsupported">Server wordt niet ondersteund</string>
|
||||
<string name="msg_exists">Bestand bestaat al</string>
|
||||
<string name="msg_url_malform">Verkeerde URL of internet niet beschikbaar</string>
|
||||
<string name="msg_url_malform">Onjuiste URL of geen internetverbinding</string>
|
||||
<string name="msg_running">NewPipe is aan het downloaden</string>
|
||||
<string name="msg_running_detail">Tik voor meer informatie</string>
|
||||
<string name="msg_running_detail">Druk voor meer informatie</string>
|
||||
<string name="msg_wait">Even geduld…</string>
|
||||
<string name="msg_copied">Gekopieerd naar klembord</string>
|
||||
<string name="no_available_dir">Kies een beschikbare downloadmap</string>
|
||||
|
@ -140,21 +140,21 @@
|
|||
<string name="short_million">M</string>
|
||||
<string name="short_billion">B</string>
|
||||
|
||||
<string name="msg_popup_permission">Deze toestemming is vereist om
|
||||
te openen in pop-upmodus</string>
|
||||
<string name="msg_popup_permission">Deze machtiging is vereist om te
|
||||
\nopenen in pop-upmodus</string>
|
||||
|
||||
<string name="popup_mode_share_menu_title">NewPipe-pop-upmodus</string>
|
||||
|
||||
<string name="popup_playing_toast">Speelt af in pop-upmodus</string>
|
||||
<string name="use_old_player_title">Gebruik oude speler</string>
|
||||
<string name="use_old_player_title">Oude speler gebruiken</string>
|
||||
<string name="use_old_player_summary">Verouderde ingebouwde Mediaframework-speler</string>
|
||||
<string name="default_video_format_title">Standaardvideoformaat</string>
|
||||
<string name="default_video_format_title">Standaard videoformaat</string>
|
||||
<string name="disabled">Uitgeschakeld</string>
|
||||
|
||||
|
||||
<string name="default_popup_resolution_title">Standaardresolutie voor pop-up</string>
|
||||
<string name="show_higher_resolutions_title">Hogere resoluties weergeven</string>
|
||||
<string name="show_higher_resolutions_summary">Video\'s afspelen in 2K/4K wordt maar op sommige apparaten ondersteund</string>
|
||||
<string name="default_popup_resolution_title">Standaardresolutie van pop-up</string>
|
||||
<string name="show_higher_resolutions_title">Hogere resoluties tonen</string>
|
||||
<string name="show_higher_resolutions_summary">2K-/4K-video\'s worden slechts op sommige apparaten ondersteund</string>
|
||||
<string name="controls_background_title">Achtergrond</string>
|
||||
<string name="controls_popup_title">Pop-up</string>
|
||||
|
||||
|
@ -166,9 +166,9 @@ te openen in pop-upmodus</string>
|
|||
<string name="popup_remember_size_pos_summary">Onthoud laatste grootte en positie van pop-up</string>
|
||||
|
||||
<string name="settings_category_popup_title">Pop-up</string>
|
||||
<string name="popup_resizing_indicator_title">Bezig met schalen</string>
|
||||
<string name="popup_resizing_indicator_title">Bezig met wijzigen van grootte</string>
|
||||
|
||||
<string name="use_external_video_player_summary">Sommige resoluties zullen geen geluid hebben als deze optie is ingeschakeld</string>
|
||||
<string name="use_external_video_player_summary">Sommige resoluties hebben GEEN geluid hebben als deze optie is ingeschakeld</string>
|
||||
<string name="show_search_suggestions_title">Zoeksuggesties</string>
|
||||
<string name="show_search_suggestions_summary">Toon suggesties bij zoeken</string>
|
||||
|
||||
|
@ -179,9 +179,9 @@ te openen in pop-upmodus</string>
|
|||
<string name="title_activity_about">Over NewPipe</string>
|
||||
<string name="action_settings">Instellingen</string>
|
||||
<string name="action_about">Over</string>
|
||||
<string name="title_licenses">Derdepartijlicenties</string>
|
||||
<string name="title_licenses">Licenties van derde partijen</string>
|
||||
<string name="copyright" formatted="true">© %1$s door %2$s, uitgebracht onder de %3$s</string>
|
||||
<string name="error_unable_to_load_license">Kon licentie niet laden</string>
|
||||
<string name="error_unable_to_load_license">Kan licentie niet laden</string>
|
||||
<string name="action_open_website">Website openen</string>
|
||||
<string name="tab_about">Over</string>
|
||||
<string name="tab_contributors">Bijdragers</string>
|
||||
|
@ -189,7 +189,7 @@ te openen in pop-upmodus</string>
|
|||
<string name="app_description">Vrij en licht streamen voor Android.</string>
|
||||
<string name="view_on_github">Bekijken op GitHub</string>
|
||||
<string name="app_license_title">Licentie van NewPipe</string>
|
||||
<string name="contribution_encouragement">Hulp is altijd welkom, of je nu nieuwe ideeën hebt, vertalingen kan bijdragen, wijzigingen in het ontwerp, opschonen van of grote wijzigingen in de code. Hoe meer hulp, hoe beter het wordt!</string>
|
||||
<string name="contribution_encouragement">Hulp is altijd welkom. Of je nu nieuwe ideeën hebt, vertalingen kan aanleveren, wijzigingen in het ontwerp kan verrichten, code kan opschonen of van grote wijzigingen voorzien. Hoe meer hulp, hoe beter het wordt!</string>
|
||||
<string name="read_full_license">Licentie lezen</string>
|
||||
<string name="contribution_title">Bijdragen</string>
|
||||
<string name="settings_category_downloads_title">Download</string>
|
||||
|
@ -198,15 +198,15 @@ te openen in pop-upmodus</string>
|
|||
<string name="settings_file_replacement_character_title">Vervangend teken</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Letters en cijfers</string>
|
||||
<string name="charset_most_special_characters">Meeste speciale tekens</string>
|
||||
<string name="charset_most_special_characters">Speciaalste tekens</string>
|
||||
|
||||
<string name="subscribe_button_title">Abonneer</string>
|
||||
<string name="subscribe_button_title">Abonneren</string>
|
||||
<string name="subscribed_button_title">Geabonneerd</string>
|
||||
<string name="channel_unsubscribed">Abonnement opgezegd</string>
|
||||
<string name="subscription_change_failed">Kan het abonnement niet veranderen</string>
|
||||
<string name="subscription_update_failed">Kan het abonnement niet vernieuwen</string>
|
||||
<string name="channel_unsubscribed">Gedeabonneerd</string>
|
||||
<string name="subscription_change_failed">Kan abonnement niet wijzigen</string>
|
||||
<string name="subscription_update_failed">Kan abonnement niet bijwerken</string>
|
||||
|
||||
<string name="tab_main">Start</string>
|
||||
<string name="tab_main">Startpagina</string>
|
||||
<string name="tab_subscriptions">Abonnementen</string>
|
||||
|
||||
<string name="fragment_whats_new">Nieuw</string>
|
||||
|
@ -224,7 +224,7 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="title_activity_history">Geschiedenis</string>
|
||||
<string name="title_history_search">Gezocht</string>
|
||||
<string name="title_history_view">Gekeken</string>
|
||||
<string name="title_history_view">Bekeken</string>
|
||||
<string name="history_disabled">Geschiedenis is uitgeschakeld</string>
|
||||
<string name="action_history">Geschiedenis</string>
|
||||
<string name="history_empty">De geschiedenis is leeg</string>
|
||||
|
@ -232,12 +232,12 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="settings_category_player_title">Speler</string>
|
||||
<string name="settings_category_player_behavior_title">Gedrag</string>
|
||||
<string name="settings_category_history_title">Geschiedenis & Cache</string>
|
||||
<string name="settings_category_history_title">Geschiedenis en cache</string>
|
||||
<string name="playlist">Afspeellijst</string>
|
||||
<string name="undo">Ongedaan maken</string>
|
||||
|
||||
<string name="search_no_results">Geen resultaten</string>
|
||||
<string name="empty_subscription_feed_subtitle">Niets te zien</string>
|
||||
<string name="empty_subscription_feed_subtitle">Niets, maar dan ook niets te zien</string>
|
||||
|
||||
<string name="no_subscribers">Geen abonnees</string>
|
||||
<plurals name="subscribers">
|
||||
|
@ -258,29 +258,29 @@ te openen in pop-upmodus</string>
|
|||
</plurals>
|
||||
|
||||
<string name="item_deleted">Item verwijderd</string>
|
||||
<string name="delete_item_search_history">Wil je dit item uit je zoekgeschiedenis verwijderen?</string>
|
||||
<string name="show_hold_to_append_title">Tip weergeven voor ingedrukt houden om toe te voegen</string>
|
||||
<string name="show_hold_to_append_summary">Toon tip wanneer achtergrond- of pop-upknop is ingedrukt op de video-detailpagina</string>
|
||||
<string name="delete_item_search_history">Wil je dit item verwijderen uit je zoekgeschiedenis?</string>
|
||||
<string name="show_hold_to_append_title">Tip tonen voor ingedrukt houden om toe te voegen</string>
|
||||
<string name="show_hold_to_append_summary">Toon tip als achtergrond- of pop-upknop wordt ingedrukt op de videogegevenspagina</string>
|
||||
<string name="background_player_append">Toegevoegd aan wachtrij voor achtergrondspeler</string>
|
||||
<string name="popup_playing_append">Toegevoegd aan wachtrij voor pop-upspeler</string>
|
||||
<string name="play_all">Alles afspelen</string>
|
||||
|
||||
<string name="player_stream_failure">Deze stream kan niet worden afgespeeld</string>
|
||||
<string name="player_unrecoverable_failure">Onherstelbare spelerfout opgetreden</string>
|
||||
<string name="player_recoverable_failure">Aan het herstellen van spelerfout</string>
|
||||
<string name="player_recoverable_failure">Bezig met herstellen na spelerfout</string>
|
||||
|
||||
<string name="main_page_content">Content van hoofdpagina</string>
|
||||
<string name="blank_page_summary">Blanke Pagina</string>
|
||||
<string name="main_page_content">Inhoud van hoofdpagina</string>
|
||||
<string name="blank_page_summary">Blanco pagina</string>
|
||||
<string name="kiosk_page_summary">Kioskpagina</string>
|
||||
<string name="subscription_page_summary">Abonnementenpagina</string>
|
||||
<string name="feed_page_summary">Feedpagina</string>
|
||||
<string name="channel_page_summary">Kanaalpagina</string>
|
||||
<string name="select_a_channel">Selecteer een kanaal</string>
|
||||
<string name="select_a_channel">Kies een kanaal</string>
|
||||
<string name="no_channel_subscribed_yet">Nog niet geabonneerd op een kanaal</string>
|
||||
<string name="select_a_kiosk">Selecteer een kiosk</string>
|
||||
<string name="select_a_kiosk">Kies een kiosk</string>
|
||||
|
||||
<string name="kiosk">Kiosk</string>
|
||||
<string name="trending">Trending</string>
|
||||
<string name="trending">Populair</string>
|
||||
<string name="top_50">Top 50</string>
|
||||
<string name="new_and_hot">Nieuw en populair</string>
|
||||
<string name="title_activity_background_player">Achtergrondspeler</string>
|
||||
|
@ -293,28 +293,28 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="enqueue_on_background">Toevoegen aan wachtrij in achtergrond</string>
|
||||
<string name="enqueue_on_popup">Toevoegen aan wachtrij in pop-up</string>
|
||||
<string name="start_here_on_main">Hier beginnen spelen</string>
|
||||
<string name="start_here_on_background">Hier beginnen in achtergrond</string>
|
||||
<string name="start_here_on_popup">Hier beginnen in pop-up</string>
|
||||
<string name="start_here_on_main">Begin hier met afspelen</string>
|
||||
<string name="start_here_on_background">Begin hier met afspelen op achtergrond</string>
|
||||
<string name="start_here_on_popup">Begin hier met afspelen in pop-up</string>
|
||||
<string name="donation_title">Doneren</string>
|
||||
<string name="donation_encouragement">NewPipe wordt door vrijwilligers in hun vrije tijd ontwikkeld om jou de beste ervaring te brengen. Geef wat terug zodat onze ontwikkelaars NewPipe nóg beter kunnen maken terwijl ze van hun kopje koffie genieten.</string>
|
||||
<string name="give_back">Teruggeven</string>
|
||||
<string name="website_title">Website</string>
|
||||
<string name="website_encouragement">Bezoek de website van NewPipe voor meer informatie en het laatste nieuws.</string>
|
||||
<string name="default_content_country_title">Standaardinhoudsland</string>
|
||||
<string name="default_content_country_title">Standaard inhoudsland</string>
|
||||
<string name="service_title">Dienst</string>
|
||||
<string name="toggle_orientation">Oriëntatie wijzigen</string>
|
||||
<string name="switch_to_background">Verplaatsen naar achtergrond</string>
|
||||
<string name="switch_to_popup">Verplaatsen naar pop-up</string>
|
||||
<string name="switch_to_main">Verplaatsen naar normaal</string>
|
||||
<string name="switch_to_main">Verplaatsen naar hoofdvenster</string>
|
||||
|
||||
<string name="drawer_open">Menu openen</string>
|
||||
<string name="drawer_close">Menu sluiten</string>
|
||||
<string name="no_player_found_toast">Geen speler met streamondersteuning gevonden (je kan VLC installeren om het af te spelen)</string>
|
||||
<string name="no_player_found_toast">Geen speler met streamondersteuning gevonden (je kan VLC installeren om af te spelen)</string>
|
||||
<string name="always">Altijd</string>
|
||||
<string name="just_once">Eenmalig</string>
|
||||
|
||||
<string name="external_player_unsupported_link_type">Externe spelers ondersteunen deze soorten koppelingen niet</string>
|
||||
<string name="external_player_unsupported_link_type">Externe spelers ondersteunen dit soort links niet</string>
|
||||
<string name="invalid_url_toast">Ongeldige URL</string>
|
||||
<string name="video_streams_empty">Geen videostreams gevonden</string>
|
||||
<string name="audio_streams_empty">Geen audiostreams gevonden</string>
|
||||
|
@ -324,20 +324,20 @@ te openen in pop-upmodus</string>
|
|||
<string name="popup_player">Pop-upspeler</string>
|
||||
<string name="always_ask_player">Altijd vragen</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">Info ophalen…</string>
|
||||
<string name="preferred_player_fetcher_notification_title">Bezig met ophalen van informatie…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Bezig met laden van gevraagde inhoud</string>
|
||||
<string name="import_data_title">Database importeren</string>
|
||||
<string name="export_data_title">Database exporteren</string>
|
||||
<string name="import_data_summary">Dit zal je huidige geschiedenis en abonnementen overschrijven</string>
|
||||
<string name="export_data_summary">Exporteer geschiedenis, abonnementen en speellijsten</string>
|
||||
<string name="export_complete_toast">Export voltooid</string>
|
||||
<string name="import_complete_toast">Import voltooid</string>
|
||||
<string name="import_data_title">Databank importeren</string>
|
||||
<string name="export_data_title">Databank exporteren</string>
|
||||
<string name="import_data_summary">Dit overschrijft je huidige geschiedenis en abonnementen</string>
|
||||
<string name="export_data_summary">Exporteer geschiedenis, abonnementen en afspeellijsten</string>
|
||||
<string name="export_complete_toast">Exporteren voltooid</string>
|
||||
<string name="import_complete_toast">Importeren voltooid</string>
|
||||
<string name="no_valid_zip_file">Geen geldig ZIP-bestand</string>
|
||||
<string name="could_not_import_all_files">Opgelet: kon niet alle bestanden importeren.</string>
|
||||
<string name="override_current_data">Dit zal je huidige configuratie overschrijven.</string>
|
||||
<string name="could_not_import_all_files">Let op: niet alle bestanden konden worden geïmporteerd.</string>
|
||||
<string name="override_current_data">Dit overschrijft je huidige configuratie.</string>
|
||||
|
||||
<string name="controls_download_desc">Streambestand downloaden.</string>
|
||||
<string name="show_info">Info tonen</string>
|
||||
<string name="show_info">Informatie tonen</string>
|
||||
|
||||
<string name="tab_bookmarks">Bladwijzers</string>
|
||||
|
||||
|
@ -345,22 +345,22 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="detail_drag_description">Versleep om de volgorde te wijzigen</string>
|
||||
|
||||
<string name="create">Aanmaken</string>
|
||||
<string name="delete_one">Één verwijderen</string>
|
||||
<string name="create">Creëren</string>
|
||||
<string name="delete_one">Eén verwijderen</string>
|
||||
<string name="delete_all">Alles verwijderen</string>
|
||||
<string name="dismiss">Sluiten</string>
|
||||
<string name="rename">Hernoemen</string>
|
||||
<string name="rename">Naam wijzigen</string>
|
||||
|
||||
<string name="delete_stream_history_prompt">Wil je dit item uit je kijkgeschiedenis verwijderen?</string>
|
||||
<string name="delete_all_history_prompt">Wil je alle items uit je geschiedenis verwijderen?</string>
|
||||
<string name="delete_stream_history_prompt">Wil je dit item verwijderen uit je kijkgeschiedenis?</string>
|
||||
<string name="delete_all_history_prompt">Wil je alle items verwijderen uit je geschiedenis?</string>
|
||||
<string name="title_last_played">Laatst afgespeeld</string>
|
||||
<string name="title_most_played">Meest afgespeeld</string>
|
||||
|
||||
<string name="always_ask_open_action">Altijd vragen</string>
|
||||
|
||||
<string name="create_playlist">Nieuwe afspeellijst aanmaken</string>
|
||||
<string name="create_playlist">Nieuwe afspeellijst creëren</string>
|
||||
<string name="delete_playlist">Afspeellijst verwijderen</string>
|
||||
<string name="rename_playlist">Afspeellijst hernoemen</string>
|
||||
<string name="rename_playlist">Afspeellijstnaam wijzigen</string>
|
||||
<string name="playlist_name_input">Naam</string>
|
||||
<string name="append_playlist">Toevoegen aan afspeellijst</string>
|
||||
<string name="set_as_playlist_thumbnail">Instellen als miniatuur voor afspeellijst</string>
|
||||
|
@ -376,7 +376,7 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="caption_none">Geen bijschriften</string>
|
||||
|
||||
<string name="resize_fit">Passen</string>
|
||||
<string name="resize_fit">Inpassen</string>
|
||||
<string name="resize_fill">Opvullen</string>
|
||||
<string name="resize_zoom">Inzoomen</string>
|
||||
|
||||
|
@ -404,8 +404,8 @@ te openen in pop-upmodus</string>
|
|||
|
||||
<string name="invalid_directory">Ongeldige map</string>
|
||||
<string name="invalid_source">Ongeldig bestand/Ongeldige inhoudsbron</string>
|
||||
<string name="invalid_file">Het bestand bestaat niet of u beschikt niet over voldoende machtiging om het te lezen/er naar te schrijven</string>
|
||||
<string name="file_name_empty_error">De bestandsnaam mag niet leeg zijn</string>
|
||||
<string name="invalid_file">Het bestand bestaat niet of je bent onvoldoende gemachtigd om het te lezen/er naar te schrijven</string>
|
||||
<string name="file_name_empty_error">De bestandsnaam mag niet blanco zijn</string>
|
||||
<string name="error_occurred_detail">Er is een fout opgetreden: %1$s</string>
|
||||
|
||||
<string name="import_export_title">Importeren/Exporteren</string>
|
||||
|
@ -435,7 +435,7 @@ te openen in pop-upmodus</string>
|
|||
\n4. Kopieer de koppeling van de pagina waar je op terechtkomt (dat is je profiel-URL).</string>
|
||||
<string name="import_soundcloud_instructions_hint">jouwID, soundcloud.com/jouwid</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Let op: deze actie kan veel MB’s van je netwerk gebruiken.
|
||||
<string name="import_network_expensive_warning">Let op: deze actie kan veel MB’s van je mobiele netwerk gebruiken.
|
||||
\n
|
||||
\nWil je doorgaan?</string>
|
||||
<string name="download_thumbnail_title">Miniatuurvoorbeelden laden</string>
|
||||
|
@ -456,7 +456,7 @@ te openen in pop-upmodus</string>
|
|||
<string name="no_streams_available_download">Geen streams beschikbaar voor downloaden</string>
|
||||
|
||||
<string name="caption_setting_title">Bijschriften</string>
|
||||
<string name="caption_setting_description">Bijschriftgrootte en achtergrondstijlen wijzigen. Vereist een herstart van de app</string>
|
||||
<string name="caption_setting_description">Bijschriftgrootte en -achtergrondstijlen wijzigen. Vereist een herstart van de app</string>
|
||||
|
||||
<string name="toast_no_player">Er is geen app geïnstalleerd die dit bestand kan afspelen</string>
|
||||
|
||||
|
@ -464,22 +464,22 @@ te openen in pop-upmodus</string>
|
|||
<string name="clear_views_history_summary">Verwijdert de geschiedenis van afgespeelde streams</string>
|
||||
|
||||
<string name="delete_view_history_alert">Verwijdert de gehele kijkgeschiedenis.</string>
|
||||
<string name="view_history_deleted">Kijkgeschiedenis verwijderd.</string>
|
||||
<string name="view_history_deleted">Kijkgeschiedenis gewist.</string>
|
||||
<string name="clear_search_history_title">Zoekgeschiedenis wissen</string>
|
||||
<string name="clear_search_history_summary">Verwijdert de gebruikte zoektermen</string>
|
||||
<string name="delete_search_history_alert">Verwijdert de gehele geschiedenis.</string>
|
||||
<string name="search_history_deleted">Zoekgeschiedenis verwijderd.</string>
|
||||
<string name="search_history_deleted">Zoekgeschiedenis gewist.</string>
|
||||
<string name="one_item_deleted">1 item verwijderd.</string>
|
||||
|
||||
<string name="app_license">NewPipe is vrije software: je kan het gebruiken, bestuderen, delen en verbeteren zoveel je maar wil. Je kan het opnieuw uitgeven en/of aanpassen volgens de voorwaarden van de GNU General Public License, gepubliceerd door de Free Software Foundation, versie 3 van de licentie, of (indien gewenst) om het even welke latere versie.</string>
|
||||
<string name="import_settings">Wil je ook de instellingen importeren?</string>
|
||||
|
||||
<string name="privacy_policy_title">NewPipe\'s privacybeleid</string>
|
||||
<string name="privacy_policy_encouragement">Het NewPipe-project neemt privacy serieus. Daarom verzamelt de app geen gegevens zonder jouw toestemming.
|
||||
\nNewPipe\'s privacybeleid legt gedetailleerd uit welke gegevens verstuurd en opgeslagen worden als je een crashrapport verstuurd.</string>
|
||||
<string name="privacy_policy_encouragement">Het NewPipe-project neemt privacy serieus. Daarom verzamelt de app geen gegevens zonder jouw toestemming.
|
||||
\nNewPipe\'s privacybeleid legt gedetailleerd uit welke gegevens verstuurd en opgeslagen worden als je een crashrapport verstuurt.</string>
|
||||
<string name="read_privacy_policy">Privacybeleid lezen</string>
|
||||
<string name="start_accept_privacy_policy">Om de Europese Algemene Verordening Gegevensbescherming (ook wel: AVG of GDPR) na te leven, wijzen we je op het nieuwe privacybeleid van NewPipe. Lees dit zorgvuldig.
|
||||
\nJe moet het beleid accepteren om ons het bugrapport te kunnen sturen.</string>
|
||||
<string name="start_accept_privacy_policy">Om de Europese Algemene Verordening Gegevensbescherming (ook wel: AVG of GDPR) na te leven, wijzen we je op het nieuwe privacybeleid van NewPipe. Lees dit zorgvuldig.
|
||||
\nJe moet het beleid accepteren om ons het foutrapport te kunnen sturen.</string>
|
||||
<string name="accept">Accepteren</string>
|
||||
<string name="decline">Weigeren</string>
|
||||
<string name="limit_data_usage_none_description">Ongelimiteerd</string>
|
||||
|
|
|
@ -13,9 +13,19 @@
|
|||
<string name="controls_download_desc">ਡਾਊਨਲੋਡ ਸਟਰੀਮ ਫਾਈਲ.</string>
|
||||
<string name="search">ਖੋਜੋ</string>
|
||||
<string name="settings">ਸੇਟਿੰਗਾਂ</string>
|
||||
<string name="did_you_mean">ਕੀ ਤੁਹਾਡਾ ਮਤਲਬ: %1$s ?</string>
|
||||
<string name="did_you_mean">ਕੀ ਤੁਹਾਡਾ ਮਤਲਬ: %1$s\?</string>
|
||||
<string name="share_dialog_title">ਭੇਜੋ</string>
|
||||
<string name="choose_browser">Browser ਚੁਣੋ</string>
|
||||
<string name="screen_rotation">ਉਲਟਾਨਾ</string>
|
||||
<string name="use_external_video_player_title">ਹੋਰ ਪਲੇਅਰ ਵਰਤਣਾ</string>
|
||||
<string name="use_external_video_player_title">ਹੋਰ ਪਲੇਅਰ ਵਰਤਤੋ</string>
|
||||
<string name="use_external_video_player_summary">ਕੁਝ ਵੀਡੀਓ ਰੈਸੋਲੂਸ਼ਨ ਚੁਣਨ ਨਾਲ ਆਡੀਓ ਮੌਜੂਦ ਨਹੀਂ ਹੋਵੇਗੀ</string>
|
||||
<string name="use_external_audio_player_title">ਬਾਹਰੀ ਆਡੀਓ ਪਲੇਅਰ ਦੀ ਵਰਤੋਂ ਕਰੋ</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe ਪੋਪਉਪ ਮੋਡ</string>
|
||||
<string name="subscribe_button_title">ਸਅਬਸਕਰਾਇਬ</string>
|
||||
<string name="subscribed_button_title">ਮੈਂਬਰ ਬਣਏ</string>
|
||||
<string name="channel_unsubscribed">ਚੈਨਲ ਸਦੱਸਤਾ ਰੱਦ ਕੀਤੀ ਗਈ</string>
|
||||
<string name="subscription_change_failed">ਸਦੱਸਤਾ ਨੂੰ ਬਦਲਣ ਵਿਚ ਅਸਮਰੱਥ ਹੈ</string>
|
||||
<string name="show_info">ਜਾਣਕਾਰੀ</string>
|
||||
|
||||
<string name="tab_main">ਮੁੱਖ</string>
|
||||
</resources>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<string name="next_video_title">Następny film</string>
|
||||
<string name="show_next_and_similar_title">Pokaż \'następne\' i \'podobne\' filmy</string>
|
||||
<string name="url_not_supported_toast">URL nieobsługiwany</string>
|
||||
<string name="search_language_title">Domyślny język zawartości</string>
|
||||
<string name="content_language_title">Domyślny język zawartości</string>
|
||||
<string name="settings_category_video_audio_title">Wideo i audio</string>
|
||||
<string name="settings_category_appearance_title">Wygląd</string>
|
||||
<string name="settings_category_other_title">Inne</string>
|
||||
|
@ -144,7 +144,7 @@
|
|||
<string name="channel">Kanał</string>
|
||||
<string name="yes">Tak</string>
|
||||
<string name="later">Później</string>
|
||||
<string name="disabled">Wyłączone</string>
|
||||
<string name="disabled">Wyłączony</string>
|
||||
<string name="filter">Filtr</string>
|
||||
<string name="refresh">Odśwież</string>
|
||||
<string name="clear">Wyczyść</string>
|
||||
|
@ -481,4 +481,18 @@
|
|||
|
||||
<string name="limit_data_usage_none_description">Brak limitu</string>
|
||||
<string name="limit_mobile_data_usage_title">Limit przy użyciu danych mobilnych</string>
|
||||
</resources>
|
||||
<string name="channels">Kanały</string>
|
||||
<string name="playlists">Playlisty</string>
|
||||
<string name="tracks">Utwory</string>
|
||||
<string name="users">Użytkownicy</string>
|
||||
<string name="skip_silence_checkbox">Przewiń w przód podczas ciszy</string>
|
||||
<string name="playback_step">Krok</string>
|
||||
<string name="playback_reset">Zresetuj</string>
|
||||
|
||||
<string name="minimize_on_exit_title">Zminimalizuj podczas przełączenia aplikacji</string>
|
||||
<string name="minimize_on_exit_summary">"Akcja podczas przełączenia do innej aplikacji z głównego odtwarzacza — %s"</string>
|
||||
<string name="minimize_on_exit_none_description">Zminimalizuj</string>
|
||||
<string name="minimize_on_exit_background_description">Zminimalizuj do odtwarzania w tle</string>
|
||||
<string name="minimize_on_exit_popup_description">Zminimalizuj do odtwarzania w okienku</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<string name="report_error">Reportar um erro</string>
|
||||
<string name="retry">Tentar novamente</string>
|
||||
<string name="screen_rotation">Rotação</string>
|
||||
<string name="search_language_title">Idioma de conteúdo preferido</string>
|
||||
<string name="content_language_title">Idioma de conteúdo preferido</string>
|
||||
<string name="settings">Configurações</string>
|
||||
<string name="settings_category_appearance_title">Aparência</string>
|
||||
<string name="settings_category_other_title">Outros</string>
|
||||
|
@ -254,7 +254,7 @@ abrir em modo popup</string>
|
|||
<string name="trending">Em Alta</string>
|
||||
<string name="top_50">Top 50</string>
|
||||
<string name="new_and_hot">Novos e tendências</string>
|
||||
<string name="show_hold_to_append_title">"Mostrar dica \"mantenha pressionado\" para enfileirar"</string>
|
||||
<string name="show_hold_to_append_title">"Mostrar dica \"mantenha pressionado para enfileirar\""</string>
|
||||
<string name="show_hold_to_append_summary">Mostrar dica quando o botão de plano de fundo ou de popup for pressionado na página de detalhes do vídeo</string>
|
||||
<string name="background_player_append">Adicionado a fila do reprodutor em plano de fundo</string>
|
||||
<string name="popup_playing_append">Adicionado a fila no reprodutor popup</string>
|
||||
|
@ -291,7 +291,7 @@ abrir em modo popup</string>
|
|||
<string name="toggle_orientation">Alterar a orientação</string>
|
||||
<string name="switch_to_background">Alterar para Plano de Fundo</string>
|
||||
<string name="switch_to_popup">Alterar para Popup</string>
|
||||
<string name="switch_to_main">Aletar para principal</string>
|
||||
<string name="switch_to_main">Alterar para o Principal</string>
|
||||
|
||||
<string name="external_player_unsupported_link_type">Reprodutores externos não suportam estes tipos de links</string>
|
||||
<string name="invalid_url_toast">URL inválida</string>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<string name="next_video_title">Vídeo seguinte</string>
|
||||
<string name="show_next_and_similar_title">Mostrar vídeos \'seguintes\' e \'semelhantes\'</string>
|
||||
<string name="url_not_supported_toast">URL não suportado</string>
|
||||
<string name="search_language_title">Idioma padrão do conteúdo</string>
|
||||
<string name="content_language_title">Idioma padrão do conteúdo</string>
|
||||
<string name="settings_category_video_audio_title">Vídeo e áudio</string>
|
||||
|
||||
<string name="list_thumbnail_view_description">Miniatura de vídeos</string>
|
||||
|
@ -184,7 +184,7 @@
|
|||
<string name="tab_about">Sobre</string>
|
||||
<string name="tab_contributors">Colaboradores</string>
|
||||
<string name="tab_licenses">Licenças</string>
|
||||
<string name="app_description">Aplicação leve, simples e grátis de YouTube para Android.</string>
|
||||
<string name="app_description">Aplicação leve livre de YouTube para Android.</string>
|
||||
<string name="view_on_github">Ver no GitHub</string>
|
||||
<string name="app_license_title">Licença do NewPipe</string>
|
||||
<string name="contribution_encouragement">Se tem ideias de tradução, alterações de design, limpeza de código ou alterações de código pesado—ajuda é sempre bem-vinda. Quanto mais se faz melhor fica!</string>
|
||||
|
@ -293,7 +293,7 @@
|
|||
<string name="import_data_title">Importar base de dados</string>
|
||||
<string name="export_data_title">Exportar base de dados</string>
|
||||
<string name="import_data_summary">Irá sobrepor o seu histórico atual e subscrições</string>
|
||||
<string name="export_data_summary">Exportar histórico, subscrições e listas de reprodução.</string>
|
||||
<string name="export_data_summary">Exportar histórico, subscrições e listas de reprodução</string>
|
||||
<string name="background_player_append">Em lista de espera no reprodutor em segundo plano</string>
|
||||
<string name="popup_playing_append">Em lista de espera no reprodutor popup</string>
|
||||
<string name="switch_to_background">Mudar para segundo plano</string>
|
||||
|
@ -318,7 +318,7 @@
|
|||
<string name="use_inexact_seek_title">Utilizar pesquisa rápida</string>
|
||||
<string name="use_inexact_seek_summary">A pesquisa rápida permite que a pesquisa seja mais rápida mas diminui a qualidade da precisão</string>
|
||||
<string name="download_thumbnail_title">Carregar miniaturas</string>
|
||||
<string name="download_thumbnail_summary">Desative para parar o carregamento das miniaturas e poupar dados e memória. Se alterar esta opção limpa a cache de memória e do disco.</string>
|
||||
<string name="download_thumbnail_summary">Desative para parar o carregamento das miniaturas e poupar dados e memória. Se alterar esta opção limpa a cache de memória e do disco</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Cache de imagens limpa</string>
|
||||
<string name="default_content_country_title">País padrão para o conteúdo</string>
|
||||
<string name="settings_category_debug_title">Depuração</string>
|
||||
|
@ -333,7 +333,7 @@
|
|||
|
||||
<string name="dismiss">Descartar</string>
|
||||
<string name="website_title">Site</string>
|
||||
<string name="website_encouragement">Para obter mais informações e saber as novidades do NewPipe, aceda ao nosso site.</string>
|
||||
<string name="website_encouragement">Visite ao website NewPipe para obter mais informações e saber as novidades.</string>
|
||||
<string name="kiosk_page_summary">Página \"kiosk\"</string>
|
||||
<string name="feed_page_summary">Página da fonte</string>
|
||||
<string name="export_complete_toast">Exportação terminada</string>
|
||||
|
@ -364,7 +364,7 @@
|
|||
<string name="always_ask_open_action">Perguntar sempre</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">A obter informação…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">O conteúdo requisitado está a carregar</string>
|
||||
<string name="preferred_player_fetcher_notification_message">O conteúdo requisitado está carregando</string>
|
||||
|
||||
<string name="create_playlist">Criar Nova Lista de Reprodução</string>
|
||||
<string name="delete_playlist">Apagar Lista de Reprodução</string>
|
||||
|
@ -379,7 +379,7 @@
|
|||
<string name="playlist_thumbnail_change_success">Thumbnail da Lista de Reprodução modificada</string>
|
||||
<string name="caption_none">Sem Legenda</string>
|
||||
|
||||
<string name="resize_zoom">ZOOM</string>
|
||||
<string name="resize_zoom">Zoom</string>
|
||||
|
||||
<string name="caption_auto_generated">Gerado automaticamente</string>
|
||||
|
||||
|
@ -398,24 +398,47 @@
|
|||
<string name="subscriptions_import_unsuccessful">Importação de subscrições falhou</string>
|
||||
<string name="subscriptions_export_unsuccessful">Exportação de subscrições falhou</string>
|
||||
|
||||
<string name="import_youtube_instructions">Para importar as tuas subscrições do Google vais precisar do ficheiro de exportação, que pode ser descarregado com auxílio destas instruções:
|
||||
\n
|
||||
\n1. Vai a esta hiperligação: %1$s
|
||||
\n2. Inicia a tua sessão quando requisitado
|
||||
\n3. O descarregamento deve começar (esse é o ficheiro de exportação)</string>
|
||||
<string name="import_soundcloud_instructions">Para importar as contas que segue no SoundCloud, terá que saber o link ou id do seu perfil. Se souber, basta escrever um deles no campo abaixo e estará tudo pronto.
|
||||
<string name="import_youtube_instructions">Para importar as tuas subscrições do Youtube vais precisar do ficheiro de exportação, que pode ser descarregado com auxílio destas instruções:
|
||||
\n
|
||||
\nSe não souber, pode seguir estas etapas:
|
||||
\n1. Vai a esta hiperligação: %1$s
|
||||
\n2. Inicia a tua sessão quando requisitado
|
||||
\n3. O descarregamento deve começar (esse é o ficheiro de exportação)</string>
|
||||
<string name="import_soundcloud_instructions">Para importar as contas SoundCloud, vais precisar do link ou id do seu perfil que pode ser descarregado com auxílio destas instruções:
|
||||
\n
|
||||
\n1. Ative \"modo desktop\" num navegador da internet (o site não está disponível para dispositivos móveis)
|
||||
\n2. Vá a este url: %1$s
|
||||
\n3. Inicie sessão na sua conta quando solicitado
|
||||
\n4. Copie o link para o qual foi redirecionado (este é o link do seu perfil)</string>
|
||||
<string name="import_soundcloud_instructions_hint">seuid, soundcloud.com/seuid</string>
|
||||
\n4. Copie o link para o qual foi redirecionado.</string>
|
||||
<string name="import_soundcloud_instructions_hint">seuID, soundcloud.com/seuID</string>
|
||||
|
||||
<string name="playback_speed_control">Controlo de velocidade de reprodução</string>
|
||||
<string name="playback_tempo">Tempo</string>
|
||||
<string name="playback_nightcore">Nightcore</string>
|
||||
<string name="playback_default">Predefinido</string>
|
||||
<string name="clear_views_history_title">Limpar histórico de exibição</string>
|
||||
<string name="auto_queue_summary">Auto anexar um fluxo relacionado quando jogar o último fluxo em uma fila não repetitiva</string>
|
||||
<string name="show_hold_to_append_title">Mostrar dica \"mantenha pressionado para enfileirar\"</string>
|
||||
<string name="show_hold_to_append_summary">Mostrar dica quando o botão de plano de fundo ou de popup for pressionado na página de detalhes do vídeo</string>
|
||||
<string name="channels">Canais</string>
|
||||
<string name="playlists">Listas de reprodução</string>
|
||||
<string name="tracks">Faixas</string>
|
||||
<string name="users">Utilizadores</string>
|
||||
<string name="clear_views_history_summary">Deleta o histórico de videos já reproduzidos</string>
|
||||
<string name="delete_view_history_alert">Deleta o histórico de videos já reproduzidos.</string>
|
||||
<string name="view_history_deleted">Histórico de já assistidos deletado.</string>
|
||||
<string name="clear_search_history_title">Deleta histórico de pesquisa</string>
|
||||
<string name="clear_search_history_summary">Deleta histórico de palavras chave pesquisadas</string>
|
||||
<string name="delete_search_history_alert">Deleta histórico de pesquisa completo.</string>
|
||||
<string name="search_history_deleted">Histórico de pesquisa deletado.</string>
|
||||
<string name="one_item_deleted">1 elemento deletado.</string>
|
||||
|
||||
<string name="toast_no_player">Nehum aplicativo instalada para reproduzir este arquivo</string>
|
||||
|
||||
<string name="donation_encouragement">NewPipe é desenvolvido por voluntários que usam seu tempo para trazer a melhor experiência para você. Retribua para ajudar os desenvolvedores a tornarem o NewPipe ainda melhor enquanto desfrutam uma xícara de café.</string>
|
||||
<string name="give_back">Retribuir</string>
|
||||
<string name="privacy_policy_title">Política de privacidade do NewPipe</string>
|
||||
<string name="privacy_policy_encouragement">O projeto NewPipe leva a sua privacidade muito a sério. Sendo assim, o aplicativo não coleta nenhum dado sem seu consentimento.
|
||||
\nA polícia de privacidade do NewPipe explica em detalhes qual dado é enviado e salvo quando você envia um relatório de erros.</string>
|
||||
<string name="read_privacy_policy">Ler a política de privacidade</string>
|
||||
<string name="auto_queue_title">Próximo stream automaticamente em lista de espera</string>
|
||||
</resources>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<string name="next_video_title">Următorul videoclip</string>
|
||||
<string name="show_next_and_similar_title">Arată videoclipurile care urmează</string>
|
||||
<string name="url_not_supported_toast">URL nesuportat</string>
|
||||
<string name="search_language_title">Limba dorită a conținutului</string>
|
||||
<string name="content_language_title">Limba dorită a conținutului</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="settings_category_appearance_title">Aspect</string>
|
||||
<string name="settings_category_other_title">Altele</string>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<string name="next_video_title">Следующее видео</string>
|
||||
<string name="url_not_supported_toast">URL не поддерживается</string>
|
||||
<string name="show_next_and_similar_title">\"Следующее\" и \"Похожие\" видео</string>
|
||||
<string name="search_language_title">Язык контента по умолчанию</string>
|
||||
<string name="content_language_title">Язык контента по умолчанию</string>
|
||||
<string name="settings_category_video_audio_title">Видео и аудио</string>
|
||||
<string name="settings_category_appearance_title">Внешний вид</string>
|
||||
<string name="settings_category_other_title">Другое</string>
|
||||
|
@ -470,7 +470,7 @@
|
|||
<string name="clear_search_history_summary">Удалить историю запросов поиска</string>
|
||||
<string name="clear_views_history_summary">Удалить историю воспроизведённых потоков</string>
|
||||
<string name="delete_search_history_alert">Вся история поиска будет удалена.</string>
|
||||
<string name="search_history_deleted">История поиска удалена</string>
|
||||
<string name="search_history_deleted">История поиска удалена.</string>
|
||||
<string name="one_item_deleted">1 элемент удалён.</string>
|
||||
|
||||
<string name="app_license">NewPipe — свободное программное обеспечение: вы можете использовать, изучать и улучшать его по своему усмотрению. В частности, вы можете распространять и/или изменять его в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation, либо версии 3, либо (по вашему выбору) любой более поздней версии.</string>
|
||||
|
@ -490,6 +490,7 @@
|
|||
<string name="limit_mobile_data_usage_title">Предел разрешения в мобильной сети</string>
|
||||
<string name="channels">Каналы</string>
|
||||
<string name="playlists">Плейлисты</string>
|
||||
<string name="videos">Видео</string>
|
||||
<string name="tracks">Дорожки</string>
|
||||
<string name="users">Пользователи</string>
|
||||
<string name="skip_silence_checkbox">Проматывать тишину</string>
|
||||
|
@ -502,4 +503,26 @@
|
|||
<string name="minimize_on_exit_background_description">Фоновый плеер</string>
|
||||
<string name="minimize_on_exit_popup_description">Плеер в окне</string>
|
||||
|
||||
<string name="list_view_mode">Вид списка</string>
|
||||
<string name="list">Список</string>
|
||||
<string name="grid">Сетка</string>
|
||||
<string name="auto">Автоматически</string>
|
||||
|
||||
<string name="brightness_gesture_control_summary">Менять яркость плеера жестом</string>
|
||||
<string name="brightness_gesture_control_title">Жест яркости</string>
|
||||
<string name="download_to_sdcard_error_message">Загрузка на внешний накопитель невозможна. Сбросить расположение папки загрузки?</string>
|
||||
<string name="download_to_sdcard_error_title">Внешний накопитель недоступен</string>
|
||||
<string name="main_page_content_summary">Вкладки, видимые на главной странице</string>
|
||||
<string name="restore_defaults">По умолчанию</string>
|
||||
<string name="restore_defaults_confirmation">Хотите восстановить умолчания?</string>
|
||||
<string name="saved_tabs_invalid_json">Ошибка чтения сохранённых вкладок. Используются вкладки по умолчанию</string>
|
||||
<string name="selection">Выбор</string>
|
||||
<string name="subscribers_count_not_available">Количество подписчиков недоступно</string>
|
||||
<string name="switch_view">Переключить вид</string>
|
||||
<string name="tab_choose">Выберите вкладку</string>
|
||||
<string name="tab_new">Новая вкладка</string>
|
||||
<string name="unsubscribe">Отписаться</string>
|
||||
<string name="volume_gesture_control_summary">Менять громкость плеера жестом</string>
|
||||
<string name="volume_gesture_control_title">Жест громкости</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<string name="play_with_kodi_title">Prehrať cez Kodi</string>
|
||||
<string name="kore_not_found">Aplikácia Kore nie je nainštalovaná. Chcete ju nainštalovať?</string>
|
||||
<string name="show_play_with_kodi_title">Zobraziť možnosť \"Prehrať cez Kodi\"</string>
|
||||
<string name="show_play_with_kodi_summary">Zobrazovať možnosť prehrať video cez mediálne centrum Kodi</string>
|
||||
<string name="show_play_with_kodi_summary">Zobrazovať možnosť prehrať video cez multimediálne centrum Kodi</string>
|
||||
<string name="play_audio">Zvuk</string>
|
||||
<string name="default_audio_format_title">Predvolený zvukový formát</string>
|
||||
<string name="theme_title">Téma</string>
|
||||
|
@ -40,7 +40,7 @@
|
|||
<string name="next_video_title">Ďalšie video</string>
|
||||
<string name="show_next_and_similar_title">Ukázať \'ďalšie\' a \'podobné\' videá</string>
|
||||
<string name="url_not_supported_toast">URL nie je podporovaná</string>
|
||||
<string name="search_language_title">Preferovaný jazyk obsahu</string>
|
||||
<string name="content_language_title">Preferovaný jazyk obsahu</string>
|
||||
<string name="settings_category_video_audio_title">Video & Zvuk</string>
|
||||
<string name="settings_category_appearance_title">Vzhľad</string>
|
||||
<string name="settings_category_other_title">Iné</string>
|
||||
|
@ -309,10 +309,10 @@
|
|||
<string name="rename">Premenovať</string>
|
||||
|
||||
<string name="donation_title">Prispieť</string>
|
||||
<string name="donation_encouragement">Aplikácia NewPipe je vyvíjaná dobrovoľníkmi vo voľnom čase. Ak sa vám aplikácia páči a chceli by ste odmeniť vývojárov, teraz je ten najlepši čas. Podporte vývojárov aby mohli NewPipe zlepšovať a zároveň si pochutnávať na šálke kávy!</string>
|
||||
<string name="donation_encouragement">Aplikácia NewPipe je vyvíjaná dobrovoľníkmi vo voľnom čase. Ak sa vám aplikácia páči, odmeňte vývojárov aby mohli NewPipe naďalej vylepšovať. Určite ich poteší napríklad šálka dobrej kávy.</string>
|
||||
<string name="give_back">Daruj</string>
|
||||
<string name="website_title">Webstránka</string>
|
||||
<string name="website_encouragement">Ak chcete získať ďalšie informácie a novinky o NewPipe navštívte naše webové stránky.</string>
|
||||
<string name="website_encouragement">"Pre viac informácií a noviniek navštívte webstránku NewPipe."</string>
|
||||
<string name="delete_item_search_history">Chcete odstrániť túto položku z histórie vyhľadávania?</string>
|
||||
<string name="delete_stream_history_prompt">Chcete odstrániť túto položku z histórie pozretých videí?</string>
|
||||
<string name="delete_all_history_prompt">Ste si istý, že chcete vymazať všetky položky z histórie?</string>
|
||||
|
@ -377,7 +377,7 @@
|
|||
<string name="playlist_thumbnail_change_success">Miniatúra zoznamu skladieb bola zmenená</string>
|
||||
<string name="playlist_delete_failure">Nemožno odstrániť zoznam skladieb</string>
|
||||
|
||||
<string name="caption_none">Bez popisu</string>
|
||||
<string name="caption_none">Bez titulkov</string>
|
||||
|
||||
<string name="resize_fit">Prispôsobiť</string>
|
||||
<string name="resize_fill">Vyplniť</string>
|
||||
|
@ -417,14 +417,14 @@
|
|||
|
||||
<string name="caption_auto_generated">Automaticky vygenerované</string>
|
||||
|
||||
<string name="caption_setting_title">Nastavenie titulkov</string>
|
||||
<string name="caption_setting_title">Titulky</string>
|
||||
<string name="caption_setting_description">Upravte mierku textu titulkov a štýly pozadia. Vyžaduje reštart prehrávača</string>
|
||||
|
||||
<string name="enable_leak_canary_title">Povoliť službu LeakCanary</string>
|
||||
<string name="enable_leak_canary_summary">Monitorovanie pretečenia pamäte môže spôsobiť, že aplikácia nebude reagovať</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Nahlásiť mimo-cyklické chyby</string>
|
||||
<string name="enable_disposed_exceptions_summary">Vynútenie hlásenia nedodržateľných výnimiek Rx, ktoré sa vyskytnú mimo časového cyklu fragmentu alebo aktivity po zlikvidovaní</string>
|
||||
<string name="enable_disposed_exceptions_summary">Vynútiť hlásenie výnimiek nedoručiteľných Rx mimo časového cyklu fragmentov alebo aktivity po zneškodnení</string>
|
||||
|
||||
<string name="import_export_title">Import/Export
|
||||
\n</string>
|
||||
|
@ -449,16 +449,13 @@
|
|||
\n2. Po výzve sa prihláste do svojho účtu
|
||||
\n3. Sťahovanie by malo začať (to je exportovaný zoznam)
|
||||
\n</string>
|
||||
<string name="import_soundcloud_instructions">"Importovať SoundCloud profil zadaním URL adresy alebo vášho ID:
|
||||
\n
|
||||
\nAk nepoznáte ani URL ani ID vašeho profilu, môžete postupovať nasledovne:
|
||||
\n
|
||||
\n1. V niektorom prehliadači povoľte režim \"desktop\" (web nie je dostupný pre mobilné zariadenia)
|
||||
\n2. Prejdite na túto adresu URL: %1$s
|
||||
<string name="import_soundcloud_instructions">"Importovať SoundCloud profil zadaním URL adresy alebo vášho ID:
|
||||
\n
|
||||
\n1. Prepnite režim na \"desktop\" (web nie je dostupný pre mobilné zariadenia)
|
||||
\n2. Prejdite na túto URL adresu: %1$s
|
||||
\n3. Po výzve sa prihláste do svojho účtu
|
||||
\n4. Skopírujte adresu URL, na ktorú ste boli presmerovaní (to je adresa vášho profilu).
|
||||
\n"</string>
|
||||
<string name="import_soundcloud_instructions_hint">ID,soundcloud.com/ID</string>
|
||||
\n4. Skopírujte adresu URL, na ktorú ste boli presmerovaní. "</string>
|
||||
<string name="import_soundcloud_instructions_hint">vašeID, soundcloud.com/vašeid</string>
|
||||
|
||||
<string name="import_network_expensive_warning">Operácia môže byť náročná na počet prenesených dát.
|
||||
\n
|
||||
|
@ -467,7 +464,7 @@
|
|||
<string name="playback_speed_control">Ovládanie rýchlosti prehrávania</string>
|
||||
<string name="playback_tempo">Rýchlosť</string>
|
||||
<string name="playback_pitch">Výška</string>
|
||||
<string name="unhook_checkbox">"Zvoľnenie (môže spôsobovať skreslenie)"</string>
|
||||
<string name="unhook_checkbox">"Spomalenie (môže spôsobovať skreslenie)"</string>
|
||||
<string name="playback_nightcore">Nightcore režim</string>
|
||||
<string name="playback_default">Predvolené</string>
|
||||
<string name="clear_views_history_title">Vymazať históriu pozretí</string>
|
||||
|
@ -493,4 +490,18 @@
|
|||
|
||||
<string name="limit_data_usage_none_description">Bez limitu</string>
|
||||
<string name="limit_mobile_data_usage_title">Limitovať rozlíšenie pri použití mobilných dát</string>
|
||||
</resources>
|
||||
<string name="channels">Kanály</string>
|
||||
<string name="playlists">Zoznamy skladieb</string>
|
||||
<string name="tracks">Skladby</string>
|
||||
<string name="users">Používatelia</string>
|
||||
<string name="skip_silence_checkbox">Pretáčať tiché pasáže</string>
|
||||
<string name="playback_step">Krok</string>
|
||||
<string name="playback_reset">Vynulovať</string>
|
||||
|
||||
<string name="minimize_on_exit_title">Minimalizovať pri prepnutí aplikácie</string>
|
||||
<string name="minimize_on_exit_summary">Akcia pri prepnutí na inú aplikáciu z hlavného prehrávača videa — %s</string>
|
||||
<string name="minimize_on_exit_none_description">Nič</string>
|
||||
<string name="minimize_on_exit_background_description">Prehrávať na pozadí</string>
|
||||
<string name="minimize_on_exit_popup_description">Prehrávať v okne</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<string name="next_video_title">Naslednji video</string>
|
||||
<string name="show_next_and_similar_title">Pokaži naslednji video in podobne posnetke</string>
|
||||
<string name="url_not_supported_toast">Zapis naslova URL ni podprt.</string>
|
||||
<string name="search_language_title">Privzeti jezik vsebine</string>
|
||||
<string name="content_language_title">Privzeti jezik vsebine</string>
|
||||
<string name="settings_category_video_audio_title">Video in Zvok</string>
|
||||
<string name="list_thumbnail_view_description">Sličica predogleda videa</string>
|
||||
<string name="detail_thumbnail_view_description">Sličica predogleda videa</string>
|
||||
|
@ -91,7 +91,7 @@
|
|||
<string name="your_comment">Opomba (v angleščini):</string>
|
||||
<string name="storage_permission_denied">Dovoljenje za dostop do shrambe je zavrnjeno</string>
|
||||
<string name="autoplay_by_calling_app_title">Samodejno predvajanje</string>
|
||||
<string name="autoplay_by_calling_app_summary">Samodejno predvaja vsebino, če je NewPipe klican iz drugega programa</string>
|
||||
<string name="autoplay_by_calling_app_summary">Predvaja vsebino, če je program zagnan iz drugega programa</string>
|
||||
<string name="report_error">Pošlji poročilo o napaki</string>
|
||||
<string name="user_report">Poročilo uporabnika</string>
|
||||
|
||||
|
@ -320,4 +320,5 @@ odpiranje v pojavnem načinu</string>
|
|||
<string name="dismiss">Opusti</string>
|
||||
<string name="rename">Preimenuj</string>
|
||||
|
||||
<string name="download_thumbnail_title">Naloži sličice</string>
|
||||
</resources>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<string name="download_dialog_title">Shkarko</string>
|
||||
<string name="next_video_title">Videoja tjetër</string>
|
||||
<string name="service_title">Shërbimi</string>
|
||||
<string name="search_language_title">Gjuha e dëshiruar e përmbajtjeve</string>
|
||||
<string name="content_language_title">Gjuha e dëshiruar e përmbajtjeve</string>
|
||||
<string name="settings_category_player_title">Aplikacioni për video</string>
|
||||
<string name="settings_category_player_behavior_title">Sjellja</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<string name="next_video_title">Следећи видео</string>
|
||||
<string name="url_not_supported_toast">УРЛ није подржан</string>
|
||||
<string name="show_next_and_similar_title">Прикажи следећи и слични видео</string>
|
||||
<string name="search_language_title">Подразумевани језик садржаја</string>
|
||||
<string name="content_language_title">Подразумевани језик садржаја</string>
|
||||
<string name="settings_category_video_audio_title">Видео и аудио</string>
|
||||
<string name="settings_category_other_title">Остало</string>
|
||||
<string name="list_thumbnail_view_description">Сличица видео прегледа</string>
|
||||
|
|
|
@ -10,10 +10,10 @@
|
|||
<string name="download">Ladda ner</string>
|
||||
<string name="search">Sök</string>
|
||||
<string name="settings">Inställningar</string>
|
||||
<string name="did_you_mean">Menade du: %1$s ?</string>
|
||||
<string name="did_you_mean">Menade du: %1$s\?</string>
|
||||
<string name="share_dialog_title">Dela med</string>
|
||||
<string name="choose_browser">Välj webbläsare</string>
|
||||
<string name="screen_rotation">rotering</string>
|
||||
<string name="screen_rotation">rotation</string>
|
||||
<string name="use_external_video_player_title">Använd extern videospelare</string>
|
||||
<string name="use_external_video_player_summary">Några upplösningar kommer INTE ha ljud när det här alternativet är aktiverat</string>
|
||||
<string name="use_external_audio_player_title">Använd extern ljudspelare</string>
|
||||
|
@ -57,7 +57,7 @@
|
|||
<string name="next_video_title">Nästa video</string>
|
||||
<string name="show_next_and_similar_title">Visa \'nästkommande\' och \'liknande\' videor</string>
|
||||
<string name="url_not_supported_toast">Webbadressen stöds inte</string>
|
||||
<string name="search_language_title">Standard innehållsspråk</string>
|
||||
<string name="content_language_title">Standard innehållsspråk</string>
|
||||
<string name="settings_category_video_audio_title">Video & Ljud</string>
|
||||
<string name="settings_category_popup_title">Popup-ruta</string>
|
||||
<string name="settings_category_appearance_title">Utseende</string>
|
||||
|
@ -109,7 +109,7 @@
|
|||
<string name="view_count_text">%1$s visningar</string>
|
||||
<string name="subscribe_button_title">Prenumerera</string>
|
||||
<string name="subscribed_button_title">Prenumererad</string>
|
||||
<string name="channel_unsubscribed">Prenumerationen togs bort</string>
|
||||
<string name="channel_unsubscribed">Prenumeration avslutad</string>
|
||||
<string name="subscription_change_failed">Kunde inte ändra prenumeration</string>
|
||||
<string name="subscription_update_failed">Kunde inte uppdatera prenumeration</string>
|
||||
|
||||
|
@ -286,10 +286,10 @@
|
|||
|
||||
<string name="tab_bookmarks">Bokmärken</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">Lägga till</string>
|
||||
<string name="controls_add_to_playlist_title">Lägg till</string>
|
||||
|
||||
<string name="use_inexact_seek_title">Använda snabb inexakt sökning</string>
|
||||
<string name="download_thumbnail_title">Ladda miniatyrer</string>
|
||||
<string name="download_thumbnail_title">Ladda miniatyrbilder</string>
|
||||
<string name="download_thumbnail_summary">Inaktivera för att stoppa alla miniatyrbilder från att ladda och spara på data och minnesanvändning. Ändring av detta kommer att rensa cache-minnet</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Bild cacheminnet var rensad</string>
|
||||
<string name="service_title">Tjänst</string>
|
||||
|
@ -396,7 +396,7 @@
|
|||
<string name="delete_playlist_prompt">Vill du ta bort den här spellistan?</string>
|
||||
<string name="playlist_creation_success">Spellistan skapades</string>
|
||||
<string name="playlist_add_stream_success">Tillagad i spellistan</string>
|
||||
<string name="playlist_thumbnail_change_success">"Spellistans miniatyrbild förändrades "</string>
|
||||
<string name="playlist_thumbnail_change_success">Spellistans miniatyrbild förändrades</string>
|
||||
<string name="playlist_delete_failure">Kunde inte ta bort spellistan</string>
|
||||
|
||||
<string name="caption_none">Ingen textning</string>
|
||||
|
@ -449,7 +449,7 @@
|
|||
|
||||
<string name="playback_speed_control">Uppspelningshastighet Kontroller</string>
|
||||
<string name="playback_tempo">Tempo</string>
|
||||
<string name="playback_pitch">Pitch</string>
|
||||
<string name="playback_pitch">Tonhöjd</string>
|
||||
<string name="unhook_checkbox">Avlänka (kan orsaka förvrängning)</string>
|
||||
<string name="skip_silence_checkbox">Snabbspola vid frånvaro av ljud</string>
|
||||
<string name="playback_step">Steg</string>
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<string name="show_next_and_similar_title">తదుపరి వీడియో మరియు ఇలాంటి వీడియో</string>
|
||||
<string name="show_hold_to_append_title">చిట్కాను అనుబంధించడానికి హోల్డ్ను చూపు</string>
|
||||
<string name="url_not_supported_toast">Url మద్దతు లేదు</string>
|
||||
<string name="search_language_title">డిఫాల్ట్ భాష</string>
|
||||
<string name="content_language_title">డిఫాల్ట్ భాష</string>
|
||||
<string name="settings_category_player_title">ప్లేయర్</string>
|
||||
<string name="settings_category_player_behavior_title">ప్రవర్తన</string>
|
||||
<string name="settings_category_video_audio_title">వీడియో & ఆడియో</string>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<string name="download">İndir</string>
|
||||
<string name="search">Ara</string>
|
||||
<string name="settings">Ayarlar</string>
|
||||
<string name="did_you_mean">Bunu mu demek istediniz: %1$s ?</string>
|
||||
<string name="did_you_mean">Bunu mu demek istediniz: %1$s\?</string>
|
||||
<string name="share_dialog_title">Şununla paylaş</string>
|
||||
<string name="choose_browser">Tarayıcı seç</string>
|
||||
<string name="screen_rotation">döndürme</string>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<string name="next_video_title">Sonraki video</string>
|
||||
<string name="show_next_and_similar_title">\'Sonraki\' ve \'benzer\' videoları göster</string>
|
||||
<string name="url_not_supported_toast">URL desteklenmiyor</string>
|
||||
<string name="search_language_title">Öntanımlı içerik dili</string>
|
||||
<string name="content_language_title">Öntanımlı içerik dili</string>
|
||||
<string name="play_audio">Ses</string>
|
||||
<string name="settings_category_video_audio_title">Video ve Ses</string>
|
||||
<string name="settings_category_appearance_title">Görünüm</string>
|
||||
|
@ -65,7 +65,7 @@
|
|||
<string name="light_parsing_error">Web sitesi tümüyle ayrıştırılamadı</string>
|
||||
<string name="content_not_available">İçerik kullanılabilir değil</string>
|
||||
<string name="blocked_by_gema">GEMA tarafından engellendi</string>
|
||||
<string name="live_streams_not_supported">Bu, henüz desteklenmeyen, bir CANLI AKIŞ.</string>
|
||||
<string name="live_streams_not_supported">Bu, henüz desteklenmeyen bir CANLI AKIŞ.</string>
|
||||
<string name="could_not_get_stream">Herhangi bir akış alınamadı</string>
|
||||
<string name="could_not_load_image">Resim yüklenemedi</string>
|
||||
<string name="app_ui_crash">Uygulama/arayüz çöktü</string>
|
||||
|
@ -254,7 +254,7 @@
|
|||
<string name="history_cleared">Geçmiş temizlendi</string>
|
||||
<string name="item_deleted">Öge silindi</string>
|
||||
<string name="delete_item_search_history">Bu içeriği arama geçmişinden silmek istiyor musunuz?</string>
|
||||
<string name="show_hold_to_append_title">\"Kuyruğa almak İçin bas\" ipucunu göster</string>
|
||||
<string name="show_hold_to_append_title">\"Kuyruğa almak için basılı tut\" ipucunu göster</string>
|
||||
<string name="show_hold_to_append_summary">Video ayrıntıları sayfasında arka plan veya açılır oynatıcı düğmesine basıldığında ipucu göster</string>
|
||||
<string name="background_player_append">Arka plan oynatıcıda kuyruğa eklendi</string>
|
||||
<string name="popup_playing_append">Açılır oynatıcıda kuyruğa eklendi</string>
|
||||
|
@ -272,7 +272,7 @@
|
|||
<string name="subscription_page_summary">Abonelik Sayfası</string>
|
||||
<string name="feed_page_summary">Besleme Sayfası</string>
|
||||
<string name="channel_page_summary">Kanal Sayfası</string>
|
||||
<string name="select_a_channel">Bir kanal seç</string>
|
||||
<string name="select_a_channel">Kanal seç</string>
|
||||
<string name="no_channel_subscribed_yet">Henüz abone olunan kanal yok</string>
|
||||
<string name="select_a_kiosk">Köşk seç</string>
|
||||
|
||||
|
@ -285,7 +285,7 @@
|
|||
<string name="play_queue_remove">Kaldır</string>
|
||||
<string name="play_queue_stream_detail">Ayrıntılar</string>
|
||||
<string name="play_queue_audio_settings">Ses Ayarları</string>
|
||||
<string name="hold_to_append">Kuyruğa Almak İçin Bas</string>
|
||||
<string name="hold_to_append">Kuyruğa Almak İçin Basılı Tut</string>
|
||||
<string name="enqueue_on_background">Arka Planda Kuyruğa Al</string>
|
||||
<string name="enqueue_on_popup">Açılır Oynatıcıda Kuyruğa Al</string>
|
||||
<string name="start_here_on_main">Burada Oynatmaya Başla</string>
|
||||
|
@ -334,9 +334,9 @@
|
|||
<string name="controls_download_desc">Akış dosyasını indir.</string>
|
||||
<string name="show_info">Bilgileri göster</string>
|
||||
|
||||
<string name="tab_bookmarks">Yer imleri</string>
|
||||
<string name="tab_bookmarks">Yer İmleri</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">Şuna Ekle</string>
|
||||
<string name="controls_add_to_playlist_title">Listeye Ekle</string>
|
||||
|
||||
<string name="detail_drag_description">Yeniden sıralamak için sürükle</string>
|
||||
|
||||
|
@ -380,7 +380,7 @@
|
|||
<string name="normal_caption_font_size">Normal yazı tipi</string>
|
||||
<string name="larger_caption_font_size">Daha büyük yazı tipi</string>
|
||||
<string name="settings_category_debug_title">Hata Ayıklama</string>
|
||||
<string name="drawer_header_action_paceholder_text">Yakında burada bir şeyler görünecek ;D</string>
|
||||
<string name="drawer_header_action_paceholder_text">Yakında burada bir şeyler görünecek :)</string>
|
||||
|
||||
|
||||
<string name="caption_auto_generated">Kendiliğinden Üretilmiş</string>
|
||||
|
@ -435,7 +435,7 @@
|
|||
\n
|
||||
\nDevam etmek istiyor musunuz?</string>
|
||||
<string name="download_thumbnail_title">Küçük resimleri yükle</string>
|
||||
<string name="download_thumbnail_summary">Küçük resimlerin hepsinin yüklenmesini engellemek ve bellek ve veri kullanımını azaltmak için devre dışı bırakın. Bunu değiştirmek, hem bellekteki hem de diskteki resim önbelleğini temizler</string>
|
||||
<string name="download_thumbnail_summary">Küçük resimlerin tümünün yüklenmesini engellemek, bellek ve veri kullanımını azaltmak için devre dışı bırakın. Bunu değiştirmek, hem bellekteki hem de diskteki resim önbelleğini temizler</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Resim önbelleği temizlendi</string>
|
||||
<string name="metadata_cache_wipe_title">Önbelleklenmiş üst veriyi temizle</string>
|
||||
<string name="metadata_cache_wipe_summary">Önbelleklenmiş tüm web sayfası verisini kaldır</string>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<string name="download">Завантажити</string>
|
||||
<string name="search">Шукати</string>
|
||||
<string name="settings">Налаштування</string>
|
||||
<string name="did_you_mean">Чи ви мали на увазі: %1$s ?</string>
|
||||
<string name="did_you_mean">Чи ви мали на увазі: %1$s\?</string>
|
||||
<string name="share_dialog_title">Поділитись з</string>
|
||||
<string name="choose_browser">Оберіть переглядач</string>
|
||||
<string name="screen_rotation">обертання</string>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<string name="next_video_title">Наступний відеозапис</string>
|
||||
<string name="show_next_and_similar_title">Являти \"наступні\" й \"схожі\" відео</string>
|
||||
<string name="url_not_supported_toast">URL не підтримується</string>
|
||||
<string name="search_language_title">Переважна мова контенту</string>
|
||||
<string name="content_language_title">Переважна мова контенту</string>
|
||||
<string name="settings_category_video_audio_title">Відео та Авдіо</string>
|
||||
<string name="settings_category_appearance_title">Зовнішній вигляд</string>
|
||||
<string name="settings_category_other_title">Інше</string>
|
||||
|
@ -483,8 +483,12 @@
|
|||
<string name="minimize_on_exit_background_description">До тлового програвача</string>
|
||||
<string name="minimize_on_exit_popup_description">Зменшити до віконного програвачу</string>
|
||||
|
||||
<string name="channels">Канали</string>
|
||||
<string name="channels">Канали</string>
|
||||
<string name="playlists">Плейлисти</string>
|
||||
<string name="tracks">Стежки</string>
|
||||
<string name="users">Користувачі</string>
|
||||
</resources>
|
||||
|
||||
<string name="list_view_mode">Вигляд списку</string>
|
||||
<string name="list">Список</string>
|
||||
<string name="grid">Сiтка</string>
|
||||
</resources>
|
||||
|
|
|
@ -28,14 +28,14 @@
|
|||
<string name="download_path_audio_summary">Đường dẫn để lưu trữ âm thanh đã tải xuống</string>
|
||||
<string name="download_path_audio_dialog_title">Nhập đường dẫn tải xuống cho tệp âm thanh</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Tự động phát khi được gọi từ một ứng dụng khác</string>
|
||||
<string name="autoplay_by_calling_app_summary">Tự động phát một video khi NewPipe được gọi từ một ứng dụng khác</string>
|
||||
<string name="autoplay_by_calling_app_title">Tự động phát</string>
|
||||
<string name="autoplay_by_calling_app_summary">Phát video khi NewPipe được gọi từ một ứng dụng khác</string>
|
||||
<string name="default_resolution_title">Độ phân giải mặc định</string>
|
||||
<string name="default_popup_resolution_title">Độ phân giải popup mặc định</string>
|
||||
<string name="show_higher_resolutions_title">Hiển thị độ phân giải cao hơn</string>
|
||||
<string name="show_higher_resolutions_summary">Chỉ một số thiết bị hỗ trợ chơi các video 2K / 4K</string>
|
||||
<string name="play_with_kodi_title">Phát với Kodi</string>
|
||||
<string name="kore_not_found">Ứng dụng Kore không tìm thấy. Cài đặt Kore?</string>
|
||||
<string name="kore_not_found">Không tìm thấy ứng dụng Kore. Cài đặt nó?</string>
|
||||
<string name="show_play_with_kodi_title">Hiển thị tùy chọn \"Phát với Kodi\"</string>
|
||||
<string name="show_play_with_kodi_summary">Hiển thị tùy chọn để phát video qua trung tâm media Kodi</string>
|
||||
<string name="play_audio">Âm thanh</string>
|
||||
|
@ -47,7 +47,7 @@
|
|||
<string name="dark_theme_title">Tối</string>
|
||||
<string name="black_theme_title">Đen</string>
|
||||
<string name="popup_remember_size_pos_title">Nhớ kích thước và vị trí bật lên</string>
|
||||
<string name="popup_remember_size_pos_summary">Nhớ kích thước và vị trí cuối cùng được đặt vào cửa sổ bật lên</string>
|
||||
<string name="popup_remember_size_pos_summary">Nhớ kích thước và vị trí bật lên cuối cùng</string>
|
||||
<string name="player_gesture_controls_title">Điều khiển cử chỉ trình phát</string>
|
||||
<string name="player_gesture_controls_summary">Sử dụng cử chỉ để kiểm soát độ sáng và âm lượng của trình phát</string>
|
||||
<string name="show_search_suggestions_title">Đề xuất tìm kiếm</string>
|
||||
|
@ -56,7 +56,7 @@
|
|||
<string name="download_dialog_title">Tải về</string>
|
||||
|
||||
<string name="next_video_title">Video tiếp theo</string>
|
||||
<string name="show_next_and_similar_title">Hiển thị các video tiếp theo và tương tự</string>
|
||||
<string name="show_next_and_similar_title">Hiển thị video \'tiếp theo\' và \'tương tự\'</string>
|
||||
<string name="url_not_supported_toast">URL không được hỗ trợ</string>
|
||||
<string name="settings_category_appearance_title">Hiển thị</string>
|
||||
<string name="settings_category_other_title">Khác</string>
|
||||
|
@ -65,7 +65,7 @@
|
|||
<string name="play_btn_text">Phát</string>
|
||||
<string name="content">Nội dung</string>
|
||||
<string name="show_age_restricted_content_title">Hiển thị nội dung bị hạn chế độ tuổi</string>
|
||||
<string name="video_is_age_restricted">Video bị giới hạn về tuổi. Bật chế độ cho phép hiển thị video bị hạn chế về độ tuổi ở trong cài đặt trước.</string>
|
||||
<string name="video_is_age_restricted">Video giới hạn độ tuổi người xem. Cho phép các tài liệu đó có thể từ Cài đặt.</string>
|
||||
<string name="duration_live">Trực tiếp</string>
|
||||
<string name="downloads">Tải xuống</string>
|
||||
<string name="downloads_title">Tải xuống</string>
|
||||
|
@ -84,20 +84,20 @@
|
|||
<string name="general_error">Lỗi</string>
|
||||
<string name="network_error">Lỗi kết nối mạng</string>
|
||||
<string name="could_not_load_thumbnails">Không thể tải tất cả các thumbnails</string>
|
||||
<string name="youtube_signature_decryption_error">Không thể giải mã chữ ký URL của video.</string>
|
||||
<string name="parsing_error">Không thể phân tích trang web.</string>
|
||||
<string name="light_parsing_error">Không thể phân tích trang web hoàn toàn.</string>
|
||||
<string name="content_not_available">Nội dung không có sẵn.</string>
|
||||
<string name="blocked_by_gema">Chặn bởi GEMA.</string>
|
||||
<string name="could_not_setup_download_menu">Không thể thiết lập trình đơn tải xuống.</string>
|
||||
<string name="live_streams_not_supported">Đây là một video phát trực tiếp. Chúng chưa được hỗ trợ.</string>
|
||||
<string name="could_not_get_stream">Không thể lấy bất kỳ luồng nào.</string>
|
||||
<string name="youtube_signature_decryption_error">Không thể giải mã chữ ký URL video</string>
|
||||
<string name="parsing_error">Không thể phân tích cú pháp trang web</string>
|
||||
<string name="light_parsing_error">Không thể phân tích cú pháp hoàn toàn trang web</string>
|
||||
<string name="content_not_available">Nội dung không khả dụng</string>
|
||||
<string name="blocked_by_gema">Chặn bởi GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Không thể thiết lập menu tải xuống</string>
|
||||
<string name="live_streams_not_supported">Đây là STREAM LIVE, chưa được hỗ trợ.</string>
|
||||
<string name="could_not_get_stream">Không thể lấy bất kỳ luồng nào</string>
|
||||
<string name="could_not_load_image">Không thể tải hình ảnh</string>
|
||||
<string name="app_ui_crash">Ứng dụng / Giao diện người dùng bị lỗi</string>
|
||||
<string name="sorry_string">Xin lỗi, điều đó không nên xảy ra.</string>
|
||||
<string name="error_report_button_text">Báo lỗi qua email</string>
|
||||
<string name="error_snackbar_message">Xin lỗi, một số lỗi đã xảy ra.</string>
|
||||
<string name="error_snackbar_action">BÁo CÁO</string>
|
||||
<string name="error_snackbar_action">BÁO CÁO</string>
|
||||
<string name="what_device_headline">Thông tin:</string>
|
||||
<string name="what_happened_headline">Chuyện gì đã xảy ra:</string>
|
||||
<string name="info_labels">Gì: \\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:</string>
|
||||
|
@ -123,7 +123,7 @@
|
|||
<string name="retry">Thử lại</string>
|
||||
<string name="storage_permission_denied">Quyền truy cập vào bộ nhớ đã bị từ chối</string>
|
||||
<string name="use_old_player_title">Sử dụng trình phát cũ</string>
|
||||
<string name="use_old_player_summary">Máy nghe nhạc Mediaframework tích hợp sẵn.</string>
|
||||
<string name="use_old_player_summary">Máy nghe nhạc Mediaframework tích hợp sẵn</string>
|
||||
|
||||
|
||||
<string name="short_thousand">ngàn</string>
|
||||
|
@ -132,7 +132,7 @@
|
|||
|
||||
<string name="start">Bắt đầu</string>
|
||||
<string name="pause">Dừng</string>
|
||||
<string name="view">Xem</string>
|
||||
<string name="view">Chơi</string>
|
||||
<string name="delete">Xóa</string>
|
||||
<string name="checksum">checksum</string>
|
||||
|
||||
|
@ -148,7 +148,7 @@
|
|||
<string name="msg_running">NewPipe đang tải xuống</string>
|
||||
<string name="msg_running_detail">Chạm để biết chi tiết</string>
|
||||
<string name="msg_wait">Vui lòng đợi …</string>
|
||||
<string name="msg_copied">Sao chép vào clipboard.</string>
|
||||
<string name="msg_copied">Sao chép vào clipboard</string>
|
||||
<string name="no_available_dir">Hãy chọn một thư mục tải về có sẵn.</string>
|
||||
<string name="msg_popup_permission">Sự cho phép này là cần thiết để
|
||||
\nMở trong chế độ bật lên</string>
|
||||
|
@ -168,17 +168,17 @@
|
|||
<string name="tab_contributors">Cộng tác viên</string>
|
||||
<string name="tab_licenses">Giấy phép</string>
|
||||
<string name="app_description">Giao diện trực quan nhẹ cho Android.</string>
|
||||
<string name="view_on_github">Xem trên Github</string>
|
||||
<string name="view_on_github">Xem trên GitHub</string>
|
||||
<string name="app_license_title">Giấy phép của NewPipe</string>
|
||||
<string name="contribution_encouragement">Cho dù bạn có ý tưởng, dịch, thay đổi thiết kế, làm sạch mã hoặc thay đổi mã, sự trợ giúp luôn được hoan nghênh. Càng làm nhiều thì càng tốt!</string>
|
||||
<string name="read_full_license">Đọc giấy phép</string>
|
||||
<string name="contribution_title">Sự đóng góp</string>
|
||||
<string name="screen_rotation">Quay</string>
|
||||
<string name="search_language_title">Ngôn ngữ nội dung ưu tiên</string>
|
||||
<string name="content_language_title">Ngôn ngữ nội dung ưu tiên</string>
|
||||
<string name="settings_category_video_audio_title">Video & Âm thanh</string>
|
||||
<string name="settings_category_popup_title">Bật lên</string>
|
||||
<string name="enable_watch_history_title">Lịch sử</string>
|
||||
<string name="settings_category_history_title">Lịch sử</string>
|
||||
<string name="settings_category_popup_title">Cửa sổ</string>
|
||||
<string name="enable_watch_history_title">Lịch sử & bộ nhớ cache</string>
|
||||
<string name="settings_category_history_title">Lịch sử & bộ nhớ cache</string>
|
||||
<string name="playlist">Danh sách</string>
|
||||
<string name="search_no_results">Không tìm thấy</string>
|
||||
<string name="subscribe_button_title">Theo dõi</string>
|
||||
|
@ -187,4 +187,276 @@
|
|||
<string name="subscription_change_failed">Không thể thay đổi tình trạng theo dõi</string>
|
||||
<string name="subscription_update_failed">Không thể cập nhật tình trạng theo dõi</string>
|
||||
|
||||
</resources>
|
||||
<string name="no_player_found_toast">Không tìm thấy trình phát luồng nào (bạn có thể cài đặt VLC để phát)</string>
|
||||
<string name="controls_download_desc">Tải xuống tệp luồng.</string>
|
||||
<string name="show_info">Hiển thị thông tin</string>
|
||||
|
||||
<string name="tab_main">main</string>
|
||||
<string name="tab_subscriptions">Đăng ký</string>
|
||||
<string name="tab_bookmarks">Dấu trang</string>
|
||||
|
||||
<string name="fragment_whats_new">Có gì mới</string>
|
||||
|
||||
<string name="controls_add_to_playlist_title">Thêm vào</string>
|
||||
|
||||
<string name="use_inexact_seek_title">Sử dụng tìm kiếm không chính xác nhanh</string>
|
||||
<string name="use_inexact_seek_summary">Tìm kiếm không chính xác cho phép người chơi tìm kiếm vị trí nhanh hơn với độ chính xác giảm</string>
|
||||
<string name="download_thumbnail_title">Tải hình thu nhỏ</string>
|
||||
<string name="download_thumbnail_summary">Vô hiệu hóa để ngăn chặn tất cả các hình thu nhỏ tải và lưu dữ liệu và sử dụng bộ nhớ. Thay đổi điều này sẽ xóa bộ nhớ cache hình ảnh trong bộ nhớ và trên đĩa</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Đã xóa bộ nhớ cache hình ảnh</string>
|
||||
<string name="metadata_cache_wipe_title">Xóa siêu dữ liệu đã lưu vào bộ nhớ cache</string>
|
||||
<string name="metadata_cache_wipe_summary">Xóa tất cả dữ liệu trang web được lưu trong bộ nhớ cache</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">Đã xóa bộ nhớ cache siêu dữ liệu</string>
|
||||
<string name="auto_queue_title">Tự động phát tiếp theo theo hàng</string>
|
||||
<string name="auto_queue_summary">Tự động thêm một luồng có liên quan khi phát luồng cuối cùng trong hàng đợi không lặp lại</string>
|
||||
<string name="enable_search_history_title">Lịch sử tìm kiếm</string>
|
||||
<string name="enable_search_history_summary">Lưu trữ truy vấn tìm kiếm cục bộ</string>
|
||||
<string name="enable_watch_history_summary">Theo dõi các video đã xem</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Tiếp tục lấy tiêu điểm</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Tiếp tục phát sau khi bị gián đoạn (ví dụ: cuộc gọi điện thoại)</string>
|
||||
<string name="show_hold_to_append_title">Hiển thị mẹo \"giữ để nối thêm\"</string>
|
||||
<string name="show_hold_to_append_summary">Hiển thị mẹo khi nhấn nút nền hoặc bật lên trên trang chi tiết video</string>
|
||||
<string name="default_content_country_title">Quốc gia nội dung mặc định</string>
|
||||
<string name="service_title">Dịch vụ</string>
|
||||
<string name="settings_category_player_title">Phát</string>
|
||||
<string name="settings_category_player_behavior_title">Hành vi</string>
|
||||
<string name="settings_category_debug_title">Gỡ lỗi</string>
|
||||
<string name="background_player_append">Đã xếp hàng đợi trên trình phát nền</string>
|
||||
<string name="popup_playing_append">Xếp hàng đợi trên trình phát bật lên</string>
|
||||
<string name="channels">Kênh</string>
|
||||
<string name="playlists">Danh sách phát</string>
|
||||
<string name="tracks">Bản nhạc</string>
|
||||
<string name="users">Người dùng</string>
|
||||
<string name="undo">Hủy bỏ</string>
|
||||
<string name="play_all">Chơi tất cả</string>
|
||||
<string name="always">Luôn luôn</string>
|
||||
<string name="just_once">Chỉ một lần</string>
|
||||
<string name="file">Tập tin</string>
|
||||
|
||||
<string name="notification_channel_name">Thông báo NewPipe</string>
|
||||
<string name="notification_channel_description">Thông báo cho nền mới và Trình phát Popup</string>
|
||||
|
||||
<string name="unknown_content">[Không xác định]</string>
|
||||
|
||||
<string name="toggle_orientation">Chuyển đổi hướng màn hình</string>
|
||||
<string name="switch_to_background">Chuyển sang nền</string>
|
||||
<string name="switch_to_popup">Chuyển sang Popup</string>
|
||||
<string name="switch_to_main">Chuyển sang Main</string>
|
||||
|
||||
<string name="import_data_title">Nhập cơ sở dữ liệu</string>
|
||||
<string name="export_data_title">Xuất cơ sở dữ liệu</string>
|
||||
<string name="import_data_summary">Sẽ ghi đè lịch sử và đăng ký hiện tại của bạn</string>
|
||||
<string name="export_data_summary">Xuất lịch sử, đăng ký và danh sách phát</string>
|
||||
<string name="clear_views_history_title">Xóa lịch sử xem</string>
|
||||
<string name="clear_views_history_summary">Xóa lịch sử của các luồng đã phát</string>
|
||||
<string name="delete_view_history_alert">Xóa toàn bộ lịch sử xem.</string>
|
||||
<string name="view_history_deleted">Đã xóa lịch sử xem.</string>
|
||||
<string name="clear_search_history_title">Xóa lịch sử tìm kiếm</string>
|
||||
<string name="clear_search_history_summary">Xóa lịch sử của từ khóa tìm kiếm</string>
|
||||
<string name="delete_search_history_alert">Xóa toàn bộ lịch sử tìm kiếm.</string>
|
||||
<string name="search_history_deleted">Đã xóa lịch sử tìm kiếm.</string>
|
||||
<string name="player_stream_failure">Không thể phát luồng này</string>
|
||||
<string name="player_unrecoverable_failure">Đã xảy ra lỗi trình phát không thể khôi phục</string>
|
||||
<string name="player_recoverable_failure">Phục hồi từ lỗi trình phát</string>
|
||||
<string name="external_player_unsupported_link_type">Người chơi bên ngoài không hỗ trợ các loại liên kết này</string>
|
||||
<string name="invalid_url_toast">URL không hợp lệ</string>
|
||||
<string name="video_streams_empty">Không tìm thấy luồng video nào</string>
|
||||
<string name="audio_streams_empty">Không tìm thấy luồng âm thanh nào</string>
|
||||
<string name="invalid_directory">Thư mục không hợp lệ</string>
|
||||
<string name="invalid_source">Nguồn tệp / nội dung không hợp lệ</string>
|
||||
<string name="invalid_file">Tệp không tồn tại hoặc không đủ quyền đọc hoặc ghi vào tệp</string>
|
||||
<string name="file_name_empty_error">Tên tệp không được để trống</string>
|
||||
<string name="error_occurred_detail">Đã xảy ra lỗi: %1$s</string>
|
||||
<string name="no_streams_available_download">Không có luồng nào để tải xuống</string>
|
||||
|
||||
<string name="empty_subscription_feed_subtitle">Không có gì ở đây Nhưng dế</string>
|
||||
<string name="detail_drag_description">Kéo để sắp xếp lại</string>
|
||||
|
||||
<string name="no_subscribers">Không có người đăng ký</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="other">%s người đăng kí</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">Không có lượt xem nào</string>
|
||||
<plurals name="views">
|
||||
<item quantity="other">%s lượt xem</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">Không có video nào</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="other">%s video</item>
|
||||
</plurals>
|
||||
|
||||
<string name="create">Tạo nên</string>
|
||||
<string name="delete_one">Xóa một</string>
|
||||
<string name="delete_all">Xóa hết</string>
|
||||
<string name="dismiss">Bỏ qua</string>
|
||||
<string name="rename">Đổi tên</string>
|
||||
|
||||
<string name="one_item_deleted">Đã xóa 1 mục.</string>
|
||||
|
||||
<string name="settings_category_downloads_title">Tải về</string>
|
||||
<string name="settings_file_charset_title">Các ký tự được cho phép trong tên tệp</string>
|
||||
<string name="settings_file_replacement_character_summary">Ký tự không hợp lệ được thay thế bằng giá trị này</string>
|
||||
<string name="settings_file_replacement_character_title">Ký tự thay thế</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Chữ cái và chữ số</string>
|
||||
<string name="charset_most_special_characters">Hầu hết các ký tự đặc biệt</string>
|
||||
|
||||
<string name="toast_no_player">Không có ứng dụng nào được cài đặt để phát tệp này</string>
|
||||
|
||||
<string name="donation_title">Đóng góp</string>
|
||||
<string name="donation_encouragement">NewPipe được phát triển bởi các tình nguyện viên dành thời gian mang lại cho bạn những trải nghiệm tốt nhất. Hãy trở lại để giúp các nhà phát triển làm cho NewPipe thậm chí còn tốt hơn trong khi thưởng thức một tách cà phê.</string>
|
||||
<string name="give_back">Trả lại</string>
|
||||
<string name="website_title">Trang mạng</string>
|
||||
<string name="website_encouragement">Truy cập trang web NewPipe để biết thêm thông tin và tin tức.</string>
|
||||
<string name="privacy_policy_title">Chính sách bảo mật của NewPipe</string>
|
||||
<string name="privacy_policy_encouragement">Dự án NewPipe rất coi trọng quyền riêng tư của bạn. Do đó, ứng dụng không thu thập bất kỳ dữ liệu nào mà không có sự đồng ý của bạn.
|
||||
\nChính sách bảo mật của NewPipe giải thích chi tiết dữ liệu nào được gửi và lưu trữ khi bạn gửi báo cáo sự cố.</string>
|
||||
<string name="read_privacy_policy">Đọc chính sách bảo mật</string>
|
||||
<string name="app_license">NewPipe là phần mềm miễn phí copyleft: Bạn có thể sử dụng, chia sẻ nghiên cứu và cải thiện nó theo ý muốn của bạn. Cụ thể bạn có thể phân phối lại và / hoặc sửa đổi nó theo các điều khoản của Giấy phép Công cộng GNU như được xuất bản bởi Quỹ Phần mềm Tự do, hoặc phiên bản 3 của Giấy phép, hoặc (tùy chọn của bạn) bất kỳ phiên bản nào sau này.</string>
|
||||
<string name="title_activity_history">Lịch sử</string>
|
||||
<string name="title_history_search">Đã tìm kiếm</string>
|
||||
<string name="title_history_view">Đã xem</string>
|
||||
<string name="history_disabled">Lịch sử bị tắt</string>
|
||||
<string name="action_history">Lịch sử</string>
|
||||
<string name="history_empty">Lịch sử trống</string>
|
||||
<string name="history_cleared">Đã xóa lịch sử</string>
|
||||
<string name="item_deleted">Đã xóa mục</string>
|
||||
<string name="delete_item_search_history">Bạn có muốn xóa mục này khỏi lịch sử tìm kiếm không?</string>
|
||||
<string name="delete_stream_history_prompt">Bạn có muốn xóa mục này khỏi lịch sử xem không?</string>
|
||||
<string name="delete_all_history_prompt">Bạn có chắc chắn muốn xóa tất cả các mục khỏi lịch sử không?</string>
|
||||
<string name="title_last_played">Lần chơi cuối</string>
|
||||
<string name="title_most_played">Hầu hết phát</string>
|
||||
|
||||
<string name="main_page_content">Nội dung trang chính</string>
|
||||
<string name="blank_page_summary">Trang trống</string>
|
||||
<string name="kiosk_page_summary">Trang chủ</string>
|
||||
<string name="subscription_page_summary">Trang đăng ký</string>
|
||||
<string name="feed_page_summary">Trang nguồn cấp dữ liệu</string>
|
||||
<string name="channel_page_summary">Trang kênh</string>
|
||||
<string name="select_a_channel">Chọn kênh</string>
|
||||
<string name="no_channel_subscribed_yet">Chưa có kênh nào được đăng ký</string>
|
||||
<string name="select_a_kiosk">Chọn Trang chủ</string>
|
||||
<string name="export_complete_toast">Xuất xong</string>
|
||||
<string name="import_complete_toast">Nhập hoàn tất</string>
|
||||
<string name="no_valid_zip_file">Không có tệp ZIP hợp lệ</string>
|
||||
<string name="could_not_import_all_files">Cảnh báo: Không thể nhập tất cả các tệp.</string>
|
||||
<string name="override_current_data">Thao tác này sẽ ghi đè cài đặt hiện tại của bạn.</string>
|
||||
<string name="import_settings">Bạn cũng muốn nhập cài đặt?</string>
|
||||
|
||||
<string name="kiosk">Trang chủ</string>
|
||||
<string name="trending">Xu hướng</string>
|
||||
<string name="new_and_hot">Mới & hot</string>
|
||||
<string name="title_activity_background_player">Trình phát nền</string>
|
||||
<string name="title_activity_popup_player">Trình phát Popup</string>
|
||||
<string name="play_queue_remove">Tẩy xoá</string>
|
||||
<string name="play_queue_stream_detail">Chi tiết</string>
|
||||
<string name="play_queue_audio_settings">Cài đặt âm thanh</string>
|
||||
<string name="hold_to_append">Giữ để Enqueue</string>
|
||||
<string name="enqueue_on_background">Phát trên nền</string>
|
||||
<string name="enqueue_on_popup">Phát qua cửa sổ</string>
|
||||
<string name="start_here_on_main">Bắt đầu chơi ở đây</string>
|
||||
<string name="start_here_on_background">Bắt đầu ở đây trên nền</string>
|
||||
<string name="start_here_on_popup">Bắt đầu ở đây trên Popup</string>
|
||||
|
||||
<string name="drawer_open">Mở ngăn kéo</string>
|
||||
<string name="drawer_close">Đóng ngăn</string>
|
||||
<string name="drawer_header_action_paceholder_text">Một cái gì đó sẽ xuất hiện ở đây sớm ;D</string>
|
||||
|
||||
|
||||
<string name="preferred_open_action_settings_title">Hành động \'mở\' được ưu tiên</string>
|
||||
<string name="preferred_open_action_settings_summary">Hành động mặc định khi mở nội dung — %s</string>
|
||||
|
||||
<string name="video_player">Trình phát video</string>
|
||||
<string name="background_player">Trình phát nền</string>
|
||||
<string name="popup_player">Trình phát Popup</string>
|
||||
<string name="always_ask_open_action">Luôn luôn hỏi</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">Đang nhận thông tin…</string>
|
||||
<string name="preferred_player_fetcher_notification_message">Đang tải nội dung được yêu cầu</string>
|
||||
|
||||
<string name="create_playlist">Tạo danh sách mới</string>
|
||||
<string name="delete_playlist">Xóa danh sách phát</string>
|
||||
<string name="rename_playlist">Đổi tên danh sách phát</string>
|
||||
<string name="playlist_name_input">Tên</string>
|
||||
<string name="append_playlist">Thêm vào danh sách phát</string>
|
||||
<string name="set_as_playlist_thumbnail">Đặt làm Hình thu nhỏ của danh sách phát</string>
|
||||
|
||||
<string name="bookmark_playlist">Đánh dấu trang danh sách phát</string>
|
||||
<string name="unbookmark_playlist">Xóa dấu trang</string>
|
||||
|
||||
<string name="delete_playlist_prompt">Bạn có muốn xóa danh sách phát này không?</string>
|
||||
<string name="playlist_creation_success">Đã tạo danh sách phát</string>
|
||||
<string name="playlist_add_stream_success">Đã thêm vào danh sách phát</string>
|
||||
<string name="playlist_thumbnail_change_success">Đã thay đổi hình thu nhỏ của danh sách phát</string>
|
||||
<string name="playlist_delete_failure">Không thể xóa danh sách phát</string>
|
||||
|
||||
<string name="caption_none">Không có phụ đề</string>
|
||||
|
||||
<string name="resize_fit">Phù hợp</string>
|
||||
<string name="resize_fill">Lấp đầy</string>
|
||||
<string name="resize_zoom">Thu phóng</string>
|
||||
|
||||
<string name="caption_auto_generated">Tự động tạo ra</string>
|
||||
|
||||
<string name="caption_setting_title">Phụ đề</string>
|
||||
<string name="caption_setting_description">Sửa đổi tỷ lệ văn bản chú thích của người chơi và kiểu nền. Yêu cầu khởi động lại ứng dụng để có hiệu lực</string>
|
||||
|
||||
<string name="enable_leak_canary_title">Bật LeakCanary</string>
|
||||
<string name="enable_leak_canary_summary">Theo dõi rò rỉ bộ nhớ có thể khiến ứng dụng trở nên không phản hồi khi đổ xô đống</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Báo cáo lỗi ngoài vòng đời</string>
|
||||
<string name="enable_disposed_exceptions_summary">Buộc báo cáo ngoại lệ Rx không thể gửi được bên ngoài vòng đời của mảnh hoặc hoạt động sau khi xử lý</string>
|
||||
|
||||
<string name="import_export_title">Nhập khẩu/xuất khẩu</string>
|
||||
<string name="import_title">Nhập</string>
|
||||
<string name="import_from">Nhập từ</string>
|
||||
<string name="export_to">Xuất sang</string>
|
||||
|
||||
<string name="import_ongoing">Đang nhập…</string>
|
||||
<string name="export_ongoing">Đang xuất …</string>
|
||||
|
||||
<string name="import_file_title">Nhập tệp</string>
|
||||
<string name="previous_export">Xuất trước</string>
|
||||
|
||||
<string name="subscriptions_import_unsuccessful">Không thể nhập đăng ký</string>
|
||||
<string name="subscriptions_export_unsuccessful">Không thể xuất đăng ký</string>
|
||||
|
||||
<string name="import_youtube_instructions">Nhập đăng ký YouTube bằng cách tải xuống tệp xuất:
|
||||
\n
|
||||
\n1. Truy cập URL này: %1$s
|
||||
\n2. Đăng nhập khi được hỏi
|
||||
\n3. Quá trình tải xuống sẽ bắt đầu (đó là tệp xuất)</string>
|
||||
<string name="import_soundcloud_instructions">Nhập hồ sơ SoundCloud bằng cách nhập URL hoặc ID của bạn:
|
||||
\n
|
||||
\n1. Bật \"chế độ màn hình\" trong trình duyệt web (trang web không khả dụng cho thiết bị di động)
|
||||
\n2. Truy cập URL này: %1$s
|
||||
\n3. Đăng nhập khi được hỏi
|
||||
\n4. Sao chép URL tiểu sử mà bạn đã được chuyển hướng đến.</string>
|
||||
<string name="import_network_expensive_warning">Hãy nhớ rằng hoạt động này có thể là mạng đắt tiền.
|
||||
\n
|
||||
\nBạn có muốn tiếp tục?</string>
|
||||
|
||||
<string name="playback_speed_control">Điều khiển tốc độ phát lại</string>
|
||||
<string name="playback_tempo">Speed</string>
|
||||
<string name="playback_pitch">Chiều cao</string>
|
||||
<string name="unhook_checkbox">Hủy liên kết (có thể gây méo)</string>
|
||||
<string name="skip_silence_checkbox">Tua đi nhanh trong khi im lặng</string>
|
||||
<string name="playback_step">Tiếp theo</string>
|
||||
<string name="playback_reset">Cài lại</string>
|
||||
|
||||
<string name="start_accept_privacy_policy">Để tuân thủ Quy định bảo vệ dữ liệu chung của châu Âu (GDPR), chúng tôi sẽ thu hút sự chú ý của bạn đến chính sách bảo mật của NewPipe. Vui lòng đọc kỹ.
|
||||
\nBạn phải chấp nhận nó để gửi cho chúng tôi báo cáo lỗi.</string>
|
||||
<string name="accept">Chấp nhận</string>
|
||||
<string name="decline">Từ chối</string>
|
||||
|
||||
<string name="limit_data_usage_none_description">Không giới hạn</string>
|
||||
<string name="limit_mobile_data_usage_title">Giới hạn độ phân giải khi sử dụng dữ liệu di động</string>
|
||||
<string name="minimize_on_exit_title">Giảm thiểu trên công tắc ứng dụng</string>
|
||||
<string name="minimize_on_exit_summary">Hành động khi chuyển sang ứng dụng khác từ trình phát video chính — %s</string>
|
||||
<string name="minimize_on_exit_none_description">không ai</string>
|
||||
<string name="minimize_on_exit_background_description">Thu nhỏ xuống trình phát nền</string>
|
||||
<string name="minimize_on_exit_popup_description">Thu nhỏ trình phát bật lên</string>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<string name="next_video_title">即将播放</string>
|
||||
<string name="show_next_and_similar_title">显示下一部和相似的视频</string>
|
||||
<string name="url_not_supported_toast">不支援此网址</string>
|
||||
<string name="search_language_title">默认内容语言</string>
|
||||
<string name="content_language_title">默认内容语言</string>
|
||||
<string name="settings_category_video_audio_title">视频和音频</string>
|
||||
<string name="settings_category_appearance_title">外观</string>
|
||||
<string name="settings_category_other_title">其他</string>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<string name="next_video_title">下一部影片</string>
|
||||
<string name="show_next_and_similar_title">顯示下一部及相關的影片</string>
|
||||
<string name="url_not_supported_toast">不支援此網址</string>
|
||||
<string name="search_language_title">預設內容語言</string>
|
||||
<string name="content_language_title">預設內容語言</string>
|
||||
<string name="settings_category_video_audio_title">影片及聲音</string>
|
||||
<string name="settings_category_appearance_title">外觀</string>
|
||||
<string name="settings_category_other_title">其他</string>
|
||||
|
@ -55,7 +55,7 @@
|
|||
|
||||
<string name="err_dir_create">未能建立下載路徑「%1$s」</string>
|
||||
<string name="info_dir_created">已建立下載路徑「%1$s」</string>
|
||||
<string name="blocked_by_gema">內容被 GEMA 封鎖。</string>
|
||||
<string name="blocked_by_gema">內容被 GEMA 封鎖</string>
|
||||
<string name="main_bg_subtitle">按一下搜尋按鈕以開始操作</string>
|
||||
<string name="autoplay_by_calling_app_title">自動撥放</string>
|
||||
<string name="autoplay_by_calling_app_summary">當其他應用程式要求播放影片時,NewPipe 將會自動播放</string>
|
||||
|
@ -69,9 +69,9 @@
|
|||
<string name="youtube_signature_decryption_error">無法為影片地址的簽署解碼。</string>
|
||||
<string name="parsing_error">無法讀取網站。</string>
|
||||
<string name="light_parsing_error">無法完全讀取網站。</string>
|
||||
<string name="could_not_setup_download_menu">無法設定下載清單。</string>
|
||||
<string name="could_not_setup_download_menu">無法設定下載清單</string>
|
||||
<string name="live_streams_not_supported">此內容是一個直播串流,所以暫時未能播放。</string>
|
||||
<string name="could_not_get_stream">無法取得任何串流。</string>
|
||||
<string name="could_not_get_stream">無法取得任何串流</string>
|
||||
<string name="sorry_string">抱歉,這是不應該發生的。</string>
|
||||
<string name="error_report_button_text">透過電郵彙報問題</string>
|
||||
<string name="error_snackbar_message">抱歉,程式出現了問題。</string>
|
||||
|
@ -114,7 +114,7 @@
|
|||
<string name="msg_running">NewPipe 正在下載</string>
|
||||
<string name="msg_running_detail">按一下以查看詳情</string>
|
||||
<string name="msg_wait">請稍候…</string>
|
||||
<string name="msg_copied">已複製至剪貼板。</string>
|
||||
<string name="msg_copied">已複製至剪貼板</string>
|
||||
<string name="no_available_dir">請選擇下載資料夾。</string>
|
||||
|
||||
<string name="open_in_popup_mode">在畫中畫模式開啟</string>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<string name="all">所有</string>
|
||||
<string name="channel">頻道</string>
|
||||
<string name="yes">是</string>
|
||||
<string name="later">稍候</string>
|
||||
<string name="later">稍後</string>
|
||||
<string name="could_not_load_image">無法取得圖片</string>
|
||||
<string name="app_ui_crash">應用程式或介面出現問題</string>
|
||||
<string name="info_labels">事件:\\n請求:\\n內容語言:\\n服務:\\nGMT 時間:\\nPackage:\\n版本:\\n作業系統版本:</string>
|
||||
|
@ -165,7 +165,7 @@
|
|||
<string name="best_resolution">最佳解像度</string>
|
||||
|
||||
<string name="popup_resizing_indicator_title">調整大小</string>
|
||||
<string name="use_old_player_summary">使用舊的內置 Mediaframework 播放器。</string>
|
||||
<string name="use_old_player_summary">使用舊的內置 Mediaframework 播放器</string>
|
||||
<string name="short_billion">B</string>
|
||||
|
||||
<string name="title_activity_about">關於 NewPipe</string>
|
||||
|
@ -179,7 +179,7 @@
|
|||
<string name="tab_contributors">貢獻者</string>
|
||||
<string name="tab_licenses">特許</string>
|
||||
<string name="app_description">在 Android 上運作自由輕便的 Youtube 前端。</string>
|
||||
<string name="view_on_github">檢視我們的 Github</string>
|
||||
<string name="view_on_github">檢視我們的 GitHub</string>
|
||||
<string name="app_license_title">NewPipe 的特許</string>
|
||||
<string name="contribution_encouragement">無論您僅想分享您對 NewPipe 的一些構思,還是願意設計和翻譯程式介面,甚至想幫我們整理或重新編寫原始碼,我們都無任歡迎。貢獻更多,應用程式便會變得更好!</string>
|
||||
<string name="read_full_license">檢閱特許</string>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<string name="view_count_text">點播%1$s次</string>
|
||||
<string name="upload_date_text">%1$s發布</string>
|
||||
<string name="no_player_found">找不到串流播放器,您要安裝VLC吗?</string>
|
||||
<string name="view_count_text">點播 %1$s 次</string>
|
||||
<string name="upload_date_text">%1$s 發布</string>
|
||||
<string name="no_player_found">找不到串流播放器,您要安裝 VLC 嗎?</string>
|
||||
<string name="install">安裝</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="open_in_browser">用瀏覽器開啟</string>
|
||||
<string name="open_in_browser">以瀏覽器開啟</string>
|
||||
<string name="share">分享</string>
|
||||
<string name="download">下載</string>
|
||||
<string name="search">搜尋</string>
|
||||
|
@ -20,11 +20,11 @@
|
|||
<string name="download_path_summary">已下載影片的存放路徑</string>
|
||||
<string name="download_path_dialog_title">輸入影片下載路徑</string>
|
||||
<string name="default_resolution_title">預設解析度</string>
|
||||
<string name="play_with_kodi_title">用Kodi播放</string>
|
||||
<string name="show_play_with_kodi_summary">顯示用Kodi媒體中心播放影片的選項</string>
|
||||
<string name="play_with_kodi_title">用 Kodi 播放</string>
|
||||
<string name="show_play_with_kodi_summary">顯示用 Kodi 媒體中心播放影片的選項</string>
|
||||
<string name="play_audio">聲音</string>
|
||||
<string name="kore_not_found">找不到Kore,您要安裝Kore嗎?</string>
|
||||
<string name="show_play_with_kodi_title">顯示「用Kodi播放」的選項</string>
|
||||
<string name="kore_not_found">找不到 Kore ,您要安裝 Kore 嗎?</string>
|
||||
<string name="show_play_with_kodi_title">顯示「用 Kodi 播放」的選項</string>
|
||||
<string name="default_audio_format_title">預設音訊格式</string>
|
||||
<string name="theme_title">主題</string>
|
||||
<string name="dark_theme_title">灰暗</string>
|
||||
|
@ -34,11 +34,11 @@
|
|||
<string name="next_video_title">下一部影片</string>
|
||||
<string name="show_next_and_similar_title">顯示「下一部」與「相關」的影片</string>
|
||||
<string name="url_not_supported_toast">不支援此網址</string>
|
||||
<string name="search_language_title">預設內容語言</string>
|
||||
<string name="content_language_title">預設內容語言</string>
|
||||
<string name="settings_category_video_audio_title">影片和音訊</string>
|
||||
<string name="settings_category_appearance_title">外觀</string>
|
||||
<string name="settings_category_other_title">其他</string>
|
||||
<string name="background_player_playing_toast">在背景播放</string>
|
||||
<string name="background_player_playing_toast">背景播放中</string>
|
||||
<string name="play_btn_text">播放</string>
|
||||
<string name="network_error">網路錯誤</string>
|
||||
|
||||
|
@ -48,37 +48,37 @@
|
|||
<string name="detail_likes_img_view_description">喜歡</string>
|
||||
<string name="detail_dislikes_img_view_description">不喜歡</string>
|
||||
<string name="use_tor_title">使用 Tor</string>
|
||||
<string name="use_tor_summary">(實驗性功能)強制使用 Tor 下載(暫時不支援串流影片)。</string>
|
||||
<string name="use_tor_summary">(實驗性) 強迫下載流量繞經 Tor 以加強隱私 (暫未支援串流影片)。</string>
|
||||
<string name="download_path_audio_title">音訊下載路徑</string>
|
||||
<string name="download_path_audio_summary">已下載音訊的存放路徑</string>
|
||||
<string name="download_path_audio_dialog_title">輸入音訊檔案的下載路徑</string>
|
||||
|
||||
<string name="err_dir_create">無法建立下載目錄「%1$s」</string>
|
||||
<string name="info_dir_created">已建立下載目錄「%1$s」</string>
|
||||
<string name="main_bg_subtitle">輕觸搜尋按鈕開始使用NewPipe</string>
|
||||
<string name="main_bg_subtitle">輕觸搜尋按鈕開始使用 NewPipe</string>
|
||||
<string name="open_in_popup_mode">以懸浮視窗開啟</string>
|
||||
<string name="use_external_video_player_summary">勾選後,部分解析度的影片將沒有聲音</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe懸浮視窗模式</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe 懸浮視窗模式</string>
|
||||
<string name="controls_background_title">背景播放</string>
|
||||
<string name="autoplay_by_calling_app_title">自動播放</string>
|
||||
<string name="autoplay_by_calling_app_summary">NewPipe 被其他應用程式呼叫時播放影片</string>
|
||||
<string name="autoplay_by_calling_app_summary">當 NewPipe 被其他應用程式呼叫時播放影片</string>
|
||||
<string name="default_popup_resolution_title">懸浮視窗預設解析度</string>
|
||||
<string name="show_higher_resolutions_title">顯示更高的解析度</string>
|
||||
<string name="show_higher_resolutions_summary">只有部分裝置能播2K及4K影片</string>
|
||||
<string name="show_higher_resolutions_summary">只有部分裝置能播 2K 及 4K 影片</string>
|
||||
<string name="default_video_format_title">預設影片格式</string>
|
||||
<string name="black_theme_title">純黑</string>
|
||||
<string name="popup_remember_size_pos_title">記住懸浮視窗大小和位置</string>
|
||||
<string name="popup_remember_size_pos_summary">記住上次懸浮視窗的大小和位置</string>
|
||||
<string name="popup_remember_size_pos_summary">記住上次使用時懸浮視窗的大小和位置</string>
|
||||
<string name="player_gesture_controls_title">播放器手勢控制</string>
|
||||
<string name="player_gesture_controls_summary">使用手勢來控制亮度及播放器的音量</string>
|
||||
<string name="player_gesture_controls_summary">使用手勢來控制播放器的亮度及音量</string>
|
||||
<string name="show_search_suggestions_title">搜尋建議</string>
|
||||
<string name="show_search_suggestions_summary">在搜尋時顯示搜尋建議</string>
|
||||
<string name="show_search_suggestions_summary">搜尋時顯示搜尋建議</string>
|
||||
|
||||
<string name="settings_category_popup_title">懸浮視窗</string>
|
||||
<string name="popup_playing_toast">在懸浮視窗中播放</string>
|
||||
<string name="popup_playing_toast">以懸浮視窗播放中</string>
|
||||
<string name="content">內容</string>
|
||||
<string name="show_age_restricted_content_title">顯示受年齡限制的內容</string>
|
||||
<string name="video_is_age_restricted">此影片具有年齡限制,請先在設定中關閉年齡限制。</string>
|
||||
<string name="show_age_restricted_content_title">顯示具有年齡限制的內容</string>
|
||||
<string name="video_is_age_restricted">有年齡限制的影片。可於設定中選擇允許此種內容。</string>
|
||||
<string name="downloads">下載</string>
|
||||
<string name="downloads_title">下載</string>
|
||||
<string name="error_report_title">錯誤回報</string>
|
||||
|
@ -92,7 +92,7 @@
|
|||
<string name="clear">清除</string>
|
||||
<string name="best_resolution">最佳解析度</string>
|
||||
|
||||
<string name="popup_resizing_indicator_title">重新設定大小</string>
|
||||
<string name="popup_resizing_indicator_title">調整大小</string>
|
||||
<string name="general_error">錯誤</string>
|
||||
<string name="could_not_load_thumbnails">無法載入所有縮圖</string>
|
||||
<string name="youtube_signature_decryption_error">無法解析影片 URL 簽章</string>
|
||||
|
@ -105,7 +105,7 @@
|
|||
<string name="could_not_get_stream">無法取得串流</string>
|
||||
<string name="could_not_load_image">無法載入圖片</string>
|
||||
<string name="app_ui_crash">應用程式或界面已停止運作</string>
|
||||
<string name="sorry_string">抱歉,這不應該發生的。</string>
|
||||
<string name="sorry_string">抱歉,這是不該發生的。</string>
|
||||
<string name="error_report_button_text">使用電子郵件回報錯誤</string>
|
||||
<string name="error_snackbar_message">抱歉,發生了一些問題。</string>
|
||||
<string name="error_snackbar_action">回報</string>
|
||||
|
@ -123,8 +123,8 @@
|
|||
<string name="audio">音訊</string>
|
||||
<string name="retry">重試</string>
|
||||
<string name="storage_permission_denied">無法存取儲存空間</string>
|
||||
<string name="use_old_player_title">使用舊的播放器</string>
|
||||
<string name="use_old_player_summary">舊型內建媒體播放器</string>
|
||||
<string name="use_old_player_title">使用舊式播放器</string>
|
||||
<string name="use_old_player_summary">舊型內建 Mediaframework 播放器</string>
|
||||
|
||||
|
||||
<string name="short_thousand">千</string>
|
||||
|
@ -147,7 +147,7 @@
|
|||
<string name="msg_exists">檔案已存在</string>
|
||||
<string name="msg_url_malform">錯誤的網址或網路無法使用</string>
|
||||
<string name="msg_running">NewPipe 下載中</string>
|
||||
<string name="msg_running_detail">輕觸顯示詳細資訊</string>
|
||||
<string name="msg_running_detail">輕觸以顯示詳細資訊</string>
|
||||
<string name="msg_wait">請稍候…</string>
|
||||
<string name="msg_copied">已複製至剪貼簿</string>
|
||||
<string name="no_available_dir">請選擇下載資料夾</string>
|
||||
|
@ -167,7 +167,7 @@
|
|||
<string name="subscription_update_failed">無法更新訂閱</string>
|
||||
|
||||
<string name="tab_main">主頁</string>
|
||||
<string name="tab_subscriptions">訂閱</string>
|
||||
<string name="tab_subscriptions">訂閱清單</string>
|
||||
|
||||
<string name="fragment_whats_new">新鮮事</string>
|
||||
|
||||
|
@ -175,7 +175,7 @@
|
|||
<string name="enable_search_history_summary">在本機儲存搜尋紀錄</string>
|
||||
<string name="enable_watch_history_title">歷史紀錄與快取</string>
|
||||
<string name="enable_watch_history_summary">記錄觀看過的影片</string>
|
||||
<string name="resume_on_audio_focus_gain_title">在取得視窗焦點時繼續播放</string>
|
||||
<string name="resume_on_audio_focus_gain_title">取得視窗焦點時繼續播放</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">在干擾結束後繼續播放(例如有來電)</string>
|
||||
<string name="settings_category_player_title">播放器</string>
|
||||
<string name="settings_category_player_behavior_title">行為</string>
|
||||
|
@ -222,10 +222,10 @@
|
|||
<string name="tab_about">關於</string>
|
||||
<string name="tab_contributors">貢獻者</string>
|
||||
<string name="tab_licenses">授權條款</string>
|
||||
<string name="app_description">Android 上開放且輕巧的 YouTube 串流應用程式。</string>
|
||||
<string name="app_description">Android 上自由且輕巧的 YouTube 串流播放器。</string>
|
||||
<string name="view_on_github">在 GitHub 上檢視</string>
|
||||
<string name="app_license_title">NewPipe 使用的授權條款</string>
|
||||
<string name="contribution_encouragement">不管你有什麼點子,翻譯、設計、程式碼整理,或者程式碼撰寫,我們永遠歡迎你來幫忙。完成的越多,NewPipe 也會更好!</string>
|
||||
<string name="contribution_encouragement">不管你有什麼點子——翻譯、設計、程式碼整理,或者程式碼撰寫——我們永遠歡迎你來幫忙。完成的越多,NewPipe 也會更好!</string>
|
||||
<string name="read_full_license">閱讀授權條款</string>
|
||||
<string name="contribution_title">貢獻</string>
|
||||
|
||||
|
@ -238,12 +238,12 @@
|
|||
<string name="history_cleared">已清除歷史紀錄</string>
|
||||
<string name="item_deleted">項目已刪除</string>
|
||||
<string name="delete_item_search_history">確定要刪除此項搜尋紀錄嗎?</string>
|
||||
<string name="no_player_found_toast">找不到串流播放器(您可以安裝 VLC播放)</string>
|
||||
<string name="show_hold_to_append_title">顯示「鎖定到附加」提示</string>
|
||||
<string name="no_player_found_toast">找不到串流播放器(您可以安裝 VLC 播放)</string>
|
||||
<string name="show_hold_to_append_title">顯示「長按以新增」提示</string>
|
||||
<string name="default_content_country_title">預設內容國家</string>
|
||||
<string name="service_title">服務</string>
|
||||
<string name="background_player_append">在背景播放器上等候</string>
|
||||
<string name="popup_playing_append">在懸浮視窗播放器上等候</string>
|
||||
<string name="background_player_append">已新增至背景播放佇列</string>
|
||||
<string name="popup_playing_append">已新增至懸浮視窗播放佇列</string>
|
||||
<string name="play_all">全部播放</string>
|
||||
<string name="always">總是</string>
|
||||
<string name="just_once">僅一次</string>
|
||||
|
@ -257,9 +257,9 @@
|
|||
|
||||
<string name="player_stream_failure">無法播放此串流</string>
|
||||
<string name="player_unrecoverable_failure">發生無法復原的播放器錯誤</string>
|
||||
<string name="player_recoverable_failure">從播放器錯誤中恢復</string>
|
||||
<string name="show_hold_to_append_summary">在背景或是影片詳細資訊頁面上按下浮模按鈕時顯示提示</string>
|
||||
<string name="external_player_unsupported_link_type">外部播放器不支援這類型的連結</string>
|
||||
<string name="player_recoverable_failure">正在從播放器錯誤中復原</string>
|
||||
<string name="show_hold_to_append_summary">在影片詳細資訊頁按下背景播放或懸浮視窗按鈕時顯示提示</string>
|
||||
<string name="external_player_unsupported_link_type">外部播放器不支援此類型連結</string>
|
||||
<string name="invalid_url_toast">無效的 URL</string>
|
||||
<string name="video_streams_empty">找不到影片串流</string>
|
||||
<string name="audio_streams_empty">找不到音訊串流</string>
|
||||
|
@ -270,8 +270,8 @@
|
|||
<string name="export_data_title">匯出資料庫</string>
|
||||
<string name="import_data_summary">將覆蓋您目前的歷史記錄和訂閱</string>
|
||||
<string name="export_data_summary">匯出歷史記錄、訂閱和播放清單</string>
|
||||
<string name="give_back">返回</string>
|
||||
<string name="website_encouragement">欲了解更多關於 NewPipe 的資訊和新聞,請造訪我們的網站。</string>
|
||||
<string name="give_back">回饋</string>
|
||||
<string name="website_encouragement">如欲了解更多有關 NewPipe 的資訊和新聞,請造訪我們的網站。</string>
|
||||
<string name="main_page_content">首頁內容</string>
|
||||
<string name="blank_page_summary">空白頁面</string>
|
||||
<string name="kiosk_page_summary">互動導覽頁面</string>
|
||||
|
@ -279,10 +279,10 @@
|
|||
<string name="feed_page_summary">提要頁面</string>
|
||||
<string name="channel_page_summary">頻道頁面</string>
|
||||
<string name="select_a_channel">選擇頻道</string>
|
||||
<string name="no_channel_subscribed_yet">尚未訂閱頻道</string>
|
||||
<string name="no_channel_subscribed_yet">尚未訂閱任何頻道</string>
|
||||
<string name="select_a_kiosk">選擇互動導覽</string>
|
||||
<string name="export_complete_toast">匯出完成</string>
|
||||
<string name="import_complete_toast">匯入完成</string>
|
||||
<string name="export_complete_toast">匯出已完成</string>
|
||||
<string name="import_complete_toast">匯入已完成</string>
|
||||
<string name="no_valid_zip_file">無有效的 ZIP 檔案</string>
|
||||
<string name="could_not_import_all_files">警告:無法匯入所有檔案。</string>
|
||||
<string name="override_current_data">這將覆蓋您目前的設定。</string>
|
||||
|
@ -296,20 +296,20 @@
|
|||
<string name="play_queue_remove">移除</string>
|
||||
<string name="play_queue_stream_detail">詳細資訊</string>
|
||||
<string name="play_queue_audio_settings">音訊設定</string>
|
||||
<string name="enqueue_on_background">在背景佇列</string>
|
||||
<string name="enqueue_on_popup">在懸浮視窗佇列</string>
|
||||
<string name="start_here_on_main">在此開始播放</string>
|
||||
<string name="start_here_on_background">在背景這裡開始</string>
|
||||
<string name="start_here_on_popup">在懸浮視窗這裡開始</string>
|
||||
<string name="enqueue_on_background">新增至背景佇列</string>
|
||||
<string name="enqueue_on_popup">新增至懸浮視窗佇列</string>
|
||||
<string name="start_here_on_main">從這裡開始播放</string>
|
||||
<string name="start_here_on_background">從這裡開始以背景播放</string>
|
||||
<string name="start_here_on_popup">從這裡開始以懸浮視窗播放</string>
|
||||
|
||||
<string name="hold_to_append">維持在佇列</string>
|
||||
<string name="donation_encouragement">NewPipe 由志願者所開發,他們花費了空閒時間將獲得的最佳體驗帶給您。現在是時候回過頭來,讓我們的開發人員可以能夠在享受一杯咖啡的同時,讓 NewPipe 變得更好。</string>
|
||||
<string name="hold_to_append">長按以新增至佇列</string>
|
||||
<string name="donation_encouragement">NewPipe 由志願者所開發,他們耗費時間務求為您帶來最佳體驗。現在是時候回過頭來,讓我們的開發人員能夠在使 NewPipe 更臻完美的同時,享受一杯咖啡。</string>
|
||||
<string name="drawer_open">打開抽屜</string>
|
||||
<string name="drawer_close">關閉抽屜</string>
|
||||
|
||||
<string name="video_player">影片播放</string>
|
||||
<string name="background_player">背景播放</string>
|
||||
<string name="popup_player">懸浮視窗播放</string>
|
||||
<string name="video_player">影片播放器</string>
|
||||
<string name="background_player">背景播放器</string>
|
||||
<string name="popup_player">懸浮視窗播放器</string>
|
||||
<string name="always_ask_player">總是詢問</string>
|
||||
|
||||
<string name="preferred_player_fetcher_notification_title">正在取得資訊…</string>
|
||||
|
@ -321,16 +321,16 @@
|
|||
|
||||
<string name="controls_add_to_playlist_title">新增至</string>
|
||||
|
||||
<string name="detail_drag_description">拖曳重新排序</string>
|
||||
<string name="detail_drag_description">拖曳以重新排序</string>
|
||||
|
||||
<string name="create">建立</string>
|
||||
<string name="delete_one">刪除一個</string>
|
||||
<string name="delete_one">刪除</string>
|
||||
<string name="delete_all">全部刪除</string>
|
||||
<string name="dismiss">退出</string>
|
||||
<string name="rename">更改名稱</string>
|
||||
<string name="rename">重新命名</string>
|
||||
|
||||
<string name="delete_stream_history_prompt">您是否要從觀看記錄中刪除這個項目嗎?</string>
|
||||
<string name="delete_all_history_prompt">您確實要刪除歷史記錄中的所有項目嗎?</string>
|
||||
<string name="delete_stream_history_prompt">您是否要刪除此項觀看記錄?</string>
|
||||
<string name="delete_all_history_prompt">您確定要刪除歷史記錄中的所有項目嗎?</string>
|
||||
<string name="title_last_played">上一次播放</string>
|
||||
<string name="title_most_played">最常播放</string>
|
||||
|
||||
|
@ -338,23 +338,23 @@
|
|||
|
||||
<string name="create_playlist">建立新的播放清單</string>
|
||||
<string name="delete_playlist">刪除播放清單</string>
|
||||
<string name="rename_playlist">重命名播放清單</string>
|
||||
<string name="rename_playlist">重新命名播放清單</string>
|
||||
<string name="playlist_name_input">名稱</string>
|
||||
<string name="append_playlist">增加至播放清單</string>
|
||||
<string name="append_playlist">新增至播放清單</string>
|
||||
<string name="set_as_playlist_thumbnail">設為播放清單縮圖</string>
|
||||
|
||||
<string name="bookmark_playlist">書簽播放清單</string>
|
||||
<string name="unbookmark_playlist">移除書簽</string>
|
||||
<string name="bookmark_playlist">將播放清單加入書籤</string>
|
||||
<string name="unbookmark_playlist">移除書籤</string>
|
||||
|
||||
<string name="delete_playlist_prompt">您是否要刪除此播放清單?</string>
|
||||
<string name="playlist_creation_success">已建立播放清單</string>
|
||||
<string name="playlist_add_stream_success">加入到播放清單</string>
|
||||
<string name="playlist_add_stream_success">已新增至播放清單</string>
|
||||
<string name="playlist_thumbnail_change_success">播放清單縮圖已更改</string>
|
||||
<string name="playlist_delete_failure">無法刪除播放清單</string>
|
||||
|
||||
<string name="caption_none">沒有字幕</string>
|
||||
|
||||
<string name="resize_fit">適合的</string>
|
||||
<string name="resize_fit">合適的</string>
|
||||
<string name="resize_fill">填滿</string>
|
||||
<string name="resize_zoom">縮放</string>
|
||||
|
||||
|
@ -363,7 +363,7 @@
|
|||
<string name="normal_caption_font_size">正常字體</string>
|
||||
<string name="larger_caption_font_size">加大字體</string>
|
||||
|
||||
<string name="drawer_header_action_paceholder_text">某些東西很快就會出現 ;D</string>
|
||||
<string name="drawer_header_action_paceholder_text">某些東西即將在此出現 ;D</string>
|
||||
|
||||
|
||||
<string name="toggle_leak_canary">監測流失</string>
|
||||
|
@ -378,9 +378,9 @@
|
|||
<string name="enable_disposed_exceptions_summary">強制報告在處理完片段或活動週期外發生的無法傳遞的 Rx 異常</string>
|
||||
|
||||
<string name="use_inexact_seek_title">使用粗略但快速的尋找</string>
|
||||
<string name="use_inexact_seek_summary">粗略尋找讓播放器更快找到影片的進度位置</string>
|
||||
<string name="auto_queue_title">自動播放隊列中下一部影片</string>
|
||||
<string name="auto_queue_summary">在非重複播放佇列中的最後一個串流上開始播放時,自動附上相關串流</string>
|
||||
<string name="use_inexact_seek_summary">粗略的尋找能讓播放器以降低的精確度更快找到影片的進度位置</string>
|
||||
<string name="auto_queue_title">自動將下一部影片新增至佇列</string>
|
||||
<string name="auto_queue_summary">在非重複播放佇列中最後一個串流開始播放時,自動新增相關串流</string>
|
||||
<string name="live_sync">同步</string>
|
||||
|
||||
<string name="file">檔案</string>
|
||||
|
@ -388,12 +388,12 @@
|
|||
<string name="invalid_directory">無效的目錄</string>
|
||||
<string name="invalid_source">無效的檔案/內容來源</string>
|
||||
<string name="file_name_empty_error">檔案名稱不能留空</string>
|
||||
<string name="error_occurred_detail">發生錯誤:%1$s</string>
|
||||
<string name="error_occurred_detail">發生錯誤: %1$s</string>
|
||||
|
||||
<string name="import_export_title">匯入/匯出</string>
|
||||
<string name="import_title">匯入</string>
|
||||
<string name="import_from">匯入來自</string>
|
||||
<string name="export_to">匯出到</string>
|
||||
<string name="import_from">匯入自</string>
|
||||
<string name="export_to">匯出至</string>
|
||||
|
||||
<string name="import_ongoing">正在匯入…</string>
|
||||
<string name="export_ongoing">正在匯出…</string>
|
||||
|
@ -404,75 +404,75 @@
|
|||
|
||||
<string name="previous_export">之前的匯出</string>
|
||||
|
||||
<string name="invalid_file">檔案不存在或沒有足夠的權限讀取或寫入</string>
|
||||
<string name="invalid_file">檔案不存在或權限不足以讀取或寫入該檔案</string>
|
||||
<string name="import_youtube_instructions">透過下載匯出檔案來匯入您的 YouTube 訂閱:
|
||||
\n
|
||||
\n1. 轉到此網址:%1$s
|
||||
\n2. 當被詢問時登入您的帳戶
|
||||
\n1. 移至此網址:%1$s
|
||||
\n2. 當被詢問時登入
|
||||
\n3. 下載應該開始 ( 這就是匯出的檔案 )</string>
|
||||
<string name="import_soundcloud_instructions_hint">yourID, soundcloud.com/yourid</string>
|
||||
|
||||
<string name="import_network_expensive_warning">請記住,此操作可能會造成網路昂貴花費。
|
||||
\n
|
||||
\n您想繼續嗎?</string>
|
||||
<string name="import_soundcloud_instructions">透過輸入 URL 或您的 ID 來匯入 SoundCloud 檔案:
|
||||
<string name="import_network_expensive_warning">請記住,此操作可造成昂貴網路花費。
|
||||
\n
|
||||
\n1. 在一些瀏覽器中啟用「桌面模式」(該網站不適用於行動裝置)
|
||||
\n2. 移至此網址:%1$s
|
||||
\n3. 詢問時登入到您的帳號
|
||||
\n4. 複製您被重新導向到的網址。</string>
|
||||
\n您是否希望繼續?</string>
|
||||
<string name="import_soundcloud_instructions">透過輸入 URL 或您的 ID 來匯入 SoundCloud 個人設定檔:
|
||||
\n
|
||||
\n1. 在瀏覽器中啟用「桌面模式」(該網站不適用於行動裝置)
|
||||
\n2. 移至此網址: %1$s
|
||||
\n3. 當被詢問時登入
|
||||
\n4. 複製您被重新導向到的個人設定檔網址。</string>
|
||||
<string name="download_thumbnail_title">載入縮圖</string>
|
||||
<string name="download_thumbnail_summary">停用後,NewPipe將不再載入縮圖,減少數據使用與騰空儲存空間,亦會清除記憶體和磁碟上的縮圖快取</string>
|
||||
<string name="download_thumbnail_summary">停用後 NewPipe 將不再載入縮圖,減少數據和儲存空間的用量。改變此選項時將清除記憶體和磁碟上的縮圖快取</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">已清除圖片快取</string>
|
||||
<string name="metadata_cache_wipe_title">抹除快取中介資料</string>
|
||||
<string name="metadata_cache_wipe_title">清除快取中介資料</string>
|
||||
<string name="metadata_cache_wipe_summary">移除所有網頁的快取資料</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">已清除中介資料快取</string>
|
||||
<string name="playback_speed_control">播放速度控制</string>
|
||||
<string name="playback_tempo">節拍</string>
|
||||
<string name="playback_pitch">間距</string>
|
||||
<string name="playback_tempo">節奏</string>
|
||||
<string name="playback_pitch">音高</string>
|
||||
<string name="unhook_checkbox">解除連結(可能導致失真)</string>
|
||||
<string name="playback_nightcore">Nightcore</string>
|
||||
<string name="playback_default">預設</string>
|
||||
<string name="preferred_open_action_settings_title">偏好的「開啟」動作</string>
|
||||
<string name="preferred_open_action_settings_summary">開起內容時的預設動作 — %s</string>
|
||||
<string name="preferred_open_action_settings_summary">開啟內容時的預設動作 — %s</string>
|
||||
|
||||
<string name="no_streams_available_download">沒有可供下載的串流</string>
|
||||
|
||||
<string name="caption_setting_title">字幕</string>
|
||||
<string name="caption_setting_description">調整播放器字幕大小與背景樣式。必須重新啟動應用程式才會生效</string>
|
||||
<string name="caption_setting_description">調整播放器字幕文字大小與背景樣式。必須重新啟動應用程式才會生效</string>
|
||||
|
||||
<string name="toast_no_player">未安裝可播放此檔案的應用程式</string>
|
||||
|
||||
<string name="clear_views_history_title">清除觀看歷史</string>
|
||||
<string name="clear_views_history_summary">刪除播放過的串流歷史</string>
|
||||
<string name="delete_view_history_alert">刪除全部的觀看歷史。</string>
|
||||
<string name="delete_view_history_alert">刪除所有觀看歷史。</string>
|
||||
<string name="view_history_deleted">觀看歷史已刪除。</string>
|
||||
<string name="clear_search_history_title">清除搜尋歷史</string>
|
||||
<string name="clear_search_history_summary">刪除搜尋關鍵字的歷史</string>
|
||||
<string name="delete_search_history_alert">刪除全部的搜尋歷史。</string>
|
||||
<string name="delete_search_history_alert">刪除所有搜尋歷史。</string>
|
||||
<string name="search_history_deleted">搜尋歷史已刪除。</string>
|
||||
<string name="one_item_deleted">已刪除 1 個項目。</string>
|
||||
|
||||
<string name="app_license">NewPipe 是一個 Copyleft 的自由軟體:您可以隨意使用、研究、分享並改進它。您可以在遵守由自由軟體基金會所發佈的 GNU 通用公共授權條款的狀況下自由地再散佈及/或修改它,授權條款預設使用第三版,但您也可以選擇更新的版本。</string>
|
||||
<string name="import_settings">您是否同時的匯入設定?</string>
|
||||
<string name="app_license">NewPipe 是一個 Copyleft 的自由軟體:您可以隨意使用、研究、分享並改進它。在遵守由自由軟體基金會所發佈的 GNU 通用公共授權條款的狀況下,您可以自由地再散佈及/或修改它;授權條款預設使用第三版,但您也可以選擇更新的版本。</string>
|
||||
<string name="import_settings">您是否要同時匯入設定?</string>
|
||||
|
||||
<string name="privacy_policy_title">NewPipe 的隱私政策</string>
|
||||
<string name="privacy_policy_encouragement">NewPipe 專案非常重視您的隱私。因此,未經您的同意應用程式不會收集任何的資料。
|
||||
\nNewPipe 的隱私權政策,詳細說明了當您發送錯誤回報時,什麼資料才會進行傳送及儲存。</string>
|
||||
<string name="privacy_policy_encouragement">NewPipe 專案非常重視您的隱私。因此,未經您同意此程式不會收集任何資料。
|
||||
\nNewPipe 的隱私權政策詳細說明了當您發送錯誤回報時,什麼資料會被傳送及儲存。</string>
|
||||
<string name="read_privacy_policy">閱讀隱私政策</string>
|
||||
<string name="start_accept_privacy_policy">為了符合歐洲通用資料保護條例 ( GDPR ) ,我們請您注意 NewPipe 的隱私政策。請您務必仔細閱讀。
|
||||
<string name="start_accept_privacy_policy">為配合歐洲通用資料保護條例 ( GDPR ) ,我們在此請您注意 NewPipe 的隱私政策。請務必仔細閱讀。
|
||||
\n您必須接受它才能向我們發送錯誤報告。</string>
|
||||
<string name="accept">接受</string>
|
||||
<string name="decline">下降</string>
|
||||
<string name="decline">拒絕</string>
|
||||
<string name="limit_data_usage_none_description">沒有限制</string>
|
||||
<string name="limit_mobile_data_usage_title">當您使用行動網路時限制解析度</string>
|
||||
<string name="minimize_on_exit_title">在應用程式切換時最小化</string>
|
||||
<string name="minimize_on_exit_summary">當從主影片播放器切換到其他應用程式時要進行的動作 — %s</string>
|
||||
<string name="limit_mobile_data_usage_title">使用行動網路時限制解析度</string>
|
||||
<string name="minimize_on_exit_title">切換應用程式時最小化</string>
|
||||
<string name="minimize_on_exit_summary">從主影片播放器切換到其他應用程式時要執行的動作 — %s</string>
|
||||
<string name="minimize_on_exit_none_description">無</string>
|
||||
<string name="minimize_on_exit_background_description">最小化為背景播放器</string>
|
||||
<string name="minimize_on_exit_popup_description">最小化為彈出式播放器</string>
|
||||
|
||||
<string name="skip_silence_checkbox">在靜音時快轉</string>
|
||||
<string name="skip_silence_checkbox">靜音時快轉</string>
|
||||
<string name="playback_step">步進</string>
|
||||
<string name="playback_reset">重設</string>
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
<!-- 16 / 9 ratio-->
|
||||
<dimen name="video_item_search_thumbnail_image_width">124dp</dimen>
|
||||
<dimen name="video_item_search_thumbnail_image_height">70dp</dimen>
|
||||
<dimen name="video_item_grid_thumbnail_image_width">164dp</dimen>
|
||||
<dimen name="video_item_grid_thumbnail_image_height">92dp</dimen>
|
||||
<!-- Calculated: 2*video_item_search_padding + video_item_search_thumbnail_image_height -->
|
||||
<dimen name="video_item_search_height">94dp</dimen>
|
||||
<!-- Paddings & Margins -->
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
<string name="autoplay_through_intent_key" translatable="false">autoplay_through_intent</string>
|
||||
<string name="use_old_player_key" translatable="false">use_oldplayer</string>
|
||||
|
||||
<string name="player_gesture_controls_key" translatable="false">player_gesture_controls</string>
|
||||
<string name="volume_gesture_control_key" translatable="false">volume_gesture_control</string>
|
||||
<string name="brightness_gesture_control_key" translatable="false">brightness_gesture_control</string>
|
||||
<string name="resume_on_audio_focus_gain_key" translatable="false">resume_on_audio_focus_gain</string>
|
||||
<string name="popup_remember_size_pos_key" translatable="false">popup_remember_size_pos_key</string>
|
||||
<string name="use_inexact_seek_key" translatable="false">use_inexact_seek_key</string>
|
||||
|
@ -140,7 +141,7 @@
|
|||
<string name="show_hold_to_append_key" translatable="false">show_hold_to_append</string>
|
||||
<string name="default_language_value">en</string>
|
||||
<string name="default_country_value">GB</string>
|
||||
<string name="search_language_key" translatable="false">search_language</string>
|
||||
<string name="content_language_key" translatable="false">content_language</string>
|
||||
<string name="content_country_key" translatable="false">content_country</string>
|
||||
<string name="show_age_restricted_content" translatable="false">show_age_restricted_content</string>
|
||||
<string name="use_tor_key" translatable="false">use_tor</string>
|
||||
|
@ -377,8 +378,8 @@
|
|||
<item>Andorra</item>
|
||||
<item>Angola</item>
|
||||
<item>Anguilla</item>
|
||||
<item>Antarctica</item>
|
||||
<item>Antiguaand Barbuda</item>
|
||||
<item>Antartica</item>
|
||||
<item>Antigua and Barbuda</item>
|
||||
<item>Argentina</item>
|
||||
<item>Armenia</item>
|
||||
<item>Aruba</item>
|
||||
|
@ -396,9 +397,9 @@
|
|||
<item>Bermuda</item>
|
||||
<item>Bhutan</item>
|
||||
<item>Bolivia</item>
|
||||
<item>Bosniaand Herzegovina</item>
|
||||
<item>Bosnia and Herzegovina</item>
|
||||
<item>Botswana</item>
|
||||
<item>BouvetIsland</item>
|
||||
<item>Bouvet Island</item>
|
||||
<item>Brazil</item>
|
||||
<item>British Virgin Islands</item>
|
||||
<item>British Indian Ocean Territory</item>
|
||||
|
@ -409,23 +410,23 @@
|
|||
<item>Cambodia</item>
|
||||
<item>Cameroon</item>
|
||||
<item>Canada</item>
|
||||
<item>CapeVerde</item>
|
||||
<item>Cape Verde</item>
|
||||
<item>Cayman Islands</item>
|
||||
<item>Central African Republic</item>
|
||||
<item>Chad</item>
|
||||
<item>Chile</item>
|
||||
<item>China</item>
|
||||
<item>HongKong, China</item>
|
||||
<item>Macao,China</item>
|
||||
<item>Hong Kong (China)</item>
|
||||
<item>Macao (China)</item>
|
||||
<item>Christmas Island</item>
|
||||
<item>Cocos(Keeling) Islands</item>
|
||||
<item>Cocos (Keeling) Islands</item>
|
||||
<item>Colombia</item>
|
||||
<item>Comoros</item>
|
||||
<item>Congo(Brazzaville)</item>
|
||||
<item>Congo, (Kinshasa)</item>
|
||||
<item>Brazzaville (Congo)</item>
|
||||
<item>Kinshasa (Congo)</item>
|
||||
<item>Cook Islands</item>
|
||||
<item>CostaRica</item>
|
||||
<item>Côted\'Ivoire</item>
|
||||
<item>Costa Rica</item>
|
||||
<item>Côte d\'Ivoire</item>
|
||||
<item>Croatia</item>
|
||||
<item>Cuba</item>
|
||||
<item>Cyprus</item>
|
||||
|
@ -436,8 +437,8 @@
|
|||
<item>Dominican Republic</item>
|
||||
<item>Ecuador</item>
|
||||
<item>Egypt</item>
|
||||
<item>ElSalvador</item>
|
||||
<item>EquatorialGuinea</item>
|
||||
<item>El Salvador</item>
|
||||
<item>Equatorial Guinea</item>
|
||||
<item>Eritrea</item>
|
||||
<item>Estonia</item>
|
||||
<item>Ethiopia</item>
|
||||
|
@ -466,8 +467,8 @@
|
|||
<item>Guinea-Bissau</item>
|
||||
<item>Guyana</item>
|
||||
<item>Haiti</item>
|
||||
<item>Heardand Mcdonald Islands</item>
|
||||
<item>HolySee (Vatican City State)</item>
|
||||
<item>Heard and McDonald Islands</item>
|
||||
<item>Holy See (Vatican City State)</item>
|
||||
<item>Honduras</item>
|
||||
<item>Hungary</item>
|
||||
<item>Iceland</item>
|
||||
|
@ -476,7 +477,7 @@
|
|||
<item>Iran</item>
|
||||
<item>Iraq</item>
|
||||
<item>Ireland</item>
|
||||
<item>Isleof Man</item>
|
||||
<item>Isle of Man</item>
|
||||
<item>Israel</item>
|
||||
<item>Italy</item>
|
||||
<item>Jamaica</item>
|
||||
|
@ -486,8 +487,8 @@
|
|||
<item>Kazakhstan</item>
|
||||
<item>Kenya</item>
|
||||
<item>Kiribati</item>
|
||||
<item>Korea(North)</item>
|
||||
<item>Korea(South)</item>
|
||||
<item>North Korea</item>
|
||||
<item>South Korea</item>
|
||||
<item>Kuwait</item>
|
||||
<item>Kyrgyzstan</item>
|
||||
<item>Lao</item>
|
||||
|
@ -506,7 +507,7 @@
|
|||
<item>Maldives</item>
|
||||
<item>Mali</item>
|
||||
<item>Malta</item>
|
||||
<item>MarshallIslands</item>
|
||||
<item>Marshall Islands</item>
|
||||
<item>Martinique</item>
|
||||
<item>Mauritania</item>
|
||||
<item>Mauritius</item>
|
||||
|
@ -538,7 +539,7 @@
|
|||
<item>Oman</item>
|
||||
<item>Pakistan</item>
|
||||
<item>Palau</item>
|
||||
<item>Palestinian Territory</item>
|
||||
<item>Palestine</item>
|
||||
<item>Panama</item>
|
||||
<item>Papua New Guinea</item>
|
||||
<item>Paraguay</item>
|
||||
|
@ -547,71 +548,71 @@
|
|||
<item>Pitcairn</item>
|
||||
<item>Poland</item>
|
||||
<item>Portugal</item>
|
||||
<item>PuertoRico</item>
|
||||
<item>Puerto Rico</item>
|
||||
<item>Qatar</item>
|
||||
<item>Réunion</item>
|
||||
<item>Romania</item>
|
||||
<item>Russian Federation</item>
|
||||
<item>Rwanda</item>
|
||||
<item>Saint-Barthélemy</item>
|
||||
<item>Saint Barthélemy</item>
|
||||
<item>Saint Helena</item>
|
||||
<item>Saint KittsandNevis</item>
|
||||
<item>SaintLucia</item>
|
||||
<item>Saint-Martin(Frenchpart)</item>
|
||||
<item>SaintPierreandMiquelon</item>
|
||||
<item>Saint Vincentand Grenadines</item>
|
||||
<item>Saint Kitts and Nevis</item>
|
||||
<item>Saint Lucia</item>
|
||||
<item>Saint Martin</item>
|
||||
<item>Saint Pierre and Miquelon</item>
|
||||
<item>Saint Vincent and Grenadines</item>
|
||||
<item>Samoa</item>
|
||||
<item>San Marino</item>
|
||||
<item>Sao Tomeand Principe</item>
|
||||
<item>SaudiArabia</item>
|
||||
<item>Sao Tome and Principe</item>
|
||||
<item>Saudi Arabia</item>
|
||||
<item>Senegal</item>
|
||||
<item>Serbia</item>
|
||||
<item>Seychelles</item>
|
||||
<item>SierraLeone</item>
|
||||
<item>Sierra Leone</item>
|
||||
<item>Singapore</item>
|
||||
<item>Slovakia</item>
|
||||
<item>Slovenia</item>
|
||||
<item>SolomonIslands</item>
|
||||
<item>Solomon Islands</item>
|
||||
<item>Somalia</item>
|
||||
<item>SouthAfrica</item>
|
||||
<item>South Georgiaandthe South Sandwich Islands</item>
|
||||
<item>South Africa</item>
|
||||
<item>South Georgia and South Sandwich Islands</item>
|
||||
<item>South Sudan</item>
|
||||
<item>Spain</item>
|
||||
<item>Sri Lanka</item>
|
||||
<item>Sudan</item>
|
||||
<item>Suriname</item>
|
||||
<item>Svalbardand Jan Mayen Islands</item>
|
||||
<item>Svalbard and Jan Mayen Islands</item>
|
||||
<item>Swaziland</item>
|
||||
<item>Sweden</item>
|
||||
<item>Switzerland</item>
|
||||
<item>Syrian ArabRepublic(Syria)</item>
|
||||
<item>Taiwan, Republicof China</item>
|
||||
<item>Syrian Arab Republic (Syria)</item>
|
||||
<item>Taiwan</item>
|
||||
<item>Tajikistan</item>
|
||||
<item>Tanzania</item>
|
||||
<item>Thailand</item>
|
||||
<item>Timor-Leste</item>
|
||||
<item>Timor Leste</item>
|
||||
<item>Togo</item>
|
||||
<item>Tokelau</item>
|
||||
<item>Tonga</item>
|
||||
<item>Trinidadand Tobago</item>
|
||||
<item>Trinidad and Tobago</item>
|
||||
<item>Tunisia</item>
|
||||
<item>Turkey</item>
|
||||
<item>Turkmenistan</item>
|
||||
<item>Turksand Caicos Islands</item>
|
||||
<item>Turks and Caicos Islands</item>
|
||||
<item>Tuvalu</item>
|
||||
<item>Uganda</item>
|
||||
<item>Ukraine</item>
|
||||
<item>United Arab Emirates</item>
|
||||
<item>United Kingdom</item>
|
||||
<item>USA</item>
|
||||
<item>United States</item>
|
||||
<item>Minor Outlying Islands</item>
|
||||
<item>Uruguay</item>
|
||||
<item>Uzbekistan</item>
|
||||
<item>Vanuatu</item>
|
||||
<item>Venezuela (BolivarianRepublic)</item>
|
||||
<item>VietNam</item>
|
||||
<item>Virgin Islands,</item>
|
||||
<item>Wallisand Futuna Islands</item>
|
||||
<item>Venezuela (Bolivarian Republic)</item>
|
||||
<item>Vietnam</item>
|
||||
<item>Virgin Islands</item>
|
||||
<item>Wallis and Futuna Islands</item>
|
||||
<item>Western Sahara</item>
|
||||
<item>Yemen</item>
|
||||
<item>Zambia</item>
|
||||
|
@ -884,5 +885,18 @@
|
|||
<item>144p</item>
|
||||
</string-array>
|
||||
|
||||
<string name="list_view_mode_key" translatable="false">list_view_mode</string>
|
||||
<string name="list_view_mode_value" translatable="false">auto</string>
|
||||
|
||||
</resources>
|
||||
<string-array name="list_view_mode_values" translatable="false">
|
||||
<item>auto</item>
|
||||
<item>list</item>
|
||||
<item>grid</item>
|
||||
</string-array>
|
||||
<string-array name="list_view_mode_description" translatable="false">
|
||||
<item>@string/auto</item>
|
||||
<item>@string/list</item>
|
||||
<item>@string/grid</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<string name="view_count_text">%1$s views</string>
|
||||
<string name="upload_date_text">Published on %1$s</string>
|
||||
<string name="no_player_found">No stream player found. Do you want to install VLC?</string>
|
||||
<string name="no_player_found_toast">No stream player found (you can install VLC to play it)</string>
|
||||
<string name="no_player_found_toast">No stream player found (you can install VLC to play it).</string>
|
||||
<string name="install">Install</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="fdroid_vlc_url" translatable="false">https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc</string>
|
||||
|
@ -13,28 +13,29 @@
|
|||
<string name="open_in_popup_mode">Open in popup mode</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="controls_download_desc">Download stream file.</string>
|
||||
<string name="controls_download_desc">Download stream file</string>
|
||||
<string name="search">Search</string>
|
||||
<string name="settings">Settings</string>
|
||||
<string name="did_you_mean">Did you mean: %1$s ?</string>
|
||||
<string name="did_you_mean">Did you mean: %1$s\?</string>
|
||||
<string name="share_dialog_title">Share with</string>
|
||||
<string name="choose_browser">Choose browser</string>
|
||||
<string name="screen_rotation">rotation</string>
|
||||
<string name="use_external_video_player_title">Use external video player</string>
|
||||
<string name="use_external_video_player_summary">Some resolutions will NOT have audio when this option is enabled</string>
|
||||
<string name="use_external_video_player_summary">Removes audio at SOME resolutions</string>
|
||||
<string name="use_external_audio_player_title">Use external audio player</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe popup mode</string>
|
||||
<string name="rss_button_title" translatable="false">RSS</string>
|
||||
<string name="subscribe_button_title">Subscribe</string>
|
||||
<string name="subscribed_button_title">Subscribed</string>
|
||||
<string name="unsubscribe">Unsubscribe</string>
|
||||
<string name="channel_unsubscribed">Channel unsubscribed</string>
|
||||
<string name="subscription_change_failed">Unable to change subscription</string>
|
||||
<string name="subscription_update_failed">Unable to update subscription</string>
|
||||
<string name="subscription_change_failed">Could not change subscription</string>
|
||||
<string name="subscription_update_failed">Could not update subscription</string>
|
||||
<string name="show_info">Show info</string>
|
||||
|
||||
<string name="tab_main">Main</string>
|
||||
<string name="tab_subscriptions">Subscriptions</string>
|
||||
<string name="tab_bookmarks">Bookmarks</string>
|
||||
<string name="tab_bookmarks">Bookmarked Playlists</string>
|
||||
<string name="tab_new">New Tab</string>
|
||||
<string name="tab_choose">Choose Tab</string>
|
||||
|
||||
|
@ -48,8 +49,8 @@
|
|||
<string name="download_path_summary">Path to store downloaded videos in</string>
|
||||
<string name="download_path_dialog_title">Enter download path for videos</string>
|
||||
|
||||
<string name="download_path_audio_title">Audio download path</string>
|
||||
<string name="download_path_audio_summary">Path to store downloaded audio in</string>
|
||||
<string name="download_path_audio_title">Audio download folder</string>
|
||||
<string name="download_path_audio_summary">Downloaded audio is stored here</string>
|
||||
<string name="download_path_audio_dialog_title">Enter download path for audio files</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Autoplay</string>
|
||||
|
@ -75,15 +76,17 @@
|
|||
<string name="use_inexact_seek_title">Use fast inexact seek</string>
|
||||
<string name="use_inexact_seek_summary">Inexact seek allows the player to seek to positions faster with reduced precision</string>
|
||||
<string name="download_thumbnail_title">Load thumbnails</string>
|
||||
<string name="download_thumbnail_summary">Disable to stop all thumbnails from loading and save on data and memory usage. Changing this will clear both in-memory and on-disk image cache.</string>
|
||||
<string name="download_thumbnail_summary">When off no thumbnails load, saving data and memory usage. Changes clear both in-memory and on-disk image cache.</string>
|
||||
<string name="thumbnail_cache_wipe_complete_notice">Image cache wiped</string>
|
||||
<string name="metadata_cache_wipe_title">Wipe cached metadata</string>
|
||||
<string name="metadata_cache_wipe_summary">Remove all cached webpage data</string>
|
||||
<string name="metadata_cache_wipe_complete_notice">Metadata cache wiped</string>
|
||||
<string name="auto_queue_title">Auto-queue next stream</string>
|
||||
<string name="auto_queue_summary">Auto-append a related stream when playing the last stream in a non-repeating queue.</string>
|
||||
<string name="player_gesture_controls_title">Player gesture controls</string>
|
||||
<string name="player_gesture_controls_summary">Use gestures to control the brightness and volume of the player</string>
|
||||
<string name="volume_gesture_control_title">Volume gesture control</string>
|
||||
<string name="volume_gesture_control_summary">Use gestures to control the volume of the player</string>
|
||||
<string name="brightness_gesture_control_title">Brightness gesture control</string>
|
||||
<string name="brightness_gesture_control_summary">Use gestures to control the brightness of the player</string>
|
||||
<string name="show_search_suggestions_title">Search suggestions</string>
|
||||
<string name="show_search_suggestions_summary">Show suggestions when searching</string>
|
||||
<string name="enable_search_history_title">Search history</string>
|
||||
|
@ -93,18 +96,18 @@
|
|||
<string name="resume_on_audio_focus_gain_title">Resume on focus gain</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Continue playing after interruptions (e.g. phone calls)</string>
|
||||
<string name="download_dialog_title">Download</string>
|
||||
<string name="next_video_title">Next video</string>
|
||||
<string name="show_next_and_similar_title">Show \'next\' and \'similar\' videos</string>
|
||||
<string name="show_hold_to_append_title">Show \"hold to append\" tip</string>
|
||||
<string name="next_video_title">Next</string>
|
||||
<string name="show_next_and_similar_title">Show \'Next\' and \'Similar\' videos</string>
|
||||
<string name="show_hold_to_append_title">Show \"Hold to append\" tip</string>
|
||||
<string name="show_hold_to_append_summary">Show tip when background or popup button is pressed on video details page</string>
|
||||
<string name="url_not_supported_toast">URL not supported</string>
|
||||
<string name="url_not_supported_toast">Unsupported URL</string>
|
||||
<string name="default_content_country_title">Default content country</string>
|
||||
<string name="service_title">Service</string>
|
||||
<string name="search_language_title">Default content language</string>
|
||||
<string name="content_language_title">Default content language</string>
|
||||
<string name="settings_category_player_title">Player</string>
|
||||
<string name="settings_category_player_behavior_title">Behavior</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="settings_category_history_title">History & Cache</string>
|
||||
<string name="settings_category_video_audio_title">Video & audio</string>
|
||||
<string name="settings_category_history_title">History & cache</string>
|
||||
<string name="settings_category_popup_title">Popup</string>
|
||||
<string name="settings_category_appearance_title">Appearance</string>
|
||||
<string name="settings_category_other_title">Other</string>
|
||||
|
@ -117,8 +120,8 @@
|
|||
<string name="c3s_url" translatable="false">https://www.c3s.cc/</string>
|
||||
<string name="play_btn_text">Play</string>
|
||||
<string name="content">Content</string>
|
||||
<string name="show_age_restricted_content_title">Show age restricted content</string>
|
||||
<string name="video_is_age_restricted">Age Restricted Video. Allowing such material is possible from Settings.</string>
|
||||
<string name="show_age_restricted_content_title">Age restricted content</string>
|
||||
<string name="video_is_age_restricted">Show age Restricted Video. Allowing such material is possible from \"Settings\".</string>
|
||||
<string name="duration_live">live</string>
|
||||
<string name="duration_live_button" translatable="false">LIVE</string>
|
||||
<string name="downloads">Downloads</string>
|
||||
|
@ -148,7 +151,7 @@
|
|||
|
||||
<string name="notification_channel_id" translatable="false">newpipe</string>
|
||||
<string name="notification_channel_name">NewPipe Notification</string>
|
||||
<string name="notification_channel_description">Notifications for NewPipe Background and Popup Players</string>
|
||||
<string name="notification_channel_description">Notifications for NewPipe background and popup players</string>
|
||||
|
||||
<string name="app_update_notification_channel_id" translatable="false">newpipeAppUpdate</string>
|
||||
<string name="app_update_notification_channel_name">App Update Notification</string>
|
||||
|
@ -163,29 +166,29 @@
|
|||
|
||||
<string name="import_data_title">Import database</string>
|
||||
<string name="export_data_title">Export database</string>
|
||||
<string name="import_data_summary">Will override your current history and subscriptions</string>
|
||||
<string name="export_data_summary">Export history, subscriptions and playlists.</string>
|
||||
<string name="import_data_summary">Overrides your current history and subscriptions</string>
|
||||
<string name="export_data_summary">Export history, subscriptions and playlists</string>
|
||||
<string name="clear_views_history_title">Clear watch history</string>
|
||||
<string name="clear_views_history_summary">Deletes the history of played streams.</string>
|
||||
<string name="delete_view_history_alert">Delete whole watch history.</string>
|
||||
<string name="clear_views_history_summary">Deletes the history of played streams</string>
|
||||
<string name="delete_view_history_alert">Delete entire watch history?</string>
|
||||
<string name="view_history_deleted">Watch history deleted.</string>
|
||||
<string name="clear_search_history_title">Clear search history</string>
|
||||
<string name="clear_search_history_summary">Deletes history of search keywords.</string>
|
||||
<string name="delete_search_history_alert">Delete whole search history.</string>
|
||||
<string name="clear_search_history_summary">Deletes history of search keywords</string>
|
||||
<string name="delete_search_history_alert">Delete entire search history?</string>
|
||||
<string name="search_history_deleted">Search history deleted.</string>
|
||||
<!-- error strings -->
|
||||
<string name="general_error">Error</string>
|
||||
<string name="download_to_sdcard_error_title">External storage not available.</string>
|
||||
<string name="download_to_sdcard_error_message">Download to external SD Card is not possible yet. Should the download place be reset?</string>
|
||||
<string name="download_to_sdcard_error_title">External storage unavailable</string>
|
||||
<string name="download_to_sdcard_error_message">Download to external SD card is not possible yet. Reset download folder location?</string>
|
||||
<string name="network_error">Network error</string>
|
||||
<string name="could_not_load_thumbnails">Could not load all thumbnails</string>
|
||||
<string name="youtube_signature_decryption_error">Could not decrypt video URL signature</string>
|
||||
<string name="parsing_error">Could not parse website</string>
|
||||
<string name="light_parsing_error">Could not parse website completely</string>
|
||||
<string name="content_not_available">Content not available</string>
|
||||
<string name="content_not_available">Content unavailable</string>
|
||||
<string name="blocked_by_gema">Blocked by GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Could not set up download menu</string>
|
||||
<string name="live_streams_not_supported">This is a LIVE STREAM, which is not yet supported.</string>
|
||||
<string name="live_streams_not_supported">Live streams are not supported yet</string>
|
||||
<string name="could_not_get_stream">Could not get any stream</string>
|
||||
<string name="could_not_load_image">Could not load image</string>
|
||||
<string name="app_ui_crash">App/UI crashed</string>
|
||||
|
@ -196,10 +199,10 @@
|
|||
<string name="invalid_url_toast">Invalid URL</string>
|
||||
<string name="video_streams_empty">No video streams found</string>
|
||||
<string name="audio_streams_empty">No audio streams found</string>
|
||||
<string name="invalid_directory">Invalid directory</string>
|
||||
<string name="invalid_source">Invalid file/content source</string>
|
||||
<string name="invalid_file">File doesn\'t exist or insufficient permission to read or write to it</string>
|
||||
<string name="file_name_empty_error">File name cannot be empty</string>
|
||||
<string name="invalid_directory">No such folder</string>
|
||||
<string name="invalid_source">No such file/content source</string>
|
||||
<string name="invalid_file">The file doesn\'t exist or permission to read or write to it is lacking</string>
|
||||
<string name="file_name_empty_error">Filename cannot be empty</string>
|
||||
<string name="error_occurred_detail">An error occurred: %1$s</string>
|
||||
<string name="no_streams_available_download">No streams available to download</string>
|
||||
<string name="saved_tabs_invalid_json">Using default tabs, error while reading saved tabs</string>
|
||||
|
@ -231,7 +234,7 @@
|
|||
<string name="user_report">User report</string>
|
||||
<string name="search_no_results">No results</string>
|
||||
<string name="empty_view_no_videos" translatable="false">@string/no_videos</string>
|
||||
<string name="empty_subscription_feed_subtitle">Nothing Here But Crickets</string>
|
||||
<string name="empty_subscription_feed_subtitle">Nothing here but crickets</string>
|
||||
<string name="detail_drag_description">Drag to reorder</string>
|
||||
|
||||
<string name="err_dir_create">Cannot create download directory \'%1$s\'</string>
|
||||
|
@ -288,7 +291,7 @@
|
|||
<string name="msg_name">Filename</string>
|
||||
<string name="msg_threads">Threads</string>
|
||||
<string name="msg_error">Error</string>
|
||||
<string name="msg_server_unsupported">Server unsupported</string>
|
||||
<string name="msg_server_unsupported">Unsupported server</string>
|
||||
<string name="msg_exists">File already exists</string>
|
||||
<string name="msg_url_malform">Malformed URL or Internet not available</string>
|
||||
<string name="msg_running">NewPipe Downloading</string>
|
||||
|
@ -303,8 +306,8 @@
|
|||
<string name="md5" translatable="false">MD5</string>
|
||||
<string name="sha1" translatable="false">SHA-1</string>
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA Challenge</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA Challenge requested</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA challenge</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA challenge requested</string>
|
||||
|
||||
<!-- End of GigaGet's Strings -->
|
||||
|
||||
|
@ -349,7 +352,7 @@
|
|||
<string name="privacy_policy_url" translatable="false">https://newpipe.schabi.org/legal/privacy/</string>
|
||||
<string name="read_privacy_policy">Read privacy policy</string>
|
||||
<string name="app_license_title">NewPipe\'s License</string>
|
||||
<string name="app_license">NewPipe is copyleft libre software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</string>
|
||||
<string name="app_license">NewPipe is copyleft libre software: You can use, study share and improve it at will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</string>
|
||||
<string name="read_full_license">Read license</string>
|
||||
|
||||
|
||||
|
@ -357,7 +360,7 @@
|
|||
<string name="title_activity_history">History</string>
|
||||
<string name="title_history_search">Searched</string>
|
||||
<string name="title_history_view">Watched</string>
|
||||
<string name="history_disabled">History is disabled</string>
|
||||
<string name="history_disabled">History is turned off</string>
|
||||
<string name="action_history">History</string>
|
||||
<string name="history_empty">The history is empty</string>
|
||||
<string name="history_cleared">History cleared</string>
|
||||
|
@ -378,10 +381,10 @@
|
|||
<string name="feed_page_summary">Feed Page</string>
|
||||
<string name="channel_page_summary">Channel Page</string>
|
||||
<string name="select_a_channel">Select a channel</string>
|
||||
<string name="no_channel_subscribed_yet">No channel subscribed yet</string>
|
||||
<string name="no_channel_subscribed_yet">No channel subscriptions yet</string>
|
||||
<string name="select_a_kiosk">Select a kiosk</string>
|
||||
<string name="export_complete_toast">Export complete</string>
|
||||
<string name="import_complete_toast">Import complete</string>
|
||||
<string name="export_complete_toast">Exported</string>
|
||||
<string name="import_complete_toast">Imported</string>
|
||||
<string name="no_valid_zip_file">No valid ZIP file</string>
|
||||
<string name="could_not_import_all_files">Warning: Could not import all files.</string>
|
||||
<string name="override_current_data">This will override your current setup.</string>
|
||||
|
@ -395,17 +398,17 @@
|
|||
<string name="service_kiosk_string" translatable="false">%1$s/%2$s</string>
|
||||
|
||||
<!-- Play Queue -->
|
||||
<string name="title_activity_background_player">Background Player</string>
|
||||
<string name="title_activity_popup_player">Popup Player</string>
|
||||
<string name="title_activity_background_player">Background player</string>
|
||||
<string name="title_activity_popup_player">Popup player</string>
|
||||
<string name="play_queue_remove">Remove</string>
|
||||
<string name="play_queue_stream_detail">Details</string>
|
||||
<string name="play_queue_audio_settings">Audio Settings</string>
|
||||
<string name="hold_to_append">Hold To Enqueue</string>
|
||||
<string name="enqueue_on_background">Enqueue on Background</string>
|
||||
<string name="enqueue_on_popup">Enqueue on Popup</string>
|
||||
<string name="start_here_on_main">Start Playing Here</string>
|
||||
<string name="start_here_on_background">Start Here on Background</string>
|
||||
<string name="start_here_on_popup">Start Here on Popup</string>
|
||||
<string name="hold_to_append">Hold To enqueue</string>
|
||||
<string name="enqueue_on_background">Enqueue when backgrounded</string>
|
||||
<string name="enqueue_on_popup">Enqueue on new popup</string>
|
||||
<string name="start_here_on_main">Start playing here</string>
|
||||
<string name="start_here_on_background">Start here when backgrounded</string>
|
||||
<string name="start_here_on_popup">Start here on new popup</string>
|
||||
|
||||
<!-- Drawer -->
|
||||
<string name="drawer_open">Open Drawer</string>
|
||||
|
@ -429,9 +432,9 @@
|
|||
<string name="preferred_player_fetcher_notification_message">"Loading requested content"</string>
|
||||
|
||||
<!-- Local Playlist -->
|
||||
<string name="create_playlist">Create New Playlist</string>
|
||||
<string name="delete_playlist">Delete Playlist</string>
|
||||
<string name="rename_playlist">Rename Playlist</string>
|
||||
<string name="create_playlist">New Playlist</string>
|
||||
<string name="delete_playlist">Delete</string>
|
||||
<string name="rename_playlist">Rename</string>
|
||||
<string name="playlist_name_input">Name</string>
|
||||
<string name="append_playlist">Add To Playlist</string>
|
||||
<string name="set_as_playlist_thumbnail">Set as Playlist Thumbnail</string>
|
||||
|
@ -439,11 +442,11 @@
|
|||
<string name="bookmark_playlist">Bookmark Playlist</string>
|
||||
<string name="unbookmark_playlist">Remove Bookmark</string>
|
||||
|
||||
<string name="delete_playlist_prompt">Do you want to delete this playlist?</string>
|
||||
<string name="delete_playlist_prompt">Delete this playlist?</string>
|
||||
<string name="playlist_creation_success">Playlist created</string>
|
||||
<string name="playlist_add_stream_success">Added to playlist</string>
|
||||
<string name="playlist_thumbnail_change_success">Playlist thumbnail changed</string>
|
||||
<string name="playlist_delete_failure">Could not delete playlist</string>
|
||||
<string name="playlist_add_stream_success">Playlisted</string>
|
||||
<string name="playlist_thumbnail_change_success">Playlist thumbnail changed.</string>
|
||||
<string name="playlist_delete_failure">Could not delete playlist.</string>
|
||||
|
||||
<!-- Players -->
|
||||
<string name="caption_none">No Captions</string>
|
||||
|
@ -462,11 +465,11 @@
|
|||
<string name="enable_leak_canary_title">Enable LeakCanary</string>
|
||||
<string name="enable_leak_canary_summary">Memory leak monitoring may cause the app to become unresponsive when heap dumping</string>
|
||||
|
||||
<string name="enable_disposed_exceptions_title">Report Out-of-lifecycle Errors</string>
|
||||
<string name="enable_disposed_exceptions_title">Report out-of-lifecycle errors</string>
|
||||
<string name="enable_disposed_exceptions_summary">Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal</string>
|
||||
|
||||
<!-- Subscriptions import/export -->
|
||||
<string name="import_export_title">Import/Export</string>
|
||||
<string name="import_export_title">Import/export</string>
|
||||
<string name="import_title">Import</string>
|
||||
<string name="import_from">Import from</string>
|
||||
<string name="export_to">Export to</string>
|
||||
|
@ -521,11 +524,15 @@
|
|||
<string name="updates_setting_description">Show a notification to prompt app update when a new version is available</string>
|
||||
|
||||
<!-- Minimize to exit action -->
|
||||
<string name="minimize_on_exit_title">Minimize on application switch</string>
|
||||
<string name="minimize_on_exit_summary">Action when switching to other application from main video player — %s</string>
|
||||
<string name="minimize_on_exit_title">Minimize on app switch</string>
|
||||
<string name="minimize_on_exit_summary">Action when switching to other app from main video player — %s</string>
|
||||
<string name="minimize_on_exit_none_description">None</string>
|
||||
<string name="minimize_on_exit_background_description">Minimize to background player</string>
|
||||
<string name="minimize_on_exit_popup_description">Minimize to popup player</string>
|
||||
<string name="list_view_mode">List view mode</string>
|
||||
<string name="list">List</string>
|
||||
<string name="grid">Grid</string>
|
||||
<string name="auto">Auto</string>
|
||||
<string name="switch_view">Switch View</string>
|
||||
|
||||
<!-- App update notification -->
|
||||
|
|
|
@ -22,6 +22,14 @@
|
|||
android:title="@string/show_hold_to_append_title"
|
||||
android:summary="@string/show_hold_to_append_summary"/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="@string/list_view_mode_value"
|
||||
android:entries="@array/list_view_mode_description"
|
||||
android:entryValues="@array/list_view_mode_values"
|
||||
android:key="@string/list_view_mode_key"
|
||||
android:summary="%s"
|
||||
android:title="@string/list_view_mode"/>
|
||||
|
||||
<Preference
|
||||
android:key="@string/caption_settings_key"
|
||||
android:title="@string/caption_setting_title"
|
||||
|
|
|
@ -10,15 +10,13 @@
|
|||
android:summary="%s"
|
||||
android:title="@string/default_content_country_title"/>
|
||||
|
||||
<!-- TODO: add support for this within code
|
||||
<ListPreference
|
||||
android:defaultValue="@string/default_language_value"
|
||||
android:entries="@array/language_names"
|
||||
android:entryValues="@array/language_codes"
|
||||
android:key="@string/search_language_key"
|
||||
android:key="@string/content_language_key"
|
||||
android:summary="%s"
|
||||
android:title="@string/search_language_title"/>
|
||||
-->
|
||||
android:title="@string/content_language_title"/>
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
|
|
|
@ -106,9 +106,15 @@
|
|||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/player_gesture_controls_key"
|
||||
android:summary="@string/player_gesture_controls_summary"
|
||||
android:title="@string/player_gesture_controls_title"/>
|
||||
android:key="@string/volume_gesture_control_key"
|
||||
android:summary="@string/volume_gesture_control_summary"
|
||||
android:title="@string/volume_gesture_control_title"/>
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
android:key="@string/brightness_gesture_control_key"
|
||||
android:summary="@string/brightness_gesture_control_summary"
|
||||
android:title="@string/brightness_gesture_control_title"/>
|
||||
|
||||
<SwitchPreference
|
||||
android:defaultValue="true"
|
||||
|
|
|
@ -6,7 +6,7 @@ buildscript {
|
|||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.1.4'
|
||||
classpath 'com.android.tools.build:gradle:3.2.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
@ -16,8 +16,8 @@ buildscript {
|
|||
allprojects {
|
||||
repositories {
|
||||
jcenter()
|
||||
maven { url 'https://jitpack.io' }
|
||||
google()
|
||||
maven { url 'https://clojars.org/repo' }
|
||||
maven { url "https://jitpack.io" }
|
||||
maven { url "https://clojars.org/repo" }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
### New
|
||||
- Long-tap delete and share in subscriptions #1516
|
||||
- Tablet UI and grid list layout #1617
|
||||
|
||||
### Improvements
|
||||
- store and reload the last used aspect ratio #1748
|
||||
- Enable linear layout in Downloads activity with full video names #1771
|
||||
- Delete and share subscriptions directly from within the subscriptions tab #1516
|
||||
- Enqueuing now triggers video playing if the play queue has already ended #1783
|
||||
- Separate settings for volume and brightness gestures #1644
|
||||
- Add support for Localization #1792
|
||||
|
||||
### Fixes
|
||||
- Fix time parsing for . format, so NewPipe can be used in Finland
|
||||
- Fix subscription count
|
||||
- Add foreground service permission for API 28+ devices #1830
|
||||
|
||||
### Known Bugs
|
||||
- Playback state can not be saved on Android P
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue