merged upstream/dev

This commit is contained in:
yausername 2019-11-20 03:48:56 +05:30
commit 596005c69e
45 changed files with 1191 additions and 758 deletions

View File

@ -47,7 +47,7 @@ android {
ext {
androidxLibVersion = '1.0.0'
exoPlayerLibVersion = '2.10.7'
exoPlayerLibVersion = '2.10.8'
roomDbLibVersion = '2.1.0'
leakCanaryLibVersion = '1.5.4' //1.6.1
okHttpLibVersion = '3.12.6'
@ -62,7 +62,7 @@ dependencies {
exclude module: 'support-annotations'
})
implementation 'com.github.yausername:NewPipeExtractor:318f600'
implementation 'com.github.yausername:NewPipeExtractor:f3a59a6'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-core:2.23.0'
@ -95,6 +95,7 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
implementation 'org.ocpsoft.prettytime:prettytime:4.0.1.Final'
implementation "androidx.room:room-runtime:${roomDbLibVersion}"
implementation "androidx.room:room-rxjava2:${roomDbLibVersion}"

View File

@ -17,6 +17,9 @@
#}
-dontobfuscate
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
-keep class org.ocpsoft.prettytime.i18n.** { *; }
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter

View File

@ -15,7 +15,7 @@ import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.LeakDirectoryProvider;
import com.squareup.leakcanary.RefWatcher;
import org.schabi.newpipe.extractor.Downloader;
import org.schabi.newpipe.extractor.downloader.Downloader;
import java.io.File;
import java.util.concurrent.TimeUnit;
@ -39,7 +39,7 @@ public class DebugApp extends App {
@Override
protected Downloader getDownloader() {
return org.schabi.newpipe.Downloader.init(new OkHttpClient.Builder()
return DownloaderImpl.init(new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor()));
}

View File

@ -6,9 +6,10 @@ import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;
import androidx.annotation.Nullable;
import android.util.Log;
import androidx.annotation.Nullable;
import com.nostra13.universalimageloader.cache.memory.impl.LRULimitedMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
@ -20,13 +21,14 @@ import org.acra.config.ACRAConfiguration;
import org.acra.config.ACRAConfigurationException;
import org.acra.config.ConfigurationBuilder;
import org.acra.sender.ReportSenderFactory;
import org.schabi.newpipe.extractor.Downloader;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.report.AcraReportSenderFactory;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.settings.SettingsActivity;
import org.schabi.newpipe.util.ExtractorHelper;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
@ -95,7 +97,10 @@ public class App extends Application {
SettingsActivity.initSettings(this);
NewPipe.init(getDownloader(),
org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(this));
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
Localization.init();
StateSaver.init(this);
initNotificationChannel();
@ -111,7 +116,7 @@ public class App extends Application {
}
protected Downloader getDownloader() {
return org.schabi.newpipe.Downloader.init(null);
return DownloaderImpl.init(null);
}
private void configureRxJavaErrorHandler() {

View File

@ -1,309 +0,0 @@
package org.schabi.newpipe;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.schabi.newpipe.extractor.DownloadRequest;
import org.schabi.newpipe.extractor.DownloadResponse;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import org.schabi.newpipe.extractor.utils.Localization;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import static java.util.Collections.singletonList;
/*
* Created by Christian Schabesberger on 28.01.16.
*
* Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org>
* Downloader.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class Downloader implements org.schabi.newpipe.extractor.Downloader {
public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
private static Downloader instance;
private String mCookies;
private final OkHttpClient client;
private Downloader(OkHttpClient.Builder builder) {
this.client = builder
.readTimeout(30, TimeUnit.SECONDS)
//.cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"), 16 * 1024 * 1024))
.build();
}
/**
* It's recommended to call exactly once in the entire lifetime of the application.
*
* @param builder if null, default builder will be used
*/
public static Downloader init(@Nullable OkHttpClient.Builder builder) {
return instance = new Downloader(builder != null ? builder : new OkHttpClient.Builder());
}
public static Downloader getInstance() {
return instance;
}
public String getCookies() {
return mCookies;
}
public void setCookies(String cookies) {
mCookies = cookies;
}
/**
* Get the size of the content that the url is pointing by firing a HEAD request.
*
* @param url an url pointing to the content
* @return the size of the content, in bytes
*/
public long getContentLength(String url) throws IOException {
Response response = null;
try {
final Request request = new Request.Builder()
.head().url(url)
.addHeader("User-Agent", USER_AGENT)
.build();
response = client.newCall(request).execute();
String contentLength = response.header("Content-Length");
return contentLength == null ? -1 : Long.parseLong(contentLength);
} catch (NumberFormatException e) {
throw new IOException("Invalid content length", e);
} finally {
if (response != null) {
response.close();
}
}
}
/**
* Download the text file at the supplied URL as in download(String),
* but set the HTTP header field "Accept-Language" to the supplied string.
*
* @param siteUrl the URL of the text file to return the contents of
* @param localization the language and country (usually a 2-character code) to set
* @return the contents of the specified text file
*/
@Override
public String download(String siteUrl, Localization localization) throws IOException, ReCaptchaException {
Map<String, String> requestProperties = new HashMap<>();
requestProperties.put("Accept-Language", localization.getLanguage());
return download(siteUrl, requestProperties);
}
/**
* Download the text file at the supplied URL as in download(String),
* but set the HTTP headers included in the customProperties map.
*
* @param siteUrl the URL of the text file to return the contents of
* @param customProperties set request header properties
* @return the contents of the specified text file
* @throws IOException
*/
@Override
public String download(String siteUrl, Map<String, String> customProperties) throws IOException, ReCaptchaException {
return getBody(siteUrl, customProperties).string();
}
public InputStream stream(String siteUrl) throws IOException {
try {
return getBody(siteUrl, Collections.emptyMap()).byteStream();
} catch (ReCaptchaException e) {
throw new IOException(e.getMessage(), e.getCause());
}
}
private ResponseBody getBody(String siteUrl, Map<String, String> customProperties) throws IOException, ReCaptchaException {
final Request.Builder requestBuilder = new Request.Builder()
.method("GET", null).url(siteUrl);
for (Map.Entry<String, String> header : customProperties.entrySet()) {
requestBuilder.addHeader(header.getKey(), header.getValue());
}
if (!customProperties.containsKey("User-Agent")) {
requestBuilder.header("User-Agent", USER_AGENT);
}
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
final Request request = requestBuilder.build();
final Response response = client.newCall(request).execute();
final ResponseBody body = response.body();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
if (body == null) {
response.close();
return null;
}
return body;
}
/**
* Download (via HTTP) the text file located at the supplied URL, and return its contents.
* Primarily intended for downloading web pages.
*
* @param siteUrl the URL of the text file to download
* @return the contents of the specified text file
*/
@Override
public String download(String siteUrl) throws IOException, ReCaptchaException {
return download(siteUrl, Collections.emptyMap());
}
@Override
public DownloadResponse get(String siteUrl, DownloadRequest request) throws IOException, ReCaptchaException {
final Request.Builder requestBuilder = new Request.Builder()
.method("GET", null).url(siteUrl);
Map<String, List<String>> requestHeaders = request.getRequestHeaders();
// set custom headers in request
for (Map.Entry<String, List<String>> pair : requestHeaders.entrySet()) {
for(String value : pair.getValue()){
requestBuilder.addHeader(pair.getKey(), value);
}
}
if (!requestHeaders.containsKey("User-Agent")) {
requestBuilder.header("User-Agent", USER_AGENT);
}
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
final Request okRequest = requestBuilder.build();
final Response response = client.newCall(okRequest).execute();
final ResponseBody body = response.body();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
if (body == null) {
response.close();
return null;
}
return new DownloadResponse(response.code(), body.string(), response.headers().toMultimap());
}
@Override
public DownloadResponse get(String siteUrl) throws IOException, ReCaptchaException {
return get(siteUrl, DownloadRequest.emptyRequest);
}
@Override
public DownloadResponse post(String siteUrl, DownloadRequest request) throws IOException, ReCaptchaException {
Map<String, List<String>> requestHeaders = request.getRequestHeaders();
if(null == requestHeaders.get("Content-Type") || requestHeaders.get("Content-Type").isEmpty()){
// content type header is required. maybe throw an exception here
return null;
}
String contentType = requestHeaders.get("Content-Type").get(0);
RequestBody okRequestBody = null;
if (null != request.getRequestBody()) {
okRequestBody = RequestBody.create(MediaType.parse(contentType), request.getRequestBody());
}
final Request.Builder requestBuilder = new Request.Builder()
.method("POST", okRequestBody).url(siteUrl);
// set custom headers in request
for (Map.Entry<String, List<String>> pair : requestHeaders.entrySet()) {
for(String value : pair.getValue()){
requestBuilder.addHeader(pair.getKey(), value);
}
}
if (!requestHeaders.containsKey("User-Agent")) {
requestBuilder.header("User-Agent", USER_AGENT);
}
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
final Request okRequest = requestBuilder.build();
final Response response = client.newCall(okRequest).execute();
final ResponseBody body = response.body();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
if (body == null) {
response.close();
return null;
}
return new DownloadResponse(response.code(), body.string(), response.headers().toMultimap());
}
@Override
public DownloadResponse head(String siteUrl) throws IOException, ReCaptchaException {
final Request request = new Request.Builder()
.head().url(siteUrl)
.addHeader("User-Agent", USER_AGENT)
.build();
final Response response = client.newCall(request).execute();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
return new DownloadResponse(response.code(), null, response.headers().toMultimap());
}
@Override
public DownloadResponse get(String siteUrl, @NonNull Localization localization) throws IOException, ReCaptchaException {
final Map<String, List<String>> requestHeaders = new HashMap<>();
requestHeaders.put("Accept-Language", singletonList(localization.getLanguage()));
return get(siteUrl, new DownloadRequest(null, requestHeaders));
}
}

View File

@ -0,0 +1,156 @@
package org.schabi.newpipe;
import android.text.TextUtils;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.downloader.Request;
import org.schabi.newpipe.extractor.downloader.Response;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.annotation.Nonnull;
import androidx.annotation.Nullable;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
public class DownloaderImpl extends Downloader {
public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
private static DownloaderImpl instance;
private String mCookies;
private OkHttpClient client;
private DownloaderImpl(OkHttpClient.Builder builder) {
this.client = builder
.readTimeout(30, TimeUnit.SECONDS)
//.cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"), 16 * 1024 * 1024))
.build();
}
/**
* It's recommended to call exactly once in the entire lifetime of the application.
*
* @param builder if null, default builder will be used
*/
public static DownloaderImpl init(@Nullable OkHttpClient.Builder builder) {
return instance = new DownloaderImpl(builder != null ? builder : new OkHttpClient.Builder());
}
public static DownloaderImpl getInstance() {
return instance;
}
public String getCookies() {
return mCookies;
}
public void setCookies(String cookies) {
mCookies = cookies;
}
/**
* Get the size of the content that the url is pointing by firing a HEAD request.
*
* @param url an url pointing to the content
* @return the size of the content, in bytes
*/
public long getContentLength(String url) throws IOException {
try {
final Response response = head(url);
return Long.parseLong(response.getHeader("Content-Length"));
} catch (NumberFormatException e) {
throw new IOException("Invalid content length", e);
} catch (ReCaptchaException e) {
throw new IOException(e);
}
}
public InputStream stream(String siteUrl) throws IOException {
try {
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method("GET", null).url(siteUrl)
.addHeader("User-Agent", USER_AGENT);
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
final okhttp3.Request request = requestBuilder.build();
final okhttp3.Response response = client.newCall(request).execute();
final ResponseBody body = response.body();
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", siteUrl);
}
if (body == null) {
response.close();
return null;
}
return body.byteStream();
} catch (ReCaptchaException e) {
throw new IOException(e.getMessage(), e.getCause());
}
}
@Override
public Response execute(@Nonnull Request request) throws IOException, ReCaptchaException {
final String httpMethod = request.httpMethod();
final String url = request.url();
final Map<String, List<String>> headers = request.headers();
final byte[] dataToSend = request.dataToSend();
RequestBody requestBody = null;
if (dataToSend != null) {
requestBody = RequestBody.create(null, dataToSend);
}
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method(httpMethod, requestBody).url(url)
.addHeader("User-Agent", USER_AGENT);
if (!TextUtils.isEmpty(mCookies)) {
requestBuilder.addHeader("Cookie", mCookies);
}
for (Map.Entry<String, List<String>> pair : headers.entrySet()) {
final String headerName = pair.getKey();
final List<String> headerValueList = pair.getValue();
if (headerValueList.size() > 1) {
requestBuilder.removeHeader(headerName);
for (String headerValue : headerValueList) {
requestBuilder.addHeader(headerName, headerValue);
}
} else if (headerValueList.size() == 1) {
requestBuilder.header(headerName, headerValueList.get(0));
}
}
final okhttp3.Response response = client.newCall(requestBuilder.build()).execute();
if (response.code() == 429) {
response.close();
throw new ReCaptchaException("reCaptcha Challenge requested", url);
}
final ResponseBody body = response.body();
String responseBodyToReturn = null;
if (body != null) {
responseBodyToReturn = body.string();
}
return new Response(response.code(), response.message(), response.headers().toMultimap(), responseBodyToReturn);
}
}

View File

@ -40,7 +40,7 @@ public class ImageDownloader extends BaseImageDownloader {
}
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
final Downloader downloader = (Downloader) NewPipe.getDownloader();
final DownloaderImpl downloader = (DownloaderImpl) NewPipe.getDownloader();
return downloader.stream(imageUri);
}
}

View File

@ -112,7 +112,7 @@ public class ReCaptchaActivity extends AppCompatActivity {
// find cookies : s_gl & goojf and Add cookies to Downloader
if (find_access_cookies(cookies)) {
// Give cookies to Downloader class
Downloader.getInstance().setCookies(mCookies);
DownloaderImpl.getInstance().setCookies(mCookies);
// Closing activity and return to parent
setResult(RESULT_OK);

View File

@ -40,12 +40,12 @@ import org.schabi.newpipe.MainActivity;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.MediaFormat;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.localization.Localization;
import org.schabi.newpipe.extractor.stream.AudioStream;
import org.schabi.newpipe.extractor.stream.Stream;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.extractor.stream.SubtitlesStream;
import org.schabi.newpipe.extractor.stream.VideoStream;
import org.schabi.newpipe.extractor.utils.Localization;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.settings.NewPipeSettings;
@ -488,35 +488,24 @@ public class DownloadDialog extends DialogFragment implements RadioGroup.OnCheck
}
private int getSubtitleIndexBy(List<SubtitlesStream> streams) {
Localization loc = NewPipe.getPreferredLocalization();
final Localization preferredLocalization = NewPipe.getPreferredLocalization();
int candidate = 0;
for (int i = 0; i < streams.size(); i++) {
Locale streamLocale = streams.get(i).getLocale();
String tag = streamLocale.getLanguage().concat("-").concat(streamLocale.getCountry());
if (tag.equalsIgnoreCase(loc.getLanguage())) {
return i;
final Locale streamLocale = streams.get(i).getLocale();
final boolean languageEquals = streamLocale.getLanguage() != null && preferredLocalization.getLanguageCode() != null &&
streamLocale.getLanguage().equals(new Locale(preferredLocalization.getLanguageCode()).getLanguage());
final boolean countryEquals = streamLocale.getCountry() != null && streamLocale.getCountry().equals(preferredLocalization.getCountryCode());
if (languageEquals) {
if (countryEquals) return i;
candidate = i;
}
}
// fallback
// 1st loop match country & language
// 2nd loop match language only
int index = loc.getLanguage().indexOf("-");
String lang = index > 0 ? loc.getLanguage().substring(0, index) : loc.getLanguage();
for (int j = 0; j < 2; j++) {
for (int i = 0; i < streams.size(); i++) {
Locale streamLocale = streams.get(i).getLocale();
if (streamLocale.getLanguage().equalsIgnoreCase(lang)) {
if (j > 0 || streamLocale.getCountry().equalsIgnoreCase(loc.getCountry())) {
return i;
}
}
}
}
return 0;
return candidate;
}
StoredDirectoryHelper mainStorageAudio = null;

View File

@ -1067,7 +1067,13 @@ public class VideoDetailFragment
uploaderThumb.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.buddy));
if (info.getViewCount() >= 0) {
videoCountView.setText(Localization.localizeViewCount(activity, info.getViewCount()));
if (info.getStreamType().equals(StreamType.AUDIO_LIVE_STREAM)) {
videoCountView.setText(Localization.listeningCount(activity, info.getViewCount()));
} else if (info.getStreamType().equals(StreamType.LIVE_STREAM)) {
videoCountView.setText(Localization.watchingCount(activity, info.getViewCount()));
} else {
videoCountView.setText(Localization.localizeViewCount(activity, info.getViewCount()));
}
videoCountView.setVisibility(View.VISIBLE);
} else {
videoCountView.setVisibility(View.GONE);
@ -1120,9 +1126,15 @@ public class VideoDetailFragment
videoTitleToggleArrow.setVisibility(View.VISIBLE);
videoTitleToggleArrow.setImageResource(R.drawable.arrow_down);
videoDescriptionRootLayout.setVisibility(View.GONE);
if (!TextUtils.isEmpty(info.getUploadDate())) {
videoUploadDateView.setText(Localization.localizeDate(activity, info.getUploadDate()));
if (info.getUploadDate() != null) {
videoUploadDateView.setText(Localization.localizeUploadDate(activity, info.getUploadDate().date().getTime()));
videoUploadDateView.setVisibility(View.VISIBLE);
} else {
videoUploadDateView.setText(null);
videoUploadDateView.setVisibility(View.GONE);
}
prepareDescription(info.getDescription());
updateProgressInfo(info);

View File

@ -14,6 +14,7 @@ import org.schabi.newpipe.local.history.HistoryRecordManager;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.util.CommentTextOnTouchListener;
import org.schabi.newpipe.util.ImageDisplayConstants;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import java.util.regex.Matcher;
@ -101,10 +102,17 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
ellipsize();
}
if (null != item.getLikeCount()) {
if (item.getLikeCount() >= 0) {
itemLikesCountView.setText(String.valueOf(item.getLikeCount()));
} else {
itemLikesCountView.setText("-");
}
if (item.getPublishedTime() != null) {
itemPublishedTime.setText(Localization.relativeTime(item.getPublishedTime().date()));
} else {
itemPublishedTime.setText(item.getTextualPublishedTime());
}
itemPublishedTime.setText(item.getPublishedTime());
itemView.setOnClickListener(view -> {
toggleEllipsize();

View File

@ -1,5 +1,6 @@
package org.schabi.newpipe.info_list.holder;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.view.ViewGroup;
import android.widget.TextView;
@ -7,10 +8,13 @@ import android.widget.TextView;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.InfoItem;
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
import org.schabi.newpipe.extractor.stream.StreamType;
import org.schabi.newpipe.info_list.InfoItemBuilder;
import org.schabi.newpipe.local.history.HistoryRecordManager;
import org.schabi.newpipe.util.Localization;
import static org.schabi.newpipe.MainActivity.DEBUG;
/*
* Created by Christian Schabesberger on 01.08.16.
* <p>
@ -53,15 +57,38 @@ public class StreamInfoItemHolder extends StreamMiniInfoItemHolder {
private String getStreamInfoDetailLine(final StreamInfoItem infoItem) {
String viewsAndDate = "";
if (infoItem.getViewCount() >= 0) {
viewsAndDate = Localization.shortViewCount(itemBuilder.getContext(), infoItem.getViewCount());
}
if (!TextUtils.isEmpty(infoItem.getUploadDate())) {
if (viewsAndDate.isEmpty()) {
viewsAndDate = infoItem.getUploadDate();
if (infoItem.getStreamType().equals(StreamType.AUDIO_LIVE_STREAM)) {
viewsAndDate = Localization.listeningCount(itemBuilder.getContext(), infoItem.getViewCount());
} else if (infoItem.getStreamType().equals(StreamType.LIVE_STREAM)) {
viewsAndDate = Localization.watchingCount(itemBuilder.getContext(), infoItem.getViewCount());
} else {
viewsAndDate += "" + infoItem.getUploadDate();
viewsAndDate = Localization.shortViewCount(itemBuilder.getContext(), infoItem.getViewCount());
}
}
final String uploadDate = getFormattedRelativeUploadDate(infoItem);
if (!TextUtils.isEmpty(uploadDate)) {
if (viewsAndDate.isEmpty()) {
return uploadDate;
}
return Localization.concatenateStrings(viewsAndDate, uploadDate);
}
return viewsAndDate;
}
private String getFormattedRelativeUploadDate(final StreamInfoItem infoItem) {
if (infoItem.getUploadDate() != null) {
String formattedRelativeTime = Localization.relativeTime(infoItem.getUploadDate().date());
if (DEBUG && PreferenceManager.getDefaultSharedPreferences(itemBuilder.getContext())
.getBoolean(itemBuilder.getContext().getString(R.string.show_original_time_ago_key), false)) {
formattedRelativeTime += " (" + infoItem.getTextualUploadDate() + ")";
}
return formattedRelativeTime;
} else {
return infoItem.getTextualUploadDate();
}
}
}

View File

@ -55,7 +55,7 @@ import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
import org.schabi.newpipe.BuildConfig;
import org.schabi.newpipe.Downloader;
import org.schabi.newpipe.DownloaderImpl;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.local.history.HistoryRecordManager;
@ -209,7 +209,7 @@ public abstract class BasePlayer implements
this.progressUpdateReactor = new SerialDisposable();
this.databaseUpdateReactor = new CompositeDisposable();
final String userAgent = Downloader.USER_AGENT;
final String userAgent = DownloaderImpl.USER_AGENT;
final DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter.Builder(context).build();
this.dataSource = new PlayerDataSource(context, userAgent, bandwidthMeter);

View File

@ -7,21 +7,22 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.EditTextPreference;
import androidx.preference.Preference;
import android.util.Log;
import android.widget.Toast;
import com.nononsenseapps.filepicker.Utils;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.schabi.newpipe.App;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.utils.Localization;
import org.schabi.newpipe.extractor.localization.ContentCountry;
import org.schabi.newpipe.extractor.localization.Localization;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.util.FilePickerActivityHelper;
@ -63,12 +64,18 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
private String thumbnailLoadToggleKey;
private Localization initialSelectedLocalization;
private ContentCountry initialSelectedContentCountry;
private CompositeDisposable disposables = new CompositeDisposable();
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
thumbnailLoadToggleKey = getString(R.string.download_thumbnail_key);
initialSelectedLocalization = org.schabi.newpipe.util.Localization.getPreferredLocalization(requireContext());
initialSelectedContentCountry = org.schabi.newpipe.util.Localization.getPreferredContentCountry(requireContext());
}
@Override
@ -121,21 +128,6 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
return true;
});
Preference setPreferredLanguage = findPreference(getString(R.string.content_language_key));
setPreferredLanguage.setOnPreferenceChangeListener((Preference p, Object newLanguage) -> {
Localization oldLocal = org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(getActivity());
NewPipe.setLocalization(new Localization(oldLocal.getCountry(), (String) newLanguage));
return true;
});
Preference setPreferredCountry = findPreference(getString(R.string.content_country_key));
setPreferredCountry.setOnPreferenceChangeListener((Preference p, Object newCountry) -> {
Localization oldLocal = org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(getActivity());
NewPipe.setLocalization(new Localization((String) newCountry, oldLocal.getLanguage()));
return true;
});
Preference peerTubeInstance = findPreference(getString(R.string.peertube_instance_url_key));
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
peerTubeInstance.setDefaultValue(sharedPreferences.getString(getString(R.string.peertube_instance_url_key), ServiceList.PeerTube.getBaseUrl()));
@ -178,6 +170,21 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
});
}
@Override
public void onDestroy() {
super.onDestroy();
final Localization selectedLocalization = org.schabi.newpipe.util.Localization
.getPreferredLocalization(requireContext());
final ContentCountry selectedContentCountry = org.schabi.newpipe.util.Localization
.getPreferredContentCountry(requireContext());
if (!selectedLocalization.equals(initialSelectedLocalization)
|| !selectedContentCountry.equals(initialSelectedContentCountry)) {
Toast.makeText(requireContext(), R.string.localization_changes_requires_app_restart, Toast.LENGTH_LONG).show();
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, @NonNull Intent data) {
super.onActivityResult(requestCode, resultCode, data);

View File

@ -32,7 +32,7 @@ import org.schabi.newpipe.extractor.Info;
import org.schabi.newpipe.extractor.InfoItem;
import org.schabi.newpipe.extractor.ListExtractor.InfoItemsPage;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.SuggestionExtractor;
import org.schabi.newpipe.extractor.suggestion.SuggestionExtractor;
import org.schabi.newpipe.extractor.channel.ChannelInfo;
import org.schabi.newpipe.extractor.comments.CommentsInfo;
import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException;

View File

@ -2,24 +2,26 @@ package org.schabi.newpipe.util;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.preference.PreferenceManager;
import androidx.annotation.NonNull;
import androidx.annotation.PluralsRes;
import androidx.annotation.StringRes;
import android.text.TextUtils;
import org.ocpsoft.prettytime.PrettyTime;
import org.ocpsoft.prettytime.units.Decade;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.localization.ContentCountry;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import androidx.annotation.NonNull;
import androidx.annotation.PluralsRes;
import androidx.annotation.StringRes;
/*
* Created by chschtsch on 12/29/15.
*
@ -42,11 +44,16 @@ import java.util.Locale;
public class Localization {
public final static String DOT_SEPARATOR = "";
private static PrettyTime prettyTime;
private static final String DOT_SEPARATOR = "";
private Localization() {
}
public static void init() {
initPrettyTime();
}
@NonNull
public static String concatenateStrings(final String... strings) {
return concatenateStrings(Arrays.asList(strings));
@ -69,16 +76,18 @@ public class Localization {
return stringBuilder.toString();
}
public static org.schabi.newpipe.extractor.utils.Localization getPreferredExtractorLocal(Context context) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
public static org.schabi.newpipe.extractor.localization.Localization getPreferredLocalization(final Context context) {
final String contentLanguage = PreferenceManager
.getDefaultSharedPreferences(context)
.getString(context.getString(R.string.content_language_key), context.getString(R.string.default_language_value));
return org.schabi.newpipe.extractor.localization.Localization.fromLocalizationCode(contentLanguage);
}
String languageCode = sp.getString(context.getString(R.string.content_language_key),
context.getString(R.string.default_language_value));
String countryCode = sp.getString(context.getString(R.string.content_country_key),
context.getString(R.string.default_country_value));
return new org.schabi.newpipe.extractor.utils.Localization(countryCode, languageCode);
public static ContentCountry getPreferredContentCountry(final Context context) {
final String contentCountry = PreferenceManager
.getDefaultSharedPreferences(context)
.getString(context.getString(R.string.content_country_key), context.getString(R.string.default_country_value));
return new ContentCountry(contentCountry);
}
public static Locale getPreferredLocale(Context context) {
@ -106,27 +115,12 @@ public class Localization {
return nf.format(number);
}
private static String formatDate(Context context, String date) {
Locale locale = getPreferredLocale(context);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date datum = null;
try {
datum = formatter.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
return df.format(datum);
public static String formatDate(Date date) {
return DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault()).format(date);
}
public static String localizeDate(Context context, String date) {
Resources res = context.getResources();
String dateString = res.getString(R.string.upload_date_text);
String formattedDate = formatDate(context, date);
return String.format(dateString, formattedDate);
public static String localizeUploadDate(Context context, Date date) {
return context.getString(R.string.upload_date_text, formatDate(date));
}
public static String localizeViewCount(Context context, long viewCount) {
@ -153,6 +147,14 @@ public class Localization {
}
}
public static String listeningCount(Context context, long listeningCount) {
return getQuantity(context, R.plurals.listening, R.string.no_one_listening, listeningCount, shortCount(context, listeningCount));
}
public static String watchingCount(Context context, long watchingCount) {
return getQuantity(context, R.plurals.watching, R.string.no_one_watching, watchingCount, shortCount(context, watchingCount));
}
public static String shortViewCount(Context context, long viewCount) {
return getQuantity(context, R.plurals.views, R.string.no_views, viewCount, shortCount(context, viewCount));
}
@ -192,4 +194,26 @@ public class Localization {
}
return output;
}
/*//////////////////////////////////////////////////////////////////////////
// Pretty Time
//////////////////////////////////////////////////////////////////////////*/
private static void initPrettyTime() {
prettyTime = new PrettyTime(Locale.getDefault());
// Do not use decades as YouTube doesn't either.
prettyTime.removeUnit(Decade.class);
}
private static PrettyTime getPrettyTime() {
// If pretty time's Locale is different, init again with the new one.
if (!prettyTime.getLocale().equals(Locale.getDefault())) {
initPrettyTime();
}
return prettyTime;
}
public static String relativeTime(Calendar calendarTime) {
return getPrettyTime().formatUnrounded(calendarTime);
}
}

View File

@ -10,7 +10,7 @@ import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import org.schabi.newpipe.Downloader;
import org.schabi.newpipe.DownloaderImpl;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.stream.AudioStream;
import org.schabi.newpipe.extractor.stream.Stream;
@ -182,7 +182,7 @@ public class StreamItemAdapter<T extends Stream, U extends Stream> extends BaseA
continue;
}
final long contentLength = Downloader.getInstance().getContentLength(stream.getUrl());
final long contentLength = DownloaderImpl.getInstance().getContentLength(stream.getUrl());
streamsWrapper.setSize(stream, contentLength);
hasChanged = true;
}

View File

@ -5,7 +5,7 @@ import android.util.Log;
import androidx.annotation.Nullable;
import org.schabi.newpipe.Downloader;
import org.schabi.newpipe.DownloaderImpl;
import java.io.File;
import java.io.FileNotFoundException;
@ -212,7 +212,7 @@ public class DownloadMission extends Mission {
HttpURLConnection openConnection(String url, int threadId, long rangeStart, long rangeEnd) throws IOException {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty("User-Agent", Downloader.USER_AGENT);
conn.setRequestProperty("User-Agent", DownloaderImpl.USER_AGENT);
conn.setRequestProperty("Accept", "*/*");
// BUG workaround: switching between networks can freeze the download forever

View File

@ -42,7 +42,7 @@
<string name="share">مشاركة</string>
<string name="share_dialog_title">مشاركة بواسطة</string>
<string name="show_next_and_similar_title">عرض مقاطع الفيديو \"التالية\" و \"المشابهة\"</string>
<string name="show_play_with_kodi_summary">عرض خيار تشغيل الفيديو عبر وسائط Kodi</string>
<string name="show_play_with_kodi_summary">عرض خيار تشغيل الفيديو عبر مركز وسائط كودي</string>
<string name="show_play_with_kodi_title">عرض خيار التشغيل بواسطة كودي</string>
<string name="theme_title">السمة</string>
<string name="upload_date_text">تم النشر يوم %1$s</string>
@ -80,7 +80,7 @@
<string name="title_activity_history">التاريخ</string>
<string name="action_history">التاريخ</string>
<string name="open_in_popup_mode">فتح في وضع منبثق</string>
<string name="use_external_video_player_summary">يزيل الصوت في بعض مستوى الدقة</string>
<string name="use_external_video_player_summary">إزالة الصوت في بعض مستوى الدقة</string>
<string name="popup_mode_share_menu_title">وضع النوافذ المنبثقة NewPipe</string>
<string name="channel_unsubscribed">تم إلغاء الاشتراك في القناة</string>
<string name="subscription_change_failed">تعذر تغيير حالة الاشتراك</string>
@ -153,17 +153,17 @@
<string name="audio">الصوت</string>
<string name="retry">إعادة المحاولة</string>
<string name="storage_permission_denied">تم رفض إذن الوصول إلى التخزين</string>
<string name="short_thousand">K</string>
<string name="short_thousand">ألف</string>
<string name="short_million">مليون</string>
<string name="short_billion">G</string>
<string name="no_subscribers">ليس هناك مشترِكون</string>
<plurals name="subscribers">
<item quantity="zero">%s لا يوجد مشاركين</item>
<item quantity="one">%s مشترك</item>
<item quantity="two">"%s مشتركتين"</item>
<item quantity="two">%s مشاريكان</item>
<item quantity="few">%s اشتراكات</item>
<item quantity="many">%s مشاركين</item>
<item quantity="other">%s مشتركون</item>
<item quantity="many">%s مشاركون</item>
<item quantity="other">%s اشتراك</item>
</plurals>
<string name="no_views">دون مشاهدات</string>
<string name="no_videos">لاتوجد فيديوهات</string>
@ -200,7 +200,7 @@
<string name="action_open_website">فتح الموقع</string>
<string name="tab_contributors">المساهمون</string>
<string name="tab_licenses">التراخيص</string>
<string name="app_description">تطبيق مجاني خفيف الوزن وبث حي على نظام أندرويد.</string>
<string name="app_description">مجاني خفيف الوزن بث حي على أندرويد.</string>
<string name="contribution_title">ساهم</string>
<string name="contribution_encouragement">إذا كانت لديك أفكار؛ أو ترجمة، أو تغييرات تخص التصميم، أو تنظيف و تحسين الشفرة البرمجية ، أو تعديلات عميقة عليها، فتذكر أنّ مساعدتك دائما موضع ترحيب. وكلما أتممنا شيئا كلما كان ذلك أفضل !</string>
<string name="view_on_github">عرض على GitHub</string>
@ -238,20 +238,20 @@
<string name="reCaptcha_title">تحدي الكابتشا</string>
<string name="hold_to_append">ضغط مطول للإدراج الى قائمة الانتظار</string>
<plurals name="views">
<item quantity="zero">بدون مشاهدات</item>
<item quantity="one">%s مشاهدة</item>
<item quantity="two">%s مشاهدتين</item>
<item quantity="few">%s مشاهدون</item>
<item quantity="many">%s مشاهدات</item>
<item quantity="other">%s مشاهدين</item>
<item quantity="zero">%s بدون مشهد</item>
<item quantity="one">%s شاهد</item>
<item quantity="two">%s مشاهدتان</item>
<item quantity="few">%s مشاهدات</item>
<item quantity="many">%s مشاهدون</item>
<item quantity="other">%s شاهدو</item>
</plurals>
<plurals name="videos">
<item quantity="zero">%s لا يوجد فيديو</item>
<item quantity="one">%s فيديو</item>
<item quantity="two">%s فيديوان</item>
<item quantity="few">%s فيديوات</item>
<item quantity="many">%s فيديوهات</item>
<item quantity="other">%s مزيد من الفيديوات</item>
<item quantity="zero">فيديو%s video</item>
<item quantity="one">%s videosفيديوهات</item>
<item quantity="two">%s videosفيديوهات</item>
<item quantity="few">%s videosفيديوهات</item>
<item quantity="many">%s videosفيديوهات</item>
<item quantity="other">%s videosفيديوهات</item>
</plurals>
<string name="recaptcha_request_toast">طلب اختبار الكابتشا مطلوب</string>
<string name="copyright" formatted="true">© %1$sبواسطة%2$sتحت%3$s</string>
@ -522,4 +522,5 @@
<string name="delete_playback_states_alert">حذف كل مواقف التشغيل؟</string>
<string name="download_choose_new_path">تغيير مجلدات التنزيل إلى حيز التنفيذ‮‮‮</string>
<string name="drawer_header_description">تبديل الخدمة ، المحدد حاليًا:</string>
<string name="default_kiosk_page_sumatry">الكشك الافتراضي</string>
</resources>

View File

@ -6,6 +6,153 @@
<string name="open_in_browser">在浏览器中打开</string>
<string name="open_in_popup_mode">在悬浮窗模式下打开</string>
<string name="did_you_mean">您是不是要找:%1$s</string>
<string name="no_player_found_toast">找不到串流播放器 您可以安裝並使用VLC播放</string>
<string name="controls_download_desc">下载媒体文件</string>
<string name="no_player_found_toast">找不到串流播放器 您可以安裝并使用VLC播放</string>
<string name="controls_download_desc">下载串流文件</string>
<string name="install">安装</string>
<string name="cancel">取消</string>
<string name="share">分享</string>
<string name="download">下载</string>
<string name="search">搜索</string>
<string name="settings">设置</string>
<string name="share_dialog_title">分享给...</string>
<string name="choose_browser">选择浏览器</string>
<string name="download_path_title">视频下载文件夹</string>
<string name="download_path_summary">已下载的视频存储在这里</string>
<string name="download_path_dialog_title">请选择下载视频的保存位置</string>
<string name="download_path_audio_summary">已下载的音频存储在这里</string>
<string name="download_path_audio_dialog_title">选择下载音频的储存位置</string>
<string name="autoplay_by_calling_app_title">自动播放</string>
<string name="play_with_kodi_title">使用Kodi播放</string>
<string name="theme_title">主题</string>
<string name="light_theme_title">浅色</string>
<string name="dark_theme_title">暗黑</string>
<string name="black_theme_title">黑色</string>
<string name="download_dialog_title">下载</string>
<string name="next_video_title">下一个</string>
<string name="url_not_supported_toast">不支持的 URL</string>
<string name="settings_category_appearance_title">外观</string>
<string name="settings_category_other_title">其他</string>
<string name="all">全部</string>
<string name="channel">频道</string>
<string name="yes"></string>
<string name="later">稍后</string>
<string name="network_error">网络错误</string>
<plurals name="videos">
<item quantity="one">%s 个视频</item>
<item quantity="other"/>
</plurals>
<string name="disabled">禁用</string>
<string name="controls_background_title">背景</string>
<string name="filter">过滤器</string>
<string name="refresh">刷新</string>
<string name="show_search_suggestions_title">搜索建议</string>
<string name="subscribe_button_title">订阅</string>
<string name="subscribed_button_title">已订阅</string>
<string name="enable_watch_history_title">观看历史</string>
<string name="settings_category_player_title">播放器</string>
<string name="settings_category_history_title">历史记录与缓存</string>
<string name="playlist">播放列表</string>
<string name="undo">撤销</string>
<string name="play_all">全部播放</string>
<string name="always">总是</string>
<string name="just_once">仅一次</string>
<string name="controls_add_to_playlist_title">添加至</string>
<string name="file">文件</string>
<string name="download_thumbnail_title">加载缩略图</string>
<string name="clear_views_history_title">清除观看记录</string>
<string name="minimize_on_exit_none_description"></string>
<string name="minimize_on_exit_background_description">最小化后台播放器</string>
<string name="minimize_on_exit_popup_description">最小化小窗口播放器</string>
<string name="channels">频道</string>
<string name="playlists">播放列表</string>
<string name="unsubscribe">取消订阅</string>
<string name="tab_new">新标签</string>
<string name="settings_category_updates_title">更新</string>
<string name="file_deleted">文件已删除</string>
<string name="subscribers_count_not_available">无法得知订阅人数</string>
<string name="updates_setting_description">每推出新版本时,弹出应用升级通知</string>
<string name="grid">网格</string>
<string name="app_update_notification_content_title">新版 NewPipe 已可升级!</string>
<string name="error_http_unsupported_range">服务器不接受 接收 multi-threaded 下载, 以 @string/msg_threads = 1 重试</string>
<string name="autoplay_title">自动播放</string>
<string name="settings_category_clear_data_title">清除数据</string>
<string name="watch_history_deleted">观看记录已删除</string>
<string name="detail_likes_img_view_description">喜欢</string>
<string name="detail_dislikes_img_view_description">不喜欢</string>
<string name="use_tor_title">使用Tor</string>
<string name="use_tor_summary">(实验性)通过 Tor 强制下载流量以增强隐私(暂不支持串流视频)。</string>
<string name="report_error">报告错误</string>
<string name="user_report">用户报告</string>
<string name="err_dir_create">无法创建下载目录\"%1$s\"</string>
<string name="info_dir_created">已成功创建下载目录「%1$s」</string>
<string name="video">视频</string>
<string name="audio">音频</string>
<string name="retry">重试</string>
<string name="storage_permission_denied">存储访问权限已被拒绝</string>
<plurals name="views">
<item quantity="one">%1$s 次观看</item>
<item quantity="other"></item>
</plurals>
<string name="short_thousand"></string>
<string name="short_million">百万</string>
<string name="start">开始</string>
<string name="pause">暂停</string>
<string name="view">播放</string>
<string name="delete">删除</string>
<string name="checksum">校验</string>
<string name="add">新任务</string>
<string name="finish">OK</string>
<string name="msg_name">文件名</string>
<string name="msg_threads">线程数</string>
<string name="msg_error">错误</string>
<string name="msg_server_unsupported">不支持的服务器</string>
<string name="msg_exists">文件已存在</string>
<string name="msg_running_detail">点击了解详情</string>
<string name="msg_wait">请稍候…</string>
<string name="msg_copied">复制至剪贴板</string>
<string name="reCaptchaActivity">reCAPTCHA验证码</string>
<string name="controls_popup_title">弹出</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="settings_category_downloads_title">下载</string>
<string name="settings_file_charset_title">文件名中允许的字符</string>
<string name="settings_file_replacement_character_summary">无效字符将会替换为此字符</string>
<string name="charset_letters_and_digits">字母和数字</string>
<string name="charset_most_special_characters">最特殊字符</string>
<string name="search_no_results">没有结果</string>
<string name="no_subscribers">没有订阅者</string>
<plurals name="subscribers">
<item quantity="one">%s个订阅者</item>
<item quantity="other"></item>
</plurals>
<string name="no_videos">没有视频</string>
<string name="detail_drag_description">拖动以重新排序</string>
<string name="create">创建</string>
<string name="delete_one">仅删除一个</string>
<string name="delete_all">全部删除</string>
<string name="dismiss">解除</string>
<string name="rename">重 命名</string>
<string name="toast_no_player">未安装用于播放此文件的应用程序</string>
<string name="one_item_deleted">已删除1个项目。</string>
<string name="main_page_content_summary">哪些标签需要在主页上展示</string>
<string name="list_view_mode">列表观看模式</string>
<string name="missions_header_finished">已完成</string>
<string name="missions_header_pending">等待中…</string>
<string name="paused">已暂停</string>
<string name="queued">排队中</string>
<string name="enqueue">已加入队列</string>
<string name="permission_denied">操作已被系统拒绝</string>
<string name="download_failed">下载失败</string>
<string name="download_finished">下载完成</string>
<string name="download_finished_more">%s 次下载已完成</string>
<string name="no_comments">没有评论</string>
<string name="drawer_header_description">切换服务,当前选择:</string>
</resources>

View File

@ -27,7 +27,7 @@
<string name="default_audio_format_title">Bevorzugtes Audioformat</string>
<string name="download_dialog_title">Herunterladen</string>
<string name="next_video_title">Nächste</string>
<string name="show_next_and_similar_title">\'Nächste\' und \'ähnliche\' Videos anzeigen</string>
<string name="show_next_and_similar_title">\"Nächste\" und \"ähnliche\" Videos anzeigen</string>
<string name="url_not_supported_toast">Nicht unterstützte URL</string>
<string name="settings_category_video_audio_title">Video &amp; Audio</string>
<string name="content_language_title">Bevorzugte Sprache des Inhalts</string>
@ -51,8 +51,8 @@
<string name="light_theme_title">Hell</string>
<string name="settings_category_appearance_title">Aussehen</string>
<string name="settings_category_other_title">Andere</string>
<string name="err_dir_create">Kann Downloadverzeichnis \'%1$s\' nicht anlegen</string>
<string name="info_dir_created">Downloadverzeichnis \'%1$s\' erstellt</string>
<string name="err_dir_create">Kann Downloadverzeichnis \"%1$s\" nicht anlegen</string>
<string name="info_dir_created">Downloadverzeichnis \"%1$s\" erstellt</string>
<string name="general_error">Fehler</string>
<string name="could_not_load_thumbnails">Konnte nicht alle Vorschaubilder laden</string>
<string name="youtube_signature_decryption_error">Konnte Video-URL-Signatur nicht entschlüsseln</string>
@ -364,7 +364,7 @@
\n4. Kopiere die Profil-URL, zu der Du weitergeleitet wurdest.</string>
<string name="import_soundcloud_instructions_hint">yourID, soundcloud.com/yourid</string>
<string name="no_streams_available_download">Keine Streams zum Download verfügbar</string>
<string name="preferred_open_action_settings_title">Bevorzugte \'Öffnen\' Aktion</string>
<string name="preferred_open_action_settings_title">Bevorzugte \"Öffnen\" Aktion</string>
<string name="preferred_open_action_settings_summary">Standardaktion beim Öffnen von Inhalten - %s</string>
<string name="caption_setting_title">Untertitel</string>
<string name="caption_setting_description">Textgröße und Hintergrund der Untertitel im Player anpassen. Wird erst nach Neustart der App wirksam.</string>
@ -507,4 +507,5 @@
<string name="delete_playback_states_alert">Alle Wiedergabepositionen löschen\?</string>
<string name="download_choose_new_path">Ändere die Downloadordner, damit sie wirksam werden</string>
<string name="drawer_header_description">Dienst umschalten, aktuell ausgewählt:</string>
<string name="default_kiosk_page_sumatry">Quiosque Predefinido</string>
</resources>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="view_count_text">%1$s vidoj</string>
<string name="view_count_text">%1$s spektaĵoj</string>
<string name="upload_date_text">Eldonita je %1$s</string>
<string name="install">Instali</string>
<string name="cancel">Nuligi</string>
@ -58,12 +58,12 @@
<string name="download_path_dialog_title">Elektu lokon por konservi elŝutitajn filmetojn</string>
<string name="download_path_audio_dialog_title">Elektu lokon por konservi elŝutitajn muzikojn</string>
<string name="content">Enhavo</string>
<string name="error_report_button_text">Raporti eraron per retpoŝto</string>
<string name="error_snackbar_action">RAPORTI</string>
<string name="error_report_button_text">Signali eraron per retpoŝto</string>
<string name="error_snackbar_action">SIGNALI</string>
<string name="what_device_headline">Informoj:</string>
<string name="your_comment">Via komento (en la angla):</string>
<string name="error_details_headline">Detaloj:</string>
<string name="report_error">Raporti eraron</string>
<string name="report_error">Signali eraron</string>
<string name="video">Filmeto</string>
<string name="retry">Reprovi</string>
<string name="main_bg_subtitle">Premu serĉo por komenci</string>
@ -106,7 +106,7 @@
<string name="duration_live">NUNA</string>
<string name="downloads">Elŝutoj</string>
<string name="downloads_title">Elŝutoj</string>
<string name="error_report_title">Raporto de eraro</string>
<string name="error_report_title">Erarosignalo</string>
<string name="could_not_load_image">Ne povis ŝarĝi bildon</string>
<string name="app_ui_crash">Apo kraŝis</string>
<string name="reCaptchaActivity">reCAPTCHA</string>
@ -115,8 +115,8 @@
<string name="all">Ĉiuj</string>
<string name="channel">Kanalo</string>
<plurals name="videos">
<item quantity="one">Filmetoj</item>
<item quantity="other"></item>
<item quantity="one">%s filmeto</item>
<item quantity="other">%s filmetoj</item>
</plurals>
<string name="yes">Jes</string>
<string name="later">Poste</string>
@ -203,7 +203,7 @@
<string name="playlist_add_stream_success">Ludlistita</string>
<string name="playlist_thumbnail_change_success">Bildeto de ludlisto ŝanĝiĝita.</string>
<string name="playlist_delete_failure">Ne povis forigi ludlisto.</string>
<string name="settings_category_debug_title">Sencimigi</string>
<string name="settings_category_debug_title">Malcimigi</string>
<string name="auto_queue_title">Auto-vico sekva fluo</string>
<string name="auto_queue_summary">Aŭto-aldoni rilatan enhavon kiam leganta la lasta enhavo en malrepetita atendovico</string>
<string name="file">Dosiero</string>
@ -216,10 +216,10 @@
\n1. Iru ĉe tie retpaĝo : %1$s
\n2. Ensalutu kiam oni petas vin
\n3. Elŝuto devus komenci (ĝi estas la dosiero de eksporto)</string>
<string name="import_soundcloud_instructions">Importu Soundcloud-n profilon per elŝuti la dosieron de eksporto :
\n
\n1. Ebligu komputilon modon en krozilo (la retejo ne estas havebla por poŝtelefonoj)
\n2. Iru al tie retpaĝo : %1$s
<string name="import_soundcloud_instructions">Importu Soundcloud-n profilon per elŝuti la dosieron de eksporto :
\n
\n1. Ebligu komputilon modon en krozilo (la retejo malhaveblas por poŝtelefonoj)
\n2. Iru al tie retpaĝo : %1$s
\n3. Ensalutu kiam oni petas vin
\n4. Kopiu la ligilon de profilo ke oni kondikis vin.</string>
<string name="download_thumbnail_summary">Malŝaltu por malebligi ŝarĝajn bildetojn, konservi datumojn kaj uzadon de memoro. Ŝanĝoj forviŝas ambaŭ en-memoro kaj sur-disko bildo kaŝmemoro.</string>
@ -237,7 +237,7 @@
<string name="delete_search_history_alert">Ĉu vi volas forviŝi la totalon de la historio de serĉo \?</string>
<string name="search_history_deleted">Historio de serĉo forviŝita.</string>
<string name="limit_mobile_data_usage_title">Limigi distingivo kiam uzanta moveblan datumon</string>
<string name="minimize_on_exit_popup_description">Minimumigu al ŝprucfenestro ludilo</string>
<string name="minimize_on_exit_popup_description">Minimumigi al ŝprucfenestro ludilo</string>
<string name="channels">Kanaloj</string>
<string name="playlists">Ludlistoj</string>
<string name="tracks">Spuroj</string>
@ -250,11 +250,11 @@
<string name="brightness_gesture_control_title">Kontrolo de gesto de brilo</string>
<string name="brightness_gesture_control_summary">Uzu gestojn por kontroli la brilon de la ludilo</string>
<string name="settings_category_updates_title">Ĝisdatigoj</string>
<string name="file_deleted">Dosiero forigita</string>
<string name="file_deleted">Dosiero forviŝita</string>
<string name="app_update_notification_channel_name">Sciigo por ĝisdatigi apon</string>
<string name="app_update_notification_channel_description">Sciigo por nova versio de Newpipe</string>
<string name="download_to_sdcard_error_title">Ekstera konservejo malhavebla</string>
<string name="download_to_sdcard_error_message">Elŝuti al ekstera SD-karto ne eblas. Ĉu vi volas rekomencigi la elŝutan dosierujon \?</string>
<string name="download_to_sdcard_error_message">Elŝuti al ekstera SD-karto ne eblas. Ĉu vi volas restarigi la elŝutan dosierujon \?</string>
<string name="queued">viciĝita</string>
<string name="enqueue">Atendovico</string>
<string name="stop">Halti</string>
@ -268,18 +268,18 @@
<string name="autoplay_title">Aŭtolego</string>
<plurals name="comments">
<item quantity="one">Komentoj</item>
<item quantity="other"></item>
<item quantity="other"/>
</plurals>
<string name="error_unable_to_load_comments">Ne povis ŝarĝi komentojn</string>
<string name="close">Fermi</string>
<string name="enable_playback_resume_title">Repreni la legon</string>
<string name="enable_playback_resume_summary">Restaŭri la lastan legan pozicion</string>
<string name="enable_playback_resume_title">Repreni la ludon</string>
<string name="enable_playback_resume_summary">Restaŭri la lastan ludan pozicion</string>
<string name="enable_playback_state_lists_title">Pozicioj en listoj</string>
<string name="enable_playback_state_lists_summary">Montri la indikilojn de pozicion lega en listoj</string>
<string name="enable_playback_state_lists_summary">Montri la indikilojn de pozicioj de ludoj en listoj</string>
<string name="settings_category_clear_data_title">Forviŝi datumojn</string>
<string name="watch_history_deleted">Historio forviŝita.</string>
<string name="watch_history_states_deleted">Ludaj pozicioj forviŝitaj.</string>
<string name="missing_file">Dosiero movita aŭ foviŝita</string>
<string name="missing_file">Dosiero movita aŭ forviŝita</string>
<string name="overwrite_failed">ne povas dispremi la dosieron</string>
<string name="confirm_prompt">Ĉu vi certas\?</string>
<string name="enable_queue_limit">Limigi la elŝutan atendovicon</string>
@ -297,4 +297,214 @@
<string name="clear_playback_states_summary">Forviŝi la totalon de ludaj pozicioj</string>
<string name="delete_playback_states_alert">Ĉu vi volas forviŝi ĉiujn ludajn poziciojn \?</string>
<string name="download_choose_new_path">Ŝanĝu la elŝutojn dosierujojn por efekti</string>
<string name="sorry_string">Pardonu, eraro okazis.</string>
<string name="error_snackbar_message">Pardonu, kelkaj eraroj okazis.</string>
<string name="what_happened_headline">Kio okazis:</string>
<string name="info_labels">Kio:\\nPeto:\\nEnhavlingvo:\\nServo:\\nGMT Horo:\\nPako:\\nVersio:\\nOperaciumo versio:</string>
<string name="audio">Aŭdio</string>
<string name="storage_permission_denied">Permeso por atingi la konservon rifuzita</string>
<string name="user_report">Uzantosignalo</string>
<string name="start">Komenci</string>
<string name="pause">Paŭzigi</string>
<string name="view">Ludi</string>
<string name="delete">Forigi</string>
<string name="checksum">Kontrolsumo</string>
<string name="add">Nova misio</string>
<string name="finish">Bone</string>
<string name="msg_name">Dosiernomo</string>
<string name="msg_threads">Fadenoj</string>
<string name="msg_error">Eraro</string>
<string name="msg_server_unsupported">Nesubtenata servilo</string>
<string name="msg_exists">Dosiero jam ekzistas</string>
<string name="msg_url_malform">Malformita ligilo aŭ interreto malhavebla</string>
<string name="msg_running">NewPipe estas elŝutanta</string>
<string name="msg_running_detail">Premu por detaladoj</string>
<string name="msg_wait">Bonvolu atendi…</string>
<string name="msg_copied">Enpoŝigita</string>
<string name="no_available_dir">Bonvolu difini elŝutan dosierujon poste en agordoj</string>
<plurals name="views">
<item quantity="one">%s spektaĵo</item>
<item quantity="other">%s spektaĵoj</item>
</plurals>
<string name="short_thousand">k</string>
<string name="short_million">M</string>
<string name="short_billion">B</string>
<string name="title_activity_about">Pri NewPipe</string>
<string name="action_settings">Agordoj</string>
<string name="action_about">Pri</string>
<string name="title_licenses">Eksteraj permesiloj</string>
<string name="copyright" formatted="true">© %1$s de %2$s sub %3$s</string>
<string name="error_unable_to_load_license">Ne povis ŝargi permisilon</string>
<string name="action_open_website">Malfermi la retejon</string>
<string name="tab_about">Pri</string>
<string name="tab_contributors">Kontribuintoj</string>
<string name="tab_licenses">Permesiloj</string>
<string name="view_on_github">Rigardu ĉe GitHub</string>
<string name="app_license_title">Permesilo de NewPipe</string>
<string name="contribution_encouragement">Ĉu vi havas ideojn pri; traduko, desegnaĵoj ŝanĝoj, purigado de kodo, aŭ realaj masivaj ŝanĝoj—helpo estas ĉiam bonvena. Ju pli oni faras, des pli bonas!</string>
<string name="read_full_license">Legu permesilon</string>
<string name="contribution_title">Kontribui</string>
<string name="settings_file_charset_title">Permesitaj karakteroj en dosiernomoj</string>
<string name="settings_file_replacement_character_summary">Nevalidaj karakteroj estas anstataŭigita kun ĉi tiu valoro</string>
<string name="settings_file_replacement_character_title">Anstataŭa karaktero</string>
<string name="title_activity_history">Historio</string>
<string name="title_history_search">Serĉita</string>
<string name="title_history_view">Spektita</string>
<string name="history_disabled">La historio estas malŝatita</string>
<string name="action_history">Historio</string>
<string name="history_empty">La historio estas malplena</string>
<string name="history_cleared">Historio vakigita</string>
<string name="search_no_results">Neniuj rezultoj</string>
<string name="empty_subscription_feed_subtitle">Neniu enhavo</string>
<string name="no_subscribers">Neniuj abonantoj</string>
<plurals name="subscribers">
<item quantity="one">%s abonanto</item>
<item quantity="other">%s abonantoj</item>
</plurals>
<string name="no_views">Neniuj spektaĵoj</string>
<string name="no_videos">Neniu filmeto</string>
<string name="item_deleted">Ero forviŝita</string>
<string name="delete_item_search_history">Ĉu vi volas forviŝi tion eron el la historio de serĉo \?</string>
<string name="main_page_content">Enhavo de la ĉefpaĝo</string>
<string name="blank_page_summary">Malplena Paĝo</string>
<string name="kiosk_page_summary">Kioska Paĝo</string>
<string name="subscription_page_summary">Abonpaĝo</string>
<string name="feed_page_summary">Paĝo de la fluo</string>
<string name="channel_page_summary">Kanala Paĝo</string>
<string name="select_a_channel">Elekti kanalon</string>
<string name="no_channel_subscribed_yet">Neniuj kanalaj abonoj ankoraŭ</string>
<string name="select_a_kiosk">Elekti kioskon</string>
<string name="start_here_on_main">Komenci ludi ĉi tie</string>
<string name="start_here_on_background">Komenci ludi en la fono</string>
<string name="donation_title">Donaci</string>
<string name="donation_encouragement">NewPipe estas programada par volontuoj, elspezante tempo por alporti vin la plej bona sperto. Redonu por helpi programistojn plibonigi NewPipe dum ĝuante tason da kafo.</string>
<string name="give_back">Redoni</string>
<string name="website_title">Retejo</string>
<string name="website_encouragement">Vizitu la retejon de NewPipe por pli da informoj kaj novaĵoj.</string>
<string name="drawer_open">Malfermi la tirkeston</string>
<string name="drawer_close">Fermi la tirtekston</string>
<string name="external_player_unsupported_link_type">Ekstaraj ludantoj ne suportas tiajn ligilojn</string>
<string name="video_player">Filmetoludilo</string>
<string name="background_player">Fona ludilo</string>
<string name="preferred_player_fetcher_notification_title">Akiranta informoj…</string>
<string name="preferred_player_fetcher_notification_message">Ŝarĝante petita enhavo</string>
<string name="export_complete_toast">Eksportita</string>
<string name="import_complete_toast">Importita</string>
<string name="no_valid_zip_file">Neniu valida ZIP-dosiero</string>
<string name="could_not_import_all_files">Averto: Ne povis importi ĉiujn dosierojn.</string>
<string name="override_current_data">Ĉi tio nuligos vian nunan aranĝon.</string>
<string name="detail_drag_description">Trenu por reorgidi</string>
<string name="create">Krei</string>
<string name="delete_one">Forigi Unu</string>
<string name="delete_all">Forigi ĉiujn</string>
<string name="dismiss">Rezigni</string>
<string name="rename">Alinomi</string>
<string name="delete_stream_history_prompt">Ĉu vi volas forviŝi tion eron el la spekta historio \?</string>
<string name="delete_all_history_prompt">Ĉu vi certas, ke vi volas forviŝi ĉiujn erojn el la historio\?</string>
<string name="title_last_played">Lasta Ludado</string>
<string name="title_most_played">Plej ludataj filmetoj</string>
<string name="caption_none">Neniuj Subtitoloj</string>
<string name="resize_fit">Alĝustigi</string>
<string name="resize_fill">Plenigi</string>
<string name="resize_zoom">Zomi</string>
<string name="drawer_header_action_paceholder_text">Io aperos ĉi tie baldaŭ ;D</string>
<string name="caption_auto_generated">Aŭtomate generita</string>
<string name="enable_leak_canary_title">Ebligi LeakCanary</string>
<string name="enable_leak_canary_summary">La monitorado de la memorlikadoj povas frostigi la apon dum la hejta dumpingo</string>
<string name="enable_disposed_exceptions_title">Signali ekster-vivciklajn erarojn</string>
<string name="enable_disposed_exceptions_summary">Perforti signalante neenretigaj Rx esceptoj eksere la fragmento aŭ aktiveco vivciklo post dispono</string>
<string name="invalid_file">La dosiero ne ekzistas aŭ la legopermeso mankas</string>
<string name="import_export_title">Importi/eksporti</string>
<string name="import_title">Importi</string>
<string name="import_from">Importi el</string>
<string name="export_to">Eksporti al</string>
<string name="import_ongoing">Importante …</string>
<string name="export_ongoing">Eksportante…</string>
<string name="import_file_title">Importi la dosieron</string>
<string name="previous_export">Antaŭa eksportaĵo</string>
<string name="subscriptions_import_unsuccessful">Ne povis importi abonojn</string>
<string name="subscriptions_export_unsuccessful">Ne povis eksporti abonojn</string>
<string name="import_soundcloud_instructions_hint">via salutnomo, soundcloud.com/salutnomo</string>
<string name="import_network_expensive_warning">"Memoru, ke ĉi tiu operacio povas esti multekosta en la reto.
\n
\nĈu vi volas daŭrigi\?"</string>
<string name="playback_speed_control">Kontroloj de rapideco de ludo</string>
<string name="playback_tempo">Tempoindiko</string>
<string name="playback_pitch">Ludkampo</string>
<string name="unhook_checkbox">Malligi (povas kaŭzi distordon)</string>
<string name="preferred_open_action_settings_title">Preferita \'malfermi\' ago</string>
<string name="preferred_open_action_settings_summary">Defaŭlta ago malfermante enhavo — %s</string>
<string name="caption_setting_title">Subtitoloj</string>
<string name="caption_setting_description">Modifi la dimension de la teksto kaj la fonajn stilojn de la subtitoloj de la ludilo. Ĝi bezonas restarto de la apo por efektiviĝi.</string>
<string name="one_item_deleted">1 ero forviŝita.</string>
<string name="app_license">NewPipe estas programaro sub rajtoceda permesilo: Vi povas uzi, studi, komuniki kaj plibonigi ĝin kiel vi volas. Precize, vi povas redistribui kaj/aŭ modifi ĝin sub la kondiĉojn de la Ĝenerala Publika Permesilo de GNU, kiel publikigita per la Free Software Foundation, ĉu en la versio 3, ĉu (se vi volas) ajna posta versio.</string>
<string name="import_settings">Ĉu vi volas ankaŭ importi agordojn\?</string>
<string name="privacy_policy_title">Privateca politiko de NewPipe</string>
<string name="privacy_policy_encouragement">La NewPipe projekto respektas vian privatecon serioze. Konsekvence, la apo ne kolektas ajnan datumo sen via konsento.
\nLa privateco politiko de Newpipe detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon.</string>
<string name="read_privacy_policy">Legi la privatecan politikon</string>
<string name="start_accept_privacy_policy">Por konformiĝi al la Ĝenerala Datum-Protekta Regularon (GDPR), ni allogas vian atento al la privateca politiko de NewPipe. Bonvolu legi ĝin atentive.
\nVi devas akcepti ĝin por sendi nin la cimsignalo.</string>
<string name="accept">Akcepti</string>
<string name="decline">Rifuzi</string>
<string name="limit_data_usage_none_description">Neniu limo</string>
<string name="minimize_on_exit_title">Minimumigi dum la apo ŝanĝo</string>
<string name="minimize_on_exit_summary">Ago dum ŝanĝante al alia apo el la ĉefa filmetludilo</string>
<string name="minimize_on_exit_none_description">Neniu</string>
<string name="minimize_on_exit_background_description">Minimumigi por ludi fone</string>
<string name="skip_silence_checkbox">Plirapidigi dum silentoj</string>
<string name="playback_step">Paŝo</string>
<string name="playback_reset">Restarigi</string>
<string name="saved_tabs_invalid_json">Uzante defaŭltajn ongletojn, eraro dum leganta savajn ongletojn</string>
<string name="restore_defaults">Restaŭri la defaŭltojn</string>
<string name="restore_defaults_confirmation">Ĉu vi volas restaŭri la defaŭltojn \?</string>
<string name="subscribers_count_not_available">Kalkulo de abonantoj malhavebla</string>
<string name="main_page_content_summary">Kioj ongletoj estas montritaj en la ĉefpaĝo</string>
<string name="selection">Elektaĵo</string>
<string name="updates_setting_title">Ĝisdatigoj</string>
<string name="updates_setting_description">Montri sciigon por proponi ĝisdatigon de la apo kiam nova versio estas havebla</string>
<string name="list_view_mode">Lista vido maniero</string>
<string name="list">Listo</string>
<string name="grid">Krado</string>
<string name="auto">Aŭto</string>
<string name="switch_view">Ŝanĝi vidon</string>
<string name="app_update_notification_content_title">Ĝisdatigo de NewPipe havebla !</string>
<string name="app_update_notification_content_text">Premu por elŝuti</string>
<string name="missions_header_finished">Finita</string>
<string name="missions_header_pending">Pritraktata</string>
<string name="paused">Paŭzigita</string>
<string name="post_processing">postprocesado</string>
<string name="permission_denied">Ago rifuzita kaŭze de la sistemon</string>
<string name="download_failed">Elŝuto fiaskis!</string>
<string name="download_finished">Elŝuto finita</string>
<string name="download_finished_more">%s elĝutoj finitaj</string>
<string name="generate_unique_name">Generu unikan nomon</string>
<string name="overwrite">Anstataŭigi</string>
<string name="download_already_running">Estas elŝuto en progreso kun ĉi tiu nomo</string>
<string name="show_error">Montri la eraron</string>
<string name="label_code">Kodo</string>
<string name="error_path_creation">La celloko-dosierujo ne povas esti kreita</string>
<string name="error_file_creation">La dosiero ne povas esti kreita</string>
<string name="error_permission_denied">Permeso rifuzita kaŭze de la sistemo</string>
<string name="error_ssl_exception">Sekura konekto malsukcesis</string>
<string name="error_unknown_host">Ne povis trovi la servilon</string>
<string name="error_connect_host">Ne povas konektiĝi al la servilo</string>
<string name="error_http_no_content">La servilo ne sendas datumojn</string>
<string name="error_http_unsupported_range">La servilo ne akceptas plurfadenajn elŝutojn, reprovu kun @string/msg_threads = 1</string>
<string name="error_http_requested_range_not_satisfiable">Petita kampo ne estas havebla</string>
<string name="error_http_not_found">Ne trovita</string>
<string name="error_postprocessing_failed">Postprocesado malsukcesis</string>
<string name="clear_finished_download">Forviŝi la finitajn elŝutojn</string>
<string name="msg_pending_downloads">Daŭrigi viajn %s pritraktajn delokigojn el Elŝutoj</string>
<string name="pause_downloads_on_mobile_desc">Utila dum la ŝanĝo al poŝdatumoj, kvankam kelkaj elŝutoj ne povas esti interrompitaj</string>
<string name="no_comments">Neniu komento</string>
<string name="overwrite_unrelated_warning">Dosiero kun ĉi tiu nomo jam ekzistas</string>
<string name="overwrite_finished_warning">Elŝutita dosieron kun ĉi tiu nomo jam ekzistas</string>
<string name="download_already_pending">Estas pritraktata elŝuto kun ĉi tiu nomo</string>
<string name="error_postprocessing_stopped">NewPipe estis fermita dum laborante sur la dosiero</string>
<string name="error_insufficient_storage">Neniu spaco havebla sur la aparato</string>
<string name="error_progress_lost">Progreso perdita, ĉar la dosiero estis forviŝita</string>
<string name="error_timeout">Eltempiĝo de Konekto</string>
<string name="drawer_header_description">Ŝangi la servon, nuntempe elektita:</string>
<string name="default_kiosk_page_sumatry">Defaŭlta Kiosko</string>
</resources>

View File

@ -2,7 +2,7 @@
<resources>
<string name="view_count_text">%1$s vistas</string>
<string name="upload_date_text">Publicado el %1$s</string>
<string name="no_player_found">No se encontró ningún reproductor de vídeo. ¿Desea instalar VLC?</string>
<string name="no_player_found">No se encontró ningún reproductor de retransmisiones. ¿Quiere instalar VLC\?</string>
<string name="install">Instalar</string>
<string name="cancel">Cancelar</string>
<string name="open_in_browser">Abrir en el navegador</string>
@ -13,21 +13,21 @@
<string name="did_you_mean">¿Quiso decir: %1$s?</string>
<string name="share_dialog_title">Compartir con</string>
<string name="choose_browser">Elegir navegador</string>
<string name="screen_rotation">rotación</string>
<string name="screen_rotation">giro</string>
<string name="download_path_title">Carpeta de descarga de vídeo</string>
<string name="download_path_summary">Aquí se almacenan los vídeos descargados</string>
<string name="download_path_dialog_title">Elegir carpeta de descarga para vídeos</string>
<string name="download_choose_new_path">Cambie las carpetas de descarga para que tenga efecto</string>
<string name="default_resolution_title">Resolución por defecto de vídeo</string>
<string name="default_resolution_title">Resolución predeterminada</string>
<string name="play_with_kodi_title">Reproducir con Kodi</string>
<string name="kore_not_found">Aplicación Kore no encontrada. ¿Instalarla?</string>
<string name="show_play_with_kodi_title">Mostrar opción \"Reproducir con Kodi\"</string>
<string name="show_play_with_kodi_summary">Mostrar una opción para reproducir vídeo en Kodi</string>
<string name="kore_not_found">No se encontró la aplicación Kore. ¿Quiere instalarla\?</string>
<string name="show_play_with_kodi_title">Mostrar opción «Reproducir con Kodi»</string>
<string name="show_play_with_kodi_summary">Mostrar una opción para reproducir vídeo en el centro multimedia Kodi</string>
<string name="play_audio">Audio</string>
<string name="default_audio_format_title">Formato de audio por defecto</string>
<string name="default_audio_format_title">Formato de audio predeterminado</string>
<string name="download_dialog_title">Descargar</string>
<string name="next_video_title">Siguiente</string>
<string name="url_not_supported_toast">URL no soportada</string>
<string name="url_not_supported_toast">No se admite el URL</string>
<string name="use_external_video_player_title">Usar reproductor de vídeo externo</string>
<string name="use_external_audio_player_title">Usar reproductor de audio externo</string>
<string name="theme_title">Tema</string>
@ -41,7 +41,7 @@
<string name="use_tor_summary">(Experimental) Forzar la descarga a través de Tor para una mayor privacidad (transmisión de vídeos aún no compatible).</string>
<string name="err_dir_create">No se puede crear la carpeta de descargas «%1$s»</string>
<string name="info_dir_created">Se creó la carpeta de descargas «%1$s»</string>
<string name="download_path_audio_summary">Los archivos de audio descargados se guardarán aquí</string>
<string name="download_path_audio_summary">Aquí se almacenan los audios descargados</string>
<string name="download_path_audio_dialog_title">Elegir carpeta de descarga para archivos de audio</string>
<string name="download_path_audio_title">Carpeta de descarga de audio</string>
<string name="settings_category_video_audio_title">Vídeo y audio</string>
@ -51,8 +51,8 @@
<string name="could_not_load_thumbnails">No se pudo cargar las miniaturas</string>
<string name="youtube_signature_decryption_error">No se pudo descifrar la URL del vídeo</string>
<string name="parsing_error">No se pudo analizar el sitio web</string>
<string name="show_next_and_similar_title">Mostrar videos \'siguientes\' y \'similares\'</string>
<string name="content_language_title">Idioma del contenido por defecto</string>
<string name="show_next_and_similar_title">Mostrar vídeos «siguientes» y «similares»</string>
<string name="content_language_title">Idioma predeterminado del contenido</string>
<string name="list_thumbnail_view_description">Miniatura de previsualización del vídeo</string>
<string name="detail_thumbnail_view_description">Reproducir vídeo; duración:</string>
<string name="detail_likes_img_view_description">Me gusta</string>
@ -68,7 +68,7 @@
<string name="duration_live">EN DIRECTO</string>
<string name="downloads">Descargas</string>
<string name="downloads_title">Descargas</string>
<string name="error_report_title">Reportar error</string>
<string name="error_report_title">Informe de error</string>
<string name="light_parsing_error">No se pudo analizar el sitio web completamente</string>
<string name="could_not_setup_download_menu">No se pudo configurar el menú de descarga</string>
<string name="could_not_get_stream">No se pudo obtener ninguna transmisión</string>
@ -122,23 +122,23 @@
<string name="reCaptcha_title">Reto reCAPTCHA</string>
<string name="recaptcha_request_toast">Reto reCAPTCHA requerido</string>
<string name="popup_mode_share_menu_title">Modo emergente de NewPipe</string>
<string name="popup_playing_toast">Reproduciendo en modo popup</string>
<string name="default_video_format_title">Formato de vídeo por defecto</string>
<string name="popup_playing_toast">Reproduciendo en modo emergente</string>
<string name="default_video_format_title">Formato de vídeo predeterminado</string>
<string name="disabled">Desactivado</string>
<string name="show_higher_resolutions_title">Mostrar resoluciones más altas</string>
<string name="show_higher_resolutions_summary">Solo algunos dispositivos soportan reproducción de vídeos en 2K/4K</string>
<string name="default_popup_resolution_title">Resolución por defecto del popup</string>
<string name="default_popup_resolution_title">Resolución predeterminada de emergente</string>
<string name="controls_background_title">Segundo plano</string>
<string name="controls_popup_title">Popup</string>
<string name="filter">Filtro</string>
<string name="refresh">Actualizar</string>
<string name="clear">Limpiar</string>
<string name="popup_remember_size_pos_title">Recordar tamaño y posición del popup</string>
<string name="popup_remember_size_pos_summary">Recordar el último tamaño y posición del popup</string>
<string name="settings_category_popup_title">Popup</string>
<string name="popup_remember_size_pos_title">Recordar tamaño y posición del repr. emerg.</string>
<string name="popup_remember_size_pos_summary">Recordar el último tamaño y posición del repr. emerg.</string>
<string name="settings_category_popup_title">Emergente</string>
<string name="popup_resizing_indicator_title">Redimensionando</string>
<string name="use_external_video_player_summary">Elimina el audio en ALGUNAS resoluciones</string>
<string name="player_gesture_controls_title">Controles de gestos del reproductor</string>
<string name="player_gesture_controls_title">Controles del reproductor por gestos</string>
<string name="player_gesture_controls_summary">Usar gestos para controlar el brillo y volumen del reproductor</string>
<string name="show_search_suggestions_title">Sugerencias de búsqueda</string>
<string name="show_search_suggestions_summary">Mostrar sugerencias cuando esté buscando</string>
@ -175,22 +175,22 @@
<string name="settings_file_replacement_character_title">Carácter de reemplazo</string>
<string name="charset_letters_and_digits">Letras y dígitos</string>
<string name="charset_most_special_characters">La mayoría de los caracteres especiales</string>
<string name="enable_search_history_title">Historial de búsqueda</string>
<string name="enable_search_history_title">Historial de búsquedas</string>
<string name="enable_search_history_summary">Almacenar búsquedas localmente</string>
<string name="enable_watch_history_title">Historial de vistas</string>
<string name="enable_watch_history_summary">Almacenar historial de vídeos vistos</string>
<string name="title_activity_history">Historial</string>
<string name="title_history_search">Búsquedas</string>
<string name="title_history_view">Reproducciones</string>
<string name="history_disabled">Historial desactivado</string>
<string name="history_disabled">El historial está desactivado</string>
<string name="action_history">Historial</string>
<string name="history_empty">El historial está vacío</string>
<string name="history_cleared">Historial borrado</string>
<string name="history_cleared">Se vació el historial</string>
<string name="notification_channel_name">Notificación de NewPipe</string>
<string name="notification_channel_description">Notificaciones para NewPipe en segundo plano y reproductores popup</string>
<string name="notification_channel_description">Notificaciones de reproductores en segundo plano o emergentes de NewPipe</string>
<string name="settings_category_player_title">Reproductor</string>
<string name="settings_category_player_behavior_title">Funcionamiento</string>
<string name="settings_category_history_title">Historial y caché</string>
<string name="settings_category_history_title">Historial y antememoria</string>
<string name="playlist">Lista de reproducción</string>
<string name="undo">Deshacer</string>
<string name="search_no_results">No hay resultados</string>
@ -210,23 +210,23 @@
<item quantity="one">%s vídeo</item>
<item quantity="other">%s vídeos</item>
</plurals>
<string name="item_deleted">Elemento eliminado</string>
<string name="delete_item_search_history">¿Desea eliminar este elemento del historial de búsqueda?</string>
<string name="item_deleted">Se eliminó el elemento</string>
<string name="delete_item_search_history">¿Quiere eliminar este elemento del historial de búsquedas\?</string>
<string name="main_page_content">Contenido de la página principal</string>
<string name="blank_page_summary">Página en blanco</string>
<string name="kiosk_page_summary">Página del kiosco</string>
<string name="subscription_page_summary">Página de suscripción</string>
<string name="feed_page_summary">Página de feed</string>
<string name="feed_page_summary">Página de novedades</string>
<string name="channel_page_summary">Página del canal</string>
<string name="select_a_channel">Seleccione un canal</string>
<string name="no_channel_subscribed_yet">No hay suscripciones a canales todavía</string>
<string name="select_a_kiosk">Seleccione un kiosco</string>
<string name="kiosk">Kiosco</string>
<string name="trending">Tendencias</string>
<string name="top_50">Top 50</string>
<string name="show_hold_to_append_summary">Mostrar sugerencia cuando se presiona el botón de segundo plano o popup en la página de detalles del vídeo</string>
<string name="background_player_append">En cola en el reproductor de fondo</string>
<string name="popup_playing_append">En cola en el reproductor popup</string>
<string name="top_50">50 mejores</string>
<string name="show_hold_to_append_summary">Mostrar sugerencia cuando se presiona el botón de 2.º plano o emergente en la página de detalles del vídeo</string>
<string name="background_player_append">En cola en el reproductor de 2.º plano</string>
<string name="popup_playing_append">En cola en el reproductor emergente</string>
<string name="play_all">Reproducir todo</string>
<string name="player_stream_failure">No se pudo reproducir este stream</string>
<string name="player_unrecoverable_failure">Se produjo un error irrecuperable del reproductor</string>
@ -235,32 +235,32 @@
<string name="title_activity_popup_player">Reproductor emergente</string>
<string name="play_queue_remove">Quitar</string>
<string name="play_queue_stream_detail">Detalles</string>
<string name="play_queue_audio_settings">Ajustes de audio</string>
<string name="play_queue_audio_settings">Configuración de audio</string>
<string name="unknown_content">[Desconocido]</string>
<string name="enqueue_on_background">Añadir a cola en segundo plano</string>
<string name="enqueue_on_popup">Añadir a cola en un popup nuevo</string>
<string name="enqueue_on_popup">Añadir a cola en reproductor emergente</string>
<string name="start_here_on_main">Comenzar a reproducir aquí</string>
<string name="start_here_on_background">Comenzar a reproducir en segundo plano</string>
<string name="start_here_on_popup">Comenzar a reproducir en un popup nuevo</string>
<string name="show_hold_to_append_title">Muestra el consejo \"Manten para poner en la cola\"</string>
<string name="new_and_hot">Nuevo y popular</string>
<string name="start_here_on_popup">Comenzar a reproducir en modo emergente</string>
<string name="show_hold_to_append_title">Mostrar consejo «Mantener presionado para agregar»</string>
<string name="new_and_hot">Novedades</string>
<string name="hold_to_append">Mantener presionado para agregar a la cola</string>
<string name="donation_title">Donar</string>
<string name="donation_encouragement">NewPipe es desarrollado por voluntarios que emplean su tiempo libre para brindarle la mejor experiencia. Haga una aportación para ayudarlos a crear un NewPipe aún mejor mientras disfrutan de una taza de café.</string>
<string name="give_back">Donar</string>
<string name="website_title">Sitio web</string>
<string name="website_encouragement">Visite el sitio web de NewPipe para más información y noticias.</string>
<string name="default_content_country_title">País del contenido por defecto</string>
<string name="default_content_country_title">País predeterminado del contenido</string>
<string name="toggle_orientation">Alternar orientación</string>
<string name="switch_to_background">Cambiar a segundo plano</string>
<string name="switch_to_popup">Cambiar a popup</string>
<string name="switch_to_popup">Cambiar a emergente</string>
<string name="switch_to_main">Cambiar a principal</string>
<string name="service_title">Servicio</string>
<string name="drawer_open">Abrir cajón</string>
<string name="drawer_close">Cerrar cajón</string>
<string name="no_player_found_toast">No se ha encontrado ningún reproductor de vídeo (puede instalar VLC para reproducirlo).</string>
<string name="no_player_found_toast">No se encontró ningún reproductor de retransmisiones (puede instalar VLC para reproducirlo).</string>
<string name="always">Siempre</string>
<string name="just_once">Sólo una vez</string>
<string name="just_once">Solo una vez</string>
<string name="external_player_unsupported_link_type">Los reproductores externos no soportan este tipo de enlaces</string>
<string name="invalid_url_toast">URL no válida</string>
<string name="video_streams_empty">No se encontraron transmisiones de vídeo</string>
@ -277,9 +277,9 @@
<string name="export_complete_toast">Exportado</string>
<string name="import_complete_toast">Importado</string>
<string name="no_valid_zip_file">Archivo ZIP no válido</string>
<string name="could_not_import_all_files">ADVERTENCIA: no se pudieron importar todos los archivos.</string>
<string name="could_not_import_all_files">Atención: no se pudieron importar todos los archivos.</string>
<string name="override_current_data">Esto reemplazará su configuración actual.</string>
<string name="controls_download_desc">Descargar archivo de stream</string>
<string name="controls_download_desc">Descargar archivo de retransmisión</string>
<string name="show_info">Mostrar información</string>
<string name="tab_bookmarks">"Listas de reproducción en marcadores "</string>
<string name="controls_add_to_playlist_title">Añadir a</string>
@ -289,8 +289,8 @@
<string name="delete_all">Eliminar todos</string>
<string name="dismiss">Descartar</string>
<string name="rename">Cambiar nombre</string>
<string name="delete_stream_history_prompt">¿Desea eliminar este elemento del historial de reproducciones?</string>
<string name="delete_all_history_prompt">¿Seguro que desea eliminar todos los elementos del historial?</string>
<string name="delete_stream_history_prompt">¿Quiere eliminar este elemento del historial de reproducciones\?</string>
<string name="delete_all_history_prompt">¿Confirma que quiere eliminar todos los elementos del historial\?</string>
<string name="title_last_played">Última reproducción</string>
<string name="title_most_played">Más reproducido</string>
<string name="always_ask_open_action">Preguntar siempre</string>
@ -302,7 +302,7 @@
<string name="set_as_playlist_thumbnail">Definir como miniatura de lista de reproducción</string>
<string name="bookmark_playlist">Marcar lista de reproducción</string>
<string name="unbookmark_playlist">Eliminar marcador</string>
<string name="delete_playlist_prompt">¿Borrar esta lista de reproducción\?</string>
<string name="delete_playlist_prompt">¿Quiere eliminar esta lista\?</string>
<string name="playlist_creation_success">Lista de reproducción creada</string>
<string name="playlist_add_stream_success">Añadido a la lista de reproducción</string>
<string name="playlist_thumbnail_change_success">Miniatura de lista de reproducción cambiada.</string>
@ -320,8 +320,8 @@
<string name="enable_disposed_exceptions_summary">Forzar reporte de excepciones no entregables de RX fuera del fragmento o del ciclo de actividad después del descarte</string>
<string name="use_inexact_seek_title">Usar búsqueda rápida inexacta</string>
<string name="use_inexact_seek_summary">La búsqueda inexacta permite al reproductor buscar posiciones más rápido con menor precisión</string>
<string name="auto_queue_title">Auto-encolar la siguiente transmisión</string>
<string name="auto_queue_summary">Añadir de forma automática un vídeo relacionado con el último vídeo reproducido en una cola no repetitiva</string>
<string name="auto_queue_title">Poner en cola vídeo relacionado siguiente</string>
<string name="auto_queue_summary">Añadir de forma automática un vídeo relacionado con el último reproducido en una cola sin repetición</string>
<string name="file">Archivo</string>
<string name="missing_file">Archivo movido o eliminado</string>
<string name="invalid_directory">La carpeta no existe</string>
@ -351,15 +351,15 @@
\n3. Inicie sesión cuando se le pida
\n4. Copie la URL del perfil a la que fue redireccionado.</string>
<string name="import_soundcloud_instructions_hint">suID, soundcloud.com/suID</string>
<string name="import_network_expensive_warning">Tenga en cuenta que esta operación puede ser costosa para la red.
\n
\n¿Desea continuar?</string>
<string name="import_network_expensive_warning">Observe que esta operación puede causar un uso intensivo de la red.
\n
\n¿Quiere continuar\?</string>
<string name="download_thumbnail_title">Cargar miniaturas</string>
<string name="download_thumbnail_summary">Desactívalo para evitar la carga de miniaturas, ahorrando datos y uso de memoria. Los cambios borrarán tanto la caché de imágenes en la memoria como en el disco.</string>
<string name="thumbnail_cache_wipe_complete_notice">Caché de imagen limpiado</string>
<string name="metadata_cache_wipe_title">Eliminar metadatos de la caché</string>
<string name="metadata_cache_wipe_summary">Eliminar todos los datos de la página web en caché</string>
<string name="metadata_cache_wipe_complete_notice">Metadatos del caché limpiados</string>
<string name="download_thumbnail_summary">Desactívela para evitar la carga de miniaturas y ahorrar datos y memoria. Se vaciará la antememoria de imágenes en la memoria volátil y en el disco.</string>
<string name="thumbnail_cache_wipe_complete_notice">Se vació la antememoria de imágenes</string>
<string name="metadata_cache_wipe_title">Eliminar metadatos en antememoria</string>
<string name="metadata_cache_wipe_summary">Eliminar todos los datos de páginas web en antememoria</string>
<string name="metadata_cache_wipe_complete_notice">Se vació la antememoria de metadatos</string>
<string name="playback_speed_control">Controles de velocidad de reproducción</string>
<string name="playback_tempo">Tiempo</string>
<string name="playback_pitch">Tono</string>
@ -370,17 +370,17 @@
<string name="toast_no_player">No se encontró ninguna aplicación que reproduzca este archivo</string>
<string name="caption_setting_title">Subtítulos</string>
<string name="caption_setting_description">Modificar la escala de texto de los subtítulos y los estilos de fondo. Requiere reiniciar la app para que surta efecto.</string>
<string name="clear_views_history_title">Borrar historial de reproducciones</string>
<string name="clear_views_history_title">Vaciar historial de reproducciones</string>
<string name="clear_views_history_summary">Elimina el historial de contenido visto y posiciones de reproducción</string>
<string name="delete_view_history_alert">¿Eliminar todo el historial de reproducciones\?</string>
<string name="watch_history_deleted">Historial de reproducciones eliminado.</string>
<string name="clear_search_history_title">Borrar historial de búsqueda</string>
<string name="watch_history_deleted">Se eliminó el historial de reproducciones.</string>
<string name="clear_search_history_title">Vaciar historial de búsquedas</string>
<string name="clear_search_history_summary">Elimina el historial de palabras clave de búsqueda</string>
<string name="delete_search_history_alert">¿Eliminar todo el historial de búsqueda\?</string>
<string name="search_history_deleted">Historial de búsquedas eliminado.</string>
<string name="one_item_deleted">Se eliminó 1 elemento.</string>
<string name="app_license">NewPipe es un software copyleft libre: puedes usarlo, estudiarlo, compartirlo y mejorarlo a voluntad. Específicamente, puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.</string>
<string name="import_settings">¿Desea importar también los ajustes?</string>
<string name="import_settings">¿Quiere importar también la configuración\?</string>
<string name="privacy_policy_title">Normativa de privacidad de NewPipe</string>
<string name="privacy_policy_encouragement">El proyecto NewPipe toma su privacidad muy en serio. Por ello, la aplicación no recopila ningún dato sin su consentimiento. La normativa de privacidad de NewPipe explica en detalle qué datos se envían y almacenan cuando envía un informe de fallo.</string>
<string name="read_privacy_policy">Leer la normativa de privacidad</string>
@ -405,10 +405,10 @@
<string name="missions_header_pending">Pendientes</string>
<string name="paused">pausado</string>
<string name="queued">en cola</string>
<string name="post_processing">post-procesado</string>
<string name="post_processing">posprocesamiento</string>
<string name="enqueue">Añadir a cola</string>
<string name="permission_denied">Acción denegada por el sistema</string>
<string name="file_deleted">Archivo borrado</string>
<string name="file_deleted">Se eliminó el archivo</string>
<!-- download notifications -->
<string name="download_failed">Descarga fallida</string>
<string name="download_finished">Descarga finalizada</string>
@ -425,7 +425,7 @@
<string name="list">Mostrar como lista</string>
<string name="clear_finished_download">Limpiar descargas finalizadas</string>
<string name="msg_pending_downloads">Tienes %s descargas pendientes, ve a Descargas para continuarlas</string>
<string name="confirm_prompt">¿Estas seguro?</string>
<string name="confirm_prompt">¿Lo confirma\?</string>
<string name="stop">Detener</string>
<string name="max_retry_msg">Intentos máximos</string>
<string name="max_retry_desc">Cantidad máxima de intentos antes de cancelar la descarga</string>
@ -444,12 +444,12 @@
<string name="error_ssl_exception">Fallo la conexión segura</string>
<string name="error_unknown_host">No se pudo encontrar el servidor</string>
<string name="error_connect_host">No se puede conectar con el servidor</string>
<string name="error_http_no_content">El servidor no devolvio datos</string>
<string name="error_http_unsupported_range">El servidor no acepta descargas multi-hilos, intente de nuevo con @string/msg_threads = 1</string>
<string name="error_http_no_content">El servidor no está enviando datos</string>
<string name="error_http_unsupported_range">El servidor no acepta descargas multiproceso; intente de nuevo con @string/msg_threads = 1</string>
<string name="error_http_requested_range_not_satisfiable">No se puede satisfacer el intervalo seleccionado</string>
<string name="error_http_not_found">No encontrado</string>
<string name="error_postprocessing_failed">Fallo el post-procesado</string>
<string name="error_postprocessing_stopped">NewPipe se cerro mientras se trabajaba en el archivo</string>
<string name="error_postprocessing_failed">Falló el posprocesamiento</string>
<string name="error_postprocessing_stopped">NewPipe se cerró mientras se trabajaba en el archivo</string>
<string name="error_insufficient_storage">No hay suficiente espacio disponible en el dispositivo</string>
<string name="error_progress_lost">Se perdió el progreso porque el archivo fue eliminado</string>
<string name="error_timeout">Tiempo de espera excedido</string>
@ -469,7 +469,7 @@
<string name="settings_category_updates_title">Actualizaciones</string>
<string name="events">Eventos</string>
<string name="app_update_notification_channel_name">Notificación de actualización de la aplicación</string>
<string name="app_update_notification_channel_description">Notificaciones para nueva versión de NewPipe</string>
<string name="app_update_notification_channel_description">Notificaciones de versiones nuevas de NewPipe</string>
<string name="download_to_sdcard_error_title">Almacenamiento externo no disponible</string>
<string name="download_to_sdcard_error_message">No es posible descargar a una tarjeta SD externa. \¿Restablecer la ubicación de la carpeta de descarga\?</string>
<string name="saved_tabs_invalid_json">Usando las pestañas por defecto, error al leer las pestañas guardadas</string>
@ -487,7 +487,7 @@
<string name="app_update_notification_content_title">¡Actualización de NewPipe disponible!</string>
<string name="app_update_notification_content_text">Pulsa para descargar</string>
<string name="show_comments_title">Mostrar comentarios</string>
<string name="show_comments_summary">Deshabilitar para dejar de mostrar comentarios</string>
<string name="show_comments_summary">Desactívela para ocultar los comentarios</string>
<string name="autoplay_title">Reproducción automática</string>
<plurals name="comments">
<item quantity="one">Comentarios</item>
@ -500,10 +500,11 @@
<string name="enable_playback_resume_summary">Restaurar última posición de la reproducción</string>
<string name="enable_playback_state_lists_title">Posiciones en listas</string>
<string name="enable_playback_state_lists_summary">Mostrar indicador de posición en listas de reproducción</string>
<string name="settings_category_clear_data_title">Borrar datos</string>
<string name="watch_history_states_deleted">Posiciones de reproducción borradas.</string>
<string name="clear_playback_states_title">Borrar posiciones de reproducción</string>
<string name="settings_category_clear_data_title">Vaciar datos</string>
<string name="watch_history_states_deleted">Se eliminaron las posiciones de reproducción.</string>
<string name="clear_playback_states_title">Eliminar posiciones de reproducción</string>
<string name="clear_playback_states_summary">Elimina todas las posiciones de reproducción</string>
<string name="delete_playback_states_alert">¿Borrar todas las posiciones de reproducción\?</string>
<string name="delete_playback_states_alert">¿Quiere eliminar todas las posiciones de reproducción\?</string>
<string name="drawer_header_description">Activar/desactivar servicio, seleccionados actualmente:</string>
<string name="default_kiosk_page_sumatry">kiosco predeterminado</string>
</resources>

View File

@ -17,7 +17,7 @@
<string name="choose_browser">Valitse selain</string>
<string name="screen_rotation">kierto</string>
<string name="use_external_video_player_title">Käytä ulkoista videosoitinta</string>
<string name="use_external_video_player_summary">Joillain resoluutioilla EI ole ääntä, kun tämä on valittuna</string>
<string name="use_external_video_player_summary">Poistaa äänen JOILLAIN resoluutioilla</string>
<string name="use_external_audio_player_title">Käytä ulkoista äänisoitinta</string>
<string name="popup_mode_share_menu_title">NewPipe ponnahdusikkuna</string>
<string name="subscribe_button_title">Tilaa</string>
@ -397,4 +397,7 @@
<string name="minimize_on_exit_none_description">Ei koskaan</string>
<string name="minimize_on_exit_background_description">Pienennä taustasoittimeksi</string>
<string name="minimize_on_exit_popup_description">Muuta ponnahdusikkunaksi</string>
<string name="unsubscribe">Peru tilaus</string>
<string name="tab_new">Uusi välilehti</string>
<string name="tab_choose">Valitse välilehti</string>
</resources>

View File

@ -18,17 +18,17 @@
<string name="settings">Paramètres</string>
<string name="share">Partager</string>
<string name="share_dialog_title">Partager avec</string>
<string name="show_play_with_kodi_summary">Afficher une option pour lire une vidéo avec Kodi</string>
<string name="show_play_with_kodi_summary">Affiche une option pour lire une vidéo via Kodi</string>
<string name="show_play_with_kodi_title">Afficher loption «Lire avec Kodi»</string>
<string name="upload_date_text">Publiée le %1$s</string>
<string name="view_count_text">%1$s vues</string>
<string name="view_count_text">%1$s vues</string>
<string name="play_audio">Audio</string>
<string name="default_audio_format_title">Format audio par défaut</string>
<string name="download_dialog_title">Télécharger</string>
<string name="next_video_title">Suivant</string>
<string name="show_next_and_similar_title">Afficher les vidéos «Suivantes» et «Similaires»</string>
<string name="url_not_supported_toast">URL non pris en charge</string>
<string name="settings_category_video_audio_title">Vidéo &amp; audio</string>
<string name="settings_category_video_audio_title">Vidéo et audio</string>
<string name="settings_category_other_title">Autre</string>
<string name="list_thumbnail_view_description">Miniature daperçu vidéo</string>
<string name="detail_thumbnail_view_description">Lecture vidéo, durée :</string>
@ -77,7 +77,7 @@
<string name="storage_permission_denied">Autorisation daccès au stockage refusée</string>
<string name="main_bg_subtitle">Appuyer sur la loupe pour commencer</string>
<string name="autoplay_by_calling_app_title">Lecture automatique</string>
<string name="video_is_age_restricted">Afficher les vidéos soumises à une limite dâge. Autoriser ce type de contenu est possible depuis les paramètres.</string>
<string name="video_is_age_restricted">Affiche les vidéos soumises à une limite dâge. Autoriser ce type de contenu est possible depuis les paramètres.</string>
<string name="user_report">Rapport utilisateur</string>
<string name="error_snackbar_action">RAPPORTER</string>
<string name="could_not_setup_download_menu">Impossible de configurer le menu de téléchargement</string>
@ -86,7 +86,7 @@
<string name="downloads_title">Téléchargements</string>
<string name="error_report_title">Rapport derreur</string>
<string name="start">Démarrer</string>
<string name="pause">Pause</string>
<string name="pause">Mettre en pause</string>
<string name="view">Lire</string>
<string name="delete">Supprimer</string>
<string name="checksum">Somme de contrôle</string>
@ -129,7 +129,7 @@
<string name="show_higher_resolutions_summary">Seuls certains appareils prennent en charge les vidéos 2K et 4K</string>
<string name="default_video_format_title">Format vidéo par défaut</string>
<string name="popup_remember_size_pos_title">Mémoriser les taille et position de la fenêtre flottante</string>
<string name="popup_remember_size_pos_summary">Mémoriser les dernières taille et position de la fenêtre flottante</string>
<string name="popup_remember_size_pos_summary">Mémorise les dernières taille et position de la fenêtre flottante</string>
<string name="settings_category_popup_title">Fenêtre flottante</string>
<string name="filter">Filtre</string>
<string name="refresh">Rafraîchir</string>
@ -137,9 +137,9 @@
<string name="popup_resizing_indicator_title">Redimensionner</string>
<string name="short_billion">B</string>
<string name="use_external_video_player_summary">Retire laudio à CERTAINES définitions</string>
<string name="player_gesture_controls_summary">Utiliser les gestes pour contrôler la luminosité et le volume du lecteur</string>
<string name="player_gesture_controls_summary">Utiliser des gestes pour contrôler la luminosité et le volume du lecteur</string>
<string name="show_search_suggestions_title">Suggestions de recherche</string>
<string name="show_search_suggestions_summary">Afficher les suggestions lors dune recherche</string>
<string name="show_search_suggestions_summary">Affiche les suggestions lors dune recherche</string>
<string name="player_gesture_controls_title">Contrôles gestuels de la lecture</string>
<string name="best_resolution">Meilleure définition</string>
<string name="subscribe_button_title">Sabonner</string>
@ -168,12 +168,12 @@
<string name="contribution_encouragement">Que ce soit pour des idées de traductions, de changements de design, de nettoyage de code ou de gros changements de code, une aide est toujours la bienvenue. Plus on contribue, meilleur il devient!</string>
<string name="subscription_change_failed">Impossible de modifier labonnement</string>
<string name="subscription_update_failed">Impossible dactualiser labonnement</string>
<string name="resume_on_audio_focus_gain_summary">Continuer la lecture après les interruptions (ex : appels téléphoniques)</string>
<string name="resume_on_audio_focus_gain_summary">Continue la lecture après les interruptions (ex : appels téléphoniques)</string>
<string name="settings_file_charset_title">Caractères autorisés dans les noms de fichier</string>
<string name="settings_file_replacement_character_summary">Les caractères invalides sont remplacés par cette valeur</string>
<string name="settings_file_replacement_character_title">Caractère de remplacement</string>
<string name="enable_search_history_title">Historique de recherche</string>
<string name="enable_search_history_summary">Stocker lhistorique de recheche sur lappareil</string>
<string name="enable_search_history_summary">Stocke lhistorique de recheche sur lappareil</string>
<string name="enable_watch_history_title">Voir lhistorique</string>
<string name="title_activity_history">Historique</string>
<string name="title_history_search">Recherché</string>
@ -184,11 +184,11 @@
<string name="history_cleared">Historique supprimé</string>
<string name="notification_channel_name">Notification NewPipe</string>
<string name="undo">Annuler</string>
<string name="enable_watch_history_summary">Garder un suivi des vidéos vues</string>
<string name="enable_watch_history_summary">Garde un suivi des vidéos vues</string>
<string name="resume_on_audio_focus_gain_title">Reprendre à lobtention de la cible de saisie</string>
<string name="settings_category_player_title">Lecteur</string>
<string name="settings_category_player_behavior_title">Comportement</string>
<string name="settings_category_history_title">Historique &amp; cache</string>
<string name="settings_category_history_title">Historique et cache</string>
<string name="playlist">Liste de lecture</string>
<string name="notification_channel_description">Notifications pour les lecteurs en arrière-plan et en mode flottant de NewPipe</string>
<string name="search_no_results">Aucun résultat</string>
@ -232,7 +232,7 @@
<string name="play_queue_stream_detail">Détails</string>
<string name="play_queue_audio_settings">Paramètres audios</string>
<string name="show_hold_to_append_title">Afficher lastuce «Maintenir pour ajouter»</string>
<string name="show_hold_to_append_summary">Afficher lastuce lors de lappui du bouton «Arrière-plan» ou «Mode flottant» sur la page de détails dune vidéo</string>
<string name="show_hold_to_append_summary">Affiche lastuce lors de lappui du bouton «Arrière-plan» ou «Mode flottant» sur la page de détails dune vidéo</string>
<string name="unknown_content">[Inconnu]</string>
<string name="player_recoverable_failure">Récupération depuis lerreur du lecteur</string>
<string name="kiosk_page_summary">Kiosque</string>
@ -251,13 +251,13 @@
<string name="give_back">Donner en retour</string>
<string name="default_content_country_title">Pays du contenu par défaut</string>
<string name="toggle_orientation">Rotation</string>
<string name="switch_to_background">Passer en arrière-plan</string>
<string name="switch_to_popup">Passer en flottant</string>
<string name="switch_to_main">Passer en principal</string>
<string name="switch_to_background">Basculer en arrière-plan</string>
<string name="switch_to_popup">Basculer en mode flottant</string>
<string name="switch_to_main">Basculer en principal</string>
<string name="service_title">Service</string>
<string name="drawer_open">Ouvrir le menu</string>
<string name="drawer_close">Fermer le menu</string>
<string name="no_player_found_toast">Aucun lecteur de flux trouvé (vous pouvez installer VLC pour le lire).</string>
<string name="no_player_found_toast">Aucun lecteur de flux multimédias trouvé (vous pouvez installer VLC pour le lire).</string>
<string name="always">Toujours</string>
<string name="just_once">Une seule fois</string>
<string name="external_player_unsupported_link_type">Les lecteurs externes ne prennent pas en charge ces types de liens</string>
@ -272,7 +272,7 @@
<string name="import_data_title">Importer la base de données</string>
<string name="export_data_title">Exporter la base de données</string>
<string name="import_data_summary">Remplace votre historique et vos abonnements actuels</string>
<string name="export_data_summary">Exporter lhistorique, les abonnements et les listes de lecture</string>
<string name="export_data_summary">Exporte lhistorique, les abonnements et les listes de lecture</string>
<string name="export_complete_toast">Exporté</string>
<string name="import_complete_toast">Importé</string>
<string name="no_valid_zip_file">Aucun fichier ZIP valide</string>
@ -308,12 +308,12 @@
<string name="resize_fit">Ajuster</string>
<string name="resize_zoom">Zoomer</string>
<string name="use_inexact_seek_title">Utiliser la recherche rapide approximative</string>
<string name="use_inexact_seek_summary">Permettre au lecteur daccéder plus rapidement à une position au détriment de la précision</string>
<string name="use_inexact_seek_summary">Permet au lecteur daccéder plus rapidement à une position au détriment de la précision</string>
<string name="download_thumbnail_title">Charger les miniatures</string>
<string name="download_thumbnail_summary">Désactiver pour empêcher le chargement des miniatures, afin de réduire lutilisation de bande passante et de mémoire. Modifier cette option vide les caches dimage en mémoire vive et sur le disque.</string>
<string name="download_thumbnail_summary">Désactiver pour empêcher le chargement des miniatures, afin de réduire lutilisation de la bande passante et de la mémoire. Modifier cette option vide les caches dimage en mémoire vive et sur le disque.</string>
<string name="thumbnail_cache_wipe_complete_notice">Images en cache effacées</string>
<string name="metadata_cache_wipe_title">Effacer les métadonnées en cache</string>
<string name="metadata_cache_wipe_summary">Effacer toutes les pages web mises en cache</string>
<string name="metadata_cache_wipe_summary">Efface toutes les données de pages Web en cache</string>
<string name="metadata_cache_wipe_complete_notice">Métadonnées en cache effacées</string>
<string name="file">Fichier</string>
<string name="invalid_directory">Aucun dossier de ce type</string>
@ -325,7 +325,7 @@
<string name="drawer_header_action_paceholder_text">Quelque chose va bientôt apparaître ici ;D</string>
<string name="controls_download_desc">Télécharger le fichier de flux</string>
<string name="auto_queue_title">Vidéo suivante en file dattente</string>
<string name="auto_queue_summary">Ajout automatique dun morceau suggéré lors de la lecture du dernier morceau dans une file dattente non bouclée</string>
<string name="auto_queue_summary">Ajoute automatiquement un flux lié lors de la lecture du dernier flux dans une file dattente sans répétition</string>
<string name="settings_category_debug_title">Débogage</string>
<string name="resize_fill">Remplir</string>
<string name="caption_auto_generated">Générés automatiquement</string>
@ -370,11 +370,11 @@
<string name="playback_pitch">Ton</string>
<string name="toast_no_player">Aucune application installée pour lire ce fichier</string>
<string name="clear_views_history_title">Effacer lhistorique des vues</string>
<string name="clear_views_history_summary">Supprimer lhistorique des flux lus et des positions de reprise</string>
<string name="delete_view_history_alert">Voulez-vous supprimer tout lhistorique des vues\?</string>
<string name="clear_views_history_summary">Supprime lhistorique des flux lus et des positions de reprise de lecture</string>
<string name="delete_view_history_alert">Voulez-vous supprimer entièrement lhistorique des vues\?</string>
<string name="watch_history_deleted">Historique des vues supprimé.</string>
<string name="clear_search_history_title">Supprimer lhistorique de recherche</string>
<string name="clear_search_history_summary">Supprimer lhistorique de recherche par mots-clés</string>
<string name="clear_search_history_summary">Supprime lhistorique des mots-clés de recherche</string>
<string name="delete_search_history_alert">Voulez-vous supprimer entièrement lhistorique de recherche\?</string>
<string name="search_history_deleted">Historique de recherche supprimé.</string>
<string name="one_item_deleted">1 élément supprimé.</string>
@ -392,7 +392,7 @@
<string name="limit_mobile_data_usage_title">Limiter la définition lors de lutilisation des données mobiles</string>
<string name="channels">Chaînes</string>
<string name="playlists">Listes de lecture</string>
<string name="tracks">Pistes</string>
<string name="tracks">Morceaux</string>
<string name="users">Utilisateurs</string>
<string name="skip_silence_checkbox">Accélérer pendant les silences</string>
<string name="playback_step">Étape</string>
@ -490,21 +490,22 @@
<string name="enable_queue_limit">Limiter la file dattente de téléchargement</string>
<string name="enable_queue_limit_desc">Un téléchargement sexécutera en même temps</string>
<string name="start_downloads">Démarrer les téléchargements</string>
<string name="pause_downloads">Mettre en pause les téléchargements</string>
<string name="pause_downloads">Mettre les téléchargements en pause</string>
<string name="downloads_storage_ask_title">Demander où télécharger</string>
<string name="downloads_storage_ask_summary">Vous allez être interrogé sur lemplacement denregistrement de chaque téléchargement</string>
<string name="downloads_storage_ask_summary_kitkat">Vous allez être interrogé sur lemplacement de téléchargement de chaque téléchargement.
\nVeuillez choisir ILAF si vous voulez télécharger sur une carte mémoire externe</string>
<string name="enable_playback_resume_summary">Rétablir la précédente position de lecture</string>
<string name="enable_playback_resume_summary">Reprend la lecture à la dernière position</string>
<string name="enable_playback_state_lists_title">Positions dans les listes</string>
<string name="enable_playback_state_lists_summary">Afficher les indicateurs de position de lecture dans les listes</string>
<string name="watch_history_states_deleted">Positions de reprise supprimées.</string>
<string name="watch_history_states_deleted">Positions de reprise de lecture supprimées.</string>
<string name="downloads_storage_use_saf_title">Utiliser ILAF</string>
<string name="downloads_storage_use_saf_summary">L\'Infrastructure Logicielle d\'Accès au Stockage permet de télécharger sur une carte mémoire externe.
\nNote : certains appareils ne sont pas compatibles</string>
<string name="clear_playback_states_title">Supprimer les positions de lecture</string>
<string name="clear_playback_states_summary">Supprimer toutes les positions de reprise</string>
<string name="delete_playback_states_alert">Voulez-vous supprimer toutes les positions de reprise\?</string>
<string name="download_choose_new_path">Changez les dossier de téléchargement pour activer</string>
<string name="clear_playback_states_title">Supprimer les positions de reprise de lecture</string>
<string name="clear_playback_states_summary">Supprime toutes les positions de reprise de lecture</string>
<string name="delete_playback_states_alert">Voulez-vous supprimer toutes les positions de reprise de lecture\?</string>
<string name="download_choose_new_path">Changez les dossiers de téléchargement pour que cela prenne effet</string>
<string name="drawer_header_description">Activer/Désactiver le service, actuellement sélectionné :</string>
<string name="default_kiosk_page_sumatry">Kiosque par défaut</string>
</resources>

View File

@ -515,4 +515,5 @@
<string name="delete_playback_states_alert">למחוק את מיקומי הנגינה\?</string>
<string name="download_choose_new_path">יש להחליף את תיקיות ההורדה כדי שייכנס לתוקף</string>
<string name="drawer_header_description">הפעלה/כיבוי שירות, בחירה נוכחית:</string>
<string name="default_kiosk_page_sumatry">קיוסק בררת מחדל</string>
</resources>

View File

@ -128,7 +128,7 @@
<string name="undo">वापस जाए</string>
<string name="play_all">सारे प्ले करे</string>
<string name="notification_channel_name">NewPipe की अधिसूचना</string>
<string name="notification_channel_description">NewPipe के बैकग्राउंड में चल रहे विडियो और पॉपअप विडियो के लिए अधिसूचना</string>
<string name="notification_channel_description">न्यूपाइप के बैकग्राउंड में चल रहे विडियो और पॉपअप विडियो के लिए अधिसूचना</string>
<string name="unknown_content">[नहीं जानते]</string>
<string name="general_error">त्रुटी</string>
<string name="network_error">नेटवर्क में त्रुटी</string>
@ -184,8 +184,8 @@
<item quantity="other">%s दर्शके</item>
</plurals>
<plurals name="videos">
<item quantity="one">वीडियो</item>
<item quantity="other">वीडियो</item>
<item quantity="one">%s वीडियो</item>
<item quantity="other">%s वीडियो</item>
</plurals>
<string name="start">शुरू</string>
<string name="pause">रोके</string>
@ -306,7 +306,7 @@
<string name="playlist_add_stream_success">प्लेलिस्ट में जोड़ा गया</string>
<string name="playlist_thumbnail_change_success">प्लेलिस्ट का थंबनेल बदल दिया गया है।</string>
<string name="playlist_delete_failure">सूची हटाने में असफल।</string>
<string name="caption_none">कोई कैप्शन नहीं है</string>
<string name="caption_none">कोई अनुशीर्षक नहीं है</string>
<string name="resize_fit">फिट</string>
<string name="resize_fill">भरें</string>
<string name="resize_zoom">ज़ूम करें</string>
@ -318,7 +318,7 @@
<string name="download_thumbnail_title">छायाप्रारुप लोड करें</string>
<string name="use_inexact_seek_title">तेजी से अचूक तलाश का प्रयोग करें</string>
<string name="use_inexact_seek_summary">अचूक खोज प्लेयर को कम परिशुद्धता के साथ तेजी से पदों की तलाश करने की अनुमति देता है</string>
<string name="download_thumbnail_summary">लोडिंग थंबनेल, डेटा और मेमोरी उपयोग को रोकने के लिए बंद करें। इन-मेमोरी और ऑन-डिस्क छवि कैश दोनों को बदलता है</string>
<string name="download_thumbnail_summary">थंबनेल लोड करने, डेटा और मेमोरी उपयोग को रोकने के लिए बंद करें। इन-मेमोरी और ऑन-डिस्क छवि कैश दोनों को बदलता है|</string>
<string name="thumbnail_cache_wipe_complete_notice">छवि कैश मिटा दिया</string>
<string name="metadata_cache_wipe_title">कैश मेटाडेटा वाइप करें</string>
<string name="metadata_cache_wipe_summary">सभी कैश किए गए वेबपृष्ठ डेटा हटाएं</string>
@ -353,8 +353,8 @@
<string name="import_settings">क्या आप सेटिंग्स भी आयात करना चाहते है?</string>
<string name="preferred_open_action_settings_title">पसंदीदा \'खोलने\' कि प्रक्रिया</string>
<string name="preferred_open_action_settings_summary">सामग्री खोलते समय डिफ़ॉल्ट कारवाही — %s</string>
<string name="caption_setting_title">ेप्सन</string>
<string name="caption_setting_description">प्लेयर केप्शन के शब्दों का परिमाण और पृष्ठभूमि शैलियो को बदले। लागू करने के लिए ऐप को पुनः प्रारम्भ करना जरूरी है।</string>
<string name="caption_setting_title">अनुशीर्ष</string>
<string name="caption_setting_description">प्लेयर अनुशीर्षक के शब्दों का परिमाण और पृष्ठभूमि शैलियो को बदले। लागू करने के लिए ऐप को पुनः प्रारम्भ करना जरूरी है।</string>
<string name="import_export_title">आयात/निर्यात</string>
<string name="import_title">आयात</string>
<string name="import_from">से आयात करे</string>
@ -370,7 +370,7 @@
\n1. इस URL पर जाए: %1$s
\n2. जब कहा जाए, लॉगिन करे
\n3. एक डाउनलोड शुरू होना चाहिए (यही निर्यात की गई फाइल है)</string>
<string name="import_soundcloud_instructions_hint">आपका आई डी, soundcloud.com/yourid</string>
<string name="import_soundcloud_instructions_hint">आपका आई डी, soundcloud.com/(आपका आई डी)</string>
<string name="import_network_expensive_warning">ध्यान रखे, यह तरीका नेटवर्क साधनो के लिए मंहगा हो सकता है।
\n
\nक्या आप आगे बढ़ना चाहते है?</string>
@ -385,7 +385,7 @@
<string name="decline">अस्वीकार करे</string>
<string name="limit_data_usage_none_description">असीमित</string>
<string name="limit_mobile_data_usage_title">मोबाइल डेटा उपयोग करते समय रेसॉल्युसेन को सिमित करे</string>
<string name="minimize_on_exit_title">ऐप बदलते समय मिनिमाइज करे</string>
<string name="minimize_on_exit_title">ऐप बदलते समय उसे मिनिमाइज करे</string>
<string name="minimize_on_exit_summary">मुख्य वीडियो चालक से दूसरी ऐप पर जाने पर — %s</string>
<string name="minimize_on_exit_none_description">कोई नही</string>
<string name="minimize_on_exit_background_description">पृष्ठभूमि प्लेयर में बदले</string>
@ -461,7 +461,7 @@
<string name="enable_playback_state_lists_title">सूचियों में स्थान</string>
<string name="enable_playback_state_lists_summary">प्लेबैक स्थान निशान सूचियों में दिखाए</string>
<string name="settings_category_clear_data_title">डाटा मिटायें</string>
<string name="watch_history_states_deleted">प्लेबैक स्थान मिटा दिए गए</string>
<string name="watch_history_states_deleted">प्लेबैक स्थान मिटा दिए गए|</string>
<string name="missing_file">फाइल की जगह बदली गयी या फिर फाइल मिटा दी गयी</string>
<string name="overwrite_unrelated_warning">इस नाम की कोई फ़ाइल पहले से मौजूद है</string>
<string name="overwrite_finished_warning">इस नाम की एक डाउनलोड की गई फ़ाइल पहले से मौजूद है</string>
@ -483,4 +483,26 @@
<string name="clear_playback_states_summary">सारे प्लेबैक स्थानों को मिटाये</string>
<string name="delete_playback_states_alert">सारे प्लेबैक स्थानों को मिटाये\?</string>
<string name="download_choose_new_path">प्रभावी होने के लिए डाउनलोड फ़ोल्डर बदलें</string>
<string name="enable_disposed_exceptions_summary">फ्रेगमेंट या एक्टिविटी लाइफसाइकिल के बाद Rx सन्देश ना पहुँचाया जा सके तोह ज़रूर कोशिश करे</string>
<string name="import_soundcloud_instructions">SoundCloud प्रोफाइल निर्यात करने के लिए आईडी या युआरएल दीजिये:
\n१ अपने वेब ब्राउज़र मैं \"डेस्कटॉप मोड\" चालू करे (वेबसाइट मोबाइल उपकरणों के लिए उपलब्ध नहीं है)
\n२ इस युआरएल को खोले:% 1 $ s
\n३ लोग इन करे
\n४ आप जिस प्रोफाइल युआरएल पे भेजे जाते है उसे कॉपी करे|</string>
<string name="start_accept_privacy_policy">यूरोप के जनरल डाटा प्रोटेक्शन रेगुलेशन (जी डी पी आर) का पालन करने के लिए, हम आपका ध्यान न्यूपाइप की नयी प्राइवेसी पालिसी पी डालना चाहते है।इसे बारीकी से पढ़िए।
\nआपको अगर हमें किसी मुसीबत का सन्देश भेजना हो तो इसे स्वीकार करे।</string>
<string name="saved_tabs_invalid_json">सामान्य टैब्स का इस्तेमाल, सहेजे टैब्स को पढ़ने में रूकावट</string>
<string name="updates_setting_description">जब इस ऐप के लिए अपडेट उपलब्ध हो, अधिसूचना दिखाई जाये</string>
<string name="list_view_mode">सूचि देखने वाला ढंग</string>
<string name="grid">ग्रिड</string>
<string name="auto">ऑटो</string>
<string name="show_error">मुसीबत दिखाए</string>
<string name="error_http_unsupported_range">सर्वर मल्टी थ्रेडेड डाउनलोड स्वीकार नहीं करता, पुनः कोशिश करे @string/msg_threads = 1 के साथ</string>
<string name="msg_pending_downloads">आपके %s रुके हुए कामों को डौन्लोडस में पुनः से शुरू करे</string>
<string name="downloads_storage_ask_summary_kitkat">आपको डाउनलोड कहाँ सहेजना है हर डाउनलोड पर पूछा जायेगा
\nअगर आपको एक्सटर्नल एस डी कार्ड पर डाउनलोड करना हो तो एस ऐ ऍफ़ चुनिए</string>
<string name="downloads_storage_use_saf_summary">स्टोरेज एक्सेस फ्रेमवर्क (एस ऐ ऍफ़) आपको एस डी कार्ड पर डाउनलोड करने देता है
\nसुचना - कुछ उपकरणों पर ये नहीं चलता</string>
<string name="drawer_header_description">सेवा चुने, वर्तमान चुनाव :</string>
<string name="default_kiosk_page_sumatry">सामान्य कीओस्क</string>
</resources>

View File

@ -111,7 +111,7 @@
<string name="black_theme_title">Hitam</string>
<string name="all">Semua</string>
<string name="channel">Channel</string>
<string name="short_thousand">R</string>
<string name="short_thousand">r</string>
<string name="short_million">J</string>
<string name="short_billion">T</string>
<string name="yes">Ya</string>

View File

@ -500,6 +500,7 @@
<string name="download_choose_new_path">ダウンロードフォルダーを変更して有効にします</string>
<string name="drawer_header_description">サービスの切り替え、現在の選択:</string>
<plurals name="videos">
<item quantity="other">動画</item>
<item quantity="other">%s 動画</item>
</plurals>
<string name="default_kiosk_page_sumatry">デフォルトのキオスク</string>
</resources>

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="view_count_text">조회수 %1$s</string>
<string name="view_count_text">조회수 %1$s</string>
<string name="upload_date_text">%1$s에 업로드됨</string>
<string name="no_player_found">스트리밍 플레이어가 발견되지 않았습니다. VLC를 설치할까요?</string>
<string name="no_player_found">스트 플레이어가 발견되지 않았습니다. VLC를 설치할까요\?</string>
<string name="install">설치</string>
<string name="cancel">취소</string>
<string name="open_in_browser">브라우저에서 열기</string>
<string name="open_in_browser">브라우저 열기</string>
<string name="share">공유</string>
<string name="download">다운로드</string>
<string name="search">검색</string>
<string name="settings">설정</string>
<string name="did_you_mean">혹시 이것을 검색하셨습니까\?: %1$s\?</string>
<string name="did_you_mean">%1$s를 찾으셨나요\?</string>
<string name="share_dialog_title">다음으로 공유</string>
<string name="choose_browser">브라우저 선택</string>
<string name="screen_rotation">회전</string>
@ -26,7 +26,7 @@
<string name="default_audio_format_title">기본 오디오 형식</string>
<string name="download_dialog_title">다운로드</string>
<string name="next_video_title">다음</string>
<string name="show_next_and_similar_title">다음유사한 비디오 표시</string>
<string name="show_next_and_similar_title">다음/유사한 비디오 표시</string>
<string name="url_not_supported_toast">지원하지 않는 URL입니다</string>
<string name="content_language_title">기본 컨텐츠 언어</string>
<string name="settings_category_video_audio_title">비디오 &amp; 오디오</string>
@ -53,8 +53,8 @@
<string name="err_dir_create">다운로드 디렉토리를 만들 수 없습니다 \'%1$s\'</string>
<string name="info_dir_created">다운로드 디렉토리를 만들었습니다 \'%1$s\'</string>
<string name="main_bg_subtitle">검색 버튼을 눌러서 시작하세요</string>
<string name="autoplay_by_calling_app_title">자동으로 재생</string>
<string name="autoplay_by_calling_app_summary">NewPipe가 다른 앱으로부터 호출되었을 때 동영상을 재생합니다</string>
<string name="autoplay_by_calling_app_title">자동재생</string>
<string name="autoplay_by_calling_app_summary">NewPipe가 다른 앱에서 호출되었을 때 동영상을 재생합니다</string>
<string name="content">컨텐츠</string>
<string name="show_age_restricted_content_title">연령 제한 컨텐츠</string>
<string name="video_is_age_restricted">연령 제한 비디오입니다. 설정 메뉴에서 시청 허용 여부를 변경하실 수 있습니다.</string>
@ -88,18 +88,18 @@
<string name="pause">일시정지</string>
<string name="delete">삭제</string>
<string name="checksum">체크섬</string>
<string name="open_in_popup_mode">팝업 모드에서 열기</string>
<string name="open_in_popup_mode">팝업 모드 열기</string>
<string name="use_external_video_player_summary">일부 해상도에서 소리가 나지 않을 수 있습니다</string>
<string name="popup_mode_share_menu_title">NewPipe 팝업 모드</string>
<string name="subscribe_button_title">구독</string>
<string name="subscribed_button_title">구독</string>
<string name="channel_unsubscribed">구독 해제</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="controls_background_title">배경</string>
<string name="controls_background_title">백그라운드</string>
<string name="controls_popup_title">팝업</string>
<string name="default_popup_resolution_title">기본 팝업 해상도</string>
<string name="show_higher_resolutions_title">높은 해상도 표시</string>
@ -108,8 +108,8 @@
<string name="black_theme_title">검은 테마</string>
<string name="popup_remember_size_pos_title">팝업 크기 및 위치 기억</string>
<string name="popup_remember_size_pos_summary">마지막으로 사용한 팝업 위치 및 크기를 기억합니다</string>
<string name="player_gesture_controls_title">제스쳐로 재생 조작</string>
<string name="player_gesture_controls_summary">제스를 사용해 화면 밝기와 음량을 조절합니다</string>
<string name="player_gesture_controls_title">제스 재생 조작</string>
<string name="player_gesture_controls_summary">제스를 사용해 화면 밝기와 음량을 조절합니다</string>
<string name="show_search_suggestions_title">검색 제안</string>
<string name="show_search_suggestions_summary">검색 중에 제안을 표시합니다</string>
<string name="enable_search_history_title">검색 기록</string>
@ -119,10 +119,10 @@
<string name="resume_on_audio_focus_gain_title">자동으로 다시 재생</string>
<string name="resume_on_audio_focus_gain_summary">전화 통화 등으로 인해 재생이 중단된 이후에 다시 재생을 시작합니다</string>
<string name="show_hold_to_append_title">\"길게 눌러 대기열에 추가하기\" 팁 표시</string>
<string name="show_hold_to_append_summary">비디오 상세 정보 페이지에서 백그라운드 재생 또는 팝업 버튼을 누를 경우 팁을 표시합니다</string>
<string name="show_hold_to_append_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="settings_category_history_title">기록 &amp; 캐시</string>
<string name="settings_category_popup_title">팝업</string>
<string name="popup_playing_toast">팝업 모드에서 재생 중</string>
<string name="background_player_append">백그라운드 플레이어에 대기됨</string>
@ -157,11 +157,11 @@
<string name="short_billion">십억</string>
<string name="no_subscribers">구독자 없음</string>
<plurals name="subscribers">
<item quantity="other">%s 구독자</item>
<item quantity="other">구독자 %s명</item>
</plurals>
<string name="no_views">시청 횟수 없음</string>
<string name="no_views">조회수 없음</string>
<plurals name="views">
<item quantity="other">%s 시청 횟수</item>
<item quantity="other">조회수 %s회</item>
</plurals>
<string name="no_videos">비디오 없음</string>
<string name="view">재생</string>
@ -175,13 +175,13 @@
<string name="msg_url_malform">올바르지 않은 URL이거나 인터넷에 접속할 수 없음</string>
<string name="msg_running">NewPipe 다운로드 중</string>
<string name="msg_running_detail">터치해서 상세 정보 확인</string>
<string name="msg_wait">잠시만 기다려주십시오</string>
<string name="msg_wait">잠시만 기다리세요</string>
<string name="msg_copied">클립보드에 복사됨</string>
<string name="no_available_dir">다운로드 할 폴더를 설정에서 지정하십시오</string>
<string name="no_available_dir">다운로드 할 폴더를 설정에서 지정하세요</string>
<string name="msg_popup_permission">이 권한은 팝업 모드에서
\n열기 위해 필요합니다</string>
<string name="reCaptchaActivity">로봇인지 확인 (reCAPTCHA)</string>
<string name="recaptcha_request_toast">reCAPTCHA challenge 요청됨</string>
<string name="reCaptchaActivity">reCAPTCHA</string>
<string name="recaptcha_request_toast">reCAPTCHA 확인 요청됨</string>
<string name="settings_category_downloads_title">다운로드</string>
<string name="settings_file_charset_title">파일명에 허용되는 문자</string>
<string name="settings_file_replacement_character_summary">올바르지 않은 문자는 다음 문자로 대체됩니다</string>
@ -200,7 +200,7 @@
<string name="tab_licenses">라이센스</string>
<string name="app_description">가볍고 빠른 자유 안드로이드 스트리밍 앱입니다.</string>
<string name="contribution_title">기여</string>
<string name="contribution_encouragement">번역, 디자인, 코딩 등 다양한 기여를 언제나 환영합니다. 향상에 참여해주세요!</string>
<string name="contribution_encouragement">번역, 디자인, 코딩 등 다양한 기여를 언제나 환영합니다. 더 나아지도록 도와주세요!</string>
<string name="view_on_github">GitHub에서 보기</string>
<string name="donation_title">기부</string>
<string name="donation_encouragement">여러분들의 더 나은 경험을 위해 많은 사람들이 NewPipe를 개발하는데 노력을 기울이고 있습니다. NewPipe에 참여하는 개발자들이 커피 한 잔을 즐길 수 있도록 기부해주세요.</string>
@ -212,7 +212,7 @@
<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="history_disabled">기록 기능이 꺼져 있습니다</string>
<string name="action_history">기록</string>
<string name="history_empty">기록이 없습니다</string>
<string name="history_cleared">기록이 삭제되었습니다</string>
@ -237,20 +237,20 @@
<string name="play_queue_stream_detail">상세 정보</string>
<string name="play_queue_audio_settings">오디오 설정</string>
<string name="hold_to_append">눌러서 대기열에 추가</string>
<string name="enqueue_on_background">백그라운드로 갈 경우 재생목록에서 제거</string>
<string name="enqueue_on_popup">새 팝업으로 갈 경우 재생목록에서 제거</string>
<string name="enqueue_on_background">백그라운드 대기열에 추가</string>
<string name="enqueue_on_popup">새 팝업으로 대기열에 추가</string>
<string name="start_here_on_main">여기서부터 재생</string>
<string name="start_here_on_background">백그라운드에서 재생</string>
<string name="start_here_on_popup">새 팝업에서 재생</string>
<string name="no_player_found_toast">스트리밍 플레이어를 찾을 수 없습니다. VLC를 설치하여 동영상을 재생할 수 있습니다.</string>
<string name="controls_download_desc">스트리밍 파일 다운로드하기</string>
<string name="no_player_found_toast">스트림 플레이어를 찾을 수 없습니다 (VLC를 설치하여 동영상을 재생할 수 있습니다).</string>
<string name="controls_download_desc">스트 파일 다운로드하기</string>
<string name="show_info">정보 보기</string>
<string name="tab_bookmarks">플레이리스트 북마크</string>
<string name="tab_bookmarks">재생목록 북마크</string>
<string name="controls_add_to_playlist_title">이곳에 추가</string>
<string name="use_inexact_seek_title">정확하지는 않지만 빠른 탐색</string>
<string name="use_inexact_seek_summary">정확하지 않은 탐색은 더 빠르게 위치를 탐색할 수 있지만 정확도는 떨어집니다</string>
<string name="auto_queue_title">다음 스트림을 자동으로 재생열에 추가하기</string>
<string name="auto_queue_summary">이전 스트림이 무한 반복 재생 큐가 아닐 경우, 관련 스트림을 자동 재생합니다</string>
<string name="auto_queue_title">다음 스트림을 자동으로 대기열에 추가하기</string>
<string name="auto_queue_summary">이전 스트림이 반복 재생 대기열이 아닐 경우, 관련 스트림을 자동 재생합니다</string>
<string name="default_content_country_title">기본 콘텐츠 국가</string>
<string name="service_title">서비스</string>
<string name="settings_category_debug_title">디버그</string>
@ -270,11 +270,11 @@
<string name="audio_streams_empty">발견된 오디오 스트림 없음</string>
<string name="detail_drag_description">드래그하여 재배열</string>
<string name="create">만들기</string>
<string name="delete_one">1개 삭제하기</string>
<string name="delete_one">하나 삭제하기</string>
<string name="delete_all">모두 삭제하기</string>
<string name="dismiss">취소</string>
<string name="rename">이름 바꾸기</string>
<string name="reCaptcha_title">로봇인지 확인합니다</string>
<string name="reCaptcha_title">reCAPTCHA 확인</string>
<string name="delete_stream_history_prompt">이 항목을 시청 기록에서 삭제하시겠습니까?</string>
<string name="delete_all_history_prompt">모든 항목을 시청 기록에서 삭제하시겠습니까?</string>
<string name="title_last_played">마지막으로 재생</string>
@ -282,7 +282,7 @@
<string name="export_complete_toast">내보내기 완료</string>
<string name="import_complete_toast">가져오기 완료</string>
<string name="no_valid_zip_file">유효한 ZIP 파일 없음</string>
<string name="could_not_import_all_files">경고: 모든 파일 가져오기를 실패했습니다.</string>
<string name="could_not_import_all_files">경고: 파일을 전부 가져오지 못했습니다.</string>
<string name="override_current_data">이것은 현재 설정을 덮어쓸 것입니다.</string>
<string name="drawer_open">드로어 열기</string>
<string name="drawer_close">드로어 닫기</string>
@ -292,7 +292,7 @@
<string name="popup_player">팝업 플레이어</string>
<string name="always_ask_open_action">항상 묻기</string>
<string name="preferred_player_fetcher_notification_title">정보 가져오는 중…</string>
<string name="preferred_player_fetcher_notification_message">요청한 콘텐츠를 로 중입니다</string>
<string name="preferred_player_fetcher_notification_message">요청한 콘텐츠를 로 중입니다</string>
<string name="create_playlist">새로운 재생목록</string>
<string name="delete_playlist">삭제</string>
<string name="rename_playlist">이름 바꾸기</string>
@ -304,15 +304,15 @@
<string name="delete_playlist_prompt">이 재생목록을 삭제하시겠습니까?</string>
<string name="playlist_creation_success">재생목록 생성 완료</string>
<string name="playlist_add_stream_success">재생목록에 추가됨</string>
<string name="playlist_thumbnail_change_success">재생목록 썸내일이 바뀜.</string>
<string name="playlist_thumbnail_change_success">재생목록 썸네일 변경 완료.</string>
<string name="playlist_delete_failure">재생목록을 삭제할 수 없습니다.</string>
<string name="caption_none">자막 없음</string>
<string name="resize_fit">꼭 맞게 하기</string>
<string name="resize_fill">채우기</string>
<string name="resize_zoom">확대</string>
<string name="caption_auto_generated">자동 생성됨</string>
<string name="enable_leak_canary_title">LeakCanary 성화</string>
<string name="enable_leak_canary_summary">힙 덤프 중 메모리 누수 점검으로 앱이 불안정해질 수 있습니다</string>
<string name="enable_leak_canary_title">LeakCanary 성화</string>
<string name="enable_leak_canary_summary">메모리 누수 감시를 사용할 시 힙 덤프로 인해 앱이 반응하지 않을 수 있습니다</string>
<string name="enable_disposed_exceptions_title">out-of-lifecycle 오류 보고</string>
<string name="enable_disposed_exceptions_summary">프래그먼트 또는 버려진 액티비티 주기 밖에서 일어나는 전달할 수 없는 Rx 예외를 강제적으로 보고하기</string>
<string name="file">파일</string>
@ -345,9 +345,9 @@
\n3. 로그인이 필요하면 하세요.
\n4. 리디렉트된 프로필 URL을 복사하세요.</string>
<string name="import_soundcloud_instructions_hint">프로필ID, soundcloud.com/프로필ID</string>
<string name="import_network_expensive_warning">경고: 데이터 소모량이 늘어날 수 있습니다.
<string name="import_network_expensive_warning">경고: 데이터가 많이 소모될 수 있습니다.
\n
\n계속하시겠습니까?</string>
\n계속하시겠습니까\?</string>
<string name="download_thumbnail_title">썸네일 로드하기</string>
<string name="download_thumbnail_summary">동영상 썸네일을 로드하지 않으며, 데이터와 메모리 사용을 최대한 줄입니다. 이 옵션을 선택 시 모든 메모리 캐시와 저장소 캐시를 삭제합니다.</string>
<string name="thumbnail_cache_wipe_complete_notice">이미지 캐시 지워짐</string>
@ -364,9 +364,9 @@
<string name="preferred_open_action_settings_title">선호하는 열기 동작</string>
<string name="preferred_open_action_settings_summary">컨텐츠를 열 때 사용할 기본 동작 — %s</string>
<string name="caption_setting_title">자막</string>
<string name="caption_setting_description">플레이어 자막 텍스트 크기와 배경 스타일을 변경합니다. 효과를 적용하려면 앱을 재시작 해야합니다.</string>
<string name="channels">채널</string>
<string name="playlists">재생 목록</string>
<string name="caption_setting_description">플레이어 자막 글자 크기와 배경 스타일을 변경합니다. 이를 적용하려면 앱을 재시작 해야 합니다.</string>
<string name="channels">채널</string>
<string name="playlists">재생목록</string>
<string name="clear_views_history_title">시청 기록 삭제하기</string>
<string name="clear_views_history_summary">동영상 시청 기록과 저장된 재생 위치를 삭제합니다</string>
<string name="delete_view_history_alert">모든 시청 기록을 삭제하시겠습니까\?</string>
@ -380,19 +380,19 @@
\nNewPipe 개인정보 보호 정책에서는 오류 보고 시 어떠한 정보가 수집되고 저장되는지 자세히 명시되어 있습니다.</string>
<string name="read_privacy_policy">개인정보 보호 정책 읽기</string>
<string name="app_license">NewPipe는 카피레프트 자유 소프트웨어입니다. 사용자는 이 앱을 사용, 공유, 또는 수정할 수 있고, 수정 후 재배포 시 자유 소프트웨어 재단의 GNU 라이센스 버전 3 또는 그 이상의 버전을 포함해야 합니다.</string>
<string name="import_settings">앱 설정을 가져오시겠습니까?</string>
<string name="skip_silence_checkbox">무음 구간 스킵</string>
<string name="import_settings">설정도 가져오시겠습니까\?</string>
<string name="skip_silence_checkbox">무음 구간 빨리 감기</string>
<string name="start_accept_privacy_policy">유럽 연합 일반 데이터 보호 규정 (GDPR) 에 따라, 사용자는 NewPipe 개인정보 보호 정책을 읽고 꼼꼼히 확인해야 합니다. 버그 리포트를 보내시려면 개인정보 보호 정책에 동의해주세요.</string>
<string name="accept">동의</string>
<string name="decline">동의하지 않음</string>
<string name="limit_data_usage_none_description">데이터 제한 없음</string>
<string name="limit_mobile_data_usage_title">모바일 데이터 사용 시 화질 제한</string>
<string name="unsubscribe">구독 해제</string>
<string name="unsubscribe">구독 취소</string>
<string name="tab_new">새 탭</string>
<string name="tab_choose">탭 선택</string>
<string name="volume_gesture_control_title">제스처 음량 조작</string>
<string name="volume_gesture_control_summary">제스처를 사용해 플레이어의 음량을 조작 합니다</string>
<string name="brightness_gesture_control_title">제스처 밝기 조작</string>
<string name="volume_gesture_control_title">제스처 음량 조작</string>
<string name="volume_gesture_control_summary">제스처를 사용해 플레이어의 음량을 조작합니다</string>
<string name="brightness_gesture_control_title">제스처 밝기 조작</string>
<string name="brightness_gesture_control_summary">제스처를 사용해 화면 밝기를 조작합니다</string>
<string name="settings_category_updates_title">업데이트</string>
<string name="tracks">트랙</string>
@ -414,8 +414,8 @@
<string name="saved_tabs_invalid_json">저장된 탭을 읽는 중 오류가 발생하여 기본 탭을 사용합니다</string>
<string name="restore_defaults">초기화</string>
<string name="restore_defaults_confirmation">초기 설정으로 복원하시겠습니까\?</string>
<string name="subscribers_count_not_available">구독자 숫자가 없습니다</string>
<string name="main_page_content_summary">메인 화면에 표시할 탭</string>
<string name="subscribers_count_not_available">구독자 수를 가져올 수 없습니다</string>
<string name="main_page_content_summary">메인 화면에 표시할 탭을 설정합니다</string>
<string name="selection">선택</string>
<string name="updates_setting_title">업데이트</string>
<string name="updates_setting_description">새 버전이 있을 경우 앱을 업데이트하도록 알림 표시</string>
@ -473,7 +473,7 @@
<string name="close">닫기</string>
<string name="enable_playback_resume_title">재생 재개</string>
<string name="enable_playback_resume_summary">마지막 재생 위치부터 재생</string>
<string name="enable_playback_state_lists_title">리스트 내 위치</string>
<string name="enable_playback_state_lists_title">리스트 내 위치 표시</string>
<string name="enable_playback_state_lists_summary">리스트에서 재생 위치를 표시합니다</string>
<string name="settings_category_clear_data_title">데이터 삭제</string>
<string name="watch_history_states_deleted">재생위치 삭제완료.</string>
@ -488,7 +488,7 @@
<string name="enable_queue_limit">다운로드 대기 제한</string>
<string name="start_downloads">다운로드 시작</string>
<string name="pause_downloads">다운로드 일시정지</string>
<string name="downloads_storage_ask_title">다운로드 위치를 물음</string>
<string name="downloads_storage_ask_title">다운로드 위치를 묻기</string>
<string name="downloads_storage_ask_summary">다운로드 할때 마다 저장위치를 물을 것 입니다</string>
<string name="downloads_storage_use_saf_title">SAF 사용</string>
<string name="downloads_storage_use_saf_summary">스토리지 액세스 프레임워크(SAF)는 외장 SD카드에 다운로드 할 수 있도록 해줍니다.
@ -499,9 +499,10 @@
<string name="downloads_storage_ask_summary_kitkat">매 다운로드 마다 저장경로를 묻습니다.
\n외장 SD카드에 다운로드 하고자 한다면 SAF를 선택하십시오</string>
<plurals name="videos">
<item quantity="other">동영상</item>
<item quantity="other">%s개의 동영상</item>
</plurals>
<string name="enable_queue_limit_desc">하나의 다운로드가 동시에 진행됩니다</string>
<string name="download_choose_new_path">적용하려면 다운로드 폴더를 변경하세요</string>
<string name="drawer_header_description">서비스 토글, 현재 선택된 서비스:</string>
<string name="default_kiosk_page_sumatry">기본 키오스크</string>
</resources>

View File

@ -1,16 +1,17 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources><string name="main_bg_subtitle">Стисни на пребарување за да почнеш</string>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Стисни на пребарување за да почнеш</string>
<string name="view_count_text">%1$s прегледи</string>
<string name="upload_date_text">Објавено на %1$s</string>
<string name="no_player_found">Не е најден плеер за стримови. Инсталирај VLC?</string>
<string name="no_player_found_toast">Не е најден плеер за стримови (можеш да инсталираш VLC)</string>
<string name="no_player_found_toast">Не е пронајден плеер за стримови (можеш да инсталираш VLC)</string>
<string name="install">Инсталирај</string>
<string name="cancel">Откажи</string>
<string name="open_in_browser">Отвори во пребарувач</string>
<string name="open_in_popup_mode">Отвори во прозорче</string>
<string name="share">Сподели</string>
<string name="download">Превземи</string>
<string name="controls_download_desc">Превземи стрим датотека.</string>
<string name="controls_download_desc">Превземи датотека за стрим</string>
<string name="search">Пребарај</string>
<string name="settings">Поставки</string>
<string name="did_you_mean">Мислеше на: %1$s\?</string>
@ -18,7 +19,7 @@
<string name="choose_browser">Одбери пребарувач</string>
<string name="screen_rotation">ротација</string>
<string name="use_external_video_player_title">Користи надворешен видео плеер</string>
<string name="use_external_video_player_summary">Некои резолуции НЕМААТ звук со оваа опција</string>
<string name="use_external_video_player_summary">Отстранува звук на НЕКОИ резолуции</string>
<string name="use_external_audio_player_title">Користи надворешен аудио плеер</string>
<string name="popup_mode_share_menu_title">NewPipe мало прозорче</string>
<string name="subscribe_button_title">Зачлени се</string>
@ -27,25 +28,19 @@
<string name="subscription_change_failed">Не може да се промени членството</string>
<string name="subscription_update_failed">Не може да се освежи членството</string>
<string name="show_info">Покажи информации</string>
<string name="tab_main">Почетна</string>
<string name="tab_subscriptions">Членства</string>
<string name="tab_bookmarks">Обележани</string>
<string name="tab_bookmarks">Обележани плејлисти</string>
<string name="fragment_whats_new">Новости</string>
<string name="controls_background_title">Позадина</string>
<string name="controls_popup_title">Подпрозорче</string>
<string name="controls_add_to_playlist_title">Додај на</string>
<string name="download_path_title">Локација за зачувување на видеата</string>
<string name="download_path_summary">Локација за зачувување на видеата</string>
<string name="download_path_dialog_title">Внеси локација за зачувување на видеата</string>
<string name="download_path_audio_title">Локација за зачувување аудио</string>
<string name="download_path_audio_summary">Локација за зачувување аудио</string>
<string name="download_path_audio_dialog_title">Внеси локација за зачувување аудио</string>
<string name="autoplay_by_calling_app_title">Автоматско пуштање</string>
<string name="autoplay_by_calling_app_summary">Пушта видео кога NewPipe е повикана од друга апликација</string>
<string name="default_resolution_title">Стандардна резолуција</string>
@ -130,17 +125,13 @@
<string name="always">Секогаш</string>
<string name="just_once">Само еднаш</string>
<string name="file">Датотека</string>
<string name="notification_channel_name">Известување од NewPipe</string>
<string name="notification_channel_description">NewPipe Известувања за подпрозорчето и заднинското пуштање</string>
<string name="unknown_content">[Непознато]</string>
<string name="toggle_orientation">Смени ориентација</string>
<string name="switch_to_background">Пушти во позадина</string>
<string name="switch_to_popup">Пушти во подпрозорче</string>
<string name="switch_to_main">Пушти во главната апликација</string>
<string name="import_data_title">Внеси датабаза</string>
<string name="export_data_title">Изнеси база на податоци</string>
<string name="import_data_summary">Ќе ги избрише моменталните членства и историја</string>
@ -169,7 +160,6 @@
<string name="invalid_file">Датотеката не постои или се потребни привилегии за достапност</string>
<string name="file_name_empty_error">Датотеката не може да биде празна</string>
<string name="error_occurred_detail">Настана проблем: %1$s</string>
<string name="sorry_string">Извинете, не требаше да се случи тоа.</string>
<string name="error_report_button_text">Извести за грешката по е-пошта</string>
<string name="error_snackbar_message">Извинете, настана проблем.</string>
@ -179,8 +169,6 @@
<string name="info_labels">Што:\\nБарање:\\nЈазик на Содрж.:\\nУслуга:\\nGMT Час:\\nПакет:\\nВерзија:\\nВерз. на ОС:</string>
<string name="your_comment">Ваш коментар (на Англиски):</string>
<string name="error_details_headline">Детали:</string>
<string name="list_thumbnail_view_description">Сликичка за преглед на видеото</string>
<string name="detail_thumbnail_view_description">Сликичка за преглед на видеото</string>
<string name="detail_uploader_thumbnail_view_description">Икона од аватарот на објавителот</string>
@ -193,37 +181,30 @@
<string name="search_no_results">Нема резултати</string>
<string name="empty_subscription_feed_subtitle">Тука Е Празно :(</string>
<string name="detail_drag_description">Влечи за да разместиш</string>
<string name="err_dir_create">Не може да се создаде локација \'%1$s\'</string>
<string name="info_dir_created">Создадена локација \'%1$s\'</string>
<string name="video">Видео</string>
<string name="audio">Звук</string>
<string name="retry">Пробај повторно</string>
<string name="storage_permission_denied">Нема привилегии за пристап</string>
<string name="short_thousand">K</string>
<string name="short_million">M</string>
<string name="short_billion">B</string>
<string name="no_subscribers">Нема зачленети</string>
<plurals name="subscribers">
<item quantity="one">%s зачленет</item>
<item quantity="other">%s зачленети</item>
</plurals>
<item quantity="one">%s зачленет</item>
<item quantity="other">%s зачленети</item>
</plurals>
<string name="no_views">Нула прегледи</string>
<plurals name="views">
<item quantity="one">%s преглед</item>
<item quantity="other">%s прегледи</item>
</plurals>
<item quantity="one">%s преглед</item>
<item quantity="other">%s прегледи</item>
</plurals>
<string name="no_videos">Нема видеа</string>
<plurals name="videos">
<item quantity="one">%s видео</item>
<item quantity="other">%s видеа</item>
</plurals>
<item quantity="one">%s видео</item>
<item quantity="other">%s видеа</item>
</plurals>
<string name="start">Започни</string>
<string name="pause">Пауза</string>
<string name="view">Пушти</string>
@ -234,10 +215,8 @@
<string name="checksum">Чексума</string>
<string name="dismiss">Отфрли</string>
<string name="rename">Прекрсти</string>
<string name="add">Нова мисија</string>
<string name="finish">Готово</string>
<string name="msg_name">Име на датотека</string>
<string name="msg_threads">Нишки</string>
<string name="msg_error">Грешка</string>
@ -251,19 +230,15 @@
<string name="no_available_dir">Одберете достапна локација за превземања</string>
<string name="msg_popup_permission">Оваа привилегија е потребна за
\nотворање во подпрозорче</string>
<string name="reCaptchaActivity">„reCAPTCHA“</string>
<string name="reCaptcha_title">reCAPTCHA Предизвик</string>
<string name="recaptcha_request_toast">Потребен е reCAPTCHA предизвик</string>
<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>
@ -285,8 +260,6 @@
<string name="website_encouragement">За повеќе информации и новости за NewPipe посети ја вебстраната.</string>
<string name="app_license_title">"Лиценцата на NewPipe "</string>
<string name="read_full_license">Прочитај лиценца</string>
<string name="title_activity_history">Историја</string>
<string name="title_history_search">Пребарано</string>
<string name="title_history_view">Гледано</string>
@ -300,7 +273,6 @@
<string name="delete_all_history_prompt">Сигурно сакаш да ја избришеш целата историја?</string>
<string name="title_last_played">Последно пуштено</string>
<string name="title_most_played">Најгледани</string>
<string name="main_page_content">Содржина</string>
<string name="blank_page_summary">Празна страна</string>
<string name="kiosk_page_summary">Киоск</string>
@ -315,7 +287,6 @@
<string name="no_valid_zip_file">Нема валиден ZIP фајл</string>
<string name="could_not_import_all_files">Предупредување: Не се внесени сите датотеки.</string>
<string name="override_current_data">Ова ќе ги избрише моменталните поставки.</string>
<string name="kiosk">Киоск</string>
<string name="trending">Популарни</string>
<string name="top_50">Топ 50</string>
@ -331,64 +302,47 @@
<string name="start_here_on_main">Пушти тука</string>
<string name="start_here_on_background">Пушти тука во позадина</string>
<string name="start_here_on_popup">Пушти тука во прозорче</string>
<string name="drawer_open">Отвори картон</string>
<string name="drawer_close">Затвори картон</string>
<string name="drawer_header_action_paceholder_text">Нешто спремаме за тука ;D</string>
<string name="video_player">Видео плеер</string>
<string name="background_player">Позадински плеер</string>
<string name="popup_player">Пушти во прозорче</string>
<string name="always_ask_open_action">Секогаш прашај</string>
<string name="preferred_player_fetcher_notification_title">Чекање информации…</string>
<string name="preferred_player_fetcher_notification_message">Одбраната содржина се чита</string>
<string name="create_playlist">Создај нова плејлиста</string>
<string name="delete_playlist">Избриши плејлиста</string>
<string name="rename_playlist">Прекрсти плејлиста</string>
<string name="playlist_name_input">Име</string>
<string name="append_playlist">Додај во плејлиста</string>
<string name="set_as_playlist_thumbnail">Постави како икона на плејлистата</string>
<string name="bookmark_playlist">Обележи ја плејлистата</string>
<string name="unbookmark_playlist">Избриши ја белешката</string>
<string name="delete_playlist_prompt">Сакаш да ја избришеш плејлистата?</string>
<string name="playlist_creation_success">Листата е создадена</string>
<string name="playlist_add_stream_success">Додадено во плејлиста</string>
<string name="playlist_thumbnail_change_success">Се смени иконата на плејлистата</string>
<string name="playlist_delete_failure">Неуспешно бришење на листата</string>
<string name="caption_none">Без превод</string>
<string name="resize_fit">Вклопи</string>
<string name="resize_fill">Исполни</string>
<string name="resize_zoom">Зумирај</string>
<string name="caption_auto_generated">Автоматски создадено</string>
<string name="enable_leak_canary_title">Вклучи LeakCanary</string>
<string name="enable_leak_canary_summary">Следењето на мемориските грешки може да ја прикочува апликацијата</string>
<string name="enable_disposed_exceptions_title">Пријави Out-of-lifecycle грешки</string>
<string name="enable_disposed_exceptions_summary">Секогаш пријавувај неуспешни Rx исклучоци кои настануваат надвор од fragment или activity циклусот по отстранување</string>
<string name="import_export_title">Внеси/Изнеси</string>
<string name="import_title">Внеси</string>
<string name="import_from">Внеси од</string>
<string name="export_to">Изнеси до</string>
<string name="import_ongoing">Внесување…</string>
<string name="export_ongoing">Изнесување…</string>
<string name="import_file_title">Внеси датотека</string>
<string name="previous_export">Претходно изнесување</string>
<string name="subscriptions_import_unsuccessful">Неуспешно внесување членства</string>
<string name="subscriptions_export_unsuccessful">Неуспешно изнесување членства</string>
<string name="import_youtube_instructions">Внеси YouTube членства, преку симнување на извозен фајл:
\n
\n1. Оди на оваа врска: %1$s
@ -401,17 +355,15 @@
\n3. Пријавете се на вашиот профил
\n4. Копирајте го URL-то на кое бевте пренасочени (тоа е URL-то на вашиот профил).</string>
<string name="import_soundcloud_instructions_hint">korisnickoime, soundcloud.com/korisnickoime</string>
<string name="import_network_expensive_warning">Треба да знаеш дека оваа операција троши многу интернет.
\n
\nСакаш да продолжиш?</string>
<string name="playback_speed_control">Контрола на брзината на траката</string>
<string name="playback_tempo">Темпо</string>
<string name="playback_pitch">Тон</string>
<string name="unhook_checkbox">Откачи (може да создаде мутации)</string>
<string name="playback_default">Стандардно</string>
<string name="clear_views_history_title">Избриши историја на гледаност</string>
<string name="clear_views_history_title">Избриши историја на гледаност</string>
<string name="clear_views_history_summary">Ја брише историјата на пуштени видеа</string>
<string name="delete_view_history_alert">Избриши ја целата историја на гледаност.</string>
<string name="watch_history_deleted">Избришана е историјата на гледаност.</string>
@ -420,20 +372,14 @@
<string name="delete_search_history_alert">Избриши ја целата историја на пребарувања.</string>
<string name="search_history_deleted">Избришана е историјата на пребарувања.</string>
<string name="no_streams_available_download">Нема стримови за симнување</string>
<string name="one_item_deleted">1 ставка избришана.</string>
<string name="toast_no_player">Нема апликација за пуштање на овој фајл</string>
<string name="app_license">NewPipe е „copyleft“ слободен софтвер: Можеш да ја користиш, истражуваш и подобруваш по твоја желба. Можеш да ја редистрибуираш и/или да ја промениш под условите на GNU GPL лиценцата, публикувана од фондацијата FSF - или верзија 3 од лиценцата, или (по можност) понова верзија.</string>
<string name="import_settings">Дали сакаш да се внесат и подесувањата?</string>
<string name="preferred_open_action_settings_title">Претпочитана акција за „отворање“</string>
<string name="preferred_open_action_settings_summary">Стандардна акција при отворање видеа — %s</string>
<string name="caption_setting_title">Преводи</string>
<string name="caption_setting_description">Смени ја големината и стилот на преводот. Потребен е рестарт за промена</string>
<string name="privacy_policy_title">NewPipe - политика за приватност</string>
<string name="privacy_policy_encouragement">Проектот NewPipe сериозно ја сфаќа вашата приватност. Затоа апликацијата не собира ваши податоци без ваша дозвола.
\nПолитиката за приватност на NewPipe детално објаснува кои податоци се зачувани и пратени кога праќате извештај за грешка во апликацијата.</string>
@ -442,7 +388,6 @@
\nВе молиме прочитајте ја внимателно. Мора да ја прифатите за да ни го испратите извештајот за грешка во апликацијата.</string>
<string name="accept">Прифати</string>
<string name="decline">Отфрли</string>
<string name="limit_data_usage_none_description">Неограничено</string>
<string name="limit_mobile_data_usage_title">Ограничи резолуција при користење мобилен интернет</string>
<string name="channels">Канали</string>
@ -452,11 +397,93 @@
<string name="skip_silence_checkbox">Прескокни ја тишината</string>
<string name="playback_step">Скокни</string>
<string name="playback_reset">Почни одново</string>
<string name="minimize_on_exit_title">Скриј при промена на апликацијата</string>
<string name="minimize_on_exit_summary">Пушти во заднина при промена на апликацијата од видео плеерот — %s</string>
<string name="minimize_on_exit_none_description">Никое</string>
<string name="minimize_on_exit_background_description">Смали го во позадина</string>
<string name="minimize_on_exit_popup_description">Смали го во прозорче</string>
</resources>
<string name="unsubscribe">Откажи членство</string>
<string name="tab_new">Ново јазиче</string>
<string name="tab_choose">Одбери јазиче</string>
<string name="volume_gesture_control_title">Гест за контрола на јачина на звук</string>
<string name="volume_gesture_control_summary">Користи гест за контрола на јачината на звукот</string>
<string name="brightness_gesture_control_title">Гест за контрола на осветленост</string>
<string name="brightness_gesture_control_summary">Користи гест за контрола на осветленот</string>
<string name="settings_category_updates_title">Ажурирања</string>
<string name="file_deleted">Дадотеката е избришана</string>
<string name="app_update_notification_channel_name">Известување за ажурирање на апликација</string>
<string name="app_update_notification_channel_description">Известување за нова NewPipe верзија</string>
<string name="download_to_sdcard_error_title">Надворешната меморија е недостапна</string>
<string name="download_to_sdcard_error_message">Превземањето на надворешната SD картичка не е можно. Ресетирајте ја локацијата на папката за преземање \?</string>
<string name="subscribers_count_not_available">Бројот на зачленети не е достапен</string>
<string name="main_page_content_summary">Кои јазичиња се прикажани на главната страница</string>
<string name="selection">Избор</string>
<string name="updates_setting_title">Ажурирања</string>
<string name="updates_setting_description">Покажи известување за навремено ажурирање на апликацијата кога е достапна нова верзија</string>
<string name="list_view_mode">Режим на прегледување список</string>
<string name="list">Список</string>
<string name="grid">Решетка</string>
<string name="auto">Автоматски</string>
<string name="app_update_notification_content_title">NewPipe ажурирање е достапно!</string>
<string name="app_update_notification_content_text">Допри за преземање</string>
<string name="missions_header_finished">Завршено</string>
<string name="missions_header_pending">Во очекување</string>
<string name="paused">Паузирано</string>
<string name="queued">Во ред за чекање</string>
<string name="enqueue">Редица</string>
<string name="permission_denied">Акција одбиена од системот</string>
<string name="download_failed">преземањето не успеа</string>
<string name="download_finished">Преземањето заврши</string>
<string name="download_finished_more">%s преземањата завршија</string>
<string name="generate_unique_name">Генерирај уникатно име</string>
<string name="overwrite">Презапиши</string>
<string name="download_already_running">Во тек е преземање со ова име</string>
<string name="show_error">Покажи грешка</string>
<string name="label_code">Код</string>
<string name="error_path_creation">Папката не може да се создаде</string>
<string name="error_file_creation">Датотеката не може да се создаде</string>
<string name="error_permission_denied">Дозволата е одбиена од системот</string>
<string name="error_ssl_exception">Безбедна врска не успеа</string>
<string name="error_unknown_host">Не може да се пронајде серверот</string>
<string name="error_connect_host">Не може да се поврзе со серверот</string>
<string name="error_http_no_content">Серверот не испраќа податоци</string>
<string name="error_http_unsupported_range">Серверот не прифаќа преземања со повеќе навои, обидете се со @string/msg_threads = 1</string>
<string name="error_http_requested_range_not_satisfiable">Побараниот опсег не е задоволителен</string>
<string name="error_http_not_found">Не е најдено</string>
<string name="clear_finished_download">Избриши завршени преземања</string>
<string name="stop">Стоп</string>
<string name="max_retry_msg">Максимални обиди</string>
<string name="max_retry_desc">Максимален број обиди пред откажување на преземањето</string>
<string name="pause_downloads_on_mobile_desc">Корисно при префрлување на мобилни податоци, иако некои преземања не можат да бидат прекинати</string>
<string name="events">Настани</string>
<string name="conferences">Конференции</string>
<string name="show_comments_title">Прикажи коментари</string>
<string name="autoplay_title">Автоматски старт</string>
<plurals name="comments">
<item quantity="one">Коментари</item>
<item quantity="other"></item>
</plurals>
<string name="no_comments">Нема коментари</string>
<string name="error_unable_to_load_comments">Не може да се вчитаат коментарите</string>
<string name="close">Затвори</string>
<string name="enable_playback_resume_title">Продолжи со репродукција</string>
<string name="enable_playback_resume_summary">Врати ја последната позиција за репродукција</string>
<string name="settings_category_clear_data_title">Избриши податоци</string>
<string name="missing_file">Дадотеката е преместена или избришана</string>
<string name="overwrite_unrelated_warning">Ддотека со ова име веќе постои</string>
<string name="overwrite_finished_warning">Преземената дадотека со ова име веќе постои</string>
<string name="error_postprocessing_stopped">NewPipe беше затворен додека работеше на датотеката</string>
<string name="error_insufficient_storage">Не останува простор на уредот</string>
<string name="error_timeout">Истечено време за поврзување</string>
<string name="confirm_prompt">Дали си сигурен\?</string>
<string name="enable_queue_limit">Ограничи ја редицата за преземање</string>
<string name="enable_queue_limit_desc">Едно преземање ќе работи истовремено</string>
<string name="start_downloads">Започи со преземања</string>
<string name="pause_downloads">Паузирај преземања</string>
<string name="downloads_storage_ask_summary">Вие ќе добиете прашање каде да го зачувате секое преземање</string>
<string name="downloads_storage_ask_summary_kitkat">Вие ќе добиете прашање каде да го зачувате секое преземање
\nИзберете SAF ако сакате да преземете во надворешна SD картичка</string>
<string name="downloads_storage_use_saf_title">Користи SAF</string>
<string name="downloads_storage_use_saf_summary">Рамката за пристап до складирање овозможува преземања во надворешна SD-картичка.
\nЗабелешка: некои уреди не се поддржани.</string>
</resources>

View File

@ -65,7 +65,7 @@
<string name="light_parsing_error">Kunne ikke tolke nettside fullstendig</string>
<string name="content_not_available">Innholdet er utilgjengelig</string>
<string name="could_not_setup_download_menu">Kunne ikke sette opp nedlastingsmeny</string>
<string name="live_streams_not_supported">Direktesendinger støttes ikke enda.</string>
<string name="live_streams_not_supported">Direktesendinger støttes ikke en</string>
<string name="could_not_get_stream">Kunne ikke finne noen strømmer</string>
<string name="sorry_string">Beklager, dette skal ikke skje.</string>
<string name="error_report_button_text">Rapporter feil via e-post</string>
@ -376,7 +376,7 @@
<string name="download_thumbnail_summary">Skru av for å stoppe innlasting av miniatyrbilder, noe som sparer data- og minnebruk. Endring av dette vil tømme både disk- og minne-hurtiglager.</string>
<string name="auto_queue_summary">Legg til en relatert strøm ved avspilling av forrige strøm i ikke-repeterende kø</string>
<string name="enable_leak_canary_summary">Minnelekkasjeoppsyn kan forårsake programmet å opptre uresponsivt under haugdumping</string>
<string name="enable_disposed_exceptions_title">Rapporter feil som opptrer utenfor sin levetid</string>
<string name="enable_disposed_exceptions_title">Rapporter feil utenfor livssyklusen</string>
<string name="enable_disposed_exceptions_summary">Tving rapportering av uleverbare Rx-unntak utenom fragment eller aktivitetslevetid etter forkastelse</string>
<string name="unhook_checkbox">Avhekt (kan forårsake forvrenging)</string>
<string name="privacy_policy_title">NewPipes personvernspraksis</string>
@ -415,7 +415,7 @@
<string name="app_update_notification_channel_description">Merknader for nye NewPipe-versjoner</string>
<string name="download_to_sdcard_error_title">Ekstern lagring utilgjengelig</string>
<string name="download_to_sdcard_error_message">Nedlasting til eksternt SD-kort er ikke mulig. Tilbakestill plassering av nedlastingsmappe\?</string>
<string name="saved_tabs_invalid_json">Bruker forvalgte faner, feil under lesing av lagrede faner.</string>
<string name="saved_tabs_invalid_json">Bruker forvalgte faner, feil under lesing av lagrede faner</string>
<string name="restore_defaults">Gjenopprett forvalg</string>
<string name="restore_defaults_confirmation">Ønsker du å gjenopprette alt til forvalgene\?</string>
<string name="subscribers_count_not_available">Abonnementsantall ikke tilgjengelig</string>
@ -429,11 +429,11 @@
<string name="grid">Rutenett</string>
<string name="auto">Auto</string>
<string name="switch_view">Veksle visning</string>
<string name="app_update_notification_content_title">Ny NewPipe-versjon tilgjengelig.</string>
<string name="app_update_notification_content_title">NewPipe-oppdatering tilgjengelig!</string>
<string name="app_update_notification_content_text">Trykk for å laste ned</string>
<string name="missions_header_finished">Fullført</string>
<string name="paused">pauset</string>
<string name="queued">i</string>
<string name="queued">I</string>
<string name="post_processing">etterbehandling</string>
<string name="enqueue"></string>
<string name="permission_denied">Handling avvist av systemet</string>
@ -454,7 +454,7 @@
<string name="error_connect_host">Kan ikke koble til tjeneren</string>
<string name="error_http_no_content">Tjeneren sender ikke data</string>
<string name="error_http_unsupported_range">"Tjeneren godtar ikke flertrådede nedlastinger, prøv igjen med @string/msg_threads = 1 "</string>
<string name="error_http_requested_range_not_satisfiable">Forespurt nummerområde kan ikke innvilges</string>
<string name="error_http_requested_range_not_satisfiable">Forespurt rekkevidde er ikke tilfredsstillende</string>
<string name="error_http_not_found">Ikke funnet</string>
<string name="error_postprocessing_failed">Etterbehandling mislyktes</string>
<string name="clear_finished_download">Tøm fullførte nedlastinger</string>
@ -480,7 +480,7 @@
<string name="enable_playback_state_lists_title">Posisjon i lister</string>
<string name="enable_playback_state_lists_summary">Vis avspillingsposisjonsindikator i lister</string>
<string name="settings_category_clear_data_title">Tøm data</string>
<string name="watch_history_states_deleted">Avspillingsposisjon slettet</string>
<string name="watch_history_states_deleted">Avspillingsposisjon slettet.</string>
<string name="missing_file">Fil flyttet eller slettet</string>
<string name="overwrite_unrelated_warning">En fil ved dette navnet finnes allerede</string>
<string name="overwrite_failed">Kan ikke overskrive filen</string>
@ -496,14 +496,15 @@
<string name="pause_downloads">Sett nedlastinger på pause</string>
<string name="downloads_storage_ask_title">Spør om hvor ting skal lastes ned til</string>
<string name="downloads_storage_ask_summary">Du vil bli spurt om hvor hver nedlasting skal plasseres</string>
<string name="downloads_storage_ask_summary_kitkat">Du vil bli spurt om hvor hver nedlasting skal plasseres.
\nSkru på dette valget hvis du vil laste ned til eksternt SD-kort.</string>
<string name="downloads_storage_ask_summary_kitkat">Du vil bli spurt om hvor hver nedlasting skal plasseres.
\nSkru på SAF hvis du vil laste ned til eksternt SD-kort</string>
<string name="downloads_storage_use_saf_title">Bruk SAF</string>
<string name="downloads_storage_use_saf_summary">Lagringstilgangsrammeverk (SAF) tillater nedlastinger til eksternt SD-kort.
\nMerk: Noen enheter er ikke kompatible.</string>
\nMerk: Noen enheter er ikke kompatible</string>
<string name="clear_playback_states_title">Slett avspillingsposisjoner</string>
<string name="clear_playback_states_summary">Sletter alle avspillingsposisjoner</string>
<string name="delete_playback_states_alert">Slett alle avspillingsposisjoner\?</string>
<string name="download_choose_new_path">Endre nedlastingsmappene for å tre i kraft</string>
<string name="drawer_header_description">Skru tjeneste av/på, for tiden er dette status:</string>
<string name="default_kiosk_page_sumatry">Standard kiosk</string>
</resources>

View File

@ -510,4 +510,6 @@
<string name="clear_playback_states_summary">Usuwa wszystkie pozycje odtwarzania</string>
<string name="delete_playback_states_alert">Usunąć wszystkie pozycje odtwarzania\?</string>
<string name="download_choose_new_path">Zmień foldey pobierania, aby zostały uwzględnione</string>
<string name="drawer_header_description">Przełączanie usługi, aktualnie wybranej:</string>
<string name="default_kiosk_page_sumatry">Domyślny Kiosk</string>
</resources>

View File

@ -212,7 +212,7 @@ abrir em modo popup</string>
<string name="settings_category_player_title">Player</string>
<string name="empty_subscription_feed_subtitle">Não há nada aqui</string>
<string name="delete_item_search_history">Deseja apagar este item do seu histórico de pesquisas\?</string>
<string name="main_page_content">Conteúdo</string>
<string name="main_page_content">Conteúdo da página principal</string>
<string name="blank_page_summary">Página em branco</string>
<string name="kiosk_page_summary">Página de banca</string>
<string name="subscription_page_summary">Página de inscrição</string>
@ -515,4 +515,5 @@ abrir em modo popup</string>
<string name="delete_playback_states_alert">Deletar todo o histórico de reprodução\?</string>
<string name="download_choose_new_path">Mude as pastas de download para surtir efeito</string>
<string name="drawer_header_description">Alterar serviço, selecionados:</string>
<string name="default_kiosk_page_sumatry">Quiosque Padrão</string>
</resources>

View File

@ -506,4 +506,5 @@
<string name="delete_playback_states_alert">Eliminar todas as posições de reprodução\?</string>
<string name="download_choose_new_path">Alterar as pastas de descarregamento para que tenham efeito</string>
<string name="drawer_header_description">Alternar serviço, agora selecionado:</string>
<string name="default_kiosk_page_sumatry">Quiosque Predefinição</string>
</resources>

View File

@ -11,7 +11,7 @@
<string name="search">Поиск</string>
<string name="settings">Настройки</string>
<string name="did_you_mean">Возможно, вы имели в виду: %1$s?</string>
<string name="share_dialog_title">Поделиться в</string>
<string name="share_dialog_title">Поделиться</string>
<string name="choose_browser">Выбор браузера</string>
<string name="screen_rotation">поворот</string>
<string name="download_path_title">Папка для скачанного видео</string>
@ -122,7 +122,7 @@
<string name="filter">Фильтр</string>
<string name="add">Новая цель</string>
<string name="info_labels">Что:\\nЗапрос:\\nЯзык контента:\\nСервис:\\nВремя по Гринвичу:\\nПакет:\\nВерсия:\\nВерсия ОС:</string>
<string name="msg_popup_permission">Это разрешение нужно для
<string name="msg_popup_permission">Это разрешение нужно для
\nвоспроизведения в окне</string>
<string name="reCaptchaActivity">reCAPTCHA</string>
<string name="open_in_popup_mode">Открыть во всплывающем окне</string>
@ -246,9 +246,9 @@
<string name="title_activity_background_player">В фоне</string>
<string name="title_activity_popup_player">В окне</string>
<string name="hold_to_append">Зажмите, чтобы добавить в очередь</string>
<string name="enqueue_on_background">Добавить в очередь \"В фоне\"</string>
<string name="enqueue_on_popup">Добавить в очередь \"В окне\"</string>
<string name="start_here_on_main">Начать отсюда в плеере</string>
<string name="enqueue_on_background">В очередь в фоне</string>
<string name="enqueue_on_popup">В очередь в окне</string>
<string name="start_here_on_main">Играть отсюда в плеере</string>
<string name="start_here_on_background">Играть отсюда в фоне</string>
<string name="start_here_on_popup">Играть отсюда в окне</string>
<string name="no_player_found_toast">Потоковый плеер не найден (можно установить VLC)</string>
@ -260,7 +260,7 @@
<string name="switch_to_background">Перейти в фон</string>
<string name="switch_to_popup">Перейти в окно</string>
<string name="switch_to_main">Перейти в плеер</string>
<string name="player_unrecoverable_failure">Ошибка плеера без возможности восстановления</string>
<string name="player_unrecoverable_failure">Неустранимая ошибка плеера</string>
<string name="external_player_unsupported_link_type">Внешние плееры не поддерживают ссылки этих типов</string>
<string name="invalid_url_toast">Неверная ссылка</string>
<string name="video_streams_empty">Видеопотоки не найдены</string>
@ -317,10 +317,10 @@
<string name="delete_playlist">Удалить</string>
<string name="rename_playlist">Переименовать</string>
<string name="playlist_name_input">Имя</string>
<string name="append_playlist">Добавить в плейлист</string>
<string name="append_playlist">В плейлист</string>
<string name="set_as_playlist_thumbnail">На миниатюру плейлиста</string>
<string name="bookmark_playlist">Сохранить плейлист</string>
<string name="unbookmark_playlist">Удалить закладку</string>
<string name="unbookmark_playlist">Удалить плейлист</string>
<string name="delete_playlist_prompt">Удалить плейлист\?</string>
<string name="playlist_creation_success">Плейлист создан</string>
<string name="playlist_add_stream_success">Добавлено в плейлист</string>
@ -383,11 +383,11 @@
<string name="clear_views_history_summary">Удалить историю воспроизведённых потоков и позиции воспроизведения</string>
<string name="delete_search_history_alert">Удалить всю историю поиска\?</string>
<string name="search_history_deleted">История поиска удалена</string>
<string name="one_item_deleted">1 элемент удалён.</string>
<string name="one_item_deleted">1 элемент удалён</string>
<string name="app_license">NewPipe — свободное программное обеспечение: вы можете использовать, изучать и улучшать его по своему усмотрению. В частности, вы можете распространять и/или изменять его в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation, либо версии 3, либо (по вашему выбору) любой более поздней версии.</string>
<string name="preferred_open_action_settings_title">При открытии ссылки</string>
<string name="import_settings">Хотите импортировать настройки?</string>
<string name="privacy_policy_title">Политика конфиденциальности</string>
<string name="privacy_policy_title">Конфиденциальность</string>
<string name="privacy_policy_encouragement">Проект NewPipe очень серьёзно относится к вашей конфиденциальности. Поэтому приложение не собирает никаких данных без вашего согласия.
\nПолитика конфиденциальности NewPipe подробно объясняет, какие данные отправляются и хранятся при отправке отчёта о сбоях.</string>
<string name="read_privacy_policy">Прочитать политику</string>
@ -431,7 +431,7 @@
<string name="volume_gesture_control_summary">Менять громкость плеера жестом</string>
<string name="volume_gesture_control_title">Жест громкости</string>
<string name="settings_category_updates_title">Обновления</string>
<string name="file_deleted">Файл удален</string>
<string name="file_deleted">Файл удалён</string>
<string name="app_update_notification_channel_name">Уведомление об обновлении</string>
<string name="app_update_notification_channel_description">Уведомления о новой версии NewPipe</string>
<string name="updates_setting_title">Обновления</string>
@ -451,9 +451,9 @@
<string name="label_code">Код</string>
<string name="error_path_creation">Папка назначения не может быть создана</string>
<string name="error_file_creation">Файл не может быть создан</string>
<string name="error_permission_denied">Доступ запрещен системой</string>
<string name="error_permission_denied">Доступ запрещён системой</string>
<string name="error_unknown_host">Сервер не найден</string>
<string name="error_http_unsupported_range">"Сервер не поддерживает многопотоковую загрузку, попробуйте с @string/msg_threads = 1"</string>
<string name="error_http_unsupported_range">Сервер не принимает многопоточные загрузки, повторная попытка с @string/msg_threads = 1</string>
<string name="error_http_requested_range_not_satisfiable">Запрашиваемый диапазон недопустим</string>
<string name="error_http_not_found">Не найдено</string>
<string name="clear_finished_download">Очистить завершённые</string>
@ -475,7 +475,7 @@
<string name="error_postprocessing_failed">Пост-обработка не удалась</string>
<string name="pause_downloads_on_mobile">Прервать в мобильной сети</string>
<string name="close">Закрыть</string>
<string name="error_timeout">Время соединения вышло</string>
<string name="error_timeout">Время соединения истекло</string>
<string name="show_comments_title">Показать комментарии</string>
<string name="show_comments_summary">Отключите, чтобы скрыть комментарии</string>
<string name="autoplay_title">Автовоспроизведение</string>
@ -508,6 +508,7 @@
<string name="clear_playback_states_title">Очистить позиции воспроизведения</string>
<string name="clear_playback_states_summary">Удалить все позиции воспроизведения</string>
<string name="delete_playback_states_alert">Удалить все позиции воспроизведения\?</string>
<string name="download_choose_new_path">Измените папки загрузки для вступления в силу</string>
<string name="download_choose_new_path">Измените папки загрузки для вступления настроек в силу</string>
<string name="drawer_header_description">Переключение сервисов, сейчас выбрано:</string>
<string name="default_kiosk_page_sumatry">Киоск по умолчанию</string>
</resources>

View File

@ -297,8 +297,8 @@
<string name="preferred_player_fetcher_notification_title">Získavajú sa informácie…</string>
<string name="preferred_player_fetcher_notification_message">Načítanie požadované obsahu</string>
<string name="create_playlist">Vytvoriť nový zoznam skladieb</string>
<string name="delete_playlist">Vymazať zoznam skladieb</string>
<string name="rename_playlist">Premenovať zoznam skladieb</string>
<string name="delete_playlist">Vymazať</string>
<string name="rename_playlist">Premenovať</string>
<string name="playlist_name_input">Názov</string>
<string name="append_playlist">Pridať do zoznamu skladieb</string>
<string name="set_as_playlist_thumbnail">Nastaviť ako miniatúru zoznamu skladieb</string>
@ -342,8 +342,7 @@
<string name="enable_leak_canary_summary">Monitorovanie pretečenia pamäte môže spôsobiť, že aplikácia nebude reagovať</string>
<string name="enable_disposed_exceptions_title">Nahlásiť mimo-cyklické chyby</string>
<string name="enable_disposed_exceptions_summary">Vynútiť hlásenie výnimiek nedoručiteľných Rx mimo časového cyklu fragmentov alebo aktivity po zneškodnení</string>
<string name="import_export_title">Import/Export
\n</string>
<string name="import_export_title">Import/Export</string>
<string name="import_title">Import
\n</string>
<string name="import_from">Importovať z
@ -512,4 +511,7 @@
<string name="clear_playback_states_title">Odstrániť pozície prehrávania</string>
<string name="clear_playback_states_summary">Odstráni všetky pozície prehrávania</string>
<string name="delete_playback_states_alert">Odstrániť všetky pozície prehrávania\?</string>
<string name="download_choose_new_path">Zmeniť miesto pre stiahnuté súbory</string>
<string name="drawer_header_description">Prepnúť službu, práve vybraté:</string>
<string name="default_kiosk_page_sumatry">Predvolený kiosk</string>
</resources>

View File

@ -163,8 +163,8 @@
</plurals>
<string name="no_videos">Inga videor</string>
<plurals name="videos">
<item quantity="one">Videor</item>
<item quantity="other">Videor</item>
<item quantity="one">%s video</item>
<item quantity="other">%s videor</item>
</plurals>
<string name="start">Start</string>
<string name="pause">Pausa</string>
@ -402,4 +402,61 @@
<string name="unsubscribe">Avsluta prenumeration</string>
<string name="tab_new">Ny flik</string>
<string name="tab_choose">Välj flik</string>
<string name="volume_gesture_control_title">Gestkontroll för volym</string>
<string name="volume_gesture_control_summary">Använd gester för att justera spelarens volym</string>
<string name="brightness_gesture_control_title">Gestkontroll för ljusstyrka</string>
<string name="brightness_gesture_control_summary">Använd gester för att justera ljusstyrkan</string>
<string name="settings_category_updates_title">Uppdateringar</string>
<string name="file_deleted">Fil raderad</string>
<string name="app_update_notification_channel_name">Appuppdateringsnotifikation</string>
<string name="app_update_notification_channel_description">Notifikationer för nya NewPipe versioner</string>
<string name="download_to_sdcard_error_title">Extern lagring otillgänglig</string>
<string name="saved_tabs_invalid_json">Fel vid läsning av sparade flikar, använder standard flikar istället</string>
<string name="restore_defaults">Återställ default</string>
<string name="restore_defaults_confirmation">Vill du återställa default\?</string>
<string name="subscribers_count_not_available">Antalet prenumeranter är otillgängligt</string>
<string name="main_page_content_summary">Vilka flikar visas på Huvudsidan</string>
<string name="selection">Markering</string>
<string name="updates_setting_title">Uppdateringar</string>
<string name="updates_setting_description">Visa notifikation för att uppdatera appen när en ny version finns tillgänglig</string>
<string name="list_view_mode">Listvy</string>
<string name="list">Lista</string>
<string name="grid">Rutnät</string>
<string name="auto">Auto</string>
<string name="switch_view">Växla vy</string>
<string name="app_update_notification_content_title">NewPipe uppdatering tillgänglig!</string>
<string name="app_update_notification_content_text">Tryck för att ladda ned</string>
<string name="missions_header_finished">Färdig</string>
<string name="paused">pausad</string>
<string name="queued">köad</string>
<string name="post_processing">efterbehandling</string>
<string name="enqueue"></string>
<string name="permission_denied">Åtgärd som nekas av systemet</string>
<string name="download_failed">Nedladdningen misslyckades</string>
<string name="download_finished">Nedladdningen är färdig</string>
<string name="download_finished_more">%s nedladdningar är färdiga</string>
<string name="generate_unique_name">Generera unikt namn</string>
<string name="overwrite">Skriv över</string>
<string name="download_already_running">Det finns en pågående nedladdning med det här namnet</string>
<string name="show_error">Visa fel</string>
<string name="label_code">Kod</string>
<string name="error_ssl_exception">Säker anslutning misslyckades</string>
<string name="error_unknown_host">Kunde inte hitta servern</string>
<string name="error_connect_host">Kunde inte ansluta till servern</string>
<string name="error_http_no_content">Servern skickar ingen data</string>
<string name="error_http_unsupported_range">Servern accepterar inte flertrådade nedladdningar, försök igen med @string/msg_threads = 1</string>
<string name="error_http_not_found">Hittades inte</string>
<string name="error_postprocessing_failed">Efterbehandling misslyckades</string>
<string name="clear_finished_download">Töm färdiga nedladdningar</string>
<string name="msg_pending_downloads">Fortsätt med %s väntande överföringar från Nedladdningar</string>
<string name="stop">Stanna</string>
<string name="max_retry_msg">Max försök</string>
<string name="max_retry_desc">Max antal försök tills nedladdning avbryts</string>
<string name="events">Händelser</string>
<string name="conferences">Konferenser</string>
<string name="show_comments_title">Visa kommentarer</string>
<plurals name="comments">
<item quantity="one">Kommentarer</item>
<item quantity="other"></item>
</plurals>
</resources>

View File

@ -504,7 +504,8 @@
<string name="download_choose_new_path">Etkili olması için indirme dizinlerini değiştirin</string>
<string name="drawer_header_description">Hizmeti değiştir, şu anda seçili olan:</string>
<plurals name="videos">
<item quantity="one">Videolar</item>
<item quantity="other"/>
<item quantity="one">%s video</item>
<item quantity="other">%s video</item>
</plurals>
<string name="default_kiosk_page_sumatry">Varsayılan Kiosk</string>
</resources>

View File

@ -233,9 +233,9 @@
<item quantity="many">%s підписників</item>
</plurals>
<plurals name="videos">
<item quantity="one">%s Відео</item>
<item quantity="few">%s Відео</item>
<item quantity="many">%s Відео</item>
<item quantity="one">%s відео</item>
<item quantity="few">%s відео</item>
<item quantity="many">%s відео</item>
</plurals>
<string name="create">Створити</string>
<string name="delete_one">Видалити одне</string>
@ -510,4 +510,5 @@
<string name="delete_playback_states_alert">Видалити усі запам\'ятовані позиції\?</string>
<string name="download_choose_new_path">Змініть папки завантаження для ефективності</string>
<string name="drawer_header_description">Перемкнути службу, наразі обрано:</string>
<string name="default_kiosk_page_sumatry">Кіоск за замовчуванням</string>
</resources>

View File

@ -500,6 +500,7 @@
<string name="download_choose_new_path">變更下載資料夾以使其生效</string>
<string name="drawer_header_description">切換服務,目前已選取:</string>
<plurals name="videos">
<item quantity="other">影片</item>
<item quantity="other">%s 影片</item>
</plurals>
<string name="default_kiosk_page_sumatry">預設 Kiosk</string>
</resources>

View File

@ -111,8 +111,8 @@
<!-- DEBUG ONLY -->
<string name="debug_pref_screen_key" translatable="false">debug_pref_screen_key</string>
<string name="allow_heap_dumping_key" translatable="false">allow_heap_dumping_key</string>
<string name="allow_disposed_exceptions_key" translatable="false">allow_disposed_exceptions_key</string>
<string name="show_original_time_ago_key" translatable="false">show_original_time_ago_text_key</string>
<!-- THEMES -->
<string name="theme_key" translatable="false">theme</string>

View File

@ -264,6 +264,19 @@
<item quantity="one">%s view</item>
<item quantity="other">%s views</item>
</plurals>
<string name="no_one_watching">No one is watching</string>
<plurals name="watching">
<item quantity="one">%s watching</item>
<item quantity="other">%s watching</item>
</plurals>
<string name="no_one_listening">No one is listening</string>
<plurals name="listening">
<item quantity="one">%s listener</item>
<item quantity="other">%s listeners</item>
</plurals>
<string name="no_videos">No videos</string>
<plurals name="videos">
<item quantity="one">%s video</item>
@ -305,7 +318,7 @@
<!-- Checksum types -->
<string name="md5" translatable="false">MD5</string>
<string name="sha1" translatable="false">SHA-1</string>
<string name="reCaptchaActivity">reCAPTCHA</string>
<string name="reCaptchaActivity" translatable="false">reCAPTCHA</string>
<string name="reCaptcha_title">reCAPTCHA challenge</string>
<string name="recaptcha_request_toast">reCAPTCHA challenge requested</string>
<!-- End of GigaGet's Strings -->
@ -381,6 +394,8 @@
<string name="override_current_data">This will override your current setup.</string>
<string name="import_settings">Do you want to also import settings?</string>
<string name="error_unable_to_load_comments">Could not load comments</string>
<string name="localization_changes_requires_app_restart">Localization changes will not take effect until the app is restarted</string>
<!-- Kiosk Names -->
<string name="kiosk">Kiosk</string>
<string name="trending">Trending</string>
@ -444,6 +459,10 @@
<string name="enable_leak_canary_summary">Memory leak monitoring may cause the app to become unresponsive when heap dumping</string>
<string name="enable_disposed_exceptions_title">Report out-of-lifecycle errors</string>
<string name="enable_disposed_exceptions_summary">Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal</string>
<string name="show_original_time_ago_title" translatable="false">Show original time ago on items</string>
<string name="show_original_time_ago_summary" translatable="false">Original texts from services will be visible in stream items</string>
<!-- Subscriptions import/export -->
<string name="import_export_title">Import/export</string>
<string name="import_title">Import</string>
@ -558,4 +577,4 @@
<string name="downloads_storage_ask_summary_kitkat">You will be asked where to save each download.\nChoose SAF if you want to download to an external SD card</string>
<string name="downloads_storage_use_saf_title">Use SAF</string>
<string name="downloads_storage_use_saf_summary">The Storage Access Framework allows downloads to an external SD card.\nNote: some devices are not compatible</string>
</resources>
</resources>

View File

@ -3,15 +3,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:title="@string/content">
<ListPreference
app:iconSpaceReserved="false"
android:defaultValue="@string/default_country_value"
android:entries="@array/country_names"
android:entryValues="@array/country_codes"
android:key="@string/content_country_key"
android:summary="%s"
android:title="@string/default_content_country_title"/>
<ListPreference
app:iconSpaceReserved="false"
android:defaultValue="@string/default_language_value"
@ -28,6 +19,15 @@
android:title="@string/peertube_instance_url_title"
android:inputType="textUri" />
<ListPreference
app:iconSpaceReserved="false"
android:defaultValue="@string/default_country_value"
android:entries="@array/country_names"
android:entryValues="@array/country_codes"
android:key="@string/content_country_key"
android:summary="%s"
android:title="@string/default_content_country_title"/>
<SwitchPreference
app:iconSpaceReserved="false"
android:defaultValue="false"

View File

@ -18,4 +18,11 @@
android:key="@string/allow_disposed_exceptions_key"
android:title="@string/enable_disposed_exceptions_title"
android:summary="@string/enable_disposed_exceptions_summary"/>
<SwitchPreference
app:iconSpaceReserved="false"
android:defaultValue="false"
android:key="@string/show_original_time_ago_key"
android:title="@string/show_original_time_ago_title"
android:summary="@string/show_original_time_ago_summary"/>
</PreferenceScreen>