Merge branch 'dev' into trending
This commit is contained in:
commit
5d4269be4c
|
@ -27,7 +27,7 @@ Do not report crashes in the GitHub issue tracker. NewPipe has an automated cras
|
|||
* Stick to NewPipe's style conventions (well, just look the other code and then do it the same way :))
|
||||
* Do not bring non-free software (e.g., binary blobs) into the project. Also, make sure you do not introduce Google libraries.
|
||||
* Stick to [F-Droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy)
|
||||
* Make changes on a separate branch, not on the master branch. This is commonly known as *feature branch workflow*. You may then send your
|
||||
* Make changes on a separate branch, not on the master branch. This is commonly known as *feature branch workflow*. You may then send your changes as a pull request on GitHub. Patches to the email address mentioned in this document might not be considered, GitHub is the primary platform.
|
||||
* When submitting changes, you confirm that your code is licensed under the terms of the [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.html).
|
||||
* Please test (compile and run) your code before you submit changes! Ideally, provide test feedback in the PR description. Untested code will **not** be merged!
|
||||
* Try to figure out yourself why builds on our CI fail.
|
||||
|
|
|
@ -8,8 +8,8 @@ android {
|
|||
applicationId "org.schabi.newpipe"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 26
|
||||
versionCode 38
|
||||
versionName "0.10.0"
|
||||
versionCode 39
|
||||
versionName "0.10.1"
|
||||
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
|
|
@ -24,4 +24,14 @@
|
|||
|
||||
-dontwarn org.mozilla.javascript.tools.**
|
||||
-dontwarn android.arch.util.paging.CountedDataSource
|
||||
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
|
||||
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
|
||||
|
||||
|
||||
# Rules for icepick. Copy paste from https://github.com/frankiesardo/icepick
|
||||
-dontwarn icepick.**
|
||||
-keep class icepick.** { *; }
|
||||
-keep class **$$Icepick { *; }
|
||||
-keepclasseswithmembernames class * {
|
||||
@icepick.* <fields>;
|
||||
}
|
||||
-keepnames class * { @icepick.State *;}
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.arch.persistence.room.Index;
|
|||
import android.arch.persistence.room.PrimaryKey;
|
||||
|
||||
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
|
||||
import static org.schabi.newpipe.database.subscription.SubscriptionEntity.SUBSCRIPTION_SERVICE_ID;
|
||||
import static org.schabi.newpipe.database.subscription.SubscriptionEntity.SUBSCRIPTION_TABLE;
|
||||
|
@ -28,7 +29,7 @@ public class SubscriptionEntity {
|
|||
private long uid = 0;
|
||||
|
||||
@ColumnInfo(name = SUBSCRIPTION_SERVICE_ID)
|
||||
private int serviceId = -1;
|
||||
private int serviceId = Constants.NO_SERVICE_ID;
|
||||
|
||||
@ColumnInfo(name = SUBSCRIPTION_URL)
|
||||
private String url;
|
||||
|
|
|
@ -65,6 +65,7 @@ import org.schabi.newpipe.player.PopupVideoPlayer;
|
|||
import org.schabi.newpipe.player.old.PlayVideoActivity;
|
||||
import org.schabi.newpipe.report.ErrorActivity;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
import org.schabi.newpipe.util.ExtractorHelper;
|
||||
import org.schabi.newpipe.util.InfoCache;
|
||||
import org.schabi.newpipe.util.ListHelper;
|
||||
|
@ -110,7 +111,7 @@ public class VideoDetailFragment extends BaseStateFragment<StreamInfo> implement
|
|||
private boolean wasRelatedStreamsExpanded = false;
|
||||
|
||||
@State
|
||||
protected int serviceId = -1;
|
||||
protected int serviceId = Constants.NO_SERVICE_ID;
|
||||
@State
|
||||
protected String name;
|
||||
@State
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.view.View;
|
|||
|
||||
import org.schabi.newpipe.extractor.ListExtractor;
|
||||
import org.schabi.newpipe.extractor.ListInfo;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
|
||||
import java.util.Queue;
|
||||
|
||||
|
@ -21,7 +22,7 @@ import io.reactivex.schedulers.Schedulers;
|
|||
public abstract class BaseListInfoFragment<I extends ListInfo> extends BaseListFragment<I, ListExtractor.NextItemsResult> {
|
||||
|
||||
@State
|
||||
protected int serviceId = -1;
|
||||
protected int serviceId = Constants.NO_SERVICE_ID;
|
||||
@State
|
||||
protected String name;
|
||||
@State
|
||||
|
|
|
@ -46,6 +46,7 @@ import org.schabi.newpipe.fragments.BackPressable;
|
|||
import org.schabi.newpipe.fragments.list.BaseListFragment;
|
||||
import org.schabi.newpipe.history.HistoryListener;
|
||||
import org.schabi.newpipe.report.UserAction;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
import org.schabi.newpipe.util.AnimationUtils;
|
||||
import org.schabi.newpipe.util.ExtractorHelper;
|
||||
import org.schabi.newpipe.util.LayoutManagerSmoothScroller;
|
||||
|
@ -100,7 +101,7 @@ public class SearchFragment extends BaseListFragment<SearchResult, ListExtractor
|
|||
private SearchEngine.Filter filter = SearchEngine.Filter.ANY;
|
||||
|
||||
@State
|
||||
protected int serviceId = -1;
|
||||
protected int serviceId = Constants.NO_SERVICE_ID;
|
||||
@State
|
||||
protected String searchQuery;
|
||||
@State
|
||||
|
|
|
@ -178,6 +178,10 @@ public abstract class BasePlayer implements Player.EventListener, AudioManager.O
|
|||
if (DEBUG) Log.d(TAG, "initPlayer() called with: context = [" + context + "]");
|
||||
initExoPlayerCache();
|
||||
|
||||
if (audioManager == null) {
|
||||
this.audioManager = ((AudioManager) context.getSystemService(Context.AUDIO_SERVICE));
|
||||
}
|
||||
|
||||
AdaptiveTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
|
||||
DefaultTrackSelector defaultTrackSelector = new DefaultTrackSelector(trackSelectionFactory);
|
||||
DefaultLoadControl loadControl = new DefaultLoadControl();
|
||||
|
|
|
@ -10,4 +10,6 @@ public class Constants {
|
|||
|
||||
public static final String KEY_THEME_CHANGE = "key_theme_change";
|
||||
public static final String KEY_MAIN_PAGE_CHANGE = "key_main_page_change";
|
||||
|
||||
public static final int NO_SERVICE_ID = -1;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,14 @@ public final class ExtractorHelper {
|
|||
//no instance
|
||||
}
|
||||
|
||||
private static void checkServiceId(int serviceId) {
|
||||
if(serviceId == Constants.NO_SERVICE_ID) {
|
||||
throw new IllegalArgumentException("serviceId is NO_SERVICE_ID");
|
||||
}
|
||||
}
|
||||
|
||||
public static Single<SearchResult> searchFor(final int serviceId, final String query, final int pageNumber, final String searchLanguage, final SearchEngine.Filter filter) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(new Callable<SearchResult>() {
|
||||
@Override
|
||||
public SearchResult call() throws Exception {
|
||||
|
@ -62,6 +69,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<NextItemsResult> getMoreSearchItems(final int serviceId, final String query, final int nextPageNumber, final String searchLanguage, final SearchEngine.Filter filter) {
|
||||
checkServiceId(serviceId);
|
||||
return searchFor(serviceId, query, nextPageNumber, searchLanguage, filter)
|
||||
.map(new Function<SearchResult, NextItemsResult>() {
|
||||
@Override
|
||||
|
@ -72,6 +80,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<List<String>> suggestionsFor(final int serviceId, final String query, final String searchLanguage) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(new Callable<List<String>>() {
|
||||
@Override
|
||||
public List<String> call() throws Exception {
|
||||
|
@ -81,6 +90,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<StreamInfo> getStreamInfo(final int serviceId, final String url, boolean forceLoad) {
|
||||
checkServiceId(serviceId);
|
||||
return checkCache(forceLoad, serviceId, url, Single.fromCallable(new Callable<StreamInfo>() {
|
||||
@Override
|
||||
public StreamInfo call() throws Exception {
|
||||
|
@ -90,6 +100,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<ChannelInfo> getChannelInfo(final int serviceId, final String url, boolean forceLoad) {
|
||||
checkServiceId(serviceId);
|
||||
return checkCache(forceLoad, serviceId, url, Single.fromCallable(new Callable<ChannelInfo>() {
|
||||
@Override
|
||||
public ChannelInfo call() throws Exception {
|
||||
|
@ -99,6 +110,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<NextItemsResult> getMoreChannelItems(final int serviceId, final String url, final String nextStreamsUrl) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(new Callable<NextItemsResult>() {
|
||||
@Override
|
||||
public NextItemsResult call() throws Exception {
|
||||
|
@ -108,6 +120,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<PlaylistInfo> getPlaylistInfo(final int serviceId, final String url, boolean forceLoad) {
|
||||
checkServiceId(serviceId);
|
||||
return checkCache(forceLoad, serviceId, url, Single.fromCallable(new Callable<PlaylistInfo>() {
|
||||
@Override
|
||||
public PlaylistInfo call() throws Exception {
|
||||
|
@ -117,6 +130,7 @@ public final class ExtractorHelper {
|
|||
}
|
||||
|
||||
public static Single<NextItemsResult> getMorePlaylistItems(final int serviceId, final String url, final String nextStreamsUrl) {
|
||||
checkServiceId(serviceId);
|
||||
return Single.fromCallable(new Callable<NextItemsResult>() {
|
||||
@Override
|
||||
public NextItemsResult call() throws Exception {
|
||||
|
@ -152,6 +166,7 @@ public final class ExtractorHelper {
|
|||
* and put the results in the cache.
|
||||
*/
|
||||
private static <I extends Info> Single<I> checkCache(boolean forceLoad, int serviceId, String url, Single<I> loadFromNetwork) {
|
||||
checkServiceId(serviceId);
|
||||
loadFromNetwork = loadFromNetwork.doOnSuccess(new Consumer<I>() {
|
||||
@Override
|
||||
public void accept(@NonNull I i) throws Exception {
|
||||
|
@ -176,6 +191,7 @@ public final class ExtractorHelper {
|
|||
* Default implementation uses the {@link InfoCache} to get cached results
|
||||
*/
|
||||
public static <I extends Info> Maybe<I> loadFromCache(final int serviceId, final String url) {
|
||||
checkServiceId(serviceId);
|
||||
return Maybe.defer(new Callable<MaybeSource<? extends I>>() {
|
||||
@Override
|
||||
public MaybeSource<? extends I> call() throws Exception {
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.schabi.newpipe.util;
|
|||
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
@ -29,6 +30,7 @@ import android.support.annotation.Nullable;
|
|||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import org.schabi.newpipe.BuildConfig;
|
||||
import org.schabi.newpipe.MainActivity;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -110,6 +112,7 @@ public class StateSaver {
|
|||
/**
|
||||
* Try to restore the state from memory and disk, using the {@link StateSaver.WriteRead#readFrom(Queue)} from the writeRead.
|
||||
*/
|
||||
@Nullable
|
||||
private static SavedState tryToRestore(@NonNull SavedState savedState, @NonNull WriteRead writeRead) {
|
||||
if (MainActivity.DEBUG) {
|
||||
Log.d(TAG, "tryToRestore() called with: savedState = [" + savedState + "], writeRead = [" + writeRead + "]");
|
||||
|
@ -117,7 +120,7 @@ public class StateSaver {
|
|||
|
||||
FileInputStream fileInputStream = null;
|
||||
try {
|
||||
Queue<Object> savedObjects = stateObjectsHolder.remove(savedState.prefixFileSaved);
|
||||
Queue<Object> savedObjects = stateObjectsHolder.remove(savedState.getPrefixFileSaved());
|
||||
if (savedObjects != null) {
|
||||
writeRead.readFrom(savedObjects);
|
||||
if (MainActivity.DEBUG) {
|
||||
|
@ -126,8 +129,13 @@ public class StateSaver {
|
|||
return savedState;
|
||||
}
|
||||
|
||||
File file = new File(savedState.pathFileSaved);
|
||||
if (!file.exists()) return null;
|
||||
File file = new File(savedState.getPathFileSaved());
|
||||
if (!file.exists()) {
|
||||
if(MainActivity.DEBUG) {
|
||||
Log.d(TAG, "Cache file doesn't exist: " + file.getAbsolutePath());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
fileInputStream = new FileInputStream(file);
|
||||
ObjectInputStream inputStream = new ObjectInputStream(fileInputStream);
|
||||
|
@ -139,7 +147,7 @@ public class StateSaver {
|
|||
|
||||
return savedState;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "Failed to restore state", e);
|
||||
} finally {
|
||||
if (fileInputStream != null) {
|
||||
try {
|
||||
|
@ -154,10 +162,17 @@ public class StateSaver {
|
|||
/**
|
||||
* @see #tryToSave(boolean, String, String, WriteRead)
|
||||
*/
|
||||
@Nullable
|
||||
public static SavedState tryToSave(boolean isChangingConfig, @Nullable SavedState savedState, Bundle outState, WriteRead writeRead) {
|
||||
String currentSavedPrefix = savedState == null || TextUtils.isEmpty(savedState.prefixFileSaved)
|
||||
? System.nanoTime() - writeRead.hashCode() + ""
|
||||
: savedState.prefixFileSaved;
|
||||
@NonNull
|
||||
String currentSavedPrefix;
|
||||
if (savedState == null || TextUtils.isEmpty(savedState.getPrefixFileSaved())) {
|
||||
// Generate unique prefix
|
||||
currentSavedPrefix = System.nanoTime() - writeRead.hashCode() + "";
|
||||
} else {
|
||||
// Reuse prefix
|
||||
currentSavedPrefix = savedState.getPrefixFileSaved();
|
||||
}
|
||||
|
||||
savedState = tryToSave(isChangingConfig, currentSavedPrefix, writeRead.generateSuffix(), writeRead);
|
||||
if (savedState != null) {
|
||||
|
@ -173,22 +188,33 @@ public class StateSaver {
|
|||
* to the file with the name of prefixFileName + suffixFileName, in a cache folder got from the {@link #init(Context)}.
|
||||
* <p>
|
||||
* It checks if the file already exists and if it does, just return the path, so a good way to save is:
|
||||
* <li> A fixed prefix for the file
|
||||
* <li> A changing suffix
|
||||
* <ul>
|
||||
* <li> A fixed prefix for the file</li>
|
||||
* <li> A changing suffix</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param isChangingConfig
|
||||
* @param prefixFileName
|
||||
* @param suffixFileName
|
||||
* @param writeRead
|
||||
*/
|
||||
@Nullable
|
||||
private static SavedState tryToSave(boolean isChangingConfig, final String prefixFileName, String suffixFileName, WriteRead writeRead) {
|
||||
if (MainActivity.DEBUG) {
|
||||
Log.d(TAG, "tryToSave() called with: isChangingConfig = [" + isChangingConfig + "], prefixFileName = [" + prefixFileName + "], suffixFileName = [" + suffixFileName + "], writeRead = [" + writeRead + "]");
|
||||
}
|
||||
|
||||
Queue<Object> savedObjects = new LinkedList<>();
|
||||
LinkedList<Object> savedObjects = new LinkedList<>();
|
||||
writeRead.writeTo(savedObjects);
|
||||
|
||||
if (isChangingConfig) {
|
||||
if (savedObjects.size() > 0) {
|
||||
stateObjectsHolder.put(prefixFileName, savedObjects);
|
||||
return new SavedState(prefixFileName, "");
|
||||
} else return null;
|
||||
} else {
|
||||
if(MainActivity.DEBUG) Log.d(TAG, "Nothing to save");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
FileOutputStream fileOutputStream = null;
|
||||
|
@ -197,8 +223,12 @@ public class StateSaver {
|
|||
if (!cacheDir.exists()) throw new RuntimeException("Cache dir does not exist > " + cacheDirPath);
|
||||
cacheDir = new File(cacheDir, CACHE_DIR_NAME);
|
||||
if (!cacheDir.exists()) {
|
||||
boolean mkdirResult = cacheDir.mkdir();
|
||||
if (!mkdirResult) return null;
|
||||
if(!cacheDir.mkdir()) {
|
||||
if(BuildConfig.DEBUG) {
|
||||
Log.e(TAG, "Failed to create cache directory " + cacheDir.getAbsolutePath());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(suffixFileName)) suffixFileName = ".cache";
|
||||
|
@ -214,7 +244,9 @@ public class StateSaver {
|
|||
return name.contains(prefixFileName);
|
||||
}
|
||||
});
|
||||
for (File file1 : files) file1.delete();
|
||||
for (File fileToDelete : files) {
|
||||
fileToDelete.delete();
|
||||
}
|
||||
}
|
||||
|
||||
fileOutputStream = new FileOutputStream(file);
|
||||
|
@ -223,7 +255,7 @@ public class StateSaver {
|
|||
|
||||
return new SavedState(prefixFileName, file.getAbsolutePath());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "Failed to save state", e);
|
||||
} finally {
|
||||
if (fileOutputStream != null) {
|
||||
try {
|
||||
|
@ -241,11 +273,11 @@ public class StateSaver {
|
|||
public static void onDestroy(SavedState savedState) {
|
||||
if (MainActivity.DEBUG) Log.d(TAG, "onDestroy() called with: savedState = [" + savedState + "]");
|
||||
|
||||
if (savedState != null && !TextUtils.isEmpty(savedState.pathFileSaved)) {
|
||||
stateObjectsHolder.remove(savedState.prefixFileSaved);
|
||||
if (savedState != null && !TextUtils.isEmpty(savedState.getPathFileSaved())) {
|
||||
stateObjectsHolder.remove(savedState.getPrefixFileSaved());
|
||||
try {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
new File(savedState.pathFileSaved).delete();
|
||||
new File(savedState.getPathFileSaved()).delete();
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
|
@ -271,9 +303,12 @@ public class StateSaver {
|
|||
// Inner
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
/**
|
||||
* Information about the saved state on the disk
|
||||
*/
|
||||
public static class SavedState implements Parcelable {
|
||||
public String prefixFileSaved;
|
||||
public String pathFileSaved;
|
||||
private final String prefixFileSaved;
|
||||
private final String pathFileSaved;
|
||||
|
||||
public SavedState(String prefixFileSaved, String pathFileSaved) {
|
||||
this.prefixFileSaved = prefixFileSaved;
|
||||
|
@ -287,7 +322,7 @@ public class StateSaver {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return prefixFileSaved + " > " + pathFileSaved;
|
||||
return getPrefixFileSaved() + " > " + getPathFileSaved();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -313,6 +348,22 @@ public class StateSaver {
|
|||
return new SavedState[size];
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the prefix of the saved file
|
||||
* @return the file prefix
|
||||
*/
|
||||
public String getPrefixFileSaved() {
|
||||
return prefixFileSaved;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the path to the saved file
|
||||
* @return the path to the saved file
|
||||
*/
|
||||
public String getPathFileSaved() {
|
||||
return pathFileSaved;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<resources>
|
||||
<string name="main_bg_subtitle">Calca na gueta pa entamar</string>
|
||||
<string name="view_count_text">%1$s visiones</string>
|
||||
<string name="upload_date_text">Espublizáu\'l %1$s</string>
|
||||
<string name="upload_date_text">Espublizóse\'l %1$s</string>
|
||||
<string name="no_player_found">Nun s\'alcontró un reproductor de fluxos. ¿Quies instalar VLC?</string>
|
||||
<string name="install">Instalar</string>
|
||||
<string name="cancel">Encaboxar</string>
|
||||
|
@ -14,15 +14,15 @@
|
|||
<string name="did_you_mean">¿Quixesti dicir %1$s?</string>
|
||||
<string name="share_dialog_title">Compartir con</string>
|
||||
<string name="choose_browser">Escoyer restolador</string>
|
||||
<string name="screen_rotation">rotación</string>
|
||||
<string name="use_external_video_player_title">Usar reproductor de videu esternu</string>
|
||||
<string name="use_external_audio_player_title">Usar reproductor d\'audiu esternu</string>
|
||||
<string name="screen_rotation">voltéu</string>
|
||||
<string name="use_external_video_player_title">Usar reproductor esternu de videu</string>
|
||||
<string name="use_external_audio_player_title">Usar reproductor esternu d\'audiu</string>
|
||||
|
||||
<string name="download_path_title">Camín de descarga de vídeos</string>
|
||||
<string name="download_path_summary">Camín nel qu\'atroxar los vídeos baxaos.</string>
|
||||
<string name="download_path_summary">Camín nel qu\'atroxar los vídeos baxaos</string>
|
||||
<string name="download_path_dialog_title">Introducir camín de descarga pa vídeos</string>
|
||||
|
||||
<string name="download_path_audio_title">Camín de descarga d\'audiu</string>
|
||||
<string name="download_path_audio_title">Camín de descarga p\'audios</string>
|
||||
<string name="download_path_audio_summary">Camín nel qu\'atroxar los audios baxaos.</string>
|
||||
<string name="download_path_audio_dialog_title">Introducir camín de descarga pa ficheros d\'audiu</string>
|
||||
|
||||
|
@ -30,11 +30,11 @@
|
|||
<string name="play_with_kodi_title">Reproducir con Kodi</string>
|
||||
<string name="kore_not_found">Nun s\'alcontró Kore. ¿Instalalu?</string>
|
||||
<string name="show_play_with_kodi_title">Amosar opción «Reproducir con Kodi»</string>
|
||||
<string name="show_play_with_kodi_summary">Amuesa una opción pa reproducir un videu per Kodi.</string>
|
||||
<string name="show_play_with_kodi_summary">Amuesa una opción pa reproducir un videu per Kodi</string>
|
||||
<string name="play_audio">Audiu</string>
|
||||
<string name="default_audio_format_title">Formatu d\'audiu por defeutu</string>
|
||||
<string name="default_audio_format_title">Formatu por defeutu d\'audiu</string>
|
||||
<string name="webm_description">WebM — formatu llibre</string>
|
||||
<string name="m4a_description">m4a — calidá meyor</string>
|
||||
<string name="m4a_description">M4A — calidá meyor</string>
|
||||
<string name="theme_title">Tema</string>
|
||||
<string name="dark_theme_title">Escuru</string>
|
||||
<string name="light_theme_title">Claru</string>
|
||||
|
@ -43,15 +43,15 @@
|
|||
<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 de conteníu preferíu</string>
|
||||
<string name="search_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>
|
||||
<string name="background_player_playing_toast">Reproduciendo de fondu</string>
|
||||
<string name="play_btn_text">Reproducir</string>
|
||||
<string name="content">Conteníu</string>
|
||||
<string name="show_age_restricted_content_title">Amosar conteníu restrinxíu pola edá</string>
|
||||
<string name="video_is_age_restricted">El videu ta restrinxíu pola edá. Deshabilita esto diendo primero a axustes.</string>
|
||||
<string name="show_age_restricted_content_title">Amosar conteníu torgáu pola edá</string>
|
||||
<string name="video_is_age_restricted">El videu ta torgáu pola edá. Desactiva esto diendo primero a axustes.</string>
|
||||
<string name="duration_live">en direuto</string>
|
||||
<string name="downloads">Descargues</string>
|
||||
<string name="downloads_title">Descargues</string>
|
||||
|
@ -60,16 +60,16 @@
|
|||
<string name="general_error">Fallu</string>
|
||||
<string name="network_error">Fallu de rede</string>
|
||||
<string name="could_not_load_thumbnails">Nun pudieron cargase toles miniatures</string>
|
||||
<string name="youtube_signature_decryption_error">Nun pudo descargase la robla de la url del videu.</string>
|
||||
<string name="parsing_error">Nun pudo analizase\'l sitiu web.</string>
|
||||
<string name="light_parsing_error">Nun pudo analizase dafechu\'l sitiu web.</string>
|
||||
<string name="content_not_available">Conteníu non disponible.</string>
|
||||
<string name="blocked_by_gema">Bloquiáu por GEMA.</string>
|
||||
<string name="could_not_setup_download_menu">Nun pudo configurase\'l menú de descarga.</string>
|
||||
<string name="live_streams_not_supported">Esto ye una tresmisión de direuto pero entá nun ta sofitao.</string>
|
||||
<string name="could_not_get_stream">Nun pudo consiguise tresmisión dala.</string>
|
||||
<string name="youtube_signature_decryption_error">Nun pudo descifrase la robla de la URL</string>
|
||||
<string name="parsing_error">Nun pudo analizase\'l sitiu web</string>
|
||||
<string name="light_parsing_error">Nun pudo analizase dafechu\'l sitiu web</string>
|
||||
<string name="content_not_available">Conteníu non disponible</string>
|
||||
<string name="blocked_by_gema">Bloquiáu por GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Nun pudo configurase\'l menú de descarga</string>
|
||||
<string name="live_streams_not_supported">Esto ye una tresmisión de direuto qu\'entá nun se sofita.</string>
|
||||
<string name="could_not_get_stream">Nun pudo consiguise tresmisión dala</string>
|
||||
<string name="sorry_string">Perdón, eso nun debió asoceder.</string>
|
||||
<string name="error_report_button_text">Fallu d\'informe per corréu</string>
|
||||
<string name="error_report_button_text">Informar per corréu del fallu</string>
|
||||
<string name="error_snackbar_message">Perdón, asocedieron dellos fallos.</string>
|
||||
<string name="error_snackbar_action">INFORMAR</string>
|
||||
<string name="what_device_headline">Información:</string>
|
||||
|
@ -78,11 +78,11 @@
|
|||
<string name="error_details_headline">Detalles:</string>
|
||||
|
||||
|
||||
<string name="list_thumbnail_view_description">Miniatura de previsualización de videu</string>
|
||||
<string name="detail_thumbnail_view_description">Miniatura de previsualización de videu</string>
|
||||
<string name="list_thumbnail_view_description">Miniatura de previsualización del videu</string>
|
||||
<string name="detail_thumbnail_view_description">Miniatura de previsualización del videu</string>
|
||||
<string name="detail_likes_img_view_description">Préstames</string>
|
||||
<string name="use_tor_title">Usar Tor</string>
|
||||
<string name="use_tor_summary">(Esperimental) Forcia\'l tráficu de descargues pente Tor pa más privacidá (la tresmisión de vídeos entá nun ta sofitao).</string>
|
||||
<string name="use_tor_summary">(Esperimental) Forcia\'l tráficu de descargues pente Tor pa más privacidá (la tresmisión de vídeos entá nun se sofita).</string>
|
||||
<string name="report_error">Informa d\'un fallu</string>
|
||||
<string name="user_report">Informe d\'usuariu</string>
|
||||
|
||||
|
@ -92,11 +92,11 @@
|
|||
<string name="video">Videu</string>
|
||||
<string name="audio">Audiu</string>
|
||||
<string name="retry">Retentar</string>
|
||||
<string name="storage_permission_denied">Ñegóse l\'accesu al almacenamientu</string>
|
||||
<string name="storage_permission_denied">Ñegóse\'l permisu d\'accesu al almacenamientu</string>
|
||||
|
||||
<string name="start">Aniciar</string>
|
||||
<string name="pause">Posar</string>
|
||||
<string name="view">Ver</string>
|
||||
<string name="view">Reproducir</string>
|
||||
<string name="delete">Desaniciar</string>
|
||||
<string name="checksum">Suma de comprobación</string>
|
||||
|
||||
|
@ -110,23 +110,23 @@
|
|||
<string name="msg_url_malform">URL malformada o internet non disponible</string>
|
||||
<string name="msg_running_detail">Calca pa detallles</string>
|
||||
<string name="msg_wait">Espera, por favor…</string>
|
||||
<string name="msg_copied">Copióse al cartafueyu.</string>
|
||||
<string name="no_available_dir">Esbilla un direutoriu de descarga disponible, por favor.</string>
|
||||
<string name="msg_copied">Copióse al cartafueyu</string>
|
||||
<string name="no_available_dir">Esbilla una carpeta disponible de descarga, por favor</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_summary">Auto-reproduz un videu al llamar a NewPipe dende otra aplicación.</string>
|
||||
<string name="autoplay_by_calling_app_title">Auto-reproducir al llamar dende otra aplicación</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniatura del xubidor</string>
|
||||
<string name="autoplay_by_calling_app_summary">Auto-reproduz un videu al llamar a NewPipe dende otra aplicación</string>
|
||||
<string name="autoplay_by_calling_app_title">Auto-reproducción</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniatura del avatar del xubidor</string>
|
||||
<string name="detail_dislikes_img_view_description">Despréstames</string>
|
||||
|
||||
|
||||
<string name="msg_running">NewPipe baxando</string>
|
||||
<string name="could_not_load_image">Nun pudo cargase la imaxe</string>
|
||||
<string name="app_ui_crash">Cascó l\'aplicación/IU</string>
|
||||
<string name="info_labels"/>
|
||||
<string name="info_labels">Lo qu\'asocedió:\\nSolicitú:\\nLlingua del conteníu:\\nServiciu:\\nHora GMT:\\nPaquete:\\nVersión:\\nVersión del SO:\\nRangu global d\'IP:</string>
|
||||
<string name="open_in_popup_mode">Abrir en ventanu emerxente</string>
|
||||
<string name="popup_mode_share_menu_title">Mou de ventanu emerxente de NewPipe</string>
|
||||
|
||||
<string name="default_video_format_title">Formatu preferíu de videu</string>
|
||||
<string name="default_video_format_title">Formatu por defeutu de videu</string>
|
||||
<string name="black_theme_title">Prietu</string>
|
||||
|
||||
<string name="popup_playing_toast">Reproduciendo en ventanu emerxente</string>
|
||||
|
@ -134,7 +134,7 @@
|
|||
<string name="channel">Canal</string>
|
||||
<string name="yes">Sí</string>
|
||||
<string name="later">Más sero</string>
|
||||
<string name="disabled">Deshabilitóse</string>
|
||||
<string name="disabled">Desactivóse</string>
|
||||
|
||||
<string name="use_old_player_title">Usar reproductor vieyu</string>
|
||||
|
||||
|
@ -142,26 +142,26 @@
|
|||
<string name="short_thousand">M</string>
|
||||
<string name="short_million">Mill</string>
|
||||
<string name="short_billion">MMill</string>
|
||||
<string name="msg_popup_permission">Precísase esti permisu pa
|
||||
abrir en ventanu emerxente</string>
|
||||
<string name="msg_popup_permission">Precísase esti permisu p\'abrir
|
||||
\nen ventanu emerxente</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">Prueba reCAPTCHA</string>
|
||||
<string name="recaptcha_request_toast">Prueba reCAPTCHA solicitada</string>
|
||||
<string name="recaptcha_request_toast">Solicitóse la prueba reCAPTCHA</string>
|
||||
|
||||
<string name="controls_background_title">Fondu</string>
|
||||
<string name="controls_popup_title">Ventanu emerxente</string>
|
||||
|
||||
<string name="default_popup_resolution_title">Resolución por defeutu de ventanu emerxente</string>
|
||||
<string name="default_popup_resolution_title">Resolución por defeutu del ventanu emerxente</string>
|
||||
<string name="show_higher_resolutions_title">Amosar resoluciones más altes</string>
|
||||
<string name="show_higher_resolutions_summary">Namái dellos preseos sofiten vídeos en 2k/4k</string>
|
||||
<string name="show_higher_resolutions_summary">Namái dellos preseos sofiten vídeos en 2K/4K</string>
|
||||
<string name="filter">Peñera</string>
|
||||
<string name="refresh">Refrescar</string>
|
||||
<string name="clear">Llimpiar</string>
|
||||
|
||||
<string name="use_external_video_player_summary">Delles resoluciones NUN tendrán audiu al habilitar esta opción</string>
|
||||
<string name="popup_remember_size_pos_title">Tamañu y posición del ventanu emerxente</string>
|
||||
<string name="popup_remember_size_pos_summary">Recuerda la cabera posición y resolución afitada nel ventanu emerxente</string>
|
||||
<string name="use_external_video_player_summary">Delles resoluciones NUN tendrán audiu al activar esta opción</string>
|
||||
<string name="popup_remember_size_pos_title">Recuerdar tamañu y posición del ventanu emerxente</string>
|
||||
<string name="popup_remember_size_pos_summary">Recuerda la cabera posición y resolución afitaes nel ventanu emerxente</string>
|
||||
<string name="player_gesture_controls_title">Controles per xestos del reproductor</string>
|
||||
<string name="player_gesture_controls_summary">Usa xestos pa controlar el brilléu y volume del reproductor</string>
|
||||
<string name="show_search_suggestions_title">Suxerencies de gueta</string>
|
||||
|
@ -170,5 +170,87 @@ abrir en ventanu emerxente</string>
|
|||
<string name="settings_category_popup_title">Ventanu emerxente</string>
|
||||
<string name="popup_resizing_indicator_title">Redimensionáu</string>
|
||||
|
||||
<string name="use_old_player_summary">Compilación vieya del reproductor Mediaframework.</string>
|
||||
<string name="use_old_player_summary">Reproductor vieyu integráu de Mediaframework</string>
|
||||
<string name="subscribe_button_title">Soscribise</string>
|
||||
<string name="subscribed_button_title">Soscribiéstite</string>
|
||||
<string name="channel_unsubscribed">Desoscribiéstite de la canal</string>
|
||||
<string name="subscription_change_failed">Nun pue camudase la resolución</string>
|
||||
<string name="subscription_update_failed">Nun pue anovase la soscripción</string>
|
||||
|
||||
<string name="tab_main">Principal</string>
|
||||
<string name="tab_subscriptions">Soscripciones</string>
|
||||
|
||||
<string name="fragment_whats_new">Qué hai nuevo</string>
|
||||
|
||||
<string name="enable_search_history_title">Historial de gueta</string>
|
||||
<string name="enable_search_history_summary">Atroxa de mou llocal les solicitúes de gueta</string>
|
||||
<string name="enable_watch_history_title">Historial</string>
|
||||
<string name="enable_watch_history_summary">Fai un siguimientu de los vídeos vistos</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Siguir al ganar el focu</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Sigue reproduciendo tres les interrupciones (por exemplu, llamaes de teléfonu)</string>
|
||||
<string name="settings_category_player_title">Reproductor</string>
|
||||
<string name="settings_category_player_behavior_title">Comportamientu</string>
|
||||
<string name="settings_category_history_title">Historial</string>
|
||||
<string name="playlist">Llistáu de reproducción</string>
|
||||
<string name="best_resolution">La meyor resolución</string>
|
||||
<string name="undo">Desfacer</string>
|
||||
|
||||
<string name="notification_channel_name">Avisu de NewPipe</string>
|
||||
<string name="notification_channel_description">Avisos pa los reproductores de fondu y en ventanu emerxente de NewPipe</string>
|
||||
|
||||
<string name="search_no_results">Ensin resultaos</string>
|
||||
<string name="empty_subscription_feed_subtitle">Equí nun hai más que grillos</string>
|
||||
|
||||
<string name="no_subscribers">Ensin soscriptores</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="one">%s soscriptor</item>
|
||||
<item quantity="other">%s soscriptores</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">Ensin visionaos</string>
|
||||
<plurals name="views">
|
||||
<item quantity="one">%s visionáu</item>
|
||||
<item quantity="other">%s visionaos</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">Nun hai vídeos</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="one">%s videu</item>
|
||||
<item quantity="other">%s vídeos</item>
|
||||
</plurals>
|
||||
|
||||
<string name="settings_category_downloads_title">Descargues</string>
|
||||
<string name="settings_file_charset_title">Caráuteres permitíos nos nomes de ficheros</string>
|
||||
<string name="settings_file_replacement_character_summary">Los caráuteres non válidos tróquense por esti valor</string>
|
||||
<string name="settings_file_replacement_character_title">Troquéu de caráuteres</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Lletres y díxitos</string>
|
||||
<string name="charset_most_special_characters">La mayoría de caráuteres especiales</string>
|
||||
|
||||
<string name="title_activity_about">Tocante a NewPipe</string>
|
||||
<string name="action_settings">Axustes</string>
|
||||
<string name="action_about">Tocante a</string>
|
||||
<string name="title_licenses">Llicencies de terceros</string>
|
||||
<string name="copyright" formatted="true">© %1$s por %2$s so la %3$s</string>
|
||||
<string name="error_unable_to_load_license">Nun pudo cargase la llicencia</string>
|
||||
<string name="action_open_website">Abrir sitiu web</string>
|
||||
<string name="tab_about">Tocante a</string>
|
||||
<string name="tab_contributors">Collaboradores</string>
|
||||
<string name="tab_licenses">Llicencies</string>
|
||||
<string name="app_description">Un frontal llixeru de YouTube p\'Android.</string>
|
||||
<string name="view_on_github">Ver en GitHub</string>
|
||||
<string name="app_license_title">Llicencia de NewPipe</string>
|
||||
<string name="contribution_encouragement">Si tienes idees, quies traducir, facer cambeos, llimpiar el códigu u otres coses, l\'ayuda siempres s\'agradez. ¡Cuánto más se faiga, más s\'ameyora!</string>
|
||||
<string name="read_full_license">Lleer llicencia</string>
|
||||
<string name="contribution_title">Collaboración</string>
|
||||
|
||||
<string name="title_activity_history">Historial</string>
|
||||
<string name="title_history_search">Guetao</string>
|
||||
<string name="title_history_view">Visto</string>
|
||||
<string name="history_disabled">L\'historial ta desactiváu</string>
|
||||
<string name="action_history">Historial</string>
|
||||
<string name="history_empty">L\'historial ta baleru</string>
|
||||
<string name="history_cleared">Llimpióse l\'historial</string>
|
||||
<string name="item_deleted">Desanicióse l\'elementu</string>
|
||||
<string name="delete_item_search_history">¿Quies desaniciar esti elementu del historial de gueta?</string>
|
||||
</resources>
|
||||
|
|
|
@ -254,7 +254,7 @@
|
|||
<string name="charset_most_special_characters">Die meisten Sonderzeichen</string>
|
||||
|
||||
<string name="item_deleted">Element gelöscht</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Fortsetzen bei erneutem Fokussieren</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Fortsetzen bei erneutem Fokussieren</string>
|
||||
<string name="settings_category_player_title">Player</string>
|
||||
<string name="empty_subscription_feed_subtitle">Nichts hier außer Grillen</string>
|
||||
|
||||
|
|
|
@ -0,0 +1,237 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="main_bg_subtitle">Napauta hakua aloittaaksesi</string>
|
||||
<string name="view_count_text">%1$s näyttökertaa</string>
|
||||
<string name="upload_date_text">Julkaistu %1$s</string>
|
||||
<string name="no_player_found">Ei löytynyt suoratoisto soitinta. Haluatko asentaa VLC:n?</string>
|
||||
<string name="install">Asenna</string>
|
||||
<string name="cancel">Peruuta</string>
|
||||
<string name="open_in_browser">Avaa selaimessa</string>
|
||||
<string name="open_in_popup_mode">Avaa ponnahdusikkunassa</string>
|
||||
<string name="share">Jaa</string>
|
||||
<string name="download">Lataa</string>
|
||||
<string name="search">Haku</string>
|
||||
<string name="settings">Asetukset</string>
|
||||
<string name="did_you_mean">Tarkoititko: %1$s ?</string>
|
||||
<string name="share_dialog_title">Jaa</string>
|
||||
<string name="choose_browser">Valitse selain</string>
|
||||
<string name="screen_rotation">kierto</string>
|
||||
<string name="use_external_video_player_title">Käytä ulkoista videotoistinta</string>
|
||||
<string name="use_external_video_player_summary">Joillain resoluutioilla EI ole ääntä, kun tämä on valittuna</string>
|
||||
<string name="use_external_audio_player_title">Käytä ulkoista äänitoistinta</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe ponnahdusikkuna</string>
|
||||
<string name="subscribe_button_title">Tilaa</string>
|
||||
<string name="subscribed_button_title">Tilattu</string>
|
||||
<string name="channel_unsubscribed">Kanavan tilaus peruttu</string>
|
||||
<string name="subscription_change_failed">Ei pystytty vaihtamaan tilausta</string>
|
||||
<string name="subscription_update_failed">Ei pystytty päivittämään tilausta</string>
|
||||
|
||||
<string name="tab_main">Päävalikko</string>
|
||||
<string name="tab_subscriptions">Tilaukset</string>
|
||||
|
||||
<string name="fragment_whats_new">Uusimmat</string>
|
||||
|
||||
<string name="controls_background_title">Taustatoisto</string>
|
||||
<string name="controls_popup_title">Ponnahdusikkuna</string>
|
||||
|
||||
<string name="download_path_title">Videon latauksen sijainti</string>
|
||||
<string name="download_path_summary">Sijainti ladatuille videoille</string>
|
||||
<string name="download_path_dialog_title">Aseta sijainti minne videot tallennetaan</string>
|
||||
|
||||
<string name="download_path_audio_title">Audio latauksen sijainti</string>
|
||||
<string name="download_path_audio_summary">Sijainti ladatuille audiotiedostoille</string>
|
||||
<string name="download_path_audio_dialog_title">Aseta sijainti minne audiotiedostot 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="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>
|
||||
<string name="show_higher_resolutions_summary">Vain jotkin laitteet tukevat 2K/4K videotoistoa</string>
|
||||
<string name="play_with_kodi_title">Toista Kodi:ssa</string>
|
||||
<string name="kore_not_found">Kore sovellusta ei löytynyt. Asennetaanko se?</string>
|
||||
<string name="show_play_with_kodi_title">Näytä \"Toista Kodi:ssa\" vaihtoehto</string>
|
||||
<string name="show_play_with_kodi_summary">Näyttää painikkeen, jolla voi toistaa videon Kodi media center:llä</string>
|
||||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Oletus audioformaatti</string>
|
||||
<string name="default_video_format_title">Oletus videoformaatti</string>
|
||||
<string name="webm_description">WebM — vapaa formaatti</string>
|
||||
<string name="m4a_description">M4A — parempi laatu</string>
|
||||
<string name="theme_title">Teema</string>
|
||||
<string name="light_theme_title">Kirkas</string>
|
||||
<string name="dark_theme_title">Tumma</string>
|
||||
<string name="black_theme_title">Musta</string>
|
||||
<string name="popup_remember_size_pos_title">Muista ponnahdusikkunan koko ja sijainti</string>
|
||||
<string name="popup_remember_size_pos_summary">Muista viimeisin ponnahdusikkunan koko ja sijainti</string>
|
||||
<string name="player_gesture_controls_title">Soittimen eleohjaus</string>
|
||||
<string name="player_gesture_controls_summary">Käytä eleitä ohjataksesi kirkkautta ja äänentasoa</string>
|
||||
<string name="show_search_suggestions_title">Hakuehdotukset</string>
|
||||
<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_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">Lataa</string>
|
||||
<string name="next_video_title">Seuraava video</string>
|
||||
<string name="show_next_and_similar_title">Näytä seuraava 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="settings_category_player_title">Toistin</string>
|
||||
<string name="settings_category_player_behavior_title">Käyttäytyminen</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="settings_category_history_title">Historia</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>
|
||||
<string name="background_player_playing_toast">Toistaa taustalla</string>
|
||||
<string name="popup_playing_toast">Toistaa ponnahdusikkunassa</string>
|
||||
<string name="play_btn_text">Toista</string>
|
||||
<string name="content">Sisältö</string>
|
||||
<string name="show_age_restricted_content_title">Näytä ikärajoitettua sisältöä</string>
|
||||
<string name="video_is_age_restricted">Ikärajoitettu video. Ikärajoituksen voi sallia asetuksista.</string>
|
||||
<string name="duration_live">live</string>
|
||||
<string name="downloads">Lataukset</string>
|
||||
<string name="downloads_title">Lataukset</string>
|
||||
<string name="error_report_title">Virheraportti</string>
|
||||
<string name="all">Kaikki</string>
|
||||
<string name="channel">Kanava</string>
|
||||
<string name="playlist">Soittolista</string>
|
||||
<string name="yes">Kyllä</string>
|
||||
<string name="later">Myöhemmin</string>
|
||||
<string name="disabled">Poistettu käytöstä</string>
|
||||
<string name="filter">Suodata</string>
|
||||
<string name="refresh">Päivitä</string>
|
||||
<string name="clear">Pyyhi</string>
|
||||
<string name="popup_resizing_indicator_title">Muutetaan kokoa</string>
|
||||
<string name="best_resolution">Paras resoluutio</string>
|
||||
<string name="undo">Peru</string>
|
||||
|
||||
<string name="notification_channel_name">NewPipe Ilmoitus</string>
|
||||
<string name="notification_channel_description">Ilmoitukset Newpipe taustasoitolle ja ponnahdusikkunalle</string>
|
||||
|
||||
<string name="general_error">Virhe</string>
|
||||
<string name="network_error">Verkkovirhe</string>
|
||||
<string name="could_not_load_thumbnails">Ei pystytty lataamaan kaikkia esikatselukuvia</string>
|
||||
<string name="youtube_signature_decryption_error">Ei pystytty purkamaan salausta videon URL allekirjoitukselle</string>
|
||||
<string name="parsing_error">Ei pystytty jäsentämään websivua</string>
|
||||
<string name="light_parsing_error">Ei pystytty jäsentämään websivua kokonaan</string>
|
||||
<string name="content_not_available">Sisältö ei ole saatavilla</string>
|
||||
<string name="blocked_by_gema">Estetty GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Ei pystytty asettamaan latausvalikkoa</string>
|
||||
<string name="live_streams_not_supported">Tämä on LIVE LÄHETYS, mitä ei vielä tueta.</string>
|
||||
<string name="could_not_get_stream">Ei saatu mitään suoratoistoa</string>
|
||||
<string name="could_not_load_image">Kuvan lataus epäonnistui</string>
|
||||
<string name="app_ui_crash">Sovellus/UI kaatui</string>
|
||||
<string name="sorry_string">Pahoittelut, noin ei olisi pitänyt käydä.</string>
|
||||
<string name="error_report_button_text">Raportoi virhe sähköpostin kautta</string>
|
||||
<string name="error_snackbar_message">Pahoittelit, joitain virheitä tapahtui.</string>
|
||||
<string name="error_snackbar_action">RAPORTTI</string>
|
||||
<string name="what_happened_headline">Mitä tapahtui:</string>
|
||||
<string name="your_comment">Sinun viesti (Englanniksi):</string>
|
||||
<string name="error_details_headline">Yksityiskohdat:</string>
|
||||
|
||||
|
||||
<string name="list_thumbnail_view_description">Videon esikatselukuva</string>
|
||||
<string name="detail_thumbnail_view_description">Videon esikatselukuva</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Jakajan avatar esikatselukuva</string>
|
||||
<string name="detail_likes_img_view_description">Tykkäykset</string>
|
||||
<string name="detail_dislikes_img_view_description">Ei-tykkäykset</string>
|
||||
<string name="use_tor_title">Käytä Tor</string>
|
||||
<string name="use_tor_summary">(Kokeellinen) Pakota latausliikenne Tor:n kautta saadaksesi parempaa yksityisyyttä (videoiden suoratoistoa ei vielä tueta).</string>
|
||||
<string name="report_error">Raportoi virhe</string>
|
||||
<string name="user_report">Käyttäjäraportti</string>
|
||||
<string name="search_no_results">Ei tuloksia</string>
|
||||
<string name="empty_subscription_feed_subtitle">Tyhjää täynnä</string>
|
||||
|
||||
<string name="err_dir_create">Ei voida luoda lataushakemistoa \'%1$s\'</string>
|
||||
<string name="info_dir_created">Luotiin lataushakemisto \'%1$s\'</string>
|
||||
|
||||
<string name="video">Video</string>
|
||||
<string name="audio">Audio</string>
|
||||
<string name="retry">Toista uudelleen</string>
|
||||
<string name="storage_permission_denied">Oikeus tallennustilan hallintaan evätty</string>
|
||||
<string name="use_old_player_title">Käytä vanhaa toistinta</string>
|
||||
<string name="use_old_player_summary">Käytä vanhaa sisäänrakennettua Mediaframework toistinta</string>
|
||||
|
||||
<string name="short_thousand">t.</string>
|
||||
<string name="short_million">Milj.</string>
|
||||
<string name="short_billion">Bilj.</string>
|
||||
|
||||
<string name="no_subscribers">Ei tilaajia</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="one">%s tilaaja</item>
|
||||
<item quantity="other">%s tilaajia</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">Ei katselukertoja</string>
|
||||
<plurals name="views">
|
||||
<item quantity="one">%s katselukerta</item>
|
||||
<item quantity="other">%s katselukertoja</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">Ei videoita</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="one">%s video</item>
|
||||
<item quantity="other">%s videoita</item>
|
||||
</plurals>
|
||||
|
||||
<string name="start">Aloita</string>
|
||||
<string name="pause">Keskeytä</string>
|
||||
<string name="view">Toista</string>
|
||||
<string name="delete">Poista</string>
|
||||
<string name="checksum">Tarkistus-suma</string>
|
||||
|
||||
<string name="add">Uusi tehtävä</string>
|
||||
<string name="finish">OK</string>
|
||||
|
||||
<string name="msg_name">Tiedostonimi</string>
|
||||
<string name="msg_threads">Säikeet</string>
|
||||
<string name="msg_error">Virhe</string>
|
||||
<string name="msg_server_unsupported">Serveriä ei tueta</string>
|
||||
<string name="msg_exists">Tiedosto on jo olemassa</string>
|
||||
<string name="msg_url_malform">Epämuodostunut URL tai Internet-yhteys ei ole saatavilla</string>
|
||||
<string name="msg_running">NewPipe Lataus käynnissä</string>
|
||||
<string name="msg_running_detail">Napauta nähdäksesi lisää</string>
|
||||
<string name="msg_wait">Odota…</string>
|
||||
<string name="msg_copied">Kopioitu leikepöydälle</string>
|
||||
<string name="no_available_dir">Valitse saatavilla oleva latauskansio</string>
|
||||
<string name="msg_popup_permission">Tämä käyttöoikeus tarvitaan ponnahdusikkunan käytölle</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA Haaste</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA Haaste pyydetty</string>
|
||||
|
||||
<string name="settings_category_downloads_title">Lataus</string>
|
||||
<string name="settings_file_charset_title">Sallittuja merkkejä tiedostonimissä</string>
|
||||
<string name="settings_file_replacement_character_summary">Epäkelvot merkit korvataan tällä arvolla</string>
|
||||
<string name="settings_file_replacement_character_title">Korvaus merkki</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Kirjaimia ja numeroita</string>
|
||||
<string name="charset_most_special_characters">Suurin osa erikoismerkeistä</string>
|
||||
|
||||
<string name="title_activity_about">Tietoja NewPipe</string>
|
||||
<string name="action_settings">Asetukset</string>
|
||||
<string name="action_about">Tietoja</string>
|
||||
<string name="title_licenses">Kolmannen osapuolen Lisenssit</string>
|
||||
<string name="error_unable_to_load_license">Ei voitu ladata lisenssiä</string>
|
||||
<string name="action_open_website">Avaa websivu</string>
|
||||
<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 YouTube frontend Android:lle.</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 se tulee!</string>
|
||||
<string name="read_full_license">Lue lisenssi</string>
|
||||
<string name="contribution_title">Lahjoitus</string>
|
||||
|
||||
<string name="title_activity_history">Historia</string>
|
||||
<string name="title_history_search">Haettu</string>
|
||||
<string name="title_history_view">Katsottu</string>
|
||||
<string name="history_disabled">Historia on poistettu käytöstä</string>
|
||||
<string name="action_history">Historia</string>
|
||||
<string name="history_empty">Historia on tyhjä</string>
|
||||
<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>
|
||||
</resources>
|
|
@ -23,7 +23,7 @@
|
|||
<string name="download_path_audio_summary">Lokasi untuk menyimpan audio yang diunduh</string>
|
||||
<string name="download_path_audio_dialog_title">Masukkan lokasi unduhan berkas audio</string>
|
||||
|
||||
<string name="autoplay_by_calling_app_title">Putar otomatis ketika dipanggil dari aplikasi lain</string>
|
||||
<string name="autoplay_by_calling_app_title">Putar otomatis</string>
|
||||
<string name="autoplay_by_calling_app_summary">Otomatis memutar video ketika NewPipe dijalankan dari aplikasi lain</string>
|
||||
<string name="default_resolution_title">Resolusi baku</string>
|
||||
<string name="play_with_kodi_title">Putar dengan Kodi</string>
|
||||
|
@ -33,7 +33,7 @@
|
|||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Format audio baku</string>
|
||||
<string name="webm_description">WebM — format bebas</string>
|
||||
<string name="m4a_description">m4a — kualitas lebih baik</string>
|
||||
<string name="m4a_description">M4A — kualitas lebih baik</string>
|
||||
<string name="theme_title">Tema</string>
|
||||
<string name="dark_theme_title">Gelap</string>
|
||||
<string name="light_theme_title">Terang</string>
|
||||
|
@ -61,15 +61,15 @@
|
|||
<string name="error_report_title">Laporan galat</string>
|
||||
|
||||
<string name="general_error">Galat</string>
|
||||
<string name="parsing_error">Tidak bisa mengurai situs web.</string>
|
||||
<string name="light_parsing_error">Sama sekali tidak bisa mengurai situs web.</string>
|
||||
<string name="content_not_available">Konten tidak tersedia.</string>
|
||||
<string name="blocked_by_gema">Diblokir oleh GEMA.</string>
|
||||
<string name="could_not_setup_download_menu">Tidak bisa menyiapkan menu unduhan.</string>
|
||||
<string name="live_streams_not_supported">Ini adalah SIARAN LANGSUNG. Fitur ini belum didukung.</string>
|
||||
<string name="parsing_error">Tidak dapat mengurai situs web</string>
|
||||
<string name="light_parsing_error">Sama sekali tidak dapat mengurai situs web</string>
|
||||
<string name="content_not_available">Konten tidak tersedia</string>
|
||||
<string name="blocked_by_gema">Diblokir oleh GEMA</string>
|
||||
<string name="could_not_setup_download_menu">Tidak bisa menyiapkan menu unduhan</string>
|
||||
<string name="live_streams_not_supported">Ini adalah SIARAN LANGSUNG, yang mana ini belum didukung.</string>
|
||||
<string name="could_not_load_image">Tidak bisa memuat gambar</string>
|
||||
<string name="sorry_string">Maaf, hal tersebut seharusnya tidak terjadi.</string>
|
||||
<string name="error_report_button_text">Lapor galat via surel</string>
|
||||
<string name="error_report_button_text">Lapor galat via surat elektronik</string>
|
||||
<string name="error_snackbar_message">Maaf, telah terjadi galat.</string>
|
||||
<string name="error_snackbar_action">LAPOR</string>
|
||||
<string name="what_device_headline">Info:</string>
|
||||
|
@ -92,7 +92,7 @@
|
|||
<string name="video">Video</string>
|
||||
<string name="audio">Audio</string>
|
||||
<string name="retry">Ulangi</string>
|
||||
<string name="storage_permission_denied">Izin untuk mengakses penyimpanan ditolak</string>
|
||||
<string name="storage_permission_denied">Izin akses penyimpanan ditolak</string>
|
||||
|
||||
<string name="delete">Hapus</string>
|
||||
<string name="view">Tonton</string>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<string name="no_player_found">Tidak ditemukan pemutar stream. Apakah anda ingin memasang VLC?</string>
|
||||
<string name="youtube_signature_decryption_error">Tidak bisa mendekrip tanda tangan URL video.</string>
|
||||
<string name="app_ui_crash">App/UI rusak</string>
|
||||
<string name="could_not_get_stream">Tidak bisa mendapatkan stream apapun.</string>
|
||||
<string name="could_not_get_stream">Tidak bisa mendapatkan stream apapun</string>
|
||||
<string name="info_labels">Apa:\\nPermintaan:\\nBahasa Konten:\\nLayanan:\\nWaktu GMT:\\nPaket:\\nVersi:\\nVersi OS:\\nIP:</string>
|
||||
<string name="user_report">Laporan pengguna</string>
|
||||
|
||||
|
@ -145,11 +145,11 @@
|
|||
<string name="msg_popup_permission">Izin ini dibutuhkan untuk
|
||||
membuka di mode popup</string>
|
||||
|
||||
<string name="popup_mode_share_menu_title">Mode Popup NewPipe</string>
|
||||
<string name="popup_mode_share_menu_title">Mode popup NewPipe</string>
|
||||
|
||||
<string name="popup_playing_toast">Memutar dalam mode popup</string>
|
||||
<string name="use_old_player_title">Gunakan pemutar lama</string>
|
||||
<string name="use_old_player_summary">Versi lama pemutar Mediaframework.</string>
|
||||
<string name="use_old_player_summary">Versi lama pemutar Mediaframework</string>
|
||||
<string name="disabled">Dinonaktifkan</string>
|
||||
|
||||
<string name="default_video_format_title">Pilihan format video</string>
|
||||
|
@ -166,7 +166,7 @@ membuka di mode popup</string>
|
|||
<string name="filter">Filter</string>
|
||||
<string name="use_external_video_player_summary">Beberapa resolusi TIDAK akan memiliki suara ketika opsi ini diaktifkan</string>
|
||||
<string name="popup_remember_size_pos_title">Ingat ukuran dan posisi sembulan</string>
|
||||
<string name="popup_remember_size_pos_summary">Ingat ukuran terakhir dan pengaturan posisi sembulan</string>
|
||||
<string name="popup_remember_size_pos_summary">Ingat ukuran terakhir dan pengaturan posisi popup</string>
|
||||
|
||||
<string name="settings_category_popup_title">Sembulan</string>
|
||||
<string name="popup_resizing_indicator_title">Ubah ukuran</string>
|
||||
|
@ -212,7 +212,7 @@ membuka di mode popup</string>
|
|||
<string name="tab_main">Utama</string>
|
||||
<string name="enable_search_history_title">Cari riwayat</string>
|
||||
<string name="enable_search_history_summary">Simpan pencarian secara lokal</string>
|
||||
<string name="enable_watch_history_title">Riwayat tontonan</string>
|
||||
<string name="enable_watch_history_title">Riwayat</string>
|
||||
<string name="notification_channel_name">Notifikasi NewPipe</string>
|
||||
<string name="title_activity_history">Riwayat</string>
|
||||
<string name="history_disabled">Riwayat dinonaktifkan</string>
|
||||
|
|
|
@ -253,4 +253,5 @@
|
|||
<string name="history_empty">Historikken er tom</string>
|
||||
<string name="history_cleared">Historikk tømt</string>
|
||||
<string name="item_deleted">Element slettet</string>
|
||||
<string name="delete_item_search_history">Ønsker du å slette dette elementet fra søkehistorikken?</string>
|
||||
</resources>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<string name="general_error">Erro</string>
|
||||
<string name="could_not_load_thumbnails">Incapaz de carregar todas as miniaturas</string>
|
||||
<string name="youtube_signature_decryption_error">Incapaz de decodificar a assinatura do vídeo</string>
|
||||
<string name="parsing_error">Incapaz de processar o sítio da web</string>
|
||||
<string name="parsing_error">Incapaz de processar o site</string>
|
||||
<string name="content_not_available">Conteúdo não disponível</string>
|
||||
<string name="blocked_by_gema">Bloqueado pela GEMA</string>
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
|||
<string name="show_age_restricted_content_title">Restringir conteúdo por idade</string>
|
||||
<string name="video_is_age_restricted">Vídeo com restrição de idade. É possível permitir este material através das Definições.</string>
|
||||
|
||||
<string name="light_parsing_error">Não foi possível processar o sítio da web</string>
|
||||
<string name="light_parsing_error">Não foi possível processar totalmente o site</string>
|
||||
<string name="could_not_setup_download_menu">Não foi possível configurar o menu de transferências</string>
|
||||
<string name="live_streams_not_supported">Esta é uma EMISSÃO EM DIRETO, as quais ainda não são suportadas.</string>
|
||||
<string name="could_not_get_stream">Não foi possível obter a emissão</string>
|
||||
|
@ -116,7 +116,7 @@
|
|||
<string name="msg_running_detail">Toque para detalhes</string>
|
||||
<string name="msg_wait">Por favor aguarde…</string>
|
||||
<string name="msg_copied">Copiado para a área de transferência</string>
|
||||
<string name="no_available_dir">Por favor selecione um diretório disponível para download</string>
|
||||
<string name="no_available_dir">Por favor selecione a pasta para as descargas</string>
|
||||
|
||||
<string name="finish">OK</string>
|
||||
<string name="msg_threads">Processos</string>
|
||||
|
@ -207,16 +207,16 @@ o modo “popup“</string>
|
|||
<string name="enable_search_history_summary">Armazenar termos de pesquisa localmente</string>
|
||||
<string name="enable_watch_history_title">Histórico</string>
|
||||
<string name="enable_watch_history_summary">Armazenar histórico de vídeos assistidos</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Retomar reprodução ao ganhar foco</string>
|
||||
<string name="resume_on_audio_focus_gain_title">Retomar ao ganhar foco</string>
|
||||
<string name="resume_on_audio_focus_gain_summary">Continuar reprodução após interrupções (ex. chamadas)</string>
|
||||
<string name="settings_category_player_title">Reprodutor de vídeo</string>
|
||||
<string name="settings_category_player_title">Reprodutor</string>
|
||||
<string name="settings_category_player_behavior_title">Comportamento</string>
|
||||
<string name="settings_category_history_title">Histórico</string>
|
||||
<string name="playlist">Lista de Reprodução</string>
|
||||
<string name="undo">Desfazer</string>
|
||||
|
||||
<string name="notification_channel_name">Notificação do NewPipe</string>
|
||||
<string name="notification_channel_description">Notificações do NewPipe em Segundo Plano e Reprodutores de Vídeo em Popup</string>
|
||||
<string name="notification_channel_description">Notificações do NewPipe e para reprodutores pop-up</string>
|
||||
|
||||
<string name="search_no_results">Sem resultados</string>
|
||||
<string name="empty_subscription_feed_subtitle">Aqui não há nada para ver</string>
|
||||
|
@ -242,17 +242,18 @@ o modo “popup“</string>
|
|||
<string name="settings_category_downloads_title">Download</string>
|
||||
<string name="settings_file_charset_title">Caracteres permitidos em nomes de ficheiros</string>
|
||||
<string name="settings_file_replacement_character_summary">Caracteres inválidos são substituídos por este valor</string>
|
||||
<string name="settings_file_replacement_character_title">Caracter de substituição</string>
|
||||
<string name="settings_file_replacement_character_title">Carácter de substituição</string>
|
||||
|
||||
<string name="charset_letters_and_digits">Letras e dígitos</string>
|
||||
<string name="charset_most_special_characters">Caracteres mais especiais</string>
|
||||
<string name="charset_most_special_characters">Caracteres especiais</string>
|
||||
|
||||
<string name="title_activity_history">Histórico</string>
|
||||
<string name="title_history_search">Procurados</string>
|
||||
<string name="title_history_view">Visualizado</string>
|
||||
<string name="title_history_search">Pesquisado</string>
|
||||
<string name="title_history_view">Visto</string>
|
||||
<string name="history_disabled">Histórico está desativado</string>
|
||||
<string name="action_history">Histórico</string>
|
||||
<string name="history_empty">O histórico está vazio</string>
|
||||
<string name="history_cleared">Histórico eliminado</string>
|
||||
<string name="item_deleted">Objeto eliminado</string>
|
||||
<string name="item_deleted">Item apagado</string>
|
||||
<string name="delete_item_search_history">Deseja apagar este item do histórico de pesquisa?</string>
|
||||
</resources>
|
||||
|
|
|
@ -257,4 +257,5 @@
|
|||
</plurals>
|
||||
|
||||
<string name="item_deleted">Элемент удалён</string>
|
||||
<string name="delete_item_search_history">Удалить этот элемент из истории поиска?</string>
|
||||
</resources>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<string name="play_audio">聲音</string>
|
||||
<string name="default_audio_format_title">預設聲音檔案格式</string>
|
||||
<string name="webm_description">WebM — 開放格式</string>
|
||||
<string name="m4a_description">m4a — 更佳畫質</string>
|
||||
<string name="m4a_description">M4A — 更佳畫質</string>
|
||||
<string name="theme_title">主題</string>
|
||||
<string name="dark_theme_title">黑暗</string>
|
||||
<string name="light_theme_title">明亮</string>
|
||||
|
@ -32,7 +32,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="search_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>
|
||||
|
@ -59,7 +59,7 @@
|
|||
<string name="info_dir_created">已建立下載路徑「%1$s」</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_title">自動撥放</string>
|
||||
<string name="autoplay_by_calling_app_summary">當其他應用程式要求播放影片時,NewPipe 將會自動播放</string>
|
||||
<string name="content">內容</string>
|
||||
<string name="show_age_restricted_content_title">顯示已設年齡限制的影片</string>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<string name="show_play_with_kodi_title">顯示「用 Kodi 播放」的選項</string>
|
||||
<string name="default_audio_format_title">預設音訊格式</string>
|
||||
<string name="webm_description">WebM — 開放格式</string>
|
||||
<string name="m4a_description">m4a — 更佳畫質</string>
|
||||
<string name="m4a_description">M4A — 更佳畫質</string>
|
||||
<string name="theme_title">主題</string>
|
||||
<string name="dark_theme_title">暗色系</string>
|
||||
<string name="light_theme_title">明亮色系</string>
|
||||
|
@ -36,7 +36,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="search_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>
|
||||
|
@ -62,7 +62,7 @@
|
|||
<string name="use_external_video_player_summary">勾選後,部分解析度可能不會有音訊</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_title">自動播放</string>
|
||||
<string name="autoplay_by_calling_app_summary">當 NewPipe 被其他應用程式呼叫時自動播放影片</string>
|
||||
<string name="default_popup_resolution_title">懸浮視窗預設解析度</string>
|
||||
<string name="show_higher_resolutions_title">顯示更高的解析度</string>
|
||||
|
@ -97,14 +97,14 @@
|
|||
<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>
|
||||
<string name="parsing_error">無法解析網站。</string>
|
||||
<string name="light_parsing_error">無法完全解析網站。</string>
|
||||
<string name="content_not_available">內容無法使用。</string>
|
||||
<string name="blocked_by_gema">已被 GEMA 阻擋。</string>
|
||||
<string name="could_not_setup_download_menu">無法設定下載選單。</string>
|
||||
<string name="youtube_signature_decryption_error">無法解析影片 URL 簽章</string>
|
||||
<string name="parsing_error">無法解析網站</string>
|
||||
<string name="light_parsing_error">無法完全解析網站</string>
|
||||
<string name="content_not_available">內容無法使用</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="could_not_get_stream">無法取得串流。</string>
|
||||
<string name="could_not_get_stream">無法取得串流</string>
|
||||
<string name="could_not_load_image">無法載入圖片</string>
|
||||
<string name="app_ui_crash">應用程式或 UI 已停止運作</string>
|
||||
<string name="sorry_string">抱歉,這不應該發生的。</string>
|
||||
|
@ -126,7 +126,7 @@
|
|||
<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_summary">舊型內建媒體播放器</string>
|
||||
|
||||
|
||||
<string name="short_thousand">千</string>
|
||||
|
@ -135,7 +135,7 @@
|
|||
|
||||
<string name="start">開始</string>
|
||||
<string name="pause">暫停</string>
|
||||
<string name="view">檢視</string>
|
||||
<string name="view">播放</string>
|
||||
<string name="delete">刪除</string>
|
||||
<string name="checksum">檢查碼</string>
|
||||
|
||||
|
@ -151,8 +151,8 @@
|
|||
<string name="msg_running">NewPipe 下載中</string>
|
||||
<string name="msg_running_detail">輕觸顯示詳細資訊</string>
|
||||
<string name="msg_wait">請稍候…</string>
|
||||
<string name="msg_copied">已複製至剪貼簿。</string>
|
||||
<string name="no_available_dir">請選擇下載資料夾。</string>
|
||||
<string name="msg_copied">已複製至剪貼簿</string>
|
||||
<string name="no_available_dir">請選擇下載資料夾</string>
|
||||
<string name="msg_popup_permission">使用懸浮視窗模式需要此權限</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA 驗證</string>
|
||||
|
@ -162,4 +162,82 @@
|
|||
<string name="controls_popup_title">懸浮視窗</string>
|
||||
|
||||
<string name="duration_live">現場直播</string>
|
||||
</resources>
|
||||
<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="tab_main">主選單</string>
|
||||
<string name="tab_subscriptions">訂閱項目</string>
|
||||
|
||||
<string name="fragment_whats_new">有什麼新鮮事</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_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="settings_category_player_behavior_title">行為</string>
|
||||
<string name="settings_category_history_title">歷史紀錄</string>
|
||||
<string name="playlist">播放清單</string>
|
||||
<string name="undo">復原</string>
|
||||
|
||||
<string name="notification_channel_name">NewPipe 通知</string>
|
||||
<string name="notification_channel_description">NewPipe 背景播放與懸浮模式播放器的通知</string>
|
||||
|
||||
<string name="search_no_results">沒有結果</string>
|
||||
<string name="empty_subscription_feed_subtitle">空空如也</string>
|
||||
|
||||
<string name="no_subscribers">無訂閱者</string>
|
||||
<plurals name="subscribers">
|
||||
<item quantity="other">%s 位訂閱者</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_views">無觀看次數</string>
|
||||
<plurals name="views">
|
||||
<item quantity="other">%s 次觀看</item>
|
||||
</plurals>
|
||||
|
||||
<string name="no_videos">沒有影片</string>
|
||||
<plurals name="videos">
|
||||
<item quantity="other">%s 部影片</item>
|
||||
</plurals>
|
||||
|
||||
<string name="settings_category_downloads_title">下載</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>
|
||||
<string name="charset_most_special_characters">大部分的特殊字元</string>
|
||||
|
||||
<string name="title_activity_about">關於 NewPipe</string>
|
||||
<string name="action_settings">設定</string>
|
||||
<string name="action_about">關於</string>
|
||||
<string name="title_licenses">第三方授權</string>
|
||||
<string name="copyright" formatted="true">© %1$s 由 %2$s 使用 %3$s 授權條款發佈</string>
|
||||
<string name="error_unable_to_load_license">無法載入授權條款</string>
|
||||
<string name="action_open_website">開啟網站</string>
|
||||
<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_license_title">NewPipe 使用的授權條款</string>
|
||||
<string name="contribution_encouragement">不管你有什麼點子,翻譯、設計、程式碼整理,或者程式碼撰寫,我們永遠歡迎你來幫忙。完成的越多,NewPipe 也會更好!</string>
|
||||
<string name="read_full_license">閱讀授權條款</string>
|
||||
<string name="contribution_title">貢獻</string>
|
||||
|
||||
<string name="title_activity_history">歷史紀錄</string>
|
||||
<string name="title_history_search">已搜尋</string>
|
||||
<string name="title_history_view">已觀看</string>
|
||||
<string name="history_disabled">歷史紀錄已被停用</string>
|
||||
<string name="action_history">歷史紀錄</string>
|
||||
<string name="history_empty">沒有歷史紀錄</string>
|
||||
<string name="history_cleared">已清除歷史紀錄</string>
|
||||
<string name="item_deleted">項目已刪除</string>
|
||||
<string name="delete_item_search_history">確定要刪除此項搜尋紀錄嗎?</string>
|
||||
</resources>
|
||||
|
|
Binary file not shown.
|
@ -1,6 +1,5 @@
|
|||
#Tue Mar 07 14:05:42 CET 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-bin.zip
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
#!/usr/bin/env sh
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
|
@ -6,47 +6,6 @@
|
|||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
|
@ -61,9 +20,49 @@ while [ -h "$PRG" ] ; do
|
|||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
@ -90,7 +89,7 @@ location of your Java installation."
|
|||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
|
@ -114,6 +113,7 @@ fi
|
|||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
|
@ -154,11 +154,19 @@ if $cygwin ; then
|
|||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
|
|
@ -8,14 +8,14 @@
|
|||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
|
@ -46,10 +46,9 @@ echo location of your Java installation.
|
|||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windowz variants
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
|
@ -60,11 +59,6 @@ set _SKIP=2
|
|||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
goto execute
|
||||
|
||||
:4NT_args
|
||||
@rem Get arguments from the 4NT Shell from JP Software
|
||||
set CMD_LINE_ARGS=%$
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
|
Loading…
Reference in New Issue