Merge branch 'dev' into trending

This commit is contained in:
Christian Schabesberger 2017-10-22 23:43:48 +02:00 committed by GitHub
commit 5d4269be4c
24 changed files with 668 additions and 180 deletions

View File

@ -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.

View File

@ -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

View File

@ -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 *;}

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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;
}

View File

@ -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 {

View File

@ -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;
}
}

View File

@ -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"></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>

View File

@ -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>

View File

@ -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 &amp; 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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -257,4 +257,5 @@
</plurals>
<string name="item_deleted">Элемент удалён</string>
<string name="delete_item_search_history">Удалить этот элемент из истории поиска?</string>
</resources>

View File

@ -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>

View File

@ -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.

View File

@ -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

110
gradlew vendored
View File

@ -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" "$@"

14
gradlew.bat vendored
View File

@ -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