Merge branch 'dev'
Some checks failed
CI / build (push) Has been cancelled

This commit is contained in:
Aliberk Sandıkçı 2025-02-07 15:25:30 +03:00
commit f261951f55
Signed by: asandikci
GPG key ID: A3B47D76845BEDF3
311 changed files with 4257 additions and 797 deletions

84
.github/CONTRIBUTING.md vendored Normal file
View file

@ -0,0 +1,84 @@
PipeBender contribution guidelines
===============================
## Crash reporting
Report crashes through the **automated crash report system** of PipeBender.
This way all the data needed for debugging is included in your bug report for GitHub.
You'll see *exactly* what is sent, be able to add **your comments**, and then send it.
## Issue reporting/feature requests
* **Already reported**? Browse the existing issues in [NewPipe](https://github.com/TeamNewPipe/NewPipe/issues), [Tubular] and [PipeBender] repositories to make sure your issue/feature hasn't been reported/requested.
* **Already fixed**? Check whether your issue/feature is already fixed/implemented.
* **Still relevant**? Check if the issue still exists in the latest release/beta version.
* **Can you fix it**? If you are an Android/Java developer, you are always welcome to fix an issue or implement a feature yourself. PRs welcome! See [Code contribution](#code-contribution) for more info.
* **Is it in English**? Issues in other languages will be ignored unless someone translates them.
* **Is it one issue**? Multiple issues require multiple reports, that can be linked to track their statuses.
* **The template**: Fill it out, everyone wins. Your issue has a chance of getting fixed.
## Translation
* NewPipe is translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). Log in there with your GitHub account, or register.
* as MaintainTeam organization we will set up a distinct weblate page later
* Add the language you want to translate if it is not there already: see [How to add a new language](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-add-a-new-language-to-NewPipe) in the wiki.
* NewPipe uses the [PrettyTime](https://github.com/ocpsoft/prettytime) library to display localized versions of dates and times. It needs to be translated, too. Read [these instructions to add a new language](https://www.ocpsoft.org/prettytime/#section-14) and [this issue](https://github.com/TeamNewPipe/NewPipe/issues/9134) for more info.
## Code contribution
### Guidelines
* Stick to NewPipe's *style conventions* of [checkStyle](https://github.com/checkstyle/checkstyle) and [ktlint](https://github.com/pinterest/ktlint). They run each time you build the project.
* Stick to [F-Droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy).
* In particular **do not bring non-free software** (e.g. binary blobs) into the project. Make sure you do not introduce any closed-source library from Google.
### Before starting development
* If you want to help out with an existing bug report or feature request, **leave a comment** on that issue saying you want to try your hand at it.
* If there is no existing issue for what you want to work on, **open a new one** describing the changes you are planning to introduce. This gives the team and the community a chance to give **feedback** before you spend time on something that is already in development, should be done differently, or should be avoided completely.
* Please show **intention to maintain your features** and code after you contribute a PR. Unmaintained code is a hassle for core developers. If you do not intend to maintain features you plan to contribute, please rethink your submission, or clearly state that in the PR description.
* Create PRs that cover only **one specific issue/solution/bug**. Do not create PRs that are huge monoliths and could have been split into multiple independent contributions.
* NewPipe uses [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) to fetch data from services. If you need to change something there, you must test your changes in NewPipe. Telling NewPipe to use your extractor version can be accomplished by editing the `app/build.gradle` file: the comments under the "NewPipe libraries" section of `dependencies` will help you out.
* We use [LastPipeExtractor](https://github.com/MaintainTeam/LastPipeExtractor)
### Creating a Pull Request (PR)
* Make changes on a **separate branch** with a meaningful name, not on the _master_ branch or the _dev_ branch. This is commonly known as *feature branch workflow*. You may then send your changes as a pull request (PR) on GitHub.
* Please **test** (compile and run) your code before submitting changes! Ideally, provide test feedback in the PR description. Untested code will **not** be merged!
* Respond if someone requests changes or otherwise raises issues about your PRs.
* Try to figure out yourself why builds on our CI fail.
* Make sure your PR is **up-to-date** with the rest of the code. Often, a simple click on "Update branch" will do the job, but if not, you must *rebase* your branch on the `dev` branch manually and resolve the conflicts on your own. You can find help [on the wiki](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-merge-a-PR). Doing this makes the maintainers' job way easier.
## IDE setup & building the app
### Basic setup
NewPipe is developed using [Android Studio](https://developer.android.com/studio/). Learn more about how to install it and how it works in the [official documentation](https://developer.android.com/studio/intro). In particular, make sure you have accepted Android Studio's SDK licences. Once Android Studio is ready, setting up the NewPipe project is fairly simple:
- Clone the NewPipe repository with `git clone https://github.com/TeamNewPipe/NewPipe.git` (or use the link from your own fork, if you want to open a PR).
- Open the folder you just cloned with Android Studio.
- Build and run it just like you would do with any other app, with the green triangle in the top bar.
You may find [SonarLint](https://www.sonarlint.org/intellij)'s **inspections** useful in helping you to write good code and prevent bugs.
### checkStyle setup
The [checkStyle](https://github.com/checkstyle/checkstyle) plugin verifies that Java code abides by the project style. It runs automatically each time you build the project. If you want to view errors directly in the editor, instead of having to skim through the build output, you can install an Android Studio plugin:
- Go to `File -> Settings -> Plugins`, search for `checkstyle` and install `CheckStyle-IDEA`.
- Go to `File -> Settings -> Tools -> Checkstyle`.
- Add NewPipe's configuration file by clicking the `+` in the right toolbar of the "Configuration File" list.
- Under the "Use a local Checkstyle file" bullet, click on `Browse` and, enter `checkstyle` folder under the project's root path and pick the file named `checkstyle.xml`.
- Enable "Store relative to project location" so that moving the directory around does not create issues.
- Insert a description in the top bar, then click `Next` and then `Finish`.
- Activate the configuration file you just added by enabling the checkbox on the left.
- Click `Ok` and you are done.
### ktlint setup
The [ktlint](https://github.com/pinterest/ktlint) plugin does the same job as checkStyle for Kotlin files. Installing the related plugin is as simple as going to `File -> Settings -> Plugins`, searching for `ktlint` and installing `Ktlint (unofficial)`.
## Communication
* You can use a Matrix account to join the NewPipe channel at [#newpipe:matrix.newpipe-ev.de](https://matrix.to/#/#newpipe:matrix.newpipe-ev.de). Some convenient clients, available both for phone and desktop, are listed at that link.
* Alternatively, the #newpipe channel on Libera Chat (`ircs://irc.libera.chat:6697/newpipe`) can also be joined, as it is bridged to the Matrix room. [Click here for webchat](https://web.libera.chat/#newpipe)!
* You can post your suggestions, changes, ideas etc. on either GitHub or Matrix (including via IRC).

View file

@ -14,7 +14,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
java-version: '21'
cache: 'gradle'
- name: "Build release APK"

View file

@ -176,7 +176,7 @@ jobs:
cd "${{ github.workspace }}/output/"
version=$(cat version.num)
echo $version
gh release create "v${version}" --title "${{ inputs.title }}" --notes-file "./changelog.md" --prerelease="true" --repo MaintainTeam/LastPipeBender
gh release create "v${version}" --title "${{ inputs.title }}" --notes-file "./changelog.md" --prerelease="true" --discussion-category "Announcements" --repo MaintainTeam/LastPipeBender
gh release upload "v${version}" $(echo $(find . -name '*.apk' -type f -exec basename \{} \;) checksums.txt) --repo MaintainTeam/LastPipeBender
- name: Archive reports for job

View file

@ -23,9 +23,9 @@ android {
if (System.properties.containsKey('versionCodeOverride')) {
versionCode System.getProperty('versionCodeOverride') as Integer
} else {
versionCode 1002
versionCode 1003
}
versionName "0.27.5"
versionName "0.27.6"
if (System.properties.containsKey('versionNameSuffix')) {
versionNameSuffix System.getProperty('versionNameSuffix')
}
@ -220,7 +220,7 @@ dependencies {
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
// WORKAROUND: if you get errors with the NewPipeExtractor dependency, replace `v0.24.3` with
// the corresponding commit hash, since JitPack is sometimes buggy
implementation 'com.github.MaintainTeam:LastPipeExtractor:d6fd0c38ca6ed4602cc8b3b0bdd012eb24d8e60c'
implementation 'com.github.MaintainTeam:LastPipeExtractor:6bf7594fbc59ba2c6372b71addbe31aa2e33118f'
implementation 'com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0'
/** Checkstyle **/
@ -253,6 +253,7 @@ dependencies {
implementation "androidx.work:work-runtime-ktx:${androidxWorkVersion}"
implementation "androidx.work:work-rxjava3:${androidxWorkVersion}"
implementation 'com.google.android.material:material:1.11.0'
implementation "androidx.webkit:webkit:1.9.0"
/** Third-party libraries **/
// Instance state boilerplate elimination

View file

@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="en"><head><title></title><script>
/**
* Factory method to create and load a BotGuardClient instance.
* @param options - Configuration options for the BotGuardClient.
* @returns A promise that resolves to a loaded BotGuardClient instance.
*/
function loadBotGuard(challengeData) {
this.vm = this[challengeData.globalName];
this.program = challengeData.program;
this.vmFunctions = {};
this.syncSnapshotFunction = null;
if (!this.vm)
throw new Error('[BotGuardClient]: VM not found in the global object');
if (!this.vm.a)
throw new Error('[BotGuardClient]: Could not load program');
const vmFunctionsCallback = function (
asyncSnapshotFunction,
shutdownFunction,
passEventFunction,
checkCameraFunction
) {
this.vmFunctions = {
asyncSnapshotFunction: asyncSnapshotFunction,
shutdownFunction: shutdownFunction,
passEventFunction: passEventFunction,
checkCameraFunction: checkCameraFunction
};
};
this.syncSnapshotFunction = this.vm.a(this.program, vmFunctionsCallback, true, this.userInteractionElement, function () {/** no-op */ }, [ [], [] ])[0]
// an asynchronous function runs in the background and it will eventually call
// `vmFunctionsCallback`, however we need to manually tell JavaScript to pass
// control to the things running in the background by interrupting this async
// function in any way, e.g. with a delay of 1ms. The loop is most probably not
// needed but is there just because.
return new Promise(function (resolve, reject) {
i = 0
refreshIntervalId = setInterval(function () {
if (!!this.vmFunctions.asyncSnapshotFunction) {
resolve(this)
clearInterval(refreshIntervalId);
}
if (i >= 10000) {
reject("asyncSnapshotFunction is null even after 10 seconds")
clearInterval(refreshIntervalId);
}
i += 1;
}, 1);
})
}
/**
* Takes a snapshot asynchronously.
* @returns The snapshot result.
* @example
* ```ts
* const result = await botguard.snapshot({
* contentBinding: {
* c: "a=6&a2=10&b=SZWDwKVIuixOp7Y4euGTgwckbJA&c=1729143849&d=1&t=7200&c1a=1&c6a=1&c6b=1&hh=HrMb5mRWTyxGJphDr0nW2Oxonh0_wl2BDqWuLHyeKLo",
* e: "ENGAGEMENT_TYPE_VIDEO_LIKE",
* encryptedVideoId: "P-vC09ZJcnM"
* }
* });
*
* console.log(result);
* ```
*/
function snapshot(args) {
return new Promise(function (resolve, reject) {
if (!this.vmFunctions.asyncSnapshotFunction)
return reject(new Error('[BotGuardClient]: Async snapshot function not found'));
this.vmFunctions.asyncSnapshotFunction(function (response) { resolve(response) }, [
args.contentBinding,
args.signedTimestamp,
args.webPoSignalOutput,
args.skipPrivacyBuffer
]);
});
}
function runBotGuard(challengeData) {
const interpreterJavascript = challengeData.interpreterJavascript.privateDoNotAccessOrElseSafeScriptWrappedValue;
if (interpreterJavascript) {
new Function(interpreterJavascript)();
} else throw new Error('Could not load VM');
const webPoSignalOutput = [];
return loadBotGuard({
globalName: challengeData.globalName,
globalObj: this,
program: challengeData.program
}).then(function (botguard) {
return botguard.snapshot({ webPoSignalOutput: webPoSignalOutput })
}).then(function (botguardResponse) {
return { webPoSignalOutput: webPoSignalOutput, botguardResponse: botguardResponse }
})
}
function obtainPoToken(webPoSignalOutput, integrityToken, identifier) {
const getMinter = webPoSignalOutput[0];
if (!getMinter)
throw new Error('PMD:Undefined');
const mintCallback = getMinter(integrityToken);
if (!(mintCallback instanceof Function))
throw new Error('APF:Failed');
const result = mintCallback(identifier);
if (!result)
throw new Error('YNJ:Undefined');
if (!(result instanceof Uint8Array))
throw new Error('ODM:Invalid');
return result;
}
</script></head><body></body></html>

View file

@ -17,6 +17,7 @@ import org.acra.config.CoreConfigurationBuilder;
import org.schabi.newpipe.error.ReCaptchaActivity;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor;
import org.schabi.newpipe.ktx.ExceptionUtils;
import org.schabi.newpipe.settings.NewPipeSettings;
import org.schabi.newpipe.util.BridgeStateSaverInitializer;
@ -26,6 +27,7 @@ import org.schabi.newpipe.util.StateSaver;
import org.schabi.newpipe.util.image.ImageStrategy;
import org.schabi.newpipe.util.image.PicassoHelper;
import org.schabi.newpipe.util.image.PreferredImageQuality;
import org.schabi.newpipe.util.potoken.PoTokenProviderImpl;
import java.io.IOException;
import java.io.InterruptedIOException;
@ -118,6 +120,8 @@ public class App extends Application {
&& prefs.getBoolean(getString(R.string.show_image_indicators_key), false));
configureRxJavaErrorHandler();
YoutubeStreamExtractor.setPoTokenProvider(PoTokenProviderImpl.INSTANCE);
}
@Override

View file

@ -137,7 +137,8 @@ public final class DownloaderImpl extends Downloader {
}
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method(httpMethod, requestBody).url(url)
.method(httpMethod, requestBody)
.url(url)
.addHeader("User-Agent", USER_AGENT);
final String cookies = getCookies(url);
@ -145,38 +146,33 @@ public final class DownloaderImpl extends Downloader {
requestBuilder.addHeader("Cookie", cookies);
}
for (final Map.Entry<String, List<String>> pair : headers.entrySet()) {
final String headerName = pair.getKey();
final List<String> headerValueList = pair.getValue();
headers.forEach((headerName, headerValueList) -> {
requestBuilder.removeHeader(headerName);
headerValueList.forEach(headerValue ->
requestBuilder.addHeader(headerName, headerValue));
});
if (headerValueList.size() > 1) {
requestBuilder.removeHeader(headerName);
for (final String headerValue : headerValueList) {
requestBuilder.addHeader(headerName, headerValue);
}
} else if (headerValueList.size() == 1) {
requestBuilder.header(headerName, headerValueList.get(0));
try (
okhttp3.Response response = client.newCall(requestBuilder.build()).execute()
) {
if (response.code() == 429) {
throw new ReCaptchaException("reCaptcha Challenge requested", url);
}
String responseBodyToReturn = null;
try (ResponseBody body = response.body()) {
if (body != null) {
responseBodyToReturn = body.string();
}
}
final String latestUrl = response.request().url().toString();
return new Response(
response.code(),
response.message(),
response.headers().toMultimap(),
responseBodyToReturn,
latestUrl);
}
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();
}
final String latestUrl = response.request().url().toString();
return new Response(response.code(), response.message(), response.headers().toMultimap(),
responseBodyToReturn, latestUrl);
}
}

View file

@ -92,6 +92,7 @@ import org.schabi.newpipe.util.SerializedCache;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
import org.schabi.newpipe.util.ThemeHelper;
import org.schabi.newpipe.util.external_communication.ShareUtils;
import org.schabi.newpipe.views.FocusOverlayView;
import java.util.ArrayList;
@ -120,7 +121,8 @@ public class MainActivity extends AppCompatActivity {
private static final int ITEM_ID_DOWNLOADS = -4;
private static final int ITEM_ID_HISTORY = -5;
private static final int ITEM_ID_SETTINGS = 0;
private static final int ITEM_ID_ABOUT = 1;
private static final int ITEM_ID_DONATION = 1;
private static final int ITEM_ID_ABOUT = 2;
private static final int ORDER = 0;
@ -262,6 +264,10 @@ public class MainActivity extends AppCompatActivity {
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings)
.setIcon(R.drawable.ic_settings);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_DONATION, ORDER,
R.string.donation_title)
.setIcon(R.drawable.volunteer_activism_ic);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_ABOUT, ORDER, R.string.tab_about)
.setIcon(R.drawable.ic_info_outline);
@ -337,6 +343,9 @@ public class MainActivity extends AppCompatActivity {
case ITEM_ID_SETTINGS:
NavigationHelper.openSettings(this);
break;
case ITEM_ID_DONATION:
ShareUtils.openUrlInBrowser(this, getString(R.string.donation_url));
break;
case ITEM_ID_ABOUT:
NavigationHelper.openAbout(this);
break;
@ -924,4 +933,5 @@ public class MainActivity extends AppCompatActivity {
return sheetState == BottomSheetBehavior.STATE_HIDDEN
|| sheetState == BottomSheetBehavior.STATE_COLLAPSED;
}
}

View file

@ -26,7 +26,7 @@ import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.ThemeHelper;
import org.schabi.newpipe.util.external_communication.ShareUtils;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.stream.Collectors;
@ -67,10 +67,6 @@ public class ErrorActivity extends AppCompatActivity {
public static final String ERROR_GITHUB_ISSUE_URL =
"https://github.com/MaintainTeam/LastPipeBender/issues";
public static final DateTimeFormatter CURRENT_TIMESTAMP_FORMATTER =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
private ErrorInfo errorInfo;
private String currentTimeStamp;
@ -107,7 +103,9 @@ public class ErrorActivity extends AppCompatActivity {
// important add guru meditation
addGuruMeditation();
currentTimeStamp = CURRENT_TIMESTAMP_FORMATTER.format(LocalDateTime.now());
// print current time, as zoned ISO8601 timestamp
final ZonedDateTime now = ZonedDateTime.now();
currentTimeStamp = now.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
activityErrorBinding.errorReportEmailButton.setOnClickListener(v ->
openPrivacyPolicyDialog(this, "EMAIL"));
@ -250,6 +248,9 @@ public class ErrorActivity extends AppCompatActivity {
.append("\n* __Content Language:__ ").append(getContentLanguageString())
.append("\n* __App Language:__ ").append(getAppLanguage())
.append("\n* __Service:__ ").append(errorInfo.getServiceName())
.append("\n* __Timestamp:__ ").append(currentTimeStamp)
.append("\n* __Package:__ ").append(getPackageName())
.append("\n* __Service:__ ").append(errorInfo.getServiceName())
.append("\n* __Version:__ ").append(BuildConfig.VERSION_NAME)
.append("\n* __OS:__ ").append(getOsString()).append("\n");

View file

@ -308,11 +308,11 @@ public final class VideoDetailFragment
/*////////////////////////////////////////////////////////////////////////*/
public static VideoDetailFragment getInstance(final int serviceId,
@Nullable final String videoUrl,
@Nullable final String url,
@NonNull final String name,
@Nullable final PlayQueue queue) {
final VideoDetailFragment instance = new VideoDetailFragment();
instance.setInitialData(serviceId, videoUrl, name, queue);
instance.setInitialData(serviceId, url, name, queue);
return instance;
}
@ -1855,7 +1855,7 @@ public final class VideoDetailFragment
playQueue = queue;
if (DEBUG) {
Log.d(TAG, "onQueueUpdate() called with: serviceId = ["
+ serviceId + "], videoUrl = [" + url + "], name = ["
+ serviceId + "], url = [" + url + "], name = ["
+ title + "], playQueue = [" + playQueue + "]");
}

View file

@ -14,10 +14,12 @@ import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
import static com.google.android.exoplayer2.util.Util.castNonNull;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getAndroidUserAgent;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getIosUserAgent;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTvHtml5UserAgent;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isAndroidStreamingUrl;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isIosStreamingUrl;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isTvHtml5StreamingUrl;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isWebStreamingUrl;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isTvHtml5SimplyEmbeddedPlayerStreamingUrl;
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.isWebEmbeddedPlayerStreamingUrl;
import static java.lang.Math.min;
import android.net.Uri;
@ -270,6 +272,7 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD
private static final String RN_PARAMETER = "&rn=";
private static final String YOUTUBE_BASE_URL = "https://www.youtube.com";
private static final byte[] POST_BODY = new byte[] {0x78, 0};
private final boolean allowCrossProtocolRedirects;
private final boolean rangeParameterEnabled;
@ -658,8 +661,11 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD
}
}
final boolean isTvHtml5StreamingUrl = isTvHtml5StreamingUrl(requestUrl);
if (isWebStreamingUrl(requestUrl)
|| isTvHtml5SimplyEmbeddedPlayerStreamingUrl(requestUrl)) {
|| isTvHtml5StreamingUrl
|| isWebEmbeddedPlayerStreamingUrl(requestUrl)) {
httpURLConnection.setRequestProperty(HttpHeaders.ORIGIN, YOUTUBE_BASE_URL);
httpURLConnection.setRequestProperty(HttpHeaders.REFERER, YOUTUBE_BASE_URL);
httpURLConnection.setRequestProperty(HttpHeaders.SEC_FETCH_DEST, "empty");
@ -679,6 +685,9 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD
} else if (isIosStreamingUrl) {
httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT,
getIosUserAgent(null));
} else if (isTvHtml5StreamingUrl) {
httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT,
getTvHtml5UserAgent());
} else {
// non-mobile user agent
httpURLConnection.setRequestProperty(HttpHeaders.USER_AGENT, DownloaderImpl.USER_AGENT);
@ -687,22 +696,16 @@ public final class YoutubeHttpDataSource extends BaseDataSource implements HttpD
httpURLConnection.setRequestProperty(HttpHeaders.ACCEPT_ENCODING,
allowGzip ? "gzip" : "identity");
httpURLConnection.setInstanceFollowRedirects(followRedirects);
httpURLConnection.setDoOutput(httpBody != null);
// Most clients use POST requests to fetch contents
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setFixedLengthStreamingMode(POST_BODY.length);
httpURLConnection.connect();
// Mobile clients uses POST requests to fetch contents
httpURLConnection.setRequestMethod(isAndroidStreamingUrl || isIosStreamingUrl
? "POST"
: DataSpec.getStringForHttpMethod(httpMethod));
final OutputStream os = httpURLConnection.getOutputStream();
os.write(POST_BODY);
os.close();
if (httpBody != null) {
httpURLConnection.setFixedLengthStreamingMode(httpBody.length);
httpURLConnection.connect();
final OutputStream os = httpURLConnection.getOutputStream();
os.write(httpBody);
os.close();
} else {
httpURLConnection.connect();
}
return httpURLConnection;
}

View file

@ -44,7 +44,7 @@ public class PlaybackParameterDialog extends DialogFragment {
private static final String TAG = "PlaybackParameterDialog";
// Minimum allowable range in ExoPlayer
private static final double MIN_PITCH_OR_SPEED = 0.01f;
private static final double MIN_PITCH_OR_SPEED = 0.1f;
private static final double MAX_PITCH_OR_SPEED = 5.00f;
private static final boolean PITCH_CTRL_MODE_PERCENT = false;

View file

@ -25,9 +25,7 @@ import android.graphics.Color;
import android.os.Handler;
import android.os.Looper;
import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
@ -44,6 +42,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.exoplayer2.ui.SubtitleView;
import com.google.android.exoplayer2.video.VideoSize;
import org.schabi.newpipe.R;
@ -522,11 +521,8 @@ public final class MainPlayerUi extends VideoPlayerUi implements View.OnLayoutCh
@Override
protected void setupSubtitleView(final float captionScale) {
final DisplayMetrics metrics = context.getResources().getDisplayMetrics();
final int minimumLength = Math.min(metrics.heightPixels, metrics.widthPixels);
final float captionRatioInverse = 20f + 4f * (1.0f - captionScale);
binding.subtitleView.setFixedTextSize(
TypedValue.COMPLEX_UNIT_PX, minimumLength / captionRatioInverse);
binding.subtitleView.setFractionalTextSize(
SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionScale);
}
//endregion

View file

@ -424,9 +424,8 @@ public final class PopupPlayerUi extends VideoPlayerUi {
@Override
protected void setupSubtitleView(final float captionScale) {
final float captionRatio = (captionScale - 1.0f) / 5.0f + 1.0f;
binding.subtitleView.setFractionalTextSize(
SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionRatio);
SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionScale);
}
@Override

View file

@ -1455,6 +1455,10 @@ public abstract class VideoPlayerUi extends PlayerUi implements SeekBar.OnSeekBa
binding.subtitleView.setStyle(captionStyle);
}
/**
*
* @param captionScale Value returned by {@link PlayerHelper#getCaptionScale}.
*/
protected abstract void setupSubtitleView(float captionScale);
//endregion

View file

@ -17,6 +17,7 @@ import android.view.InputDevice;
import android.view.KeyEvent;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.webkit.CookieManager;
import androidx.annotation.Dimension;
import androidx.annotation.NonNull;
@ -335,4 +336,17 @@ public final class DeviceUtils {
&& !TX_50JXW834
&& !HMB9213NW;
}
/**
* @return whether the device has support for WebView, see
* <a href="https://stackoverflow.com/a/69626735">https://stackoverflow.com/a/69626735</a>
*/
public static boolean supportsWebView() {
try {
CookieManager.getInstance();
return true;
} catch (final Throwable ignored) {
return false;
}
}
}

View file

@ -452,8 +452,12 @@ public final class NavigationHelper {
if (fragment instanceof VideoDetailFragment && fragment.isVisible()) {
onVideoDetailFragmentReady.run((VideoDetailFragment) fragment);
} else {
// Specify no url here, otherwise the VideoDetailFragment will start loading the
// stream automatically if it's the first time it is being opened, but then
// onVideoDetailFragmentReady will kick in and start another loading process.
// See VideoDetailFragment.wasCleared() and its usage in doInitialLoadLogic().
final VideoDetailFragment instance = VideoDetailFragment
.getInstance(serviceId, url, title, playQueue);
.getInstance(serviceId, null, title, playQueue);
instance.setAutoPlay(autoPlay);
defaultTransaction(fragmentManager)

View file

@ -0,0 +1,113 @@
package org.schabi.newpipe.util.potoken
import com.grack.nanojson.JsonObject
import com.grack.nanojson.JsonParser
import com.grack.nanojson.JsonWriter
import okio.ByteString.Companion.decodeBase64
import okio.ByteString.Companion.toByteString
/**
* Parses the raw challenge data obtained from the Create endpoint and returns an object that can be
* embedded in a JavaScript snippet.
*/
fun parseChallengeData(rawChallengeData: String): String {
val scrambled = JsonParser.array().from(rawChallengeData)
val challengeData = if (scrambled.size > 1 && scrambled.isString(1)) {
val descrambled = descramble(scrambled.getString(1))
JsonParser.array().from(descrambled)
} else {
scrambled.getArray(1)
}
val messageId = challengeData.getString(0)
val interpreterHash = challengeData.getString(3)
val program = challengeData.getString(4)
val globalName = challengeData.getString(5)
val clientExperimentsStateBlob = challengeData.getString(7)
val privateDoNotAccessOrElseSafeScriptWrappedValue = challengeData.getArray(1, null)?.find { it is String }
val privateDoNotAccessOrElseTrustedResourceUrlWrappedValue = challengeData.getArray(2, null)?.find { it is String }
return JsonWriter.string(
JsonObject.builder()
.value("messageId", messageId)
.`object`("interpreterJavascript")
.value("privateDoNotAccessOrElseSafeScriptWrappedValue", privateDoNotAccessOrElseSafeScriptWrappedValue)
.value("privateDoNotAccessOrElseTrustedResourceUrlWrappedValue", privateDoNotAccessOrElseTrustedResourceUrlWrappedValue)
.end()
.value("interpreterHash", interpreterHash)
.value("program", program)
.value("globalName", globalName)
.value("clientExperimentsStateBlob", clientExperimentsStateBlob)
.done()
)
}
/**
* Parses the raw integrity token data obtained from the GenerateIT endpoint to a JavaScript
* `Uint8Array` that can be embedded directly in JavaScript code, and an [Int] representing the
* duration of this token in seconds.
*/
fun parseIntegrityTokenData(rawIntegrityTokenData: String): Pair<String, Long> {
val integrityTokenData = JsonParser.array().from(rawIntegrityTokenData)
return base64ToU8(integrityTokenData.getString(0)) to integrityTokenData.getLong(1)
}
/**
* Converts a string (usually the identifier used as input to `obtainPoToken`) to a JavaScript
* `Uint8Array` that can be embedded directly in JavaScript code.
*/
fun stringToU8(identifier: String): String {
return newUint8Array(identifier.toByteArray())
}
/**
* Takes a poToken encoded as a sequence of bytes represented as integers separated by commas
* (e.g. "97,98,99" would be "abc"), which is the output of `Uint8Array::toString()` in JavaScript,
* and converts it to the specific base64 representation for poTokens.
*/
fun u8ToBase64(poToken: String): String {
return poToken.split(",")
.map { it.toUByte().toByte() }
.toByteArray()
.toByteString()
.base64()
.replace("+", "-")
.replace("/", "_")
}
/**
* Takes the scrambled challenge, decodes it from base64, adds 97 to each byte.
*/
private fun descramble(scrambledChallenge: String): String {
return base64ToByteString(scrambledChallenge)
.map { (it + 97).toByte() }
.toByteArray()
.decodeToString()
}
/**
* Decodes a base64 string encoded in the specific base64 representation used by YouTube, and
* returns a JavaScript `Uint8Array` that can be embedded directly in JavaScript code.
*/
private fun base64ToU8(base64: String): String {
return newUint8Array(base64ToByteString(base64))
}
private fun newUint8Array(contents: ByteArray): String {
return "new Uint8Array([" + contents.joinToString(separator = ",") { it.toUByte().toString() } + "])"
}
/**
* Decodes a base64 string encoded in the specific base64 representation used by YouTube.
*/
private fun base64ToByteString(base64: String): ByteArray {
val base64Mod = base64
.replace('-', '+')
.replace('_', '/')
.replace('.', '=')
return (base64Mod.decodeBase64() ?: throw PoTokenException("Cannot base64 decode"))
.toByteArray()
}

View file

@ -0,0 +1,13 @@
package org.schabi.newpipe.util.potoken
class PoTokenException(message: String) : Exception(message)
// to be thrown if the WebView provided by the system is broken
class BadWebViewException(message: String) : Exception(message)
fun buildExceptionForJsError(error: String): Exception {
return if (error.contains("SyntaxError"))
BadWebViewException(error)
else
PoTokenException(error)
}

View file

@ -0,0 +1,35 @@
package org.schabi.newpipe.util.potoken
import android.content.Context
import io.reactivex.rxjava3.core.Single
import java.io.Closeable
/**
* This interface was created to allow for multiple methods to generate poTokens in the future (e.g.
* via WebView and via a local DOM implementation)
*/
interface PoTokenGenerator : Closeable {
/**
* Generates a poToken for the provided identifier, using the `integrityToken` and
* `webPoSignalOutput` previously obtained in the initialization of [PoTokenWebView]. Can be
* called multiple times.
*/
fun generatePoToken(identifier: String): Single<String>
/**
* @return whether the `integrityToken` is expired, in which case all tokens generated by
* [generatePoToken] will be invalid
*/
fun isExpired(): Boolean
interface Factory {
/**
* Initializes a [PoTokenGenerator] by loading the BotGuard VM, running it, and obtaining
* an `integrityToken`. Can then be used multiple times to generate multiple poTokens with
* [generatePoToken].
*
* @param context used e.g. to load the HTML asset or to instantiate a WebView
*/
fun newPoTokenGenerator(context: Context): Single<PoTokenGenerator>
}
}

View file

@ -0,0 +1,131 @@
package org.schabi.newpipe.util.potoken
import android.os.Handler
import android.os.Looper
import android.util.Log
import org.schabi.newpipe.App
import org.schabi.newpipe.BuildConfig
import org.schabi.newpipe.extractor.NewPipe
import org.schabi.newpipe.extractor.services.youtube.InnertubeClientRequestInfo
import org.schabi.newpipe.extractor.services.youtube.PoTokenProvider
import org.schabi.newpipe.extractor.services.youtube.PoTokenResult
import org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper
import org.schabi.newpipe.util.DeviceUtils
object PoTokenProviderImpl : PoTokenProvider {
val TAG = PoTokenProviderImpl::class.simpleName
private val webViewSupported by lazy { DeviceUtils.supportsWebView() }
private var webViewBadImpl = false // whether the system has a bad WebView implementation
private object WebPoTokenGenLock
private var webPoTokenVisitorData: String? = null
private var webPoTokenStreamingPot: String? = null
private var webPoTokenGenerator: PoTokenGenerator? = null
override fun getWebClientPoToken(videoId: String): PoTokenResult? {
if (!webViewSupported || webViewBadImpl) {
return null
}
try {
return getWebClientPoToken(videoId = videoId, forceRecreate = false)
} catch (e: RuntimeException) {
// RxJava's Single wraps exceptions into RuntimeErrors, so we need to unwrap them here
when (val cause = e.cause) {
is BadWebViewException -> {
Log.e(TAG, "Could not obtain poToken because WebView is broken", e)
webViewBadImpl = true
return null
}
null -> throw e
else -> throw cause // includes PoTokenException
}
}
}
/**
* @param forceRecreate whether to force the recreation of [webPoTokenGenerator], to be used in
* case the current [webPoTokenGenerator] threw an error last time
* [PoTokenGenerator.generatePoToken] was called
*/
private fun getWebClientPoToken(videoId: String, forceRecreate: Boolean): PoTokenResult {
// just a helper class since Kotlin does not have builtin support for 4-tuples
data class Quadruple<T1, T2, T3, T4>(val t1: T1, val t2: T2, val t3: T3, val t4: T4)
val (poTokenGenerator, visitorData, streamingPot, hasBeenRecreated) =
synchronized(WebPoTokenGenLock) {
val shouldRecreate = webPoTokenGenerator == null || forceRecreate ||
webPoTokenGenerator!!.isExpired()
if (shouldRecreate) {
val innertubeClientRequestInfo = InnertubeClientRequestInfo.ofWebClient()
innertubeClientRequestInfo.clientInfo.clientVersion =
YoutubeParsingHelper.getClientVersion()
webPoTokenVisitorData = YoutubeParsingHelper.getVisitorDataFromInnertube(
innertubeClientRequestInfo,
NewPipe.getPreferredLocalization(),
NewPipe.getPreferredContentCountry(),
YoutubeParsingHelper.getYouTubeHeaders(),
YoutubeParsingHelper.YOUTUBEI_V1_URL,
null,
false
)
// close the current webPoTokenGenerator on the main thread
webPoTokenGenerator?.let { Handler(Looper.getMainLooper()).post { it.close() } }
// create a new webPoTokenGenerator
webPoTokenGenerator = PoTokenWebView
.newPoTokenGenerator(App.getApp()).blockingGet()
// The streaming poToken needs to be generated exactly once before generating
// any other (player) tokens.
webPoTokenStreamingPot = webPoTokenGenerator!!
.generatePoToken(webPoTokenVisitorData!!).blockingGet()
}
return@synchronized Quadruple(
webPoTokenGenerator!!,
webPoTokenVisitorData!!,
webPoTokenStreamingPot!!,
shouldRecreate
)
}
val playerPot = try {
// Not using synchronized here, since poTokenGenerator would be able to generate
// multiple poTokens in parallel if needed. The only important thing is for exactly one
// visitorData/streaming poToken to be generated before anything else.
poTokenGenerator.generatePoToken(videoId).blockingGet()
} catch (throwable: Throwable) {
if (hasBeenRecreated) {
// the poTokenGenerator has just been recreated (and possibly this is already the
// second time we try), so there is likely nothing we can do
throw throwable
} else {
// retry, this time recreating the [webPoTokenGenerator] from scratch;
// this might happen for example if NewPipe goes in the background and the WebView
// content is lost
Log.e(TAG, "Failed to obtain poToken, retrying", throwable)
return getWebClientPoToken(videoId = videoId, forceRecreate = true)
}
}
if (BuildConfig.DEBUG) {
Log.d(
TAG,
"poToken for $videoId: playerPot=$playerPot, " +
"streamingPot=$streamingPot, visitor_data=$visitorData"
)
}
return PoTokenResult(visitorData, playerPot, streamingPot)
}
override fun getWebEmbedClientPoToken(videoId: String): PoTokenResult? = null
override fun getAndroidClientPoToken(videoId: String): PoTokenResult? = null
override fun getIosClientPoToken(videoId: String): PoTokenResult? = null
}

View file

@ -0,0 +1,395 @@
package org.schabi.newpipe.util.potoken
import android.content.Context
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.webkit.ConsoleMessage
import android.webkit.JavascriptInterface
import android.webkit.WebChromeClient
import android.webkit.WebView
import androidx.annotation.MainThread
import androidx.webkit.WebSettingsCompat
import androidx.webkit.WebViewFeature
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.core.SingleEmitter
import io.reactivex.rxjava3.disposables.CompositeDisposable
import io.reactivex.rxjava3.schedulers.Schedulers
import org.schabi.newpipe.BuildConfig
import org.schabi.newpipe.DownloaderImpl
import java.time.Instant
class PoTokenWebView private constructor(
context: Context,
// to be used exactly once only during initialization!
private val generatorEmitter: SingleEmitter<PoTokenGenerator>,
) : PoTokenGenerator {
private val webView = WebView(context)
private val disposables = CompositeDisposable() // used only during initialization
private val poTokenEmitters = mutableListOf<Pair<String, SingleEmitter<String>>>()
private lateinit var expirationInstant: Instant
//region Initialization
init {
val webViewSettings = webView.settings
//noinspection SetJavaScriptEnabled we want to use JavaScript!
webViewSettings.javaScriptEnabled = true
if (WebViewFeature.isFeatureSupported(WebViewFeature.SAFE_BROWSING_ENABLE)) {
WebSettingsCompat.setSafeBrowsingEnabled(webViewSettings, false)
}
webViewSettings.userAgentString = USER_AGENT
webViewSettings.blockNetworkLoads = true // the WebView does not need internet access
// so that we can run async functions and get back the result
webView.addJavascriptInterface(this, JS_INTERFACE)
webView.webChromeClient = object : WebChromeClient() {
override fun onConsoleMessage(m: ConsoleMessage): Boolean {
if (m.message().contains("Uncaught")) {
// There should not be any uncaught errors while executing the code, because
// everything that can fail is guarded by try-catch. Therefore, this likely
// indicates that there was a syntax error in the code, i.e. the WebView only
// supports a really old version of JS.
val fmt = "\"${m.message()}\", source: ${m.sourceId()} (${m.lineNumber()})"
val exception = BadWebViewException(fmt)
Log.e(TAG, "This WebView implementation is broken: $fmt")
onInitializationErrorCloseAndCancel(exception)
popAllPoTokenEmitters().forEach { (_, emitter) -> emitter.onError(exception) }
}
return super.onConsoleMessage(m)
}
}
}
/**
* Must be called right after instantiating [PoTokenWebView] to perform the actual
* initialization. This will asynchronously go through all the steps needed to load BotGuard,
* run it, and obtain an `integrityToken`.
*/
private fun loadHtmlAndObtainBotguard(context: Context) {
if (BuildConfig.DEBUG) {
Log.d(TAG, "loadHtmlAndObtainBotguard() called")
}
disposables.add(
Single.fromCallable {
val html = context.assets.open("po_token.html").bufferedReader()
.use { it.readText() }
return@fromCallable html
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ html ->
webView.loadDataWithBaseURL(
"https://www.youtube.com",
html.replaceFirst(
"</script>",
// calls downloadAndRunBotguard() when the page has finished loading
"\n$JS_INTERFACE.downloadAndRunBotguard()</script>"
),
"text/html",
"utf-8",
null,
)
},
this::onInitializationErrorCloseAndCancel
)
)
}
/**
* Called during initialization by the JavaScript snippet appended to the HTML page content in
* [loadHtmlAndObtainBotguard] after the WebView content has been loaded.
*/
@JavascriptInterface
fun downloadAndRunBotguard() {
if (BuildConfig.DEBUG) {
Log.d(TAG, "downloadAndRunBotguard() called")
}
makeBotguardServiceRequest(
"https://www.youtube.com/api/jnn/v1/Create",
"[ \"$REQUEST_KEY\" ]",
) { responseBody ->
val parsedChallengeData = parseChallengeData(responseBody)
webView.evaluateJavascript(
"""try {
data = $parsedChallengeData
runBotGuard(data).then(function (result) {
this.webPoSignalOutput = result.webPoSignalOutput
$JS_INTERFACE.onRunBotguardResult(result.botguardResponse)
}, function (error) {
$JS_INTERFACE.onJsInitializationError(error + "\n" + error.stack)
})
} catch (error) {
$JS_INTERFACE.onJsInitializationError(error + "\n" + error.stack)
}""",
null
)
}
}
/**
* Called during initialization by the JavaScript snippets from either
* [downloadAndRunBotguard] or [onRunBotguardResult].
*/
@JavascriptInterface
fun onJsInitializationError(error: String) {
if (BuildConfig.DEBUG) {
Log.e(TAG, "Initialization error from JavaScript: $error")
}
onInitializationErrorCloseAndCancel(buildExceptionForJsError(error))
}
/**
* Called during initialization by the JavaScript snippet from [downloadAndRunBotguard] after
* obtaining the BotGuard execution output [botguardResponse].
*/
@JavascriptInterface
fun onRunBotguardResult(botguardResponse: String) {
if (BuildConfig.DEBUG) {
Log.d(TAG, "botguardResponse: $botguardResponse")
}
makeBotguardServiceRequest(
"https://www.youtube.com/api/jnn/v1/GenerateIT",
"[ \"$REQUEST_KEY\", \"$botguardResponse\" ]",
) { responseBody ->
if (BuildConfig.DEBUG) {
Log.d(TAG, "GenerateIT response: $responseBody")
}
val (integrityToken, expirationTimeInSeconds) = parseIntegrityTokenData(responseBody)
// leave 10 minutes of margin just to be sure
expirationInstant = Instant.now().plusSeconds(expirationTimeInSeconds - 600)
webView.evaluateJavascript(
"this.integrityToken = $integrityToken"
) {
if (BuildConfig.DEBUG) {
Log.d(TAG, "initialization finished, expiration=${expirationTimeInSeconds}s")
}
generatorEmitter.onSuccess(this)
}
}
}
//endregion
//region Obtaining poTokens
override fun generatePoToken(identifier: String): Single<String> =
Single.create { emitter ->
if (BuildConfig.DEBUG) {
Log.d(TAG, "generatePoToken() called with identifier $identifier")
}
runOnMainThread(emitter) {
addPoTokenEmitter(identifier, emitter)
val u8Identifier = stringToU8(identifier)
webView.evaluateJavascript(
"""try {
identifier = "$identifier"
u8Identifier = $u8Identifier
poTokenU8 = obtainPoToken(webPoSignalOutput, integrityToken, u8Identifier)
poTokenU8String = ""
for (i = 0; i < poTokenU8.length; i++) {
if (i != 0) poTokenU8String += ","
poTokenU8String += poTokenU8[i]
}
$JS_INTERFACE.onObtainPoTokenResult(identifier, poTokenU8String)
} catch (error) {
$JS_INTERFACE.onObtainPoTokenError(identifier, error + "\n" + error.stack)
}""",
) {}
}
}
/**
* Called by the JavaScript snippet from [generatePoToken] when an error occurs in calling the
* JavaScript `obtainPoToken()` function.
*/
@JavascriptInterface
fun onObtainPoTokenError(identifier: String, error: String) {
if (BuildConfig.DEBUG) {
Log.e(TAG, "obtainPoToken error from JavaScript: $error")
}
popPoTokenEmitter(identifier)?.onError(buildExceptionForJsError(error))
}
/**
* Called by the JavaScript snippet from [generatePoToken] with the original identifier and the
* result of the JavaScript `obtainPoToken()` function.
*/
@JavascriptInterface
fun onObtainPoTokenResult(identifier: String, poTokenU8: String) {
if (BuildConfig.DEBUG) {
Log.d(TAG, "Generated poToken (before decoding): identifier=$identifier poTokenU8=$poTokenU8")
}
val poToken = try {
u8ToBase64(poTokenU8)
} catch (t: Throwable) {
popPoTokenEmitter(identifier)?.onError(t)
return
}
if (BuildConfig.DEBUG) {
Log.d(TAG, "Generated poToken: identifier=$identifier poToken=$poToken")
}
popPoTokenEmitter(identifier)?.onSuccess(poToken)
}
override fun isExpired(): Boolean {
return Instant.now().isAfter(expirationInstant)
}
//endregion
//region Handling multiple emitters
/**
* Adds the ([identifier], [emitter]) pair to the [poTokenEmitters] list. This makes it so that
* multiple poToken requests can be generated invparallel, and the results will be notified to
* the right emitters.
*/
private fun addPoTokenEmitter(identifier: String, emitter: SingleEmitter<String>) {
synchronized(poTokenEmitters) {
poTokenEmitters.add(Pair(identifier, emitter))
}
}
/**
* Extracts and removes from the [poTokenEmitters] list a [SingleEmitter] based on its
* [identifier]. The emitter is supposed to be used immediately after to either signal a success
* or an error.
*/
private fun popPoTokenEmitter(identifier: String): SingleEmitter<String>? {
return synchronized(poTokenEmitters) {
poTokenEmitters.indexOfFirst { it.first == identifier }.takeIf { it >= 0 }?.let {
poTokenEmitters.removeAt(it).second
}
}
}
/**
* Clears [poTokenEmitters] and returns its previous contents. The emitters are supposed to be
* used immediately after to either signal a success or an error.
*/
private fun popAllPoTokenEmitters(): List<Pair<String, SingleEmitter<String>>> {
return synchronized(poTokenEmitters) {
val result = poTokenEmitters.toList()
poTokenEmitters.clear()
result
}
}
//endregion
//region Utils
/**
* Makes a POST request to [url] with the given [data] by setting the correct headers. Calls
* [onInitializationErrorCloseAndCancel] in case of any network errors and also if the response
* does not have HTTP code 200, therefore this is supposed to be used only during
* initialization. Calls [handleResponseBody] with the response body if the response is
* successful. The request is performed in the background and a disposable is added to
* [disposables].
*/
private fun makeBotguardServiceRequest(
url: String,
data: String,
handleResponseBody: (String) -> Unit,
) {
disposables.add(
Single.fromCallable {
return@fromCallable DownloaderImpl.getInstance().post(
url,
mapOf(
// replace the downloader user agent
"User-Agent" to listOf(USER_AGENT),
"Accept" to listOf("application/json"),
"Content-Type" to listOf("application/json+protobuf"),
"x-goog-api-key" to listOf(GOOGLE_API_KEY),
"x-user-agent" to listOf("grpc-web-javascript/0.1"),
),
data.toByteArray()
)
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ response ->
val httpCode = response.responseCode()
if (httpCode != 200) {
onInitializationErrorCloseAndCancel(
PoTokenException("Invalid response code: $httpCode")
)
return@subscribe
}
val responseBody = response.responseBody()
handleResponseBody(responseBody)
},
this::onInitializationErrorCloseAndCancel
)
)
}
/**
* Handles any error happening during initialization, releasing resources and sending the error
* to [generatorEmitter].
*/
private fun onInitializationErrorCloseAndCancel(error: Throwable) {
runOnMainThread(generatorEmitter) {
close()
generatorEmitter.onError(error)
}
}
/**
* Releases all [webView] and [disposables] resources.
*/
@MainThread
override fun close() {
disposables.dispose()
webView.clearHistory()
// clears RAM cache and disk cache (globally for all WebViews)
webView.clearCache(true)
// ensures that the WebView isn't doing anything when destroying it
webView.loadUrl("about:blank")
webView.onPause()
webView.removeAllViews()
webView.destroy()
}
//endregion
companion object : PoTokenGenerator.Factory {
private val TAG = PoTokenWebView::class.simpleName
// Public API key used by BotGuard, which has been got by looking at BotGuard requests
private const val GOOGLE_API_KEY = "AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw" // NOSONAR
private const val REQUEST_KEY = "O43z0dpjhgX20SCx4KAo"
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " +
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.3"
private const val JS_INTERFACE = "PoTokenWebView"
override fun newPoTokenGenerator(context: Context): Single<PoTokenGenerator> =
Single.create { emitter ->
runOnMainThread(emitter) {
val potWv = PoTokenWebView(context, emitter)
potWv.loadHtmlAndObtainBotguard(context)
emitter.setDisposable(potWv.disposables)
}
}
/**
* Runs [runnable] on the main thread using `Handler(Looper.getMainLooper()).post()`, and
* if the `post` fails emits an error on [emitterIfPostFails].
*/
private fun runOnMainThread(
emitterIfPostFails: SingleEmitter<out Any>,
runnable: Runnable,
) {
if (!Handler(Looper.getMainLooper()).post(runnable)) {
emitterIfPostFails.onError(PoTokenException("Could not run on main thread"))
}
}
}
}

View file

@ -664,6 +664,13 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
return true;
case R.id.md5:
case R.id.sha1:
final StoredFileHelper storage = h.item.mission.storage;
if (!storage.existsAsFile()) {
Toast.makeText(mContext, R.string.missing_file, Toast.LENGTH_SHORT).show();
mDeleter.append(h.item.mission);
applyChanges();
return true;
}
final NotificationManager notificationManager
= ContextCompat.getSystemService(mContext, NotificationManager.class);
final NotificationCompat.Builder progressNotificationBuilder
@ -678,7 +685,6 @@ public class MissionAdapter extends Adapter<ViewHolder> implements Handler.Callb
notificationManager.notify(HASH_NOTIFICATION_ID, progressNotificationBuilder
.build());
final StoredFileHelper storage = h.item.mission.storage;
compositeDisposable.add(
Observable.fromCallable(() -> Utility.checksum(storage, id))
.subscribeOn(Schedulers.computation())

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:pathData="M640,520 L474,358q-31,-30 -52.5,-66.5T400,212q0,-55 38.5,-93.5T532,80q32,0 60,13.5t48,36.5q20,-23 48,-36.5t60,-13.5q55,0 93.5,38.5T880,212q0,43 -21,79.5T807,358L640,520ZM640,408 L749,301q19,-19 35,-40.5t16,-48.5q0,-22 -15,-37t-37,-15q-14,0 -26.5,5.5T700,182l-60,72 -60,-72q-9,-11 -21.5,-16.5T532,160q-22,0 -37,15t-15,37q0,27 16,48.5t35,40.5l109,107ZM280,740l278,76 238,-74q-5,-9 -14.5,-15.5T760,720L558,720q-27,0 -43,-2t-33,-8l-93,-31 22,-78 81,27q17,5 40,8t68,4q0,-11 -6.5,-21T578,606l-234,-86h-64v220ZM40,880v-440h304q7,0 14,1.5t13,3.5l235,87q33,12 53.5,42t20.5,66h80q50,0 85,33t35,87v40L560,900l-280,-78v58L40,880ZM120,800h80v-280h-80v280ZM640,254Z"
android:fillColor="#FF000000"/>
</vector>

View file

@ -83,7 +83,7 @@
<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="popup_playing_toast">تشغيل في وضع منبثق</string>
@ -558,7 +558,7 @@
<string name="remove_watched">إزالة ما تمت مشاهدته</string>
<string name="show_original_time_ago_summary">ستكون النصوص الأصلية من الخدمات مرئية في عناصر البث</string>
<string name="show_original_time_ago_title">عرض الوقت الأصلي على العناصر</string>
<string name="youtube_restricted_mode_enabled_title">قم بتشغيل \"وضع تقييد المحتوى\" في يوتيوب</string>
<string name="youtube_restricted_mode_enabled_title">قم بتشغيل \"وضع تقييد المحتوى\" في يوتيوب\\</string>
<string name="video_detail_by">بواسطة %s</string>
<string name="channel_created_by">أنشأها %s</string>
<string name="detail_sub_channel_thumbnail_view_description">الصورة الرمزية للقناة</string>
@ -881,4 +881,5 @@
\nهل تريد تمكين هذا؟</string>
<string name="no">لا</string>
<string name="import_settings_vulnerable_format">تستخدم الإعدادات الموجودة في عملية التصدير التي يتم استيرادها تنسيقًا عرضة للاختراق تم إهماله منذ NewPipe 0.27.0. تأكد من أن التصدير الذي يتم استيراده من مصدر موثوق به، ويفضل استخدام عمليات التصدير التي تم الحصول عليها من NewPipe 0.27.0 أو الأحدث في المستقبل فقط. سيتم قريبًا إزالة دعم استيراد الإعدادات بهذا التنسيق الضعيف تمامًا، وبعد ذلك لن تتمكن الإصدارات القديمة من NewPipe من استيراد إعدادات التصدير من الإصدارات الجديدة بعد الآن.</string>
<string name="audio_track_type_secondary">الثانوي</string>
</resources>

View file

@ -123,9 +123,9 @@
<string name="switch_to_popup">Ani Görüntüyə Keçid</string>
<string name="switch_to_background">Fona Keçid</string>
<string name="unknown_content">[Naməlum]</string>
<string name="app_update_notification_channel_description">Yeni \"Tubular\" versiyaları üçün bildirişlər</string>
<string name="app_update_notification_channel_description">Yeni \"NewPipe\" versiyaları üçün bildirişlər</string>
<string name="app_update_notification_channel_name">Tətbiq yeniləmə bildirişi</string>
<string name="notification_channel_description">Tubular oynadıcısı üçün bildirişlər</string>
<string name="notification_channel_description">NewPipe oynadıcısı üçün bildirişlər</string>
<string name="all">Hamısı</string>
<string name="error_report_title">Xəta hesabatı</string>
<string name="downloads_title">Endirilənlər</string>
@ -153,7 +153,7 @@
<string name="feed_notification_loading">Axın yüklənir…</string>
<string name="feed_subscription_not_loaded_count">Yüklənmədi: %d</string>
<string name="playlist_page_summary">Pleylist səhifəsi</string>
<string name="notification_channel_name">\"Tubular\" bildirişi</string>
<string name="notification_channel_name">\"Newpipe\" bildirişi</string>
<string name="file">Fayl</string>
<string name="just_once">Yalnız Bir Dəfə</string>
<string name="always">Həmişə</string>
@ -183,7 +183,7 @@
<string name="watch_history_deleted">Baxış tarixçəsi silindi</string>
<string name="delete_view_history_alert">Bütün baxış tarixçəsi silinsin\?</string>
<string name="clear_views_history_title">Baxış tarixçəsini təmizlə</string>
<string name="clear_cookie_summary">reCAPTCHA həll edərkən Tubular saxladığı bazaları sil</string>
<string name="clear_cookie_summary">reCAPTCHA həll edərkən NewPipe saxladığı bazaları sil</string>
<string name="channel_created_by">%s tərəfindən yaradıldı</string>
<string name="resize_zoom">Yaxınlaşdır</string>
<string name="resize_fill">Doldur</string>
@ -272,7 +272,7 @@
<string name="player_unrecoverable_failure">Bərpa olunmayan oynatma xətası baş verdi</string>
<string name="ok">Oldu</string>
<string name="restricted_video_no_stream">Bu video yaş məhdudiyyətlidir.
\nYaş məhdudiyyəti olan videolarla bağlı yeni YouTube siyasətlərinə görə, Tubular bu cür video yayımlara daxil ola və oynada bilməz.</string>
\nYaş məhdudiyyəti olan videolarla bağlı yeni YouTube siyasətlərinə görə, NewPipe bu cür video yayımlara daxil ola və oynada bilməz.</string>
<string name="audio_streams_empty">Səs yayımı tapılmadı</string>
<string name="permission_display_over_apps">Digər tətbiqlərin üzərində göstərməyə icazə ver</string>
<string name="restore_defaults_confirmation">İlkin tənzimləmələri qaytarmaq istəyirsiniz\?</string>
@ -330,9 +330,9 @@
<string name="website_encouragement">Əlavə məlumat və xəbərlər üçün NewPipe Veb saytını ziyarət et.</string>
<string name="privacy_policy_title">NewPipe Məxfilik Siyasəti</string>
<string name="privacy_policy_encouragement">NewPipe layihəsi məxfiliyinizə çox ciddi yanaşır. Nəticə etibarı ilə, tətbiq sizin razılığınız olmadan heç bir məlumat toplamır.
\nTubular məxfilik siyasəti xəta məlumatı göndərdiyiniz zaman hansı məlumatların göndərildiyini və saxlanıldığını ətraflı izah edir.</string>
\nNewPipe məxfilik siyasəti xəta məlumatı göndərdiyiniz zaman hansı məlumatların göndərildiyini və saxlanıldığını ətraflı izah edir.</string>
<string name="read_privacy_policy">Məxfilik Siyasətini Oxu</string>
<string name="app_license_title">Tubular Lisenziyası</string>
<string name="app_license_title">NewPipe Lisenziyası</string>
<string name="action_history">Tarixçə</string>
<string name="delete_item_search_history">Bu elementi axtarış tarixçəsindən silmək istəyirsiniz\?</string>
<string name="title_last_played">Son Oynadılan</string>
@ -407,13 +407,13 @@
<string name="feed_new_items">Yeni axın elementləri</string>
<string name="feed_update_threshold_summary">Abunəlik köhnəlmiş hesab edilənə qədərki son yeniləmədən sonrakı vaxt — %s</string>
<string name="feed_load_error">Axın yükləmə xətası</string>
<string name="content_not_supported">Bu məzmun hələ Tubular tərəfindən dəstəklənmir.
<string name="content_not_supported">Bu məzmun hələ NewPipe tərəfindən dəstəklənmir.
\n
\nÜmid edirik ki, gələcək versiyada dəstəklənəcək.</string>
<string name="show_thumbnail_summary">Həm kilid ekranı fonu, həm də bildirişlər üçün miniatür istifadə et</string>
<string name="recent">Ən Yeni</string>
<string name="georestricted_content">Bu məzmun ölkənizdə mövcud deyil.</string>
<string name="paid_content">Bu məzmun yalnız ödəniş etmiş istifadəçilər üçün əlçatandır, beləliklə, Tubular tərəfindən yayımlana və ya yüklənilə bilməz.</string>
<string name="paid_content">Bu məzmun yalnız ödəniş etmiş istifadəçilər üçün əlçatandır, beləliklə, NewPipe tərəfindən yayımlana və ya yüklənilə bilməz.</string>
<string name="auto_device_theme_title">Avtomatik (cihaz teması)</string>
<string name="night_theme_summary">Sevimli gecə temanızı seçin — %s</string>
<string name="detail_pinned_comment_view_description">Sancaqlanmış şərh</string>
@ -468,10 +468,10 @@
<string name="queued">növbədədir</string>
<string name="post_processing">sonrakı emal olunur</string>
<string name="checking_updates_toast">Yeniləmələr yoxlanılır…</string>
<string name="app_update_available_notification_title">Tubular yeniləməsi mövcuddur!</string>
<string name="app_update_available_notification_title">NewPipe yeniləməsi mövcuddur!</string>
<string name="metadata_licence">Lisenziya</string>
<string name="feed_load_error_terminated">Müəllifin hesabı bağlanıb.
\nTubular gələcəkdə bu axını yükləyə bilməyəcək.
\nNewPipe gələcəkdə bu axını yükləyə bilməyəcək.
\nBu kanaldan abunəliyi çıxarmaq istəyirsiniz\?</string>
<string name="featured">Seçilən</string>
<string name="drawer_close">Çəkməcəni Bağla</string>
@ -604,7 +604,7 @@
<string name="export_to">Bura ixrac et</string>
<string name="import_file_title">Faylı idxal et</string>
<string name="subscriptions_import_unsuccessful">Abunəlikləri idxal etmək mümkün olmadı</string>
<string name="start_accept_privacy_policy">Avropa Ümumi Məlumat Mühafizəsi Qaydasına (GDPR) riayət etmək üçün diqqətinizi NewPipe məxfilik siyasətinə cəlb edirik. Xahiş edirik, diqqətlə oxuyun. \nXəta məlumatın bizə göndərmək üçün qəbul etməlisiniz.</string>
<string name="start_accept_privacy_policy">Avropa Ümumi Məlumat Mühafizəsi Qaydasına (GDPR) riayət etmək üçün diqqətinizi NewPipe məxfilik siyasətinə cəlb edirik. Xahiş edirik, diqqətlə oxuyun.\nXəta məlumatın bizə göndərmək üçün qəbul etməlisiniz.</string>
<string name="overwrite_unrelated_warning">Bu adda fayl artıq mövcuddur</string>
<string name="download_already_pending">Bu adla gözlənilən bir endirmə var</string>
<string name="error_path_creation">Təyinat qovluğu yaradıla bilməz</string>
@ -612,8 +612,8 @@
<string name="chapters">Bölmələr</string>
<string name="no_app_to_open_intent">Cihazınızdakı heç bir tətbiq bunu aça bilməz</string>
<string name="show_thumbnail_title">Miniatürü göstər</string>
<string name="soundcloud_go_plus_content">Bu, ən azı sizin ölkənizdə olan SoundCloud Go+ trekidir, ona görə də Tubular tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="private_content">Bu məzmun şəxsidir, ona görə də Tubular tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="soundcloud_go_plus_content">Bu, ən azı sizin ölkənizdə olan SoundCloud Go+ trekidir, ona görə də NewPipe tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="private_content">Bu məzmun şəxsidir, ona görə də NewPipe tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="metadata_support">Dəstək</string>
<string name="metadata_privacy">Məxfilik</string>
<string name="metadata_host">Sahib</string>
@ -636,12 +636,12 @@
<string name="your_comment">Şərhiniz (İngiliscə):</string>
<string name="detail_thumbnail_view_description">Video oynat, müddət:</string>
<string name="no_available_dir">Zəhmət olmasa, endirmə qovluğunu daha sonra tənzimləmələrdə təyin et</string>
<string name="msg_running">Tubular Endirilir</string>
<string name="msg_running">NewPipe Endirilir</string>
<string name="msg_calculating_hash">Hash hesablanır</string>
<string name="settings_file_charset_title">Fayl adlarında icazə verilən simvollar</string>
<string name="title_activity_about">Tubular Haqqında</string>
<string name="title_activity_about">NewPipe Haqqında</string>
<string name="tab_licenses">Lisenziyalar</string>
<string name="app_license">Tubular müəllif hüquqlu sərbəst tətbiqdir: Siz onu istədiyiniz zaman istifadə edə, öyrənə, paylaşa və təkmilləşdirə bilərsiniz. Xüsusilə, siz Lisenziyanın 3-cü versiyası və ya (seçiminizə görə) hər hansı sonrakı versiyada Azad Proqram Təminatı Fondu tərəfindən dərc edilən GNU Ümumi İctimai Lisenziya şərtlərinə uyğun olaraq onu yenidən paylaya və/yaxud dəyişdirə bilərsiniz.</string>
<string name="app_license">NewPipe müəllif hüquqlu sərbəst tətbiqdir: Siz onu istədiyiniz zaman istifadə edə, öyrənə, paylaşa və təkmilləşdirə bilərsiniz. Xüsusilə, siz Lisenziyanın 3-cü versiyası və ya (seçiminizə görə) hər hansı sonrakı versiyada Azad Proqram Təminatı Fondu tərəfindən dərc edilən GNU Ümumi İctimai Lisenziya şərtlərinə uyğun olaraq onu yenidən paylaya və/yaxud dəyişdirə bilərsiniz.</string>
<string name="export_complete_toast">İxrac edildi</string>
<string name="main_page_content_swipe_remove">Elementləri silmək üçün sürüşdür</string>
<string name="no_playlist_bookmarked_yet">Hələ,əlfəcinlənmiş pleylistlər yoxdur</string>
@ -669,8 +669,8 @@
<string name="feed_use_dedicated_fetch_method_summary">Bəzi xidmətlərdə mövcuddur, adətən daha sürətli olur, lakin məhdud sayda elementləri və çox vaxt natamam məlumatı qaytara bilər (məsələn, müddət, element növü, canlı status yoxdur)</string>
<string name="no_appropriate_file_manager_message">Bu əməliyyat üçün uyğun fayl meneceri tapılmadı. Zəhmət olmasa, fayl menecerini quraşdır və ya endirmə tənzimləmələrində \'%s\'-i qeyri-aktiv etməyə çalış</string>
<string name="feed_load_error_account_info">\'%s\' üçün axın yükləmək mümkün olmadı.</string>
<string name="no_appropriate_file_manager_message_android_10">Bu fəaliyyət üçün uyğun fayl meneceri tapılmadı.\nXahiş olunur, Yaddaş Giriş Quruluşuna uyğun fayl meneceri quraşdırın.</string>
<string name="youtube_music_premium_content">Bu video yalnız YouTube Music Premium üzvləri üçün əlçatandır, ona görə də Tubular tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="no_appropriate_file_manager_message_android_10">Bu fəaliyyət üçün uyğun fayl meneceri tapılmadı.\nXahiş olunur, Yaddaş Giriş Quruluşuna uyğun fayl meneceri quraşdırın</string>
<string name="youtube_music_premium_content">Bu video yalnız YouTube Music Premium üzvləri üçün əlçatandır, ona görə də NewPipe tərəfindən yayımlamaq və ya endirmək mümkün deyil.</string>
<string name="description_select_note">İndi açıqlamadakı mətni seçə bilərsiniz. Nəzərə alın ki, seçim rejimində səhifə titrəyə və linklər kliklənməyə bilər.</string>
<string name="notification_scale_to_square_image_summary">Bildirişdə göstərilən video miniatürünü 16:9-dan 1:1 görünüş nisbətinə qədər kəs</string>
<string name="notification_actions_summary">Aşağıdakı hər bir bildiriş fəaliyyətini üzərinə toxunaraq redaktə edin. Sağdakı təsdiq qutuların istifadə edərək yığcam bildirişdə göstərmək üçün onların üçünü seçin.</string>
@ -687,7 +687,7 @@
<string name="faq_title">Tez-tez soruşulan suallar</string>
<string name="faq">Veb Saytında bax</string>
<string name="sort">Çeşidlə</string>
<string name="app_update_unavailable_toast">Tubular\'ın ən son versiyasın işlədirsiniz</string>
<string name="app_update_unavailable_toast">NewPipe\'ın ən son versiyasın işlədirsiniz</string>
<string name="fast_mode">Sürətli rejim</string>
<string name="import_subscriptions_hint">3 nöqtə menyudan abunəlikləri idxal və ya ixrac et</string>
<string name="app_update_available_notification_text">%s endirmək üçün toxun</string>
@ -743,7 +743,7 @@
<string name="feed_fetch_channel_tabs">Kanal səhifələrin əldə et</string>
<string name="metadata_avatars">Avatarlar</string>
<string name="metadata_subchannel_avatars">Alt kanal avatarları</string>
<string name="feed_fetch_channel_tabs_summary">Axın yenilənərkən əldə edilən səhifələr.Kanal sürətli rejim istifadə edərək yenilənirsə, bu seçimin heç bir təsiri yoxdur.</string>
<string name="feed_fetch_channel_tabs_summary">Axın yenilənərkən əldə edilən səhifələr. Kanal sürətli rejim istifadə edərək yenilənirsə, bu seçimin heç bir təsiri yoxdur.</string>
<string name="metadata_uploader_avatars">Yükləyici avatarları</string>
<string name="metadata_thumbnails">Miniatürlər</string>
<string name="notification_actions_summary_android13">Aşağıdakı hər bildiriş fəaliyyətin ona toxunub redaktə edin. İlk üç fəaliyyət (oynatma/fasilə, əvvəlki və növbəti) sistem tərəfindən tənzimlənib və dəyişdirilə bilməz.</string>

File diff suppressed because it is too large Load diff

View file

@ -60,7 +60,7 @@
<string name="show_next_and_similar_title">Покажи „следващ“ и „подобни“</string>
<string name="show_hold_to_append_title">Покажи съвет „Задръжте за поставяне в опашка“</string>
<string name="unsupported_url">Непознат URL</string>
<string name="content_language_title">Език на съдържанието по подразбиране</string>
<string name="content_language_title">Език на съдържание по подразбиране</string>
<string name="settings_category_player_title">Плейър</string>
<string name="settings_category_player_behavior_title">Поведение</string>
<string name="settings_category_video_audio_title">Видео и аудио</string>
@ -583,9 +583,7 @@
<string name="remove_duplicates_title">Премахни повторения?</string>
<string name="feed_groups_header_title">Група от канали</string>
<string name="feed_load_error_account_info">Неуспешно зареждане на емисия за \'%s\'.</string>
<string name="feed_load_error_terminated">Акаунтът на автора е бил отстранен.
\nNewPipe няма да може да зареди тази емисия вече.
\nИскате ли да махнете абонамента от този канал?</string>
<string name="feed_load_error_terminated">Профилът на автора е бил отстранен. \nNewPipe няма да може да зареди тази емисия вече. \nИскате ли да махнете абонамента от този канал?</string>
<string name="feed_update_threshold_option_always_update">Винаги опреснявай</string>
<string name="feed_load_error">Грешка при зареждане на емисия</string>
<string name="feed_show_hide_streams">Покажи/Скрий потоци</string>
@ -694,7 +692,7 @@
<string name="card">Карта</string>
<string name="delete_downloaded_files_confirm">Изтрий всички изтеглени файлове от диска?</string>
<string name="enable_queue_limit_desc">Едно изтегляне ще се изпълнява едновременно</string>
<string name="downloads_storage_ask_title">Попитайте къде да изтеглите</string>
<string name="downloads_storage_ask_title">Подкана за папка за изтегляне</string>
<string name="systems_language">Система по подразбиране</string>
<string name="remove_duplicates">Премахване на дубликати</string>
<string name="remove_duplicates_message">Искате ли да премахнете всички дублиращи се потоци в този плейлист?</string>
@ -753,7 +751,7 @@
<string name="enable_streams_notifications_title">Известия за нови потоци</string>
<string name="any_network">Всяка мрежа</string>
<string name="updates_setting_description">Покажи известие за актуализация на приложението, когато е налична нова версия</string>
<string name="account_terminated">Акаунтът е прекратен</string>
<string name="account_terminated">Профилът е прекратен</string>
<string name="detail_pinned_comment_view_description">Фиксиран коментар</string>
<string name="streams_not_yet_supported_removed">Потоци, които все още не се поддържат от програмата за изтегляне, не се показват</string>
<string name="soundcloud_go_plus_content">Това е песен на SoundCloud Go+, поне във вашата страна, така че не може да бъде предавана поточно или изтеглена от NewPipe.</string>

View file

@ -825,4 +825,5 @@
\nEr du sikker på, at du vil fortsætte?</string>
<string name="import_settings_vulnerable_format">Indstillingerne i den eksport, der importeres, bruger et sårbart format, der er blevet forældet siden NewPipe 0.27.0. Sørg for, at den eksport, der importeres, er fra en pålidelig kilde, og brug helst kun eksport fra NewPipe 0.27.0 eller nyere i fremtiden. Understøttelse af import af indstillinger i dette sårbare format fjernes snart helt, og så vil gamle versioner af NewPipe ikke længere være i stand til at importere indstillinger fra eksport fra nye versioner.</string>
<string name="settings_category_backup_restore_title">Sikkerhedskopiering og gendannelse</string>
<string name="audio_track_type_secondary">sekundær</string>
</resources>

View file

@ -82,7 +82,7 @@
<string name="ok">OK</string>
<string name="app_ui_crash">App/UI abgestürzt</string>
<string name="msg_threads">Threads</string>
<string name="msg_running">Tubular lädt herunter</string>
<string name="msg_running">NewPipe lädt herunter</string>
<string name="msg_running_detail">Für Details antippen</string>
<string name="black_theme_title">Schwarz</string>
<string name="title_activity_recaptcha">reCAPTCHA-Aufgabe</string>
@ -106,14 +106,14 @@
<string name="show_search_suggestions_summary">Vorschläge auswählen, die bei der Suche angezeigt werden sollen</string>
<string name="clear">löschen</string>
<string name="best_resolution">Beste Auflösung</string>
<string name="title_activity_about">Über Tubular</string>
<string name="title_activity_about">Über NewPipe</string>
<string name="tab_licenses">Lizenzen</string>
<string name="read_full_license">Lizenz lesen</string>
<string name="copyright" formatted="true">© %1$s von %2$s unter %3$s</string>
<string name="tab_about">Über &amp; FAQ</string>
<string name="app_description">Freies und schlankes Streaming für Android.</string>
<string name="app_license_title">Tubulars Lizenz</string>
<string name="contribution_encouragement">Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen — Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird Tubular!</string>
<string name="app_license_title">NewPipes Lizenz</string>
<string name="contribution_encouragement">Ob Ideen, Übersetzungen, Design-Änderungen, Code-Aufräumung oder richtig große Code-Änderungen — Hilfe ist immer willkommen. Je mehr geholfen wird, desto besser wird NewPipe!</string>
<string name="title_licenses">Drittanbieter-Lizenzen</string>
<string name="view_on_github">Auf GitHub ansehen</string>
<string name="contribution_title">Beitragen</string>
@ -135,9 +135,9 @@
<string name="action_history">Verlauf</string>
<string name="subscription_change_failed">Abonnement konnte nicht geändert werden</string>
<string name="subscription_update_failed">Abonnement konnte nicht aktualisiert werden</string>
<string name="resume_on_audio_focus_gain_summary">Nach Unterbrechungen (z. B. Telefonaten) Wiedergabe fortsetzen</string>
<string name="notification_channel_name">Tubular-Benachrichtigung</string>
<string name="notification_channel_description">Benachrichtigungen für den Tubular-Player</string>
<string name="resume_on_audio_focus_gain_summary">Nach Unterbrechungen (z. B. Telefonaten) Wiedergabe fortsetzen</string>
<string name="notification_channel_name">NewPipe-Benachrichtigung</string>
<string name="notification_channel_description">Benachrichtigungen für den NewPipe-Player</string>
<string name="settings_category_player_behavior_title">Verhalten</string>
<string name="settings_category_history_title">Verlauf und Cache</string>
<string name="undo">Rückgängig machen</string>
@ -189,7 +189,7 @@
<string name="give_back">Zurückgeben</string>
<string name="website_title">Website</string>
<string name="website_encouragement">Besuche die NewPipe Website für weitere Informationen und Neuigkeiten.</string>
<string name="donation_encouragement">NewPipe wird von Freiwilligen entwickelt, die ihre Freizeit dafür verwenden, dir die beste Nutzererfahrung zu bieten. Gib etwas zurück, indem du den Entwicklern hilfst, Tubular noch weiter zu verbessern, während sie sich an einer Tasse Kaffee erfreuen.</string>
<string name="donation_encouragement">NewPipe wird von Freiwilligen entwickelt, die ihre Freizeit dafür verwenden, dir die beste Nutzererfahrung zu bieten. Gib etwas zurück, indem du den Entwicklern hilfst, NewPipe noch weiter zu verbessern, während sie sich an einer Tasse Kaffee erfreuen.</string>
<string name="no_player_found_toast">Kein Stream-Player gefunden (du kannst VLC installieren, um den Stream abzuspielen).</string>
<string name="default_content_country_title">Bevorzugtes Land des Inhalts</string>
<string name="always">Immer</string>
@ -307,19 +307,19 @@
<string name="delete_search_history_alert">Den gesamten Suchverlauf löschen\?</string>
<string name="search_history_deleted">Suchverlauf gelöscht</string>
<string name="one_item_deleted">1 Element gelöscht.</string>
<string name="app_license">Tubular ist freie Copyleft-Software: Du kannst sie nach Belieben benutzen, untersuchen, mit anderen teilen und verbessern. Insbesondere kannst du sie unter den von der Free Software Foundation veröffentlichten Bedingungen der GNU General Public License, in der Version 3 der Lizenz oder (nach deiner Wahl) jeder späteren Version, weitergeben und/oder verändern.</string>
<string name="app_license">NewPipe ist freie Copyleft-Software: Du kannst sie nach Belieben benutzen, untersuchen, mit anderen teilen und verbessern. Insbesondere kannst du sie unter den von der Free Software Foundation veröffentlichten Bedingungen der GNU General Public License, in der Version 3 der Lizenz oder (nach deiner Wahl) jeder späteren Version, weitergeben und/oder verändern.</string>
<string name="import_settings">Möchtest du auch Einstellungen importieren\?</string>
<string name="privacy_policy_title">NewPipes Datenschutzbestimmung</string>
<string name="privacy_policy_encouragement">Dem NewPipe-Projekt ist Datenschutz sehr wichtig. Deshalb sammelt diese App keine Daten ohne deine Zustimmung.
\nTubulars Datenschutzbestimmungen erklären im Detail, welche Daten beim Absenden eines Absturzberichtes verschickt und gespeichert werden.</string>
\nNewPipes Datenschutzbestimmungen erklären im Detail, welche Daten beim Absenden eines Absturzberichtes verschickt und gespeichert werden.</string>
<string name="read_privacy_policy">Datenschutzbestimmungen lesen</string>
<string name="accept">Akzeptieren</string>
<string name="decline">Ablehnen</string>
<string name="start_accept_privacy_policy">Um der europäischen Datenschutz-Grundverordnung (DSGVO) gerecht zu werden, weisen wir hiermit auf Tubulars Datenschutzerklärung hin. Bitte lies sie sorgfältig durch.
<string name="start_accept_privacy_policy">Um der europäischen Datenschutz-Grundverordnung (DSGVO) gerecht zu werden, weisen wir hiermit auf NewPipes Datenschutzerklärung hin. Bitte lies sie sorgfältig durch.
\nDu musst den Datenschutzrichtlinien zustimmen, um den Fehlerbericht an uns zu senden.</string>
<string name="limit_data_usage_none_description">Unbegrenzt</string>
<string name="limit_mobile_data_usage_title">Auflösung bei Verwendung mobiler Daten begrenzen</string>
<string name="minimize_on_exit_title">Beim App-wechsel minimieren</string>
<string name="minimize_on_exit_title">Beim App-Wechsel minimieren</string>
<string name="minimize_on_exit_summary">Aktion beim Umschalten auf eine andere App vom Haupt-Videoplayer — %s</string>
<string name="minimize_on_exit_none_description">Keine</string>
<string name="minimize_on_exit_background_description">Für die Wiedergabe im Hintergrund minimieren</string>
@ -338,7 +338,7 @@
<string name="settings_category_player_notification_summary">Konfiguriert die Benachrichtigung zum aktuell abgespielten Stream</string>
<string name="file_deleted">Datei gelöscht</string>
<string name="app_update_notification_channel_name">Benachrichtigung über App-Update</string>
<string name="app_update_notification_channel_description">Benachrichtigungen über neue Tubular-Versionen</string>
<string name="app_update_notification_channel_description">Benachrichtigungen über neue NewPipe-Versionen</string>
<string name="download_to_sdcard_error_title">Kein externer Speicher verfügbar</string>
<string name="download_to_sdcard_error_message">Herunterladen auf externe SD-Karte ist nicht möglich. Downloadordner zurücksetzen\?</string>
<string name="saved_tabs_invalid_json">Konnte gespeicherte Tabs nicht lesen, daher werden die Voreinstellungen genutzt</string>
@ -356,7 +356,7 @@
<string name="high_quality_larger">Hohe Qualität (größer)</string>
<string name="low_quality_smaller">Niedrige Qualität (kleiner)</string>
<string name="dont_show">Nicht anzeigen</string>
<string name="app_update_available_notification_title">Eine Tubular-Aktualisierung ist verfügbar!</string>
<string name="app_update_available_notification_title">Eine NewPipe-Aktualisierung ist verfügbar!</string>
<string name="missions_header_finished">Fertig</string>
<string name="missions_header_pending">Ausstehend</string>
<string name="paused">pausiert</string>
@ -404,12 +404,12 @@
<string name="overwrite_finished_warning">Eine heruntergeladene Datei mit diesem Namen existiert bereits</string>
<string name="overwrite_failed">Datei kann nicht überschrieben werden</string>
<string name="download_already_pending">Es ist ein ausstehender Download mit diesem Namen vorhanden</string>
<string name="error_postprocessing_stopped">Tubular wurde während der Verarbeitung der Datei geschlossen</string>
<string name="error_postprocessing_stopped">NewPipe wurde während der Verarbeitung der Datei geschlossen</string>
<string name="error_insufficient_storage_left">Kein Speicherplatz mehr auf dem Gerät</string>
<string name="error_progress_lost">Vorgang abgebrochen, da die Datei gelöscht wurde</string>
<string name="confirm_prompt">Möchtest du deinen Downloadverlauf oder alle heruntergeladenen Dateien löschen\?</string>
<string name="enable_queue_limit">Downloadwarteschlange begrenzen</string>
<string name="enable_queue_limit_desc">Ein Download wird zur gleichen Zeit ausgeführt</string>
<string name="enable_queue_limit_desc">Ein Download wird gleichzeitig ausgeführt</string>
<string name="start_downloads">Downloads starten</string>
<string name="pause_downloads">Downloads anhalten</string>
<string name="downloads_storage_ask_title">Downloadziel abfragen</string>
@ -497,10 +497,10 @@
<string name="feed_oldest_subscription_update">Feed zuletzt aktualisiert: %s</string>
<string name="feed_update_threshold_title">Grenzwert für Feed-Aktualisierung</string>
<string name="feed_use_dedicated_fetch_method_title">Aus fest zugeordnetem Feed abrufen wenn verfügbar</string>
<string name="feed_use_dedicated_fetch_method_summary">Steht in manchen Diensten zur Verfügung, ist meist viel schneller, liefert aber eventuell eine eingeschränkte Anzahl an Elementen und oft unvollständige Informationen (z. B. keine Videolänge, keinen Elementtyp, keinen Live-Status)</string>
<string name="feed_use_dedicated_fetch_method_summary">Steht in manchen Diensten zur Verfügung, ist meist viel schneller, liefert aber eventuell eine eingeschränkte Anzahl an Elementen und oft unvollständige Informationen (z. B. keine Videolänge, keinen Elementtyp, keinen Live-Status)</string>
<string name="feed_use_dedicated_fetch_method_help_text">Glaubst du, dass das Laden von Feeds zu langsam ist? Wenn ja, versuche den Schnelllademodus einzuschalten (du kannst ihn in den Einstellungen oder über die Schaltfläche unten ändern).
\n
\nTubular bietet zwei Feed-Ladestrategien:
\nNewPipe bietet zwei Feed-Ladestrategien:
\n• das Abrufen des gesamten abonnierten Kanals, was langsam aber vollständig geschieht.
\n• das Verwenden eines fest zugeordneten Serviceendpunkts, was schnell aber für gewöhnlich unvollständig ist.
\n
@ -514,7 +514,7 @@
<string name="artists">Künstler</string>
<string name="albums">Alben</string>
<string name="songs">Lieder</string>
<string name="content_not_supported">Dieser Inhalt wird von Tubular noch nicht unterstützt.
<string name="content_not_supported">Dieser Inhalt wird von NewPipe noch nicht unterstützt.
\n
\nEr wird hoffentlich in einer zukünftigen Version unterstützt.</string>
<string name="restricted_video">Dieses Video ist altersbeschränkt.
@ -527,7 +527,7 @@
<string name="remove_watched_popup_title">Gesehene Videos entfernen\?</string>
<string name="show_original_time_ago_title">Originalzeit vor Elementen anzeigen</string>
<string name="show_original_time_ago_summary">Originaltexte von Diensten werden in Stream-Elementen sichtbar sein</string>
<string name="youtube_restricted_mode_enabled_title">Aktivieren des „Eingeschränkten Modus“ von YouTube</string>
<string name="youtube_restricted_mode_enabled_title">YouTubes „Eingeschränkten Modus“ aktivieren</string>
<string name="detail_sub_channel_thumbnail_view_description">Profilbild des Kanals</string>
<string name="channel_created_by">Erstellt von %s</string>
<string name="video_detail_by">Von %s</string>
@ -562,7 +562,7 @@
<string name="enqueued">Eingereiht</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube bietet einen „Eingeschränkten Modus“, der potenziell nicht jugendfreie Inhalte ausblendet</string>
<string name="show_memory_leaks">Speicherlecks anzeigen</string>
<string name="clear_cookie_summary">Lösche Cookies, die Tubular speichert, wenn du ein reCAPTCHA löst</string>
<string name="clear_cookie_summary">Lösche Cookies, die NewPipe speichert, wenn du ein reCAPTCHA löst</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA-Cookies wurden gelöscht</string>
<string name="clear_cookie_title">reCAPTCHA-Cookies löschen</string>
<string name="show_age_restricted_content_summary">Für Kinder möglicherweise ungeeignete Inhalte anzeigen (bspw. ab 18)</string>
@ -585,14 +585,14 @@
<string name="show_description_title">Beschreibung anzeigen</string>
<string name="open_with">Öffnen mit</string>
<string name="no_app_to_open_intent">Keine App auf deinem Gerät kann dies öffnen</string>
<string name="private_content">Dieser Inhalt ist privat, kann also nicht von Tubular gestreamt oder heruntergeladen werden.</string>
<string name="paid_content">Diese Inhalte sind nur für Benutzer verfügbar, die bezahlt haben, können also nicht von Tubular gestreamt oder heruntergeladen werden.</string>
<string name="youtube_music_premium_content">Dieses Video ist nur für YouTube Music Premium-Mitglieder verfügbar und kann daher nicht von Tubular gestreamt oder heruntergeladen werden.</string>
<string name="soundcloud_go_plus_content">Dies ist ein SoundCloud Go+ Track, zumindest in deinem Land, kann er von Tubular nicht gestreamt oder heruntergeladen werden.</string>
<string name="private_content">Dieser Inhalt ist privat, kann also nicht von NewPipe gestreamt oder heruntergeladen werden.</string>
<string name="paid_content">Diese Inhalte sind nur für Benutzer verfügbar, die bezahlt haben, können also nicht von NewPipe gestreamt oder heruntergeladen werden.</string>
<string name="youtube_music_premium_content">Dieses Video ist nur für YouTube Music Premium-Mitglieder verfügbar und kann daher nicht von NewPipe gestreamt oder heruntergeladen werden.</string>
<string name="soundcloud_go_plus_content">Dies ist ein SoundCloud Go+ Track, zumindest in deinem Land, kann er von NewPipe nicht gestreamt oder heruntergeladen werden.</string>
<string name="georestricted_content">Dieser Inhalt ist in deinem Land nicht verfügbar.</string>
<string name="crash_the_app">App abstürzen lassen</string>
<string name="restricted_video_no_stream">Dieses Video ist altersbeschränkt.
\nAufgrund neuer YouTube-Richtlinien mit altersbeschränkten Videos kann Tubular auf keinen dieser Videostreams zugreifen und ist daher nicht in der Lage, es abzuspielen.</string>
\nAufgrund neuer YouTube-Richtlinien mit altersbeschränkten Videos kann NewPipe auf keinen dieser Videostreams zugreifen und ist daher nicht in der Lage, es abzuspielen.</string>
<string name="radio">Radio</string>
<string name="featured">Vorgestellt</string>
<string name="recaptcha_solve">Lösen</string>
@ -621,7 +621,7 @@
<string name="description_select_enable">Auswählen von Text in der Beschreibung aktivieren</string>
<string name="description_select_note">Du kannst nun Text innerhalb der Beschreibung auswählen. Beachte, dass die Seite flackern kann und Links im Auswahlmodus möglicherweise nicht anklickbar sind.</string>
<string name="feed_load_error_terminated">Das Konto des Autors wurde geschlossen.
\nTubular wird diesen Feed in Zukunft nicht mehr laden können.
\nNewPipe wird diesen Feed in Zukunft nicht mehr laden können.
\nMöchtest du dich von diesem Kanal abmelden\?</string>
<string name="account_terminated">Konto geschlossen</string>
<string name="feed_load_error_fast_unknown">Der Schnellmodus liefert hierzu keine weiteren Informationen.</string>
@ -659,12 +659,12 @@
<string name="checking_updates_toast">Suche nach Aktualisierungen </string>
<string name="manual_update_description">Manuelle Prüfung auf neue Versionen</string>
<string name="feed_new_items">Neue Feed-Elemente</string>
<string name="show_crash_the_player_title">\"Player abstürzen lassen\" anzeigen</string>
<string name="show_crash_the_player_title">„Player abstürzen lassen“ anzeigen</string>
<string name="crash_the_player">Player abstürzen lassen</string>
<string name="show_crash_the_player_summary">Zeigt eine Absturzoption an, wenn der Player verwendet wird</string>
<string name="error_report_channel_name">Fehlerbericht-Benachrichtigung</string>
<string name="error_report_channel_description">Benachrichtigungen zur Meldung von Fehlern</string>
<string name="error_report_notification_title">Bei Tubular ist ein Fehler aufgetreten. Zum Melden antippen</string>
<string name="error_report_notification_title">Bei NewPipe ist ein Fehler aufgetreten. Zum Melden antippen</string>
<string name="error_report_notification_toast">Ein Fehler ist aufgetreten, siehe die Benachrichtigung</string>
<string name="create_error_notification">Eine Fehlermeldung erstellen</string>
<string name="show_error_snackbar">Fehler-Kurzmeldung anzeigen</string>
@ -710,7 +710,7 @@
<string name="faq_description">Wenn du Probleme bei der Verwendung der App hast, lies bitte die Antworten auf häufig gestellte Fragen!</string>
<string name="sort">Sortieren</string>
<string name="fast_mode">Schnellmodus</string>
<string name="app_update_unavailable_toast">Du verwendest die neueste Version von Tubular</string>
<string name="app_update_unavailable_toast">Du verwendest die neueste Version von NewPipe</string>
<string name="app_update_available_notification_text">Antippen um %s herunterzuladen</string>
<string name="import_subscriptions_hint">Importieren oder Exportieren von Abonnements über das 3-Punkte-Menü</string>
<string name="night_theme_available">Diese Option ist nur verfügbar, wenn %s als Design ausgewählt wird</string>
@ -719,7 +719,7 @@
<string name="card">Karte</string>
<string name="playlist_add_stream_success_duplicate">Duplikat %d mal hinzugefügt</string>
<string name="duplicate_in_playlist">Die ausgegrauten Wiedergabelisten enthalten dieses Element bereits.</string>
<string name="ignore_hardware_media_buttons_summary">Nützlich, wenn z. B. ein Headset mit defekten physischen Tasten verwendet wird</string>
<string name="ignore_hardware_media_buttons_summary">Nützlich, wenn z. B. ein Headset mit defekten physischen Tasten verwendet wird</string>
<string name="ignore_hardware_media_buttons_title">Ereignisse der Hardware-Medientasten ignorieren</string>
<string name="remove_duplicates">Duplikate entfernen</string>
<string name="remove_duplicates_title">Duplikate entfernen\?</string>

View file

@ -9,7 +9,7 @@
<string name="download">Λήψη</string>
<string name="search">Αναζήτηση</string>
<string name="settings">Ρυθμίσεις</string>
<string name="did_you_mean">Μήπως εννοείτε «%1$s»;</string>
<string name="did_you_mean">Μήπως εννοείτε \"%1$s\";</string>
<string name="share_dialog_title">Κοινοποίηση με</string>
<string name="use_external_video_player_title">Χρήση εξωτερικής εφαρμογής αναπαραγωγής βίντεο</string>
<string name="use_external_audio_player_title">Χρήση εξωτερικής συσκευής αναπαραγωγής ήχου</string>
@ -103,7 +103,7 @@
<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="default_content_country_title">Προεπιλεγμένη χώρα περιεχομένου</string>
<string name="settings_category_player_title">Αναπαραγωγός</string>
<string name="settings_category_player_behavior_title">Συμπεριφορά</string>
@ -472,7 +472,7 @@
<string name="restricted_video">Αυτό το βίντεο έχει περιορισμό ηλικίας.
\n
\nΕνεργοποιήστε το «%1$s» στις ρυθμίσεις εάν θέλετε να το δείτε.</string>
<string name="youtube_restricted_mode_enabled_title">Λειτουργία περιορισμένης πρόσβασης του YouTube</string>
<string name="youtube_restricted_mode_enabled_title">Ενεργοποίηση \"Περιορισμένη Λειτουργία\\ του YouTube</string>
<string name="unsupported_url_dialog_message">Δεν ήταν δυνατή η αναγνώριση της διεύθυνσης URL. Άνοιγμα με άλλη εφαρμογή;</string>
<string name="auto_queue_toggle">Αυτόματη προσθήκη στην ουρά</string>
<string name="clear_queue_confirmation_description">Η ουρά του ενεργού αναπαραγωγού θα αντικατασταθεί</string>
@ -656,7 +656,7 @@
<string name="manual_update_description">Χειροκίνητος έλεγχος για νέα έκδοση</string>
<string name="check_for_updates">Έλεγχος αναβάθμισης</string>
<string name="feed_new_items">Νέα αντικείμενα τροφοδοσίας</string>
<string name="show_crash_the_player_title">Εμφάνιση «Κατάρρευσης αναπαραγωγέα»</string>
<string name="show_crash_the_player_title">Εμφάνιση «Κατάρρευση αναπαραγωγέα\\</string>
<string name="show_crash_the_player_summary">Εμφανίζει μια επιλογή κατάρρευσης κατά τη χρήση του αναπαραγωγέα</string>
<string name="crash_the_player">Κατάρρευση αναπαραγωγέα</string>
<string name="error_report_channel_name">Ειδοποίηση αναφοράς σφάλματος</string>

View file

@ -12,11 +12,11 @@
<string name="share_dialog_title">Konigi kun</string>
<string name="use_external_video_player_title">Uzi eksteran filmetoludilon</string>
<string name="use_external_audio_player_title">Uzi eksteran sonludilon</string>
<string name="default_resolution_title">Defaŭlta rezolucio</string>
<string name="default_resolution_title">Preferata distingumo</string>
<string name="play_with_kodi_title">Ludi per Kodi</string>
<string name="show_play_with_kodi_title">Montri \"Ludi per Kodi\"-opcion</string>
<string name="play_audio">Sono</string>
<string name="default_audio_format_title">Defaŭlta sondosierformo</string>
<string name="default_audio_format_title">Preferata sona dosierformo</string>
<string name="theme_title">Etoso</string>
<string name="dark_theme_title">Malhela</string>
<string name="light_theme_title">Hela</string>
@ -24,7 +24,7 @@
<string name="download_dialog_title">Elŝuti</string>
<string name="unsupported_url">Ligilo ne subtenita</string>
<string name="content_language_title">Preferata enhavlingvo</string>
<string name="settings_category_video_audio_title">Filmeto kaj sono</string>
<string name="settings_category_video_audio_title">Filmo kaj sono</string>
<string name="settings_category_appearance_title">Apero</string>
<string name="background_player_playing_toast">Ludanta fone</string>
<string name="general_error">Eraro</string>
@ -32,17 +32,17 @@
<string name="content_not_available">Enhavo malhavebla</string>
<string name="detail_likes_img_view_description">Ŝatoj</string>
<string name="detail_dislikes_img_view_description">Malŝatoj</string>
<string name="no_player_found">Neniu elsendlflua ludilo trovita. Ĉu instali la aplikaĵon VLC\?</string>
<string name="kore_not_found">Ĉu instali la mankan aplikaĵon Kore\?</string>
<string name="show_next_and_similar_title">Montri \'Sekvajn\' kaj \'Similajn\' videojn</string>
<string name="no_player_found">Neniu ludilo de elsendoj trovita. Ĉu instalu la programon VLC?</string>
<string name="kore_not_found">Ĉu instalu la mankatan programon Kore?</string>
<string name="show_next_and_similar_title">Montri Sekvajn kaj Similajn filmetojn</string>
<string name="could_not_load_thumbnails">Ĉiuj bildetoj ne ŝargeblas</string>
<string name="parsing_error">La retejo ne analizeblas</string>
<string name="detail_thumbnail_view_description">Ludi filmeton, daŭro:</string>
<string name="detail_uploader_thumbnail_view_description">Bildeto de la alŝutinto</string>
<string name="download_path_title">Elŝutujo por filmetoj</string>
<string name="download_path_audio_title">Elŝutujo por aŭdio</string>
<string name="show_play_with_kodi_summary">Montri opcion por ludi filmeton per la aplikaĵo Kodi</string>
<string name="download_path_summary">Elŝutitaj filmetoj estas konservitaj tie</string>
<string name="show_play_with_kodi_summary">Montri opcion por ludi filmeton per la programo Kodi</string>
<string name="download_path_summary">Elŝutitaj filmetoj konserviĝas ĉi tie</string>
<string name="download_path_audio_summary">Dosierujo por konservi elŝutitajn muzikojn</string>
<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>
@ -57,7 +57,7 @@
<string name="main_bg_subtitle">Premi \"Serĉi\" por komenci.</string>
<string name="no_player_found_toast">Neniu elsendlflua ludilo trovita (instalu VLC por ludi ĝin).</string>
<string name="open_in_popup_mode">Malfermi en ŝprucfenestran modon</string>
<string name="use_external_video_player_summary">Forigas aŭdon ĉe kelkaj rezolucioj</string>
<string name="use_external_video_player_summary">Forigas aŭdon ĉe kelkaj distingumoj</string>
<string name="subscribe_button_title">Aboni</string>
<string name="subscribed_button_title">Abonita</string>
<string name="channel_unsubscribed">Kanalo malabonita</string>
@ -71,10 +71,10 @@
<string name="controls_background_title">Fono</string>
<string name="controls_popup_title">Ŝprucfenestro</string>
<string name="controls_add_to_playlist_title">Aldonu al</string>
<string name="default_popup_resolution_title">Defaŭlta rezolucio de la ŝprucfenestra ludilo</string>
<string name="show_higher_resolutions_title">Montri pli altajn rezoluciojn</string>
<string name="show_higher_resolutions_summary">Nur kelkaj aparatoj povas ludi 2K / 4K filmetojn</string>
<string name="default_video_format_title">Defaŭlta filmetdosierformo</string>
<string name="default_popup_resolution_title">Komenca distingumo de la ŝprucfenestra ludilo</string>
<string name="show_higher_resolutions_title">Montri pli altajn distingumojn</string>
<string name="show_higher_resolutions_summary">Nur kelkaj aparatoj povas ludi filmetojn je distingumoj 2K / 4K</string>
<string name="default_video_format_title">Preferata filma dosierformo</string>
<string name="popup_remember_size_pos_title">Memori ecojn de ŝprucfenestro</string>
<string name="popup_remember_size_pos_summary">Memori lastan grandon kaj pozicion de ŝprucfenestro</string>
<string name="use_inexact_seek_title">Uzi rapidan malekzaktan serĉon</string>
@ -100,7 +100,7 @@
<string name="clear">Forviŝi</string>
<string name="show_search_suggestions_title">Serĉi sugestojn</string>
<string name="show_search_suggestions_summary">Montri sugestojn kiam serĉanto</string>
<string name="best_resolution">Plej bona rezolucio</string>
<string name="best_resolution">Plej bona distingumo</string>
<string name="app_description">Libera malpeza torentado ĉe Android.</string>
<string name="settings_category_downloads_title">Elŝuti</string>
<string name="charset_letters_and_digits">Leteroj kaj ciferoj</string>
@ -110,9 +110,9 @@
<string name="enable_search_history_title">Serĉa historio</string>
<string name="enable_search_history_summary">Konservi la historio de serĉo lokale</string>
<string name="enable_watch_history_title">Rigardu historion</string>
<string name="enable_watch_history_summary">Spuri la viditajn filmetojn</string>
<string name="notification_channel_name">Sciigo de Tubular</string>
<string name="notification_channel_description">Sciigoj por ludilo de Tubular</string>
<string name="enable_watch_history_summary">Protokoli spektitajn filmetojn</string>
<string name="notification_channel_name">Sciigo de NewPipe</string>
<string name="notification_channel_description">Sciigoj por ludilo de NewPipe</string>
<string name="settings_category_player_title">Ludilo</string>
<string name="settings_category_player_behavior_title">Konduto</string>
<string name="settings_category_history_title">Historio kaj kaŝmemoro</string>
@ -121,7 +121,7 @@
<string name="top_50">Supro 50</string>
<string name="new_and_hot">Nova kaj varma</string>
<string name="show_hold_to_append_title">Montri la indiko « Tenu por aldoni »</string>
<string name="show_hold_to_append_summary">Montri indikon premante la fona aŭ la ŝprucfenestra butono en filmeta \"Detaloj:\"</string>
<string name="show_hold_to_append_summary">Montri indikon premante la fonon aŭ la ŝprucfenestran butonon en filmeta «Detaloj:»</string>
<string name="play_all">Ludi ĉiujn</string>
<string name="player_stream_failure">Ne povis ludi tion torenton</string>
<string name="player_unrecoverable_failure">Neatendebla eraro de ludilo okazis</string>
@ -138,7 +138,7 @@
<string name="switch_to_main">Ŝangi al Ĉefa</string>
<string name="always">Ĉiam</string>
<string name="just_once">Nur unufoje</string>
<string name="video_streams_empty">Neniuj filmeta torentoj trovitaj</string>
<string name="video_streams_empty">Neniu filmofluo trovita</string>
<string name="audio_streams_empty">Neniuj sonaj torentoj trovis</string>
<string name="popup_player">Ŝprucfenestra ludilo</string>
<string name="import_data_title">Importi la datumbazon</string>
@ -191,7 +191,7 @@
<string name="clear_search_history_summary">Forviŝi la serĉajn ŝlosilvortojn</string>
<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 rezolucio kiam uzanta moveblan datumon</string>
<string name="limit_mobile_data_usage_title">Limigi distingumon uzante telefonan retkonekton</string>
<string name="minimize_on_exit_popup_description">Minimumigi al ŝprucfenestra ludilo</string>
<string name="channels">Kanaloj</string>
<string name="playlists">Ludlistoj</string>
@ -202,7 +202,7 @@
<string name="settings_category_updates_title">Ĝisdatigoj</string>
<string name="file_deleted">Dosiero forviŝita</string>
<string name="app_update_notification_channel_name">Sciigo por ĝisdatigo de apo</string>
<string name="app_update_notification_channel_description">Sciigo por novaj versioj de Tubular</string>
<string name="app_update_notification_channel_description">Sciigo por novaj versioj 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 restarigi la elŝutan dosierujon \?</string>
<string name="queued">viciĝita</string>
@ -252,25 +252,25 @@
<string name="msg_name">Dosiernomo</string>
<string name="msg_threads">Fadenoj</string>
<string name="msg_error">Eraro</string>
<string name="msg_running">Tubular estas elŝutanta</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 spekto</item>
<item quantity="other">%s spektoj</item>
<item quantity="one">%s spekto</item>
<item quantity="other">%s spektoj</item>
</plurals>
<string name="short_thousand">k</string>
<string name="short_million">M</string>
<string name="short_billion">Mrd</string>
<string name="title_activity_about">Pri Tubular</string>
<string name="title_activity_about">Pri NewPipe</string>
<string name="title_licenses">Eksteraj permesiloj</string>
<string name="copyright" formatted="true">© %1$s de %2$s sub %3$s</string>
<string name="tab_about">Pri</string>
<string name="tab_licenses">Permesiloj</string>
<string name="view_on_github">Rigardu ĉe GitHub</string>
<string name="app_license_title">Permesilo de Tubular</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 ĉiam estas bonvena. Ju pli oni faras, des pli bonas!</string>
<string name="read_full_license">Legi permesilon</string>
<string name="contribution_title">Kontribui</string>
@ -286,7 +286,7 @@
<item quantity="one">%s abonanto</item>
<item quantity="other">%s abonantoj</item>
</plurals>
<string name="no_views">Neniuj spektoj</string>
<string name="no_views">Neniuj spektoj</string>
<string name="no_videos">Neniu filmeto</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>
@ -298,14 +298,14 @@
<string name="select_a_kiosk">Elekti kioskon</string>
<string name="start_here_on_background">Komenci ludi fone</string>
<string name="donation_title">Donaci</string>
<string name="donation_encouragement">NewPipe estas programadita par volontuoj, elspezante lia tempo por alporti vin la plej bona uzanta sperto. Redoni por helpi programistojn plibonigi Tubular dum ili ĝuas tason da kafo.</string>
<string name="donation_encouragement">NewPipe estas programadita par volontuoj, elspezante lia tempo por alporti vin la plej bona uzanta sperto. Redoni por helpi programistojn plibonigi NewPipe dum ili ĝuas tason da kafo.</string>
<string name="give_back">Redoni</string>
<string name="website_title">Retejo</string>
<string name="website_encouragement">Viziti 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="video_player">Filmludilo</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>
@ -347,17 +347,17 @@
<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="preferred_open_action_settings_summary">Implicita ago malfermante vidaŭdaĵon — %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">Tubular 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ĉoj 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="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ĉoj 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 serioze respektas vian privatecon. Konsekvence, la apo ne kolektas ajnan datumon sen via konsento.
\nLa privateco politiko de Tubular detale eksplikas kion datumon estas sendita kaj stokita kiam vi sendas falegosignalon.</string>
\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 atenton al la privateca politiko de Tubular. Bonvolu atentive legi ĝin.
<string name="start_accept_privacy_policy">Por konformiĝi al la Ĝenerala Datum-Protekta Regularon (GDPR), ni allogas vian atenton al la privateca politiko de NewPipe. Bonvolu atentive legi ĝin.
\nVi devas akcepti ĝin por sendi la cimsignalon al ni.</string>
<string name="accept">Akcepti</string>
<string name="decline">Rifuzi</string>
@ -369,9 +369,9 @@
<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">Ne povis legi konservitajn ongletoj, tial uzante la defaŭltajn</string>
<string name="restore_defaults">Restaŭri la defaŭltojn</string>
<string name="restore_defaults_confirmation">Ĉu vi volas restaŭri la defaŭltojn valorojn\?</string>
<string name="saved_tabs_invalid_json">Ne povis legi agorditajn langetojn, do uzos la implicitajn</string>
<string name="restore_defaults">Restarigi implicitajn valorojn</string>
<string name="restore_defaults_confirmation">Ĉu vi volas restarigi la implicitajn valorojn?</string>
<string name="subscribers_count_not_available">Abonantoj kalkulo malhaveblas</string>
<string name="main_page_content_summary">Kioj ongletoj estas montritaj en la ĉefpaĝo</string>
<string name="updates_setting_title">Ĝisdatigoj</string>
@ -380,7 +380,7 @@
<string name="list">Listo</string>
<string name="grid">Krado</string>
<string name="auto">Aŭto</string>
<string name="app_update_available_notification_title">Ĝisdatigo de Tubular havebla!</string>
<string name="app_update_available_notification_title">Ĝisdatigo de NewPipe havebla!</string>
<string name="missions_header_finished">Finita</string>
<string name="missions_header_pending">Pritraktata</string>
<string name="paused">Paŭzigita</string>
@ -405,12 +405,12 @@
<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">Tubular estis fermita dum laborante sur la dosiero</string>
<string name="error_postprocessing_stopped">NewPipe estis fermita dum laborante sur la dosiero</string>
<string name="error_insufficient_storage_left">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_summary">Defaŭlta Kiosko</string>
<string name="default_kiosk_page_summary">Implicita Kiosko</string>
<string name="no_one_watching">Neniu spektas</string>
<plurals name="watching">
<item quantity="one">%s spektanto</item>
@ -443,7 +443,7 @@
<string name="videos_string">Filmetoj</string>
<string name="permission_display_over_apps">Doni la permeson por afiŝiĝi supre aliaj apoj</string>
<string name="app_language_title">Preferata aplingvo</string>
<string name="systems_language">Sistemnormo</string>
<string name="systems_language">Sistema</string>
<string name="subtitle_activity_recaptcha">Premu “Finita” kiam solvita</string>
<string name="done">Finita</string>
<plurals name="seconds">
@ -488,7 +488,7 @@
<string name="new_seek_duration_toast">Pro ExoPlayer limoj, la serĉa daŭro estas metita %d sekundojn</string>
<string name="mute">Mutigi</string>
<string name="unmute">Malmutigi</string>
<string name="content_not_supported">Tio enhavo ne estas ankoraŭ subtenata per Tubular.\n\nĜi espereble estos en sekvanta versio.</string>
<string name="content_not_supported">Tio enhavo ne estas ankoraŭ subtenata per NewPipe.\n\nĜi espereble estos en sekvanta versio.</string>
<string name="infinite_videos">∞ filmetoj</string>
<string name="more_than_100_videos">100+ filmetoj</string>
<string name="artists">Artistoj</string>
@ -499,9 +499,7 @@
<string name="notification_action_repeat">Ripeti</string>
<string name="search_showing_result_for">Montrante rezultojn pri: %s</string>
<string name="open_with">Malfermi per</string>
<string name="restricted_video">Tiu ĉi filmeto havas aĝlimon.
\n
\nŜalti \"%1$s\" en la agordoj, se vi volas vidi ĝin.</string>
<string name="restricted_video">Tiu ĉi filmeto havas aĝminimumon. \n \nŜaltu «%1$s» en la agordoj, se vi volus vidi ĝin.</string>
<string name="night_theme_title">Malhela etoso</string>
<string name="notification_colorize_title">farbi sciigon</string>
<string name="notification_action_buffering">Alŝuto</string>
@ -530,11 +528,11 @@
<string name="description_tab_description">Priskribo</string>
<string name="comments_tab_description">Komentoj</string>
<string name="show_description_title">Montri priskribon</string>
<string name="notification_scale_to_square_image_summary">Stuci la bildeton de la video en la sciigo de 16:9 ĝis 1:1 propocio</string>
<string name="notification_scale_to_square_image_summary">Stuci la antaŭvidan bildeton de la filmo en la sciigo de proporcio 16:9 al 1:1</string>
<string name="show_meta_info_title">Montri metadatumojn</string>
<string name="mark_as_watched">Marki spektita</string>
<string name="show_meta_info_summary">Malŝatu por kaŝi metadatumujojn kio havas aldonajn informojn pri la elsendfluisto, enhavo de la fluo, aŭ serĉpto</string>
<string name="show_description_summary">Malŝaltu por kaŝi la videan priskribon kaj aldonan informon</string>
<string name="show_description_summary">Malŝaltu por kaŝi priskribojn kaj aldonajn informojn de filmetoj</string>
<string name="clear_queue_confirmation_title">Peti por konfirmo antaŭ vakigado atendvico</string>
<string name="clear_queue_confirmation_summary">Via atendvico povas anstataŭigi se vi ŝanĝi al malsama ludilo</string>
<string name="clear_queue_confirmation_description">La aktiva ludila atendvico anstataŭigos</string>
@ -549,7 +547,7 @@
<string name="volume">Laŭteco</string>
<string name="none">Neniu</string>
<string name="notification_colorize_summary">Permesi al Android agordi koloron de sciigo laŭ la precipa koloro de videaĵminiaturo (noti, ke ĉi tio ne disponeblas en ĉiuj iloj)</string>
<string name="auto_queue_toggle">Aŭtomata vicigado</string>
<string name="auto_queue_toggle">Memaga vicigado</string>
<string name="right_gesture_control_title">Ago de dekstra gesto</string>
<string name="notification_actions_summary">Redakti ĉiun agon de sciigo per tuŝi gin. Elekti maksimume tri agon por montri en la kompakta sciigo per markobutonoj dekstre.</string>
<string name="prefer_original_audio_summary">Elekti la originalan aŭdiotrakon malgraŭ lingvo</string>
@ -574,22 +572,21 @@
<string name="remote_search_suggestions">Foraj serĉsugestoj</string>
<string name="error_report_channel_description">Sciigoj por raporti erarojn</string>
<string name="loading_metadata_title">Ŝargante metadatumoj…</string>
<string name="hash_channel_description">Sciigo por kreado de haketaĵoj de videoj</string>
<string name="hash_channel_description">Sciigo por kreado de haketaĵoj de filmetoj</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube provizas \"Limigitan Reĝimon\", kiu kaŝas enhavon, kiu potence maltaŭgas por infanoj</string>
<string name="restricted_video_no_stream">Ĉi tiu video estas aĝo-limigita.
\nPro novaj reguloj de YouTube, kiuj aplikas al aĝo-limigitaj videoj, Tubular ne povas atingi iun ajn video-fluoj de ĉi tiu video kaj konsekvence ne povas ludi ĝin.</string>
<string name="restricted_video_no_stream">Ĉi tiu filmeto havas aĝminimumon. \nPro novaj reguloj de YouTube, kiuj rilatas filmojn kun minimuma aĝo, NewPipe ne povas atingi ajnan fluon de ĉi tiu filmo kaj tial ne povas ludi ĝin.</string>
<string name="error_report_channel_name">Sciigo por erar-raportoj</string>
<string name="notifications">Sciigoj</string>
<string name="settings_category_player_notification_title">Ludila sciigo</string>
<string name="hash_channel_name">Sciigo por haketado de videoj</string>
<string name="hash_channel_name">Sciigo por haketado de filmetoj</string>
<string name="local_search_suggestions">Lokaj serĉsugestoj</string>
<string name="start_main_player_fullscreen_title">Ŝalti ĉefan ludilon plenekrane</string>
<string name="streams_notification_channel_description">Sciigo por novaj fluoj de abonoj</string>
<string name="clear_cookie_title">Forigi kuketojn de reCAPTCHA</string>
<string name="settings_category_player_notification_summary">Agordi la sciigon por ĉi-momente ludantaj datumtorentoj</string>
<string name="start_main_player_fullscreen_summary">Ne komenci ludi videojn en la mini-ludilo, sed ŝalti plenekranan reĝimon rekte, se aŭtomata rotacio ŝlositas. Vi ankoraŭ povus atingi mini-ludilon, se vi elirus plenekranan reĝimon.</string>
<string name="clear_cookie_summary">Forigi kuketojn, kiujn Tubular konservas, kiam vi solvas reCAPTCHA-taskojn</string>
<string name="error_report_notification_title">Tubular renkontis eraron, tuŝi por raporti</string>
<string name="start_main_player_fullscreen_summary">Ne ekludu filmojn en la etludilo, sed ŝalti plenekranan reĝimon rekte, se memaga turniĝo estas ŝaltita. Vi ankoraŭ povus aliri la etludilon elirinte la plenekranan reĝimon.</string>
<string name="clear_cookie_summary">Forigi kuketojn, kiujn NewPipe konservas, kiam vi solvas reCAPTCHA-taskojn</string>
<string name="error_report_notification_title">NewPipe renkontis eraron, tuŝi por raporti</string>
<string name="main_tabs_position_title">Pozicio de la ĉefaj langetoj</string>
<string name="main_tabs_position_summary">Transloki la ĉefan langet-elektilon al la malsupro</string>
<plurals name="new_streams">
@ -605,7 +602,7 @@
<string name="import_subscriptions_hint">Importi aŭ eksporti abonojn per la tri-punkta menuo</string>
<string name="msg_calculating_hash">Kalkulado de haketaĵo</string>
<string name="faq_title">Oftaj demandoj</string>
<string name="no_dir_yet">Neniu dosierujo por elŝutoj agordita, bonvolu elekti la defaŭltan elŝuto-dosierujon nun</string>
<string name="no_dir_yet">Neniu dosierujo por elŝutoj agordita, bonvolu elekti la preferatan elŝuto-dosierujon nun</string>
<string name="error_report_open_github_notice">Bonvolu certigi, ĉu erarraporto, kiu diskutas pri via eraro, jam ekzistas. Kreado de duoblaĵaj erarraportoj forprenas tempon el ni, kiun ni povus uzi por ripari la veran eraron.</string>
<string name="related_items_tab_description">Rilatajn erojn</string>
<string name="recaptcha_solve">Solvi</string>
@ -613,4 +610,13 @@
<string name="downloads_storage_ask_summary_no_saf_notice">Oni petos al vi kien salvi ĉiujn elŝutojn</string>
<string name="yes">Jes</string>
<string name="no">Ne</string>
<string name="remove_watched_popup_title">Ĉu forigu spektitajn filmetojn?</string>
<string name="youtube_music_premium_content">Ĉu tiu filmeto sole haveblas al abonantoj de YouTube Music Premium, do ĝi ne spekteblas nek elŝuteblas de NewPipe.</string>
<string name="audio_track_present_in_video">Sono devus jam esti en ĉi tiu fluo</string>
<string name="no_video_streams_available_for_external_players">Neniu filmofluo ludeblas por ekstera ludilo</string>
<string name="channel_tab_videos">Filmetoj</string>
<string name="remove_watched_popup_warning">Filmetoj kiuj spektiĝis antaŭ aŭ post sia aldoniĝo al la ludlisto foriĝus.. \nĈu vi certas? Ĉi tio nemalfareblus!</string>
<string name="share_playlist_with_titles_message">Kunhavigus ludliston inkluzivante informojn kiel la nomoj de listeroj, aŭ kiel simpla listo de ligiloj</string>
<string name="reset_settings_summary">Restarigi implicitajn agordojn</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">Jes, kaj ankaŭ parte spektitajn filmetojn</string>
</resources>

View file

@ -47,7 +47,7 @@
<string name="detail_uploader_thumbnail_view_description">Miniatura del avatar del usuario</string>
<string name="content">Contenido</string>
<string name="show_age_restricted_content_title">Mostrar contenido con restricción de edad</string>
<string name="main_bg_subtitle">Toca la lupa para empezar.</string>
<string name="main_bg_subtitle">Toca la lupa para comenzar..</string>
<string name="duration_live">En directo</string>
<string name="downloads">Descargas</string>
<string name="downloads_title">Descargas</string>

View file

@ -89,7 +89,7 @@
<string name="duration_live">Otse</string>
<string name="downloads">Allalaadimised</string>
<string name="downloads_title">Allalaadimised</string>
<string name="error_report_title">Vea teatamine</string>
<string name="error_report_title">Veateade</string>
<string name="all">Kõik</string>
<string name="disabled">Keelatud</string>
<string name="clear">Kustuta</string>
@ -180,7 +180,7 @@
<string name="dismiss">Loobu</string>
<string name="rename">Muuda nime</string>
<string name="ok">OK</string>
<string name="msg_name">Faili nimi</string>
<string name="msg_name">Failinimi</string>
<string name="msg_threads">Lõimed</string>
<string name="msg_error">Viga</string>
<string name="msg_running">Tubular allalaadimine</string>
@ -369,7 +369,7 @@
<string name="error_file_creation">Faili ei saa luua</string>
<string name="error_ssl_exception">Turvalist ühendust ei suudetud luua</string>
<string name="error_unknown_host">Serverit ei leitud</string>
<string name="error_connect_host">Serveriga ei saadud ühendust</string>
<string name="error_connect_host">Serveriga ei saa ühendust</string>
<string name="error_http_no_content">Server ei saada andmeid</string>
<string name="error_http_unsupported_range">Server ei toeta mitmelõimelisi allalaadimisi. Proovi uuesti kasutades @string/msg_threads = 1</string>
<string name="error_http_not_found">Ei leitud</string>
@ -453,7 +453,7 @@
<item quantity="other">%s kuulajat</item>
</plurals>
<string name="hash_channel_description">Teavitused video räsimise edenemise kohta</string>
<string name="youtube_restricted_mode_enabled_title">Võta kasutusele YouTube\'i „Piiratud režiim“</string>
<string name="youtube_restricted_mode_enabled_title">Võta kasutusele YouTube\'i „Piiratud režiim“\\</string>
<string name="missing_file">Faili asukoht on muutunud või on ta kustutatud</string>
<string name="watch_history_states_deleted">Taasesituste asukohad on kustutatud</string>
<string name="delete_playback_states_alert">Kas kustutame kõik taasesituste asukohad\?</string>
@ -656,7 +656,7 @@
<string name="check_for_updates">Kontrolli uuendusi</string>
<string name="manual_update_description">Kontrolli uuendusi käsitsi</string>
<string name="feed_new_items">Uued andmevoo kirjed</string>
<string name="show_crash_the_player_title">Näita „Jooksuta meediamängija kokku“ nupukest</string>
<string name="show_crash_the_player_title">Näita „Jooksuta meediamängija kokku“ nupukest\\</string>
<string name="show_crash_the_player_summary">Näitab valikut meediamängija kokkujooksutamiseks</string>
<string name="error_report_notification_title">Tubular töös tekkis viga, sellest teavitamiseks toksa</string>
<string name="crash_the_player">Jooksuta meediamängija kokku</string>

View file

@ -197,7 +197,7 @@
<string name="switch_to_main">Basculer en principal</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 multimédia trouvé (vous pouvez installer VLC pour continuer).</string>
<string name="no_player_found_toast">Aucun lecteur de flux 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>
@ -827,7 +827,7 @@
<item quantity="other">%s réponses</item>
</plurals>
<string name="notification_actions_summary_android13">Modifiez chaque action de notification ci-dessous en appuyant dessus. Les trois premières actions (lire/pause, précédent, suivant) sont définies par le système et ne peuvent pas être personnalisées.</string>
<string name="show_more">Afficher plus</string>
<string name="show_more">Voir plus</string>
<string name="show_less">Afficher moins</string>
<string name="reset_settings_summary">Réinitialiser tous les paramètres à leurs valeurs par défaut</string>
<string name="no">Non</string>
@ -841,4 +841,5 @@
<string name="reset_settings_title">Réinitialiser les paramètres</string>
<string name="error_insufficient_storage">Pas assez d\'espace disponible sur l\'appareil</string>
<string name="import_settings_vulnerable_format">Les paramètres de l\'export en cours d\'importation utilisent un format vulnérable qui a été déprécié depuis NewPipe 0.27.0. Assurez-vous que l\'export en cours d\'importation provient d\'une source fiable. Privilégiez les exports obtenues à partir de NewPipe 0.27.0 ou des versions plus récentes à l\'avenir. Le support pour l\'importation des paramètres dans ce format vulnérable sera bientôt complètement supprimé et les anciennes versions de NewPipe ne pourront plus importer les paramètres des exports des nouvelles versions.</string>
<string name="audio_track_type_secondary">secondaire</string>
</resources>

View file

@ -3,7 +3,7 @@
<string name="black_theme_title">કાળું</string>
<string name="dark_theme_title">અંધારિયું</string>
<string name="light_theme_title">પ્રકાશ</string>
<string name="night_theme_title">નાઇટ થીમ</string>
<string name="night_theme_title">રાત્રિ થીમ</string>
<string name="theme_title">થીમ</string>
<string name="default_video_format_title">ડિફોલ્ટ વિડિઓ ફોર્મેટ</string>
<string name="default_audio_format_title">ડિફોલ્ટ ઓડિયો ફોર્મેટ</string>
@ -15,16 +15,16 @@
<string name="notification_action_shuffle">શફલ</string>
<string name="notification_action_repeat">પુનરાવર્તન કરો</string>
<string name="notification_actions_at_most_three">તમે કોમ્પેક્ટ સૂચનામાં બતાવવા માટે ઓછામાં ઓછી ત્રણ ક્રિયાઓ પસંદ કરી શકો છો!</string>
<string name="notification_actions_summary">નીચેની દરેક સૂચના ક્રિયાને તેના પર ટેપ કરીને સંપાદિત કરો. જમણી બાજુના ચેકબોક્સેસનો ઉપયોગ કરીને કોમ્પેક્ટ સૂચનામાં બતાવવા માટે તેમાંથી ત્રણ સુધી પસંદ કરો</string>
<string name="notification_actions_summary">નીચેની દરેક સૂચના ક્રિયાને તેના પર ટેપ કરીને સંપાદિત કરો. જમણી બાજુના ચેકબોક્સેસનો ઉપયોગ કરીને કોમ્પેક્ટ સૂચનામાં બતાવવા માટે તેમાંથી ત્રણ સુધી પસંદ કરો.</string>
<string name="notification_action_4_title">પાંચમો ક્રિયા બટન</string>
<string name="notification_action_3_title">ચોથું ક્રિયા બટન</string>
<string name="notification_action_2_title">ત્રીજી ક્રિયા બટન</string>
<string name="notification_action_1_title">બીજું ક્રિયા બટન</string>
<string name="notification_action_0_title">પ્રથમ ક્રિયા બટન</string>
<string name="notification_scale_to_square_image_summary">સૂચનામાં 16: 9 થી 1: 1 અસ્પેક્ટ રેશિયોમાં બતાવેલ વિડિઓ થંબનેલને સ્કેલ કરો (વિકૃતિ રજૂ કરી શકે છે)</string>
<string name="notification_scale_to_square_image_title">સ્કેલ થંબનેલથી 1: 1 પાસા રેશિય</string>
<string name="notification_scale_to_square_image_summary">સૂચનામાં બતાવેલ વિડિઓ થંબનેલને ૧૬:૯ થી ૧:૧ સાપેક્ષ ગુણોત્તરમાં કાપો</string>
<string name="notification_scale_to_square_image_title">થંબનેલને ૧:૧ સાપેક્ષ ગુણોત્તરમાં કાપ</string>
<string name="show_play_with_kodi_summary">કોડી મીડિયા સેન્ટર દ્વારા વિડિઓ ચલાવવાનો વિકલ્પ દર્શાવો</string>
<string name="kore_not_found">અનુપસ્થિત Kode એપ્લિકેશન ઇન્સ્ટોલ કરીએ\?</string>
<string name="kore_not_found">અનુપસ્થિત Kore અનુપ્રયોગ સ્થાપિત કરીએ?</string>
<string name="show_higher_resolutions_summary">ફક્ત થોડા ઉપકરણો 2K / 4K વિડિઓઝ ચલાવી શકે છે</string>
<string name="show_higher_resolutions_title">ઉચ્ચ રીઝોલ્યુશન બતાવો</string>
<string name="default_popup_resolution_title">ડિફોલ્ટ પોપઅપ રીઝોલ્યુશન</string>
@ -68,4 +68,17 @@
<string name="no_player_found">કોઈ સ્ટ્રીમ પ્લેયર મળ્યો નથી. વીએલસી સ્થાપિત કરીએ\?</string>
<string name="upload_date_text">%1$s પર પ્રકાશિત</string>
<string name="main_bg_subtitle">પ્રારંભ કરવા માટે વિપુલ - દર્શક કાચને ટેપ કરો.</string>
<string name="mark_as_watched">જોયેલું તરીકે ચિહ્નિત કરો</string>
<string name="ok">ઠીક છે</string>
<string name="yes">હા</string>
<string name="no">ના</string>
<string name="trending">વલણમાં છે</string>
<string name="auto_queue_toggle">આપોઆપ કતારબદ્ધતા</string>
<string name="crash_the_player">પ્લેયરને ક્રેશ કરો</string>
<string name="action_history">ઇતિહાસ</string>
<string name="play_with_kodi_title">કોટિથી ચલાવો</string>
<string name="show_play_with_kodi_title">કોટિથી ચલાવવાનો વિકલ્પ દેખાટો</string>
<string name="download_dialog_title">ડાઉનલોડ કરો</string>
<string name="autoplay_title">આપમેળે ચલાવો</string>
<string name="fragment_feed_title">નવું શું છે</string>
</resources>

View file

@ -324,7 +324,7 @@
<string name="app_update_notification_channel_name">Alkalmazásfrissítés értesítése</string>
<string name="file_deleted">Fájl törölve</string>
<string name="settings_category_updates_title">Frissítések</string>
<string name="show_hold_to_append_summary">Tipp megjelenítése, ha megnyomja a hátteret vagy a felugró gombot a videó részleteinél</string>
<string name="show_hold_to_append_summary">Tipp megjelenítése a háttér vagy a felugró gomb megnyomásakor a videó „Részletek:\\” lehetőségnél</string>
<string name="autoplay_title">Automatikus lejátszás</string>
<string name="settings_category_clear_data_title">Adatok törlése</string>
<string name="enable_playback_state_lists_summary">Lejátszási pozíciók megjelenítése a listákban</string>
@ -534,7 +534,7 @@
<string name="hash_channel_description">Értesítések a videók ujjlenyomatkészítési folyamatához</string>
<string name="hash_channel_name">Videó ujjlenyomat-készítési értesítése</string>
<string name="youtube_restricted_mode_enabled_summary">A YouTube biztosít egy „Korlátozott módot”, amely elrejti a lehetséges felnőtteknek szóló tartalmat</string>
<string name="youtube_restricted_mode_enabled_title">A YouTube „Korlátozott módjának” bekapcsolása</string>
<string name="youtube_restricted_mode_enabled_title">A YouTube „Korlátozott mód\\” bekapcsolása</string>
<string name="peertube_instance_add_exists">A példány már létezik</string>
<string name="peertube_instance_add_fail">A példány érvényesítése nem sikerült</string>
<string name="peertube_instance_add_help">Adja meg a példány webcímét</string>
@ -658,7 +658,7 @@
<string name="show_original_time_ago_summary">A szolgáltatásokból származó eredeti szövegek láthatók lesznek a közvetítési elemeken</string>
<string name="crash_the_player">Lejátszó összeomlasztása</string>
<string name="show_image_indicators_title">Képjelölők megjelenítése</string>
<string name="show_crash_the_player_title">A „lejátszó összeomlasztása” lehetőség megjelenítése</string>
<string name="show_crash_the_player_title">A „lejátszó összeomlasztása\\” lehetőség megjelenítése</string>
<string name="show_crash_the_player_summary">Megjeleníti az összeomlasztási lehetőséget a lejátszó használatakor</string>
<string name="unhook_checkbox">Hangmagasság megtartása (torzítást okozhat)</string>
<string name="check_for_updates">Frissítések keresése</string>

View file

@ -138,7 +138,7 @@
<string name="auto_queue_summary">Melanjutkan akhir dari antrean pemutaran (tak berulang) dengan menambahkan video terkait</string>
<string name="enable_watch_history_summary">Simpan daftar video yang telah ditonton</string>
<string name="show_hold_to_append_title">Tip \"Tahan untuk menambahkan\"</string>
<string name="show_hold_to_append_summary">Tampilkan tip ketika menekan tombol latar belakang atau popup di dalam \"Detail:\" video</string>
<string name="show_hold_to_append_summary">Tampilkan tip ketika menekan tombol latar belakang atau popup di dalam video \"Detail:\\</string>
<string name="default_content_country_title">Lokasi Konten</string>
<string name="settings_category_player_title">Pemutar</string>
<string name="settings_category_player_behavior_title">Perilaku</string>
@ -508,7 +508,7 @@
\nJadi pilihlah yang sesuai yang Anda inginkan: kecepatan atau kelengkapan informasi.</string>
<string name="show_original_time_ago_summary">Teks asli dari layanan akan ditampilkan di dalam video</string>
<string name="show_original_time_ago_title">Tampilkan waktu yang lalu sebenarnya pada item</string>
<string name="youtube_restricted_mode_enabled_title">Aktifkan \"Mode Terbatas\" YouTube</string>
<string name="youtube_restricted_mode_enabled_title">Aktifkan \"Mode Terbatas\\</string>
<string name="video_detail_by">Oleh %s</string>
<string name="channel_created_by">Dibuat oleh %s</string>
<string name="detail_sub_channel_thumbnail_view_description">Thumbnail avatar channel</string>

View file

@ -607,7 +607,7 @@
<string name="enable_playback_state_lists_title">Spilunarstöður í listum</string>
<string name="enable_playback_state_lists_summary">Sýna spilunarstöður í listum</string>
<string name="show_hold_to_append_title">Sýna ábendinguna „Haltu niðri til að bæta við spilunarröð“</string>
<string name="show_hold_to_append_summary">Sýna ábendingu þegar ýtt er á bakgrunninn eða sprettihnappinn í „Nánar:“ á myndskeiðinu</string>
<string name="show_hold_to_append_summary">Sýna ábendingu þegar ýtt er á bakgrunninn eða sprettihnappinn á myndskeiðinu í „Nánar:\\</string>
<string name="unsupported_url_dialog_message">Óþekkt slóð. Opna með öðru forriti\?</string>
<string name="peertube_instance_url_summary">Veldu uppáhalds PeerTube tilvik þín</string>
<string name="peertube_instance_url_help">Þú mátt finna tilviki á %s</string>
@ -647,7 +647,7 @@
<string name="disable_media_tunneling_summary">Slökktu á margmiðlunargöngum (media tunneling) ef vart verður við svartan skjá eða hökt við spilun myndskeiða.</string>
<string name="show_image_indicators_title">Sýna myndvísa</string>
<string name="show_image_indicators_summary">Sýna Picasso litaða borða ofan á myndum sem gefa til kynna uppruna þeirra: rauðan fyrir netið, bláan fyrir disk og grænan fyrir minni</string>
<string name="show_crash_the_player_title">Sýna „Hrynja spilara“</string>
<string name="show_crash_the_player_title">Sýna „Láta spilara hrynja\\</string>
<string name="show_crash_the_player_summary">Sýna valkost til að hrynja spilara</string>
<string name="crash_the_app">Hrynja forrit</string>
<string name="create_error_notification">а til villutilkynningu</string>
@ -730,7 +730,7 @@
<string name="feed_show_upcoming">Á næstunni</string>
<string name="channel_tab_videos">Myndskeið</string>
<string name="channel_tab_tracks">Spor</string>
<string name="channel_tab_shorts">Stuttmyndir</string>
<string name="channel_tab_shorts">Símamyndir</string>
<string name="channel_tab_playlists">Spilunarlistar</string>
<string name="channel_tab_albums">Albúm</string>
<string name="channel_tab_about">Um hugbúnaðinn</string>

View file

@ -72,7 +72,7 @@
<string name="msg_name">Nome del file</string>
<string name="msg_threads">Thread</string>
<string name="msg_error">Errore</string>
<string name="msg_running">Tubular sta scaricando</string>
<string name="msg_running">NewPipe sta scaricando</string>
<string name="msg_running_detail">Tocca per maggiori dettagli</string>
<string name="msg_wait">Attendi…</string>
<string name="msg_copied">Copiato negli appunti</string>
@ -96,8 +96,8 @@
<string name="show_higher_resolutions_title">Mostra risoluzioni più elevate</string>
<string name="show_higher_resolutions_summary">Solo alcuni dispositivi possono riprodurre video 2K/4K</string>
<string name="default_video_format_title">Formato video predefinito</string>
<string name="popup_remember_size_pos_title">Ricorda proprietà lettore popup</string>
<string name="popup_remember_size_pos_summary">Ricorda dimensione e posizione del lettore popup</string>
<string name="popup_remember_size_pos_title">Ricorda proprietà del popup</string>
<string name="popup_remember_size_pos_summary">Ricorda ultima dimensione e posizione del popup</string>
<string name="show_search_suggestions_title">Suggerimenti di ricerca</string>
<string name="show_search_suggestions_summary">Scegli suggerimenti di ricerca</string>
<string name="clear">Cancella</string>
@ -110,11 +110,11 @@
<string name="tab_licenses">Licenze</string>
<string name="app_description">Streaming libero e leggero su Android.</string>
<string name="view_on_github">Mostra su GitHub</string>
<string name="app_license_title">Licenza di Tubular</string>
<string name="app_license_title">Licenza di NewPipe</string>
<string name="contribution_encouragement">Un aiuto è sempre gradito: traduzioni, modifiche al design, pulizia del codice, cambiamenti radicali. Più si fa, meglio è!</string>
<string name="read_full_license">Leggi la Licenza</string>
<string name="contribution_title">Contribuisci</string>
<string name="title_activity_about">Informazioni su Tubular</string>
<string name="title_activity_about">Informazioni su NewPipe</string>
<string name="subscribe_button_title">Iscriviti</string>
<string name="subscribed_button_title">Iscritto</string>
<string name="channel_unsubscribed">Disiscritto dal canale</string>
@ -139,9 +139,9 @@
<string name="settings_category_player_title">Lettore multimediale</string>
<string name="settings_category_player_behavior_title">Comportamento</string>
<string name="settings_category_history_title">Cronologia e cache</string>
<string name="undo">Annulla</string>
<string name="notification_channel_name">Notifica Tubular</string>
<string name="notification_channel_description">Notifiche per il lettore multimediale di Tubular</string>
<string name="undo">Rifai</string>
<string name="notification_channel_name">Notifica NewPipe</string>
<string name="notification_channel_description">Notifiche per il lettore multimediale di NewPipe</string>
<string name="search_no_results">Nessun risultato</string>
<string name="no_subscribers">Nessun iscritto</string>
<plurals name="subscribers">
@ -189,7 +189,7 @@
<string name="donation_title">Dona</string>
<string name="website_title">Sito</string>
<string name="website_encouragement">Visita il sito di NewPipe per informazioni e novità.</string>
<string name="donation_encouragement">NewPipe è sviluppato da volontari che impiegano il loro tempo libero per offrire agli utenti un\'esperienza migliore. Restituisci il favore, aiutandoli a rendere Tubular ancora più piacevole, mentre si gustano una tazza di caffè.</string>
<string name="donation_encouragement">NewPipe è sviluppato da volontari che impiegano il loro tempo libero per offrire agli utenti un\'esperienza migliore. Restituisci il favore, aiutandoli a rendere NewPipe ancora più piacevole, mentre si gustano una tazza di caffè.</string>
<string name="give_back">Restituisci</string>
<string name="default_content_country_title">Paese predefinito per i contenuti</string>
<string name="switch_to_background">Passa in sottofondo</string>
@ -308,13 +308,13 @@
<string name="delete_search_history_alert">Eliminare la cronologia delle ricerche\?</string>
<string name="search_history_deleted">Cronologia delle ricerche eliminata</string>
<string name="one_item_deleted">1 elemento eliminato.</string>
<string name="app_license">Tubular è un software libero con licenza copyleft: si può utilizzare, studiare, condividere e migliorare a proprio piacimento. In particolare, è possibile ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License (Free Software Foundation), nella versione 3 o successiva, a propria discrezione.</string>
<string name="app_license">NewPipe è un software libero con licenza copyleft: si può utilizzare, studiare, condividere e migliorare a proprio piacimento. In particolare, è possibile ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License (Free Software Foundation), nella versione 3 o successiva, a propria discrezione.</string>
<string name="import_settings">Vuoi anche importare le impostazioni?</string>
<string name="privacy_policy_title">Informativa sulla privacy</string>
<string name="privacy_policy_encouragement">Il progetto NewPipe tiene molto alla tua privacy. Perciò, l\'app non raccoglie alcun dato senza il tuo consenso.
\nL\'informativa sulla privacy spiega nel dettaglio quali dati vengono trattati e memorizzati durante l\'invio di segnalazioni per arresti anomali.</string>
<string name="read_privacy_policy">Leggi l\'informativa sulla privacy</string>
<string name="start_accept_privacy_policy">Per rispettare il regolamento europeo sulla protezione dei dati (GDPR), richiamiamo la vostra attenzione sull\'informativa sulla privacy di Tubular. Si prega di leggerla attentamente.
<string name="start_accept_privacy_policy">Per rispettare il regolamento europeo sulla protezione dei dati (GDPR), richiamiamo la vostra attenzione sull\'informativa sulla privacy di NewPipe. Si prega di leggerla attentamente.
\nDeve essere accettata per poter inviare la segnalazione.</string>
<string name="accept">Accetto</string>
<string name="decline">Rifiuto</string>
@ -337,7 +337,7 @@
<string name="settings_category_updates_title">Aggiornamenti</string>
<string name="file_deleted">File eliminato</string>
<string name="app_update_notification_channel_name">Notifiche per aggiornamenti dell\'app</string>
<string name="app_update_notification_channel_description">Notifiche per le nuove versioni di Tubular</string>
<string name="app_update_notification_channel_description">Notifiche per le nuove versioni di NewPipe</string>
<string name="download_to_sdcard_error_title">Archiviazione esterna non disponibile</string>
<string name="download_to_sdcard_error_message">Impossibile scaricare sulla scheda SD esterna. Ripristinare la posizione della cartella dei download\?</string>
<string name="saved_tabs_invalid_json">Impossibile leggere le schede salvate, verranno usate quelle predefinite</string>
@ -351,7 +351,7 @@
<string name="list">Lista</string>
<string name="grid">Griglia</string>
<string name="auto">Automatica</string>
<string name="app_update_available_notification_title">Aggiornamento di Tubular disponibile!</string>
<string name="app_update_available_notification_title">Aggiornamento di NewPipe disponibile!</string>
<string name="missions_header_finished">Completati</string>
<string name="missions_header_pending">In corso</string>
<string name="paused">in pausa</string>
@ -398,7 +398,7 @@
<string name="overwrite_unrelated_warning">Esiste già un file con questo nome</string>
<string name="overwrite_failed">impossibile sovrascrivere il file</string>
<string name="download_already_pending">C\'è un download in corso con questo nome</string>
<string name="error_postprocessing_stopped">Tubular è stato chiuso mentre lavorava sul file</string>
<string name="error_postprocessing_stopped">NewPipe è stato chiuso mentre lavorava sul file</string>
<string name="error_insufficient_storage_left">Spazio insufficiente sul dispositivo</string>
<string name="error_progress_lost">Progresso perso poiché il file è stato eliminato</string>
<string name="confirm_prompt">Vuoi cancellare la cronologia dei download o eliminare tutti i file scaricati\?</string>
@ -500,7 +500,7 @@
<string name="feed_use_dedicated_fetch_method_disable_button">Disattiva recupero veloce</string>
<string name="feed_use_dedicated_fetch_method_help_text">Il recupero dei feed è troppo lento\? Prova ad abilitare il recupero veloce (nelle impostazioni o premendo il pulsante qui sotto).
\n
\nTubular può caricare i feed in due modi:
\nNewPipe può caricare i feed in due modi:
\n• Recuperando l\'intero canale, lento ma completo.
\n• Utilizzando un endpoint dedicato, veloce ma solitamente incompleto.
\n
@ -510,7 +510,7 @@
\n
\nLa scelta va fatta in base alle proprie preferenze: velocità o informazioni precise.</string>
<string name="feed_group_dialog_empty_name">Gruppo senza nome</string>
<string name="content_not_supported">Questo contenuto non è supportato da Tubular.
<string name="content_not_supported">Questo contenuto non è supportato da NewPipe.
\n
\nSi spera che possa essere supportato in una versione futura.</string>
<string name="infinite_videos">∞ video</string>
@ -565,7 +565,7 @@
<string name="show_memory_leaks">Mostra memory leak</string>
<string name="enqueued">Aggiunto alla coda</string>
<string name="enqueue_stream">Accoda</string>
<string name="clear_cookie_summary">Cancella i cookie che Tubular memorizza quando si risolve un reCAPTCHA</string>
<string name="clear_cookie_summary">Cancella i cookie che NewPipe memorizza quando si risolve un reCAPTCHA</string>
<string name="recaptcha_cookies_cleared">Cookie reCAPTCHA eliminati</string>
<string name="clear_cookie_title">Elimina cookie reCAPTCHA</string>
<string name="youtube_restricted_mode_enabled_summary">Consente di usufruire della \"Modalità con restrizioni\" di YouTube, che esclude contenuti potenzialmente inappropriati per i minori</string>
@ -589,13 +589,13 @@
<string name="open_with">Apri con</string>
<string name="no_app_to_open_intent">Sul tuo dispositivo non c\'è alcuna app che può aprirlo</string>
<string name="crash_the_app">Fai crashare l\'app</string>
<string name="paid_content">Questo contenuto è disponibile solo per gli utenti paganti, quindi non può essere riprodotto o scaricato da Tubular.</string>
<string name="soundcloud_go_plus_content">Nel tuo Paese questa è una traccia SoundCloud Go+, quindi non può essere riprodotta o scaricata da Tubular.</string>
<string name="youtube_music_premium_content">Questo video è disponibile solo per i membri di YouTube Music Premium, quindi non può essere riprodotto o scaricato da Tubular.</string>
<string name="private_content">Questo contenuto è privato, quindi non può essere riprodotto o scaricato da Tubular.</string>
<string name="paid_content">Questo contenuto è disponibile solo per gli utenti paganti, quindi non può essere riprodotto o scaricato da NewPipe.</string>
<string name="soundcloud_go_plus_content">Nel tuo Paese questa è una traccia SoundCloud Go+, quindi non può essere riprodotta o scaricata da NewPipe.</string>
<string name="youtube_music_premium_content">Questo video è disponibile solo per i membri di YouTube Music Premium, quindi non può essere riprodotto o scaricato da NewPipe.</string>
<string name="private_content">Questo contenuto è privato, quindi non può essere riprodotto o scaricato da NewPipe.</string>
<string name="georestricted_content">Questo contenuto non è disponibile nel tuo Paese.</string>
<string name="restricted_video_no_stream">Questo video è soggetto a restrizioni di età.
\nA causa delle nuove politiche di YouTube, Tubular non può accedere a questo tipo di video.</string>
\nA causa delle nuove politiche di YouTube, NewPipe non può accedere a questo tipo di video.</string>
<string name="radio">Radio</string>
<string name="featured">In evidenza</string>
<string name="recaptcha_solve">Risolvi</string>
@ -627,7 +627,7 @@
<string name="account_terminated">Account chiuso</string>
<string name="feed_load_error_fast_unknown">Il recupero veloce dei feed non fornisce ulteriori informazioni al riguardo.</string>
<string name="feed_load_error_terminated">L\'account dell\'autore è stato chiuso.
\nTubular non sarà più in grado di caricare questo feed.
\nNewPipe non sarà più in grado di caricare questo feed.
\nDisiscriversi dal canale\?</string>
<string name="feed_load_error_account_info">Impossibile caricare feed per \"%s\".</string>
<string name="feed_load_error">Errore caricamento feed</string>
@ -671,7 +671,7 @@
<string name="show_crash_the_player_summary">Quando il lettore multimediale è in uso, mostra un\'opzione per farlo crashare</string>
<string name="show_crash_the_player_title">Mostra \"Fai crashare il lettore\"</string>
<string name="crash_the_player">Fai crashare il lettore</string>
<string name="error_report_notification_title">Tubular ha riscontrato un errore, tocca per segnalarlo</string>
<string name="error_report_notification_title">NewPipe ha riscontrato un errore, tocca per segnalarlo</string>
<string name="show_error_snackbar">Mostra un messaggio di errore</string>
<string name="no_appropriate_file_manager_message">Non è stato trovato alcun gestore di file appropriato per questa azione.
\nInstallane uno prova a disattivare \"%s\" nelle impostazioni di download</string>
@ -723,7 +723,7 @@
<string name="faq">Visualizza sul sito</string>
<string name="fast_mode">Recupero veloce</string>
<string name="app_update_available_notification_text">Premi per scaricare %s</string>
<string name="app_update_unavailable_toast">Stai già usando l\'ultima versione di Tubular</string>
<string name="app_update_unavailable_toast">Stai già usando l\'ultima versione di NewPipe</string>
<string name="import_subscriptions_hint">Importa o esporta iscrizioni dal menu a 3 punti</string>
<string name="night_theme_available">Questa opzione è disponibile solo se %s è selezionato come Tema</string>
<string name="msg_failed_to_copy">Copia negli appunti non riuscita</string>
@ -839,4 +839,5 @@
<string name="auto_update_check_description">NewPipe può cercare automaticamente nuove versioni di tanto in tanto e avvisarti quando sono disponibili.
\nVuoi attivarlo?</string>
<string name="import_settings_vulnerable_format">Le impostazioni nell\'export che viene importato usano un formato vulnerabile che è stato deprecato dalla versione 0.27.0 di NewPipe. Assicuratevi che l\'export importato venga da una fonte fidata, sarebbe preferibile usare solo exports ottenuti da NewPipe 0.27.0 o superiori, nel futuro. Il supporto all\'importazione di Impostazioni in questo formato vulnerabile sarà presto rimosso completamente, da quel momento le versioni di NewPipe più vecchie non saranno più in grado di importare impostazioni tramite export di versioni più recenti.</string>
<string name="audio_track_type_secondary">secondaria</string>
</resources>

View file

@ -145,4 +145,83 @@
<string name="metadata_category">Taggayt</string>
<string name="metadata_privacy">Tabaḍnit</string>
<string name="metadata_licence">Turagt</string>
<string name="no_videos">Ula d yiwet n tvidyutt</string>
<string name="volume">Ableɣ</string>
<string name="peertube_instance_add_title">Rnu tummant</string>
<string name="albums">Ilbumen</string>
<string name="recent">Melmi kan</string>
<string name="drawer_close">Mdel umuɣ</string>
<string name="open_with">Ldi s</string>
<string name="show_description_title">Sken-d aglam</string>
<string name="content_language_title">Tutlayt n ugbur amezwaru</string>
<string name="network_error">Tuccḍa deg uẓeṭṭa</string>
<string name="infinite_videos">∞ tividyutin</string>
<string name="msg_wait">Ttxil arǧu…</string>
<string name="title_activity_about">Ɣef NewPipe</string>
<string name="video_player">Imeɣri n uvidyu</string>
<string name="channel_tab_shorts">Shorts</string>
<string name="channel_tab_livestreams">Srid</string>
<string name="channel_tab_channels">Ibuda</string>
<string name="duration">Tanzagt</string>
<string name="question_mark">\?</string>
<string name="image_quality_medium">Taɣara talemmast</string>
<string name="image_quality_high">Taɣara tafellayt</string>
<string name="show_more">Sken-d ugar</string>
<string name="show_less">Sken-d drus</string>
<string name="songs">Tizlatin</string>
<string name="channel_tab_videos">Tividyutin</string>
<string name="channel_tab_playlists">Tibdarin n tɣuri</string>
<string name="channel_tab_albums">Ilbumen</string>
<string name="channel_tab_about">Ɣef</string>
<string name="rewind">Tuɣalin ɣer deffir</string>
<string name="image_quality_title">Taɣara n tugna</string>
<string name="sort">Smizzwer</string>
<string name="audio_track_name">%1$s %2$s</string>
<string name="import_file_title">Kter afaylu</string>
<string name="feed_show_upcoming">Itteddu-d</string>
<string name="drawer_open">Ldi umuɣ</string>
<string name="none">Ula d yiwen</string>
<string name="share_playlist_content_details">%1$s\n%2$s</string>
<string name="yes">Ih</string>
<string name="no">Uhu</string>
<string name="play_with_kodi_title">Ɣeṛ-it-id s Kodi</string>
<string name="brightness">Tafat</string>
<string name="default_content_country_title">Tamurt n ugbur amezwaru</string>
<string name="artists">Inaẓuren</string>
<string name="notifications">Ilɣa</string>
<string name="play_all">Ɣeṛ-itent-id akk</string>
<string name="notification_channel_name">Ilɣa n NewPipe</string>
<string name="comments_tab_description">Iwenniten</string>
<string name="description_tab_description">Asnummel</string>
<string name="recaptcha_solve">Fru</string>
<string name="card">Takarḍa</string>
<string name="chapters">Ixfawen</string>
<string name="app_language_title">Tutlayt n wesnas</string>
<string name="metadata_host">Asenneftaɣ</string>
<string name="metadata_privacy_public">Azayez</string>
<string name="metadata_privacy_internal">Tadigant</string>
<string name="on">Irmed</string>
<string name="off">Yensa</string>
<string name="enumeration_comma">,</string>
<string name="open_website_license">Ldi asmel Web</string>
<string name="unknown_audio_track">Arussin</string>
<string name="audio_track_type_original">aneṣli</string>
<string name="unbookmark_playlist">Kkes ticreḍt</string>
<string name="import_from">Kter seg</string>
<string name="app_license_title">Turagt n NewPipe</string>
<string name="read_full_license">Ɣeṛ turagt</string>
<string name="error_http_not_found">Ur yettwaf ara</string>
<string name="more_options">Ugar n tnefrunin</string>
<string name="share_dialog_title">Bḍu d</string>
<string name="error_details_headline">Talqayt :</string>
<string name="title_most_played">Tid yettwaɣran s waṭas</string>
<string name="tab_choose">Fren iccer</string>
<string name="metadata_language">Tutlayt</string>
<string name="unknown_content">[Arussin]</string>
<string name="play">Ɣeṛ</string>
<string name="what_device_headline">Talɣut:</string>
<string name="metadata_support">Tadhalt</string>
<string name="radio">Amaṭṭaf</string>
<string name="metadata_tags">Tibzimin</string>
<string name="blank_page_summary">Asebter d ilem</string>
</resources>

View file

@ -42,7 +42,7 @@
<string name="did_you_mean">Intendi \"%1$s\"\?</string>
<string name="settings">Optiones</string>
<string name="main_bg_subtitle">Tange \"Quaere\" ad initium</string>
<string name="search">Quaere</string>
<string name="search">Quaerere</string>
<string name="download">Scarica</string>
<string name="share">Condividi</string>
<string name="open_with">Aperi apud</string>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="main_bg_subtitle">Притиснете „Барај“ за да започнете.</string>
<string name="main_bg_subtitle">Притиснете на лупата за да започнете.</string>
<string name="upload_date_text">Објавено на %1$s</string>
<string name="no_player_found">Не е пронајден плеер за стримови. Сакате да инсталирате VLC\?</string>
<string name="no_player_found_toast">Не е пронајден плеер за стримови (можеш да инсталираш VLC)</string>
@ -13,7 +13,7 @@
<string name="controls_download_desc">Превземи датотека за стрим</string>
<string name="search">Пребарај</string>
<string name="settings">Поставки</string>
<string name="did_you_mean">Мислеше на: %1$s\?</string>
<string name="did_you_mean">Можеби мислевте на „%1$s“?</string>
<string name="share_dialog_title">Сподели со</string>
<string name="use_external_video_player_title">Користи надворешен видео плеер</string>
<string name="use_external_video_player_summary">Се губи звукот на НЕКОИ резолуции</string>
@ -30,7 +30,7 @@
<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_title">Папка за зачувување на видеата</string>
<string name="download_path_summary">Преземените видеа се сместени овде</string>
<string name="download_path_dialog_title">Одберете каде да ги зачувате видеата</string>
<string name="download_path_audio_title">Фолдер за преземање на аудио</string>
@ -54,32 +54,32 @@
<string name="popup_remember_size_pos_title">Запамти го местото и големината на малиот прозорец</string>
<string name="popup_remember_size_pos_summary">Запамти ја последната големина и место на прозорчето</string>
<string name="use_inexact_seek_title">Брзо, непрецизно премотување</string>
<string name="use_inexact_seek_summary">Со непрецизното премотување се пребарува побрзо, но со намалена презицност.</string>
<string name="use_inexact_seek_summary">Со непрецизното премотување се премотува побрзо, но со намалена презицност. Премотувањето со по 5, 15 или 25 секунди нема да работи со оваа опција.</string>
<string name="thumbnail_cache_wipe_complete_notice">Кешираните слики се избришани</string>
<string name="metadata_cache_wipe_title">Избришете ги кешираните мета-податоци</string>
<string name="metadata_cache_wipe_summary">Избришете ги сите кеш-податоци од веб-страни</string>
<string name="metadata_cache_wipe_complete_notice">Мета-податоците се избришани</string>
<string name="auto_queue_title">Автоматски постави го на листа на следно видео</string>
<string name="auto_queue_summary">Автоматски прикачи поврзано видео кога ќе почне последното пуштено видео во неповторлива листа</string>
<string name="auto_queue_title">Автоматски додај го во редослед следниот стрим</string>
<string name="auto_queue_summary">Продолжи го завршеното (неповторливо) емитување додавајќи поврзан стрим</string>
<string name="show_search_suggestions_title">Пребарајте предлози</string>
<string name="show_search_suggestions_summary">Прикажи предлози при пребарување</string>
<string name="show_search_suggestions_summary">Предлозите ќе се прикажуваат додека пребарувате</string>
<string name="enable_search_history_title">Претходни пребарувања</string>
<string name="enable_search_history_summary">Зачувајте ги пребарувањата локално</string>
<string name="enable_watch_history_title">Историја и зачувано</string>
<string name="enable_watch_history_title">Историја на гледање</string>
<string name="enable_watch_history_summary">Зачувајте ја листата на гледани видеа</string>
<string name="resume_on_audio_focus_gain_title">Продолжете со репродукција</string>
<string name="resume_on_audio_focus_gain_summary">Продолжете со репродукција на видеото по прекини (пр. телефонски повик)</string>
<string name="download_dialog_title">Преземи</string>
<string name="show_next_and_similar_title">Прикажи „следни“ и „слични“ видеа</string>
<string name="show_hold_to_append_title">Прикажи „задржи за прикачување</string>
<string name="show_hold_to_append_title">Прикажи го советот: „Задржи за додавање во редослед</string>
<string name="show_hold_to_append_summary">Покажи совет при притискање на позадината или кога скок копчето е притиснато на видео \"Детали:\"</string>
<string name="unsupported_url">Неподдржана URL врска</string>
<string name="default_content_country_title">Земја на прикажани видеа</string>
<string name="content_language_title">Стандарден јазик на содржина</string>
<string name="settings_category_player_title">Плеер</string>
<string name="settings_category_player_behavior_title">Однесување</string>
<string name="settings_category_video_audio_title">Видео и Звук</string>
<string name="settings_category_history_title">Историја</string>
<string name="settings_category_video_audio_title">Видео и аудио</string>
<string name="settings_category_history_title">Историја и кеш</string>
<string name="settings_category_appearance_title">Изглед</string>
<string name="settings_category_debug_title">Дебагирање</string>
<string name="background_player_playing_toast">Пуштено во позадина</string>
@ -99,8 +99,8 @@
<string name="always">Секогаш</string>
<string name="just_once">Само еднаш</string>
<string name="file">Датотека</string>
<string name="notification_channel_name">Известување од Tubular</string>
<string name="notification_channel_description">Tubular Известувања за подпрозорчето и заднинското пуштање</string>
<string name="notification_channel_name">Известување од NewPipe</string>
<string name="notification_channel_description">NewPipe Известувања за подпрозорчето и заднинското пуштање</string>
<string name="unknown_content">[Непознато]</string>
<string name="switch_to_background">Пушти во позадина</string>
<string name="switch_to_popup">Пушти во подпрозорче</string>
@ -113,7 +113,7 @@
<string name="network_error">Мрежна грешка</string>
<string name="could_not_load_thumbnails">Не можеа да се прочитаат сите сликички</string>
<string name="parsing_error">Не може да се прочита страната</string>
<string name="content_not_available">Содржината е недостапна</string>
<string name="content_not_available">Содржината не е достапна</string>
<string name="could_not_setup_download_menu">Неуспешно поставување на менито за превземања</string>
<string name="app_ui_crash">Се сруши Апп./Интерфејс</string>
<string name="player_stream_failure">Неуспех при пуштање на видеото</string>
@ -122,21 +122,21 @@
<string name="external_player_unsupported_link_type">Надворешните плеери не поддржуваат вакви врски</string>
<string name="video_streams_empty">Нема видео стримови</string>
<string name="audio_streams_empty">Нема аудио стримови</string>
<string name="invalid_directory">Невалидна локација</string>
<string name="invalid_source">Невалиден извор на датотека/содржина</string>
<string name="invalid_file">Датотеката не постои или се потребни привилегии за достапност</string>
<string name="file_name_empty_error">Датотеката не може да биде празна</string>
<string name="invalid_directory">Таква папка не постои</string>
<string name="invalid_source">Таков фајл / содржина не постои</string>
<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>
<string name="error_snackbar_action">ИЗВЕШТАЈ</string>
<string name="error_report_button_text">Пријави ја грешката по мејл</string>
<string name="error_snackbar_message">Извинете, нешто тргна наопаку.</string>
<string name="error_snackbar_action">Извештај</string>
<string name="what_device_headline">Инфо:</string>
<string name="what_happened_headline">Што се случи:</string>
<string name="info_labels">Што:\\nБарање:\\nЈазик на Содрж.:\\nУслуга:\\nGMT Час:\\nПакет:\\nВерзија:\\nВерз. на ОС:</string>
<string name="info_labels">What:\\nRequest:\\nContent Language:\\nContent Country:\\nApp Language:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:</string>
<string name="your_comment">Ваш коментар (на Англиски):</string>
<string name="error_details_headline">Детали:</string>
<string name="detail_thumbnail_view_description">Сликичка за преглед на видеото</string>
<string name="detail_thumbnail_view_description">Емитување на видео, времетраење</string>
<string name="detail_uploader_thumbnail_view_description">Икона од аватарот на објавителот</string>
<string name="detail_likes_img_view_description">Допаѓања</string>
<string name="detail_dislikes_img_view_description">Недопаѓања</string>
@ -146,9 +146,9 @@
<string name="video">Видео</string>
<string name="audio">Звук</string>
<string name="retry">Пробај повторно</string>
<string name="short_thousand">K</string>
<string name="short_thousand">илјади</string>
<string name="short_million">M</string>
<string name="short_billion">B</string>
<string name="short_billion">милијарди</string>
<string name="no_subscribers">Нема зачленети</string>
<plurals name="subscribers">
<item quantity="one">%s зачленет</item>
@ -175,11 +175,11 @@
<string name="msg_name">Име на датотека</string>
<string name="msg_threads">Нишки</string>
<string name="msg_error">Грешка</string>
<string name="msg_running">Tubular Превземање</string>
<string name="msg_running">NewPipe Превземање</string>
<string name="msg_running_detail">Притисни за детали</string>
<string name="msg_wait">Почекајте…</string>
<string name="msg_copied">Копирано во привремена меморија</string>
<string name="no_available_dir">Одберете достапна локација за превземања</string>
<string name="no_available_dir">Ве молиме, определете папка за преземања подоцна во поставките</string>
<string name="msg_popup_permission">Оваа привилегија е потребна за
\nотворање во подпрозорче</string>
<string name="title_activity_recaptcha">reCAPTCHA Предизвик</string>
@ -190,21 +190,21 @@
<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">За Tubular</string>
<string name="title_activity_about">За NewPipe</string>
<string name="title_licenses">Лиценци од трети страни</string>
<string name="copyright" formatted="true">© %1$s од %2$s под %3$s</string>
<string name="tab_about">За апликацијата</string>
<string name="tab_about">За апликацијата и често поставувани прашања</string>
<string name="tab_licenses">Лиценци</string>
<string name="app_description">Слободна, лесна YouTube апликација за Андроид.</string>
<string name="contribution_title">Допринеси</string>
<string name="contribution_encouragement">Ако имаш идеи за; превод, дизајн, чистење или големи промени во кодот - помошта е секогаш добредојдена. Што повеќе се работи, подобра е апликацијата!</string>
<string name="view_on_github">Види на GitHub</string>
<string name="donation_title">Донирај</string>
<string name="donation_encouragement">NewPipe се гради од волонтери кои го вложуваат слободното време за важето задоволство. Време е да им возвратиме за тие да можат да ја подобрат апликацијата, уживајќи во топло кафе.</string>
<string name="donation_encouragement">NewPipe е разработуван од доброволци, кои го вложуваат нивното слободно време за да ви го овозможат најдоброто корисничко искуство. Возвратете им на програмерите со една чаша кафе, за да можат да го направат NewPipe уште подобар.</string>
<string name="give_back">Возврати</string>
<string name="website_title">Вебсајт</string>
<string name="website_encouragement">За повеќе информации и новости за NewPipe посети ја вебстраната.</string>
<string name="app_license_title">Лиценцата на Tubular</string>
<string name="app_license_title">Лиценцата на NewPipe</string>
<string name="read_full_license">Прочитај лиценца</string>
<string name="title_activity_history">Историја</string>
<string name="action_history">Историја</string>
@ -216,21 +216,21 @@
<string name="kiosk_page_summary">Киоск</string>
<string name="channel_page_summary">Канали</string>
<string name="select_a_channel">Одбери канал</string>
<string name="no_channel_subscribed_yet">Не сте член на канал</string>
<string name="no_channel_subscribed_yet">Во моментов немате претплати</string>
<string name="select_a_kiosk">Одбери киоск</string>
<string name="export_complete_toast">Успешно извезување</string>
<string name="import_complete_toast">Успешно внесување</string>
<string name="export_complete_toast">Извезувањето беше успешно</string>
<string name="import_complete_toast">Увезувањето беше успешно</string>
<string name="no_valid_zip_file">Нема валиден ZIP фајл</string>
<string name="could_not_import_all_files">Предупредување: Не се внесени сите датотеки.</string>
<string name="override_current_data">Ова ќе ги избрише моменталните поставки.</string>
<string name="trending">Популарни</string>
<string name="top_50">Топ 50</string>
<string name="new_and_hot">Нови и жешки</string>
<string name="new_and_hot">Ново и популарно</string>
<string name="play_queue_remove">Одстрани</string>
<string name="play_queue_stream_detail">Детали</string>
<string name="play_queue_audio_settings">Звучни поставки</string>
<string name="hold_to_append">Задржи за ставање во листа</string>
<string name="start_here_on_background">Пушти тука во позадина</string>
<string name="hold_to_append">Задржете за да поставите во редослед</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>
@ -293,11 +293,11 @@
<string name="watch_history_deleted">Избришана е историјата на гледаност.</string>
<string name="clear_search_history_title">Избриши историја на пребарувања</string>
<string name="clear_search_history_summary">Ја брише историјата на пребарувања</string>
<string name="delete_search_history_alert">Избриши ја целата историја на пребарувања.</string>
<string name="search_history_deleted">Избришана е историјата на пребарувања.</string>
<string name="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="app_license">Tubular е „copyleft“ слободен софтвер: Можеш да ја користиш, истражуваш и подобруваш по твоја желба. Можеш да ја редистрибуираш и/или да ја промениш под условите на GNU GPL лиценцата, публикувана од фондацијата FSF - или верзија 3 од лиценцата, или (по можност) понова верзија.</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>
@ -307,7 +307,7 @@
<string name="privacy_policy_encouragement">Проектот NewPipe сериозно ја сфаќа вашата приватност. Затоа апликацијата не собира ваши податоци без ваша дозвола.
\nПолитиката за приватност на NewPipe детално објаснува кои податоци се зачувани и пратени кога праќате извештај за грешка во апликацијата.</string>
<string name="read_privacy_policy">Прочитај ја политиката за приватност</string>
<string name="start_accept_privacy_policy">За да постапуваме соодветно со регулацијата за заштита на податоци (GDPR) на ЕУ, вараме да обрнете внимание на политиката за приватност на Tubular.
<string name="start_accept_privacy_policy">За да постапуваме соодветно со регулацијата за заштита на податоци (GDPR) на ЕУ, вараме да обрнете внимание на политиката за приватност на NewPipe.
\nВе молиме прочитајте ја внимателно. Мора да ја прифатите за да ни го испратите извештајот за грешка во апликацијата.</string>
<string name="accept">Прифати</string>
<string name="decline">Отфрли</string>
@ -330,10 +330,10 @@
<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">Известување за нова Tubular верзија</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="download_to_sdcard_error_message">Преземањето на SD картичка не е возможно. Да се ресетира локацијата на папката за преземања ?</string>
<string name="subscribers_count_not_available">Бројот на претплатници не е достапен</string>
<string name="main_page_content_summary">Кои јазичиња се прикажани на главната страница</string>
<string name="updates_setting_title">Ажурирања</string>
<string name="updates_setting_description">Покажи известување за навремено ажурирање на апликацијата кога е достапна нова верзија</string>
@ -341,27 +341,27 @@
<string name="list">Список</string>
<string name="grid">Решетка</string>
<string name="auto">Автоматски</string>
<string name="app_update_available_notification_title">Tubular ажурирање е достапно!</string>
<string name="app_update_available_notification_title">NewPipe ажурирање е достапно!</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="permission_denied">Дејствието беше одбиено од системот</string>
<string name="download_failed">преземањето не успеа</string>
<string name="generate_unique_name">Генерирај уникатно име</string>
<string name="generate_unique_name">Создај уникатно име</string>
<string name="overwrite">Презапиши</string>
<string name="download_already_running">Во тек е преземање со ова име</string>
<string name="show_error">Покажи грешка</string>
<string name="error_path_creation">Папката не може да се создаде</string>
<string name="error_file_creation">Датотеката не може да се создаде</string>
<string name="error_ssl_exception">Безбедна врска не успеа</string>
<string name="error_unknown_host">Не може да се пронајде серверот</string>
<string name="error_connect_host">Не може да се поврзе со серверот</string>
<string name="error_path_creation">Избраната папка не може да се создаде</string>
<string name="error_file_creation">Фајлот не може да се создаде</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_unsupported_range">Серверот не прифаќа преземања со повеќе нишки, обидете се со @string/msg_threads = 1</string>
<string name="error_http_not_found">Не е најдено</string>
<string name="stop">Стоп</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>
@ -370,7 +370,7 @@
<string name="show_comments_title">Прикажи коментари</string>
<string name="autoplay_title">Автоматско пуштање</string>
<string name="no_comments">Нема коментари</string>
<string name="error_unable_to_load_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>
@ -378,16 +378,16 @@
<string name="missing_file">Дадотеката е преместена или избришана</string>
<string name="overwrite_unrelated_warning">Ддотека со ова име веќе постои</string>
<string name="overwrite_finished_warning">Преземената дадотека со ова име веќе постои</string>
<string name="error_postprocessing_stopped">Tubular беше затворен додека работеше на датотеката</string>
<string name="error_postprocessing_stopped">NewPipe беше затворен додека го обработуваше фајлот</string>
<string name="error_insufficient_storage_left">Не останува простор на уредот</string>
<string name="error_timeout">Истечено време за поврзување</string>
<string name="confirm_prompt">Дали си сигурен\?</string>
<string name="enable_queue_limit">Ограничи ја редицата за преземање</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="start_downloads">Започни преземања</string>
<string name="pause_downloads">Паузирај преземања</string>
<string name="downloads_storage_ask_summary">Вие ќе добиете прашање каде да го зачувате секое преземање</string>
<string name="downloads_storage_use_saf_title">Користи SAF</string>
<string name="downloads_storage_ask_summary">Ќе бидете прашани каде да го зачувате секое преземање.\nАктивирајте го инструментот за избор на системска папка (SAF), ако сакате да преземате на SD картичка</string>
<string name="downloads_storage_use_saf_title">Користи го инструментот за избор на системска папка (SAF)</string>
<string name="downloads_storage_use_saf_summary">Рамката за пристап до складирање овозможува преземања во надворешна SD-картичка.
\nЗабелешка: некои уреди не се поддржани.</string>
<string name="show_comments_summary">Исклучете за да ги скриете коментарите</string>
@ -398,4 +398,329 @@
<string name="peertube_instance_url_summary">Одберете ги вашите омилени PeerTube пример</string>
<string name="peertube_instance_url_help">Пронајдете ги примерите кои ви се допаѓаат на %s</string>
<string name="peertube_instance_add_title">Додадете пример</string>
<string name="recent">Скорешни</string>
<string name="enqueue_stream">Додај во редослед</string>
<string name="feed_show_partially_watched">Делумно изгледани</string>
<plurals name="watching">
<item quantity="one">%s гледач</item>
<item quantity="other">%s гледачи</item>
</plurals>
<string name="show_less">Прикажи помалку</string>
<string name="main_tabs_position_summary">Премести ги основниот селектор на јазичиња најдолу</string>
<string name="main_tabs_position_title">Позиција на основните јазичиња</string>
<string name="show_channel_details">Прикажи информации за каналот</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">Да, како и делумно изгледаните видеа</string>
<string name="audio_track_present_in_video">Аудио снимка треба да е веќе присутна во овој стрим</string>
<plurals name="listening">
<item quantity="one">%s слушател</item>
<item quantity="other">%s слушатели</item>
</plurals>
<string name="local">Местно</string>
<string name="recently_added">Скоро додадено</string>
<string name="error_insufficient_storage">Нема доволно слободна меморија на уредот</string>
<string name="feed_notification_loading">Вчитување на фидот…</string>
<string name="metadata_category">Категорија</string>
<string name="no_video_streams_available_for_external_players">Нема достапни стримови за надворешни плеери</string>
<string name="open_with">Отвори со</string>
<string name="mark_as_watched">Обележи како гледано</string>
<string name="night_theme_title">Ноќен режим</string>
<string name="clear_queue_confirmation_description">Активниот редослед на емитувања ќе биде заменет</string>
<string name="clear_download_history">Исчисти ја историјата на преземања</string>
<string name="local_search_suggestions">Местни предлози за пребарување</string>
<string name="peertube_instance_add_help">Внесете URL адреса на инстанцата</string>
<string name="error_postprocessing_failed">Неуспешна постобработка</string>
<string name="remove_duplicates_message">Да се отстранат сите стримови дупликати од оваа плејлиста?</string>
<string name="feed_create_new_group_button_title">Нова група</string>
<string name="feed_load_error_account_info">Неуспешно вчитување на новинска лента за „%s“.</string>
<string name="feed_show_hide_streams">Прикажи / скриј стримови</string>
<string name="private_content">Оваа содржина е приватна, така што не може да биде емитувана или преземена од страна на NewPipe.</string>
<string name="service_provides_reason">%s ја посочува следната причина:</string>
<string name="featured">Истакнато</string>
<string name="radio">Радио</string>
<string name="auto_device_theme_title">Автоматски (режим на уредот)</string>
<string name="download_has_started">Преземањето започна</string>
<string name="metadata_privacy">Приватност</string>
<string name="metadata_age_limit">Возрасна граница</string>
<string name="metadata_privacy_unlisted">Скриено</string>
<string name="metadata_privacy_private">Приватно</string>
<string name="progressive_load_interval_exoplayer_default">ExoPlayer стандардно</string>
<string name="channel_tab_tracks">Снимки</string>
<string name="channel_tab_videos">Видеа</string>
<string name="channel_tab_shorts">Кратки видеа</string>
<string name="channel_tab_livestreams">Во живо</string>
<string name="image_quality_high">Висок квалитет</string>
<string name="question_mark">\?</string>
<string name="share_playlist">Сподели ја плејлистата</string>
<string name="share_playlist_with_titles">Сподели со наслови</string>
<string name="show_more">Прикажи повеќе</string>
<string name="comments_are_disabled">Коментарите се исклучени</string>
<string name="tablet_mode_title">Таблет-режим</string>
<string name="on">Вклучено</string>
<string name="overwrite_failed">неуспешно презапишување на фајлот</string>
<string name="most_liked">Најпопуларни</string>
<string name="no_streams">Нема стримови</string>
<string name="main_page_content_swipe_remove">Лизнете елементи за да ги избришете</string>
<string name="notification_scale_to_square_image_title">Исечи ја сликичката на сооднос 1:1</string>
<string name="saved_tabs_invalid_json">Грешка при читањето на зачуваните јазичиња, ќе бидат користени стандардните јазичиња</string>
<string name="permission_display_over_apps">Дај дозвола за прикажување врз други апликации</string>
<string name="error_report_notification_title">NewPipe откри грешка, допрете за да ја пријавите</string>
<string name="drawer_header_description">Вклучување на услуги, тековно избрани:</string>
<string name="recaptcha_solve">Решете</string>
<string name="select_a_playlist">Изберете плејлиста</string>
<string name="title_activity_play_queue">Емитувај го редоследот</string>
<string name="remove_watched_popup_warning">Видеата кои биле гледани пред и откако биле додадени во плејлистата ќе бидат отстранети.\nСигурни ли сте? Оваа промена е трајна!</string>
<plurals name="minutes">
<item quantity="one">%d минута</item>
<item quantity="other">%d минути</item>
</plurals>
<plurals name="feed_group_dialog_selection_count">
<item quantity="one">%d избран</item>
<item quantity="other">%d избрани</item>
</plurals>
<string name="no_appropriate_file_manager_message">Не е пронајден соодветен менаџер за фајлови за ова дејствие.\nВе молиме инсталирајте менаџер за фајлови (анг. file manager) или обидете се да деактивирате „%s“ во поставките за преземања</string>
<string name="audio_track_type_secondary">секундарна</string>
<string name="channel_tab_channels">Канали</string>
<string name="channel_tab_playlists">Плејлисти</string>
<string name="channel_tab_albums">Албуми</string>
<string name="channel_tab_about">За каналот</string>
<string name="show_channel_tabs">Картички на канали</string>
<string name="toggle_screen_orientation">Смени ја ориентацијата на екранот</string>
<string name="next_stream">Следен стрим</string>
<string name="replay">Пушти повторно</string>
<string name="more_options">Повеќе опции</string>
<string name="duration">Времетраење</string>
<string name="rewind">Премотување наназад</string>
<string name="forward">Премотување нанапред</string>
<string name="image_quality_title">Квалитет на слика</string>
<string name="image_quality_none">Не вчитувај слики</string>
<string name="share_playlist_with_list">Сподели список со линкови</string>
<plurals name="replies">
<item quantity="one">%s одговор</item>
<item quantity="other">%s одговори</item>
</plurals>
<string name="ignore_hardware_media_buttons_title">Игнорирај хардверски копчиња за медиуми</string>
<string name="ignore_hardware_media_buttons_summary">Корисно, на пример, ако користите слушалки со скршени физички копчиња</string>
<string name="start_main_player_fullscreen_title">Стартирајте го основниот плеер на цел екран</string>
<string name="infinite_videos">∞ видеа</string>
<string name="notification_action_buffering">Буферирање</string>
<string name="notification_action_nothing">Ништо</string>
<string name="notification_colorize_title">Обој го известувањето</string>
<string name="notification_action_repeat">Повтори</string>
<string name="notification_action_shuffle">Измешај</string>
<string name="paid_content">Оваа содржина е достапна само за оние корисници кои платиле, така што не може да биде емитувана или преземена од страна на NewPipe.</string>
<string name="georestricted_content">Оваа содржина не е достапна во Вашата држава.</string>
<string name="youtube_music_premium_content">Ова видео е достапно само за претплатници на YouTube Music Premium, така што не може да биде емитувано или преземено од страна на NewPipe.</string>
<string name="metadata_thumbnails">Сликички</string>
<string name="description_select_enable">Овозможи го селектирањето на текст во описот</string>
<string name="account_terminated">Акаунтот е укинат</string>
<string name="metadata_uploader_avatars">Аватари на објавувачот</string>
<string name="metadata_privacy_public">Јавно</string>
<string name="metadata_subscribers">Претплатници</string>
<string name="detail_pinned_comment_view_description">Закачен коментар</string>
<string name="detail_heart_img_view_description">Обележан со срце од авторот</string>
<string name="open_website_license">Отвори ја веб-страницата</string>
<string name="off">Исклучено</string>
<string name="notifications_disabled">Известувањата се оневозможени</string>
<string name="enumeration_comma">,</string>
<string name="unknown_quality">Непознат квалитет</string>
<string name="download_already_pending">Веќе има преземање со тоа име кое претстои</string>
<string name="error_download_resource_gone">Неуспешно враќање на преземањето</string>
<plurals name="hours">
<item quantity="one">%d час</item>
<item quantity="other">%d часа</item>
</plurals>
<string name="delete_downloaded_files">Избриши ги преземените фајлови</string>
<string name="feed_show_upcoming">Претстојни</string>
<string name="settings_category_exoplayer_title">Поставки за ExoPlayer</string>
<string name="share_playlist_content_details">%1$s \n%2$s</string>
<string name="delete_downloaded_files_confirm">Избриши ги сите преземени фајлови од дискот?</string>
<string name="feed_use_dedicated_fetch_method_summary">Достапно за некои услуги, обично е многу побрзо но можно е да врати ограничено количество видеа и честопати нецелосни информации (пр. нема времетраење, вид на видеото, дали е во живо)</string>
<string name="notification_action_2_title">Копче за трето дејствие</string>
<plurals name="days">
<item quantity="one">%d ден</item>
<item quantity="other">%d дена</item>
</plurals>
<string name="feed_show_watched">Целосно изгледани</string>
<string name="audio_track_name">%1$s%2$s</string>
<string name="audio_track_type_original">оригинална</string>
<string name="audio_track_type_dubbed">натсинхронизирана</string>
<string name="audio_track_type_descriptive">описна</string>
<string name="prefer_original_audio_title">Претпочитај ја оригиналната аудио снимка</string>
<string name="volume">Сила на звукот</string>
<string name="checking_updates_toast">Проверка за ажурирања…</string>
<string name="app_language_title">Јазик на интерфејсот</string>
<string name="enqueued_next">Следното беше додадено во редослед</string>
<string name="faq_title">Често поставувани прашања</string>
<string name="faq">Отвори ја веб-страницата</string>
<string name="content_not_supported">Оваа содржина сѐ не е поддржана од NewPipe.\n\nСе надеваме дека ќе биде поддржана во некоја идна верзија.</string>
<string name="right_gesture_control_title">Дејствие со гестикулација оддесно</string>
<string name="settings_category_player_notification_title">Известување на плеерот</string>
<string name="downloads_storage_ask_title">Прашај ме за папка за преземање</string>
<string name="image_quality_low">Низок квалитет</string>
<string name="metadata_language">Јазик</string>
<string name="always_use_exoplayer_set_output_surface_workaround_title">Секогаш користете го заобиколувањето на опцијата на површината на видео-излезот на ExoPlayer\n(Англиски: Always use ExoPlayer\'s video output surface setting workaround)</string>
<string name="peertube_instance_add_https_only">Поддржани се само HTTPS линкови</string>
<string name="peertube_instance_add_exists">Инстанцата веќе постои</string>
<plurals name="deleted_downloads_toast">
<item quantity="one">Избришано е %1$s преземање</item>
<item quantity="other">Избришани се %1$s преземања</item>
</plurals>
<plurals name="download_finished_notification">
<item quantity="one">Преземањето заврши</item>
<item quantity="other">%s преземања се готови</item>
</plurals>
<string name="watch_history_states_deleted">Позициите за репродукција се избришани</string>
<string name="fast_mode">Брз режим</string>
<string name="copy_for_github">Ископирај го форматираниот извештај</string>
<string name="reset_settings_summary">Ресетирај ги сите поставки до стандардните вредности</string>
<string name="error_progress_lost">Прогресот е загубен, затоа што фајлот е избришан</string>
<string name="pause_downloads_on_mobile">Прекини преземања на измерени мрежи</string>
<string name="downloads_storage_use_saf_summary_api_29">Почнувајќи од Android 10, се поддржува само „Storage Access Framework“</string>
<string name="choose_instance_prompt">Одберете инстанца</string>
<string name="systems_language">Стандарден јазик на уредот</string>
<string name="remove_watched">Отстрани ги гледаните</string>
<string name="remove_watched_popup_title">Да се отстранат гледаните видеа?</string>
<string name="remove_duplicates">Отстрани ги дупликатите</string>
<string name="remove_duplicates_title">Да се отстранат дупликатите?</string>
<string name="feed_group_dialog_empty_name">Името на групата е празно</string>
<string name="feed_new_items">Нови видеа во лентата со новости</string>
<string name="feed_group_dialog_select_subscriptions">Изберете претплати</string>
<string name="feed_group_dialog_empty_selection">Нема избрани претплати</string>
<string name="feed_fetch_channel_tabs">Извлечи јазичиња (анг. tabs) на канали</string>
<string name="feed_use_dedicated_fetch_method_enable_button">Овозможи брз режим</string>
<string name="feed_use_dedicated_fetch_method_disable_button">Оневозможи брз режим</string>
<string name="feed_fetch_channel_tabs_summary">Јазичиња за извлекување кога новинската лента се ажурира. Оваа опција нема ефект доколку каналот се ажурира со брз режим.</string>
<string name="playlist_page_summary">Страница на плејлистата</string>
<string name="channel_created_by">Создаден од %s</string>
<string name="video_detail_by">Од %s</string>
<string name="soundcloud_go_plus_content">Ова е песна на SoundCloud Go+ (барем во Вашата држава), така што не може да биде емитувана или преземена од страна на NewPipe.</string>
<string name="night_theme_summary">Изберете го Вашиот омилен ноќен режим — %s</string>
<string name="select_night_theme_toast">Можете да го изберете Вашиот омилен ноќен режим подолу</string>
<string name="metadata_tags">Ознаки</string>
<string name="metadata_licence">Лиценца</string>
<string name="metadata_support">Поддршка</string>
<string name="metadata_host">Домаќин</string>
<string name="metadata_subchannel_avatars">Аватари на подканали</string>
<string name="metadata_avatars">Аватари</string>
<string name="metadata_banners">Банери</string>
<string name="select_quality_external_players">Избери квалитет за надворешни плеери</string>
<string name="select_audio_track_external_players">Избери аудио снимка за надворешни плеери</string>
<string name="get_notified">Добивај известувања</string>
<string name="sort">Подреди</string>
<string name="you_successfully_subscribed">Се претплативте на овој канал</string>
<string name="toggle_all">Вклучи ги сите</string>
<string name="show_channel_tabs_summary">Кои картички се прикажани на страниците на каналите</string>
<string name="open_play_queue">Отвори редослед на емитувања</string>
<string name="toggle_fullscreen">Пушти на цел екран</string>
<string name="previous_stream">Претходен стрим</string>
<string name="image_quality_medium">Среден квалитет</string>
<string name="msg_failed_to_copy">Неуспешно копирање во клипборд</string>
<string name="yes">Да</string>
<string name="no">Не</string>
<string name="search_showing_result_for">Прикажани резулати за: %s</string>
<string name="notification_scale_to_square_image_summary">Исечи ја сликичката на видеото прикажана во известувањето од 16:9 до 1:1 сооднос</string>
<string name="notification_action_0_title">Копче за прво дејствие</string>
<string name="notification_action_1_title">Копче за второ дејствие</string>
<string name="notification_action_3_title">Копче за четврто дејствие</string>
<string name="notification_action_4_title">Копче за петто дејствие</string>
<string name="notification_actions_summary_android13">Уредете го секое дејствие за известување подолу, допирајќи на него. Првите три дејствија (пушти/паузирај, претходно и следно) се поставени од системот и не можат да се приспособат.</string>
<string name="notification_colorize_summary">Дозволете Android да ја приспособи бојата на известувањата според главната боја во сликичката (имајте предвид дека ова не е достапно на сите уреди)</string>
<string name="crash_the_player">Сруши го плеерот</string>
<string name="progressive_load_interval_title">Големина на интервалот на вчитување при емитување</string>
<string name="progressive_load_interval_summary">Променето ја големината на интервалот на вчитување при емитување на прогресивни содржини (во моментов %s). Пониска вредност ,пже да го забрза нивното почетно вчитување</string>
<string name="clear_queue_confirmation_summary">Префрлањето од еден плеер на друг може да го замени Вашиот редослед</string>
<string name="show_description_title">Прикажи опис</string>
<string name="show_description_summary">Исклучете за да го скриете описот на видеото и дополнителните информации</string>
<string name="show_meta_info_title">Прикажи метаподатоци</string>
<string name="prefer_descriptive_audio_title">Претпочитај описни аудио снимки</string>
<string name="prefer_original_audio_summary">Ја избира оригиналната аудио снимка независно од јазикот</string>
<string name="auto_queue_toggle">Автоматско емитување на следното видео</string>
<string name="left_gesture_control_summary">Изберете гестикулација за левата половина од екранот на плеерот</string>
<string name="brightness">Светлина</string>
<string name="remote_search_suggestions">Предлози за оддалечено пребарување</string>
<string name="restore_defaults">Врати ги стандардните</string>
<string name="restore_defaults_confirmation">Дали сакате да ги вратите стандардните поставки?</string>
<string name="comments_tab_description">Коментари</string>
<string name="related_items_tab_description">Поврзани работи</string>
<string name="description_tab_description">Опис</string>
<string name="import_subscriptions_hint">Увези или извези претплати од менито со три точки</string>
<string name="subtitle_activity_recaptcha">Стиснете на „Готово“ кога ќе решите</string>
<string name="reset_settings_title">Ресетирај ги поставките</string>
<string name="downloads_storage_ask_summary_no_saf_notice">Ќе бидете прашани каде да го зачувате секое преземање</string>
<plurals name="seconds">
<item quantity="one">%d секунда</item>
<item quantity="other">%d секунди</item>
</plurals>
<string name="feed_groups_header_title">Група од канали</string>
<string name="feed_oldest_subscription_update">Последно ажурирање на фидот: %s</string>
<string name="feed_subscription_not_loaded_count">Не се вчитани: %d</string>
<string name="feed_processing_message">Обработка на фидот…</string>
<string name="feed_group_dialog_delete_message">Да се избрише оваа група?</string>
<string name="settings_category_feed_title">Лента со новости</string>
<string name="feed_update_threshold_title">Праг за ажурирање на лентата со новости</string>
<string name="feed_update_threshold_option_always_update">Секогаш ажурирај</string>
<string name="feed_load_error">Грешка при вчитувањето на лентата со новости</string>
<string name="feed_load_error_fast_unknown">Брзиот режим на новинската лента не доставува повеќе информации за ова.</string>
<string name="show_thumbnail_title">Прикажи ја сликичката</string>
<string name="show_thumbnail_summary">Искористи ја сликичката и за позадината на заклучениот екран и за известувањата</string>
<string name="chapters">Поглавја</string>
<string name="no_app_to_open_intent">Нема апликација на уредот што може да го отвори овој фајл</string>
<string name="night_theme_available">Оваа опција е достапна само ако %s е избрано за режим</string>
<string name="description_select_disable">Оневозможи го селектирањето на текст во описот</string>
<string name="unknown_format">Непознат формат</string>
<string name="unknown_audio_track">Непозната</string>
<string name="play">Пушти</string>
<string name="notification_actions_summary">Уредете го секое дејствие за известување подолу допирајќи на него. Изберете до три од нив за да се прикажат во компактното известување со користење на полињата за избор од десната страна.</string>
<string name="notification_actions_at_most_three">Можете да изберете најмногу три дејствија за да се прикажат во компактното известување!</string>
<string name="no_live_streams">Нема стримови во живо</string>
<string name="play_queue_audio_track">Аудио: %s</string>
<string name="more_than_100_videos">100+ видеа</string>
<string name="audio_track">Аудио трака</string>
<string name="enqueued">Додадено во редослед</string>
<string name="no_one_listening">Нема слушатели</string>
<string name="error_report_notification_toast">Возникна грешка, погледнете го известувањето</string>
<string name="error_report_open_issue_button_text">Пријави на GitHub</string>
<plurals name="new_streams">
<item quantity="one">%s нов стрим</item>
<item quantity="other">%s нови стримови</item>
</plurals>
<string name="error_report_open_github_notice">Ве молиме, проверете дали веќе има дискусија за проблем како овој. Создадените дупликати ни одземаат од времето, коешто можеме да го посветиме на поправање на проблемот.</string>
<string name="localization_changes_requires_app_restart">Јазикот ќе се смени откако апликацијата ќе биде рестартирана</string>
<string name="enqueue_next_stream">Додај го во редослед следното</string>
<string name="no_one_watching">Нема гледачи</string>
<string name="done">Готово</string>
<string name="no_dir_yet">Сѐ уште не е избрана папка за преземања, одберете ја стандардната папка за преземања сега</string>
<string name="no_playlist_bookmarked_yet">Во моментов нема обележани плејлисти</string>
<string name="default_kiosk_page_summary">Стандарден киоск</string>
<string name="faq_description">Ако имате проблеми со користењето на апликацијата, не заборавајте да ги проверите одговориве на често поставувани прашања!</string>
<string name="reset_all_settings">Ресетирањето на сите поставки ќе ги отфрли сите Ваши претпочитани поставки и ќе ја рестартира апликацијата.\n\nСигурни ли сте дека сакате да продолжите?</string>
<string name="new_seek_duration_toast">Поради ограничувања на ExoPlayer, стапката на премотување е поставена на %d секунди</string>
<string name="feed_group_show_only_ungrouped_subscriptions">Прикажи ги само негрупираните претплати</string>
<string name="feed_load_error_terminated">Акаунтот на авторот е укинат.\nNewPipe нема да може да ги вчитува овие видеа во иднина.\nСакате ли да ја откажете претплатата на овој канал?</string>
<string name="feed_update_threshold_summary">Време по последното ажурирање пред една претплата да се смета за застарена — %s</string>
<string name="feed_use_dedicated_fetch_method_title">Извлекување од специјална новинска лента, кога е возможно</string>
<string name="feed_hide_streams_title">Прикажи ги следните стримови</string>
<string name="detail_sub_channel_thumbnail_view_description">Сликичка на аватарот на каналот</string>
<string name="metadata_privacy_internal">Внатрешно</string>
<string name="feed_use_dedicated_fetch_method_help_text">Сметате дека лентата со новости (новинската лента, анг. News Feed) се вчитува премногу бавно? Ако сметате така, можете да пробате да го вклучите режимот за брзо вчитување (може да го промените во поставките или со притискање на копчето подолу).\n \nNewPipe нуди два режима за вчитување на новинската лента:\n• Извлекување на целата страница на претплати, што е бавно но и целосно.\n• Користење на специјален клиент (анг. endpoint), овозможен од услугата, што е брзо, но обично е нецелосно.\n\nРазликата помеѓу двете е во тоа што брзиот режим најчесто дава нецелесни информации, како времетраењето и видот на видеото (не прави разлика помеѓу нормални видеа и преноси во живо) и можно е да врати помалку видеа.\n\nYouTube е пример за услуга која го овозможува овој брз режим со RSS новинската лента.\n\nНакратко, изборот се сведува на тоа што Вие претпочитате: брзина или точни информации.</string>
<string name="no_appropriate_file_manager_message_android_10">Не е пронајден соодветен менаџер за фајлови за ова дејствие.\nВе молиме инталирајте менаџер за фајлови компатибилен со Storage Access Framework</string>
<string name="description_select_note">Режимот на селектирање е вклучен. Сега можете да селектирате текст во описот на видеото. Имајте предвид дека страницата може да трепка и линковите може да не можат да се кликнат, додека сте во режим на селектирање.</string>
<string name="streams_not_yet_supported_removed">Стримовите кои сѐ уште не се поддржани од програмата за преземање не се прикажани</string>
<string name="selected_stream_external_player_not_supported">Озбраниот стрим не е поддржан од надворешни плеери</string>
<string name="no_audio_streams_available_for_external_players">Нема достапни аудио стримови за надворешни плеери</string>
<string name="settings_category_exoplayer_summary">Управувајте со некои поставки за ExoPlayer. За овие промени да стапат на сила, потребно е апликацијата да се рестартира</string>
<string name="always_use_exoplayer_set_output_surface_workaround_summary">Ово заобиколување ги ослободува и повторно ги инстанцира видео кодеците кога ќе дојде до промена на површината, наместо директно да ја постави површината на кодекот. Веќе се користи од ExoPlayer на некои уреди со овој проблем. Оваа поставка има ефект само на Android 6 и понови верзии\n\nОвозможувањето на оваа поставка може да спречи грешки при емитување при префрлување на тековниот видео плеер или пуштање на цел екран</string>
<string name="peertube_instance_add_fail">Инстанцата не може да биде потврдена</string>
<string name="image_quality_summary">Изберете го квалитетот на сликите и дали воопшто да се вчитуваат слики, за да го намалите користењето на интернет и меморија. Промените го чистат кешот на сликите (анг. image cache), како и во меморијата, така и на дискот — %s</string>
<string name="video_details_list_item">- %1$s: %2$s</string>
<string name="share_playlist_with_titles_message">Споделете ја плејлистата со подробности (детали), како името на плејлистата и насловите на видеата или како едноставен список од линковите на видеата</string>
<string name="none">Ништо</string>
<string name="import_settings_vulnerable_format">Поставките во извезениот фајл кој се увезува користат ранлив формат кој повеќе не е поддржан од NewPipe 0.27.0. Уверете се дека извезениот фајл кој се увезува е од доверлив извор и претпочитајте во иднина да користите само износи добиени од NewPipe 0.27.0 или понова верзија. Поддршката за увезување поставки од овој ранлив формат наскоро ќе биде целосно укината и тогаш старите верзии на NewPipe повеќе нема да можат да увезуваат поставки од износи од новите верзии.</string>
<string name="clear_queue_confirmation_title">Побарај потврда пред чистење на редоследот</string>
<string name="left_gesture_control_title">Дејствие со гестикулација одлево</string>
<string name="show_meta_info_summary">Исклучете за да ги скриете кутиите со метаподатоци со дополнителни информации за авторот на стримот, содржината на стримот или пребарување</string>
<string name="prefer_descriptive_audio_summary">Ја избира аудио снимката со описи за луѓето го видна попреченост, доколку има таква</string>
<string name="right_gesture_control_summary">Изберете гестикулација за десната половина од екранот на плеерот</string>
<string name="start_main_player_fullscreen_summary">Видеата нема да започнат со емитување во миниплеерот, туку директно ќе се вклучат на цел екран, доколку автоматското ротирање е заклучено. Сѐ уште можете да добиете пристап до миниплеерот, кога ќе излезете од целиот екран</string>
<string name="unsupported_url_dialog_message">URL адресата не може да биде распознаена. Да се отвори со друга апликација?</string>
</resources>

View file

@ -825,4 +825,5 @@
\nWilt u dit inschakelen?</string>
<string name="reset_settings_title">Instellingen resetten</string>
<string name="import_settings_vulnerable_format">De instellingen in de export die wordt geïmporteerd, gebruiken een kwetsbaar formaat dat verouderd is sinds NewPipe 0.27.0. Zorg ervoor dat de export die wordt geïmporteerd afkomstig is van een vertrouwde bron, en geef er de voorkeur aan om in de toekomst alleen exporten te gebruiken die zijn verkregen van NewPipe 0.27.0 of nieuwer. Ondersteuning voor het importeren van instellingen in dit kwetsbare formaat zal binnenkort volledig worden verwijderd, en oude versies van NewPipe zullen dan geen export­instellingen meer uit nieuwe versies kunnen importeren.</string>
<string name="audio_track_type_secondary">secundair</string>
</resources>

View file

@ -55,7 +55,7 @@
<string name="error_snackbar_action">Zgłoś</string>
<string name="what_device_headline">Informacje:</string>
<string name="what_happened_headline">Co się stało:</string>
<string name="info_labels">Co:\\nŻądanie:\\nJęzyk treści:\\nKraj treści:\\nJęzyk aplikacji:\\nUsługa:\\nCzas GMT:\\nPakiet:\\nWersja:\\nWersja systemu:</string>
<string name="info_labels">Co:\\nŻądanie:\\nJęzyk treści:\\nKraj treści:\\nJęzyk aplikacji:\\nUsługa:\\nZnacznik czasu:\\nPakiet:\\nWersja:\\nWersja systemu:</string>
<string name="your_comment">Twój komentarz (po angielsku):</string>
<string name="error_details_headline">Szczegóły:</string>
<string name="detail_thumbnail_view_description">Odtwarzane wideo, czas trwania:</string>

View file

@ -174,7 +174,7 @@
<string name="top_50">Top 50</string>
<string name="new_and_hot">Novos e tendências</string>
<string name="show_hold_to_append_title">Mostrar dica \"Segure para pôr na fila\"</string>
<string name="show_hold_to_append_summary">Mostra dica ao tocar no botão segundo plano ou Popup em \"Detalhes:\" do vídeo</string>
<string name="show_hold_to_append_summary">Mostra dica ao tocar no botão segundo plano ou Popup em \"Detalhes:\\ do vídeo</string>
<string name="play_all">Reproduzir tudo</string>
<string name="player_stream_failure">Não é possível reproduzir este vídeo</string>
<string name="player_unrecoverable_failure">Ocorreu um erro irrecuperável na reprodução</string>
@ -528,7 +528,7 @@
<string name="remove_watched">Remover assistidos</string>
<string name="show_original_time_ago_summary">Textos originais dos serviços serão visíveis nos itens de transmissão</string>
<string name="show_original_time_ago_title">Mostrar tempo original nos itens</string>
<string name="youtube_restricted_mode_enabled_title">Ativar o \"Modo Restrito\" do YouTube</string>
<string name="youtube_restricted_mode_enabled_title">Ativar o \"Modo Restrito\\ do YouTube</string>
<string name="video_detail_by">Por %s</string>
<string name="channel_created_by">Criado por %s</string>
<string name="detail_sub_channel_thumbnail_view_description">Foto de perfil do canal</string>

View file

@ -839,4 +839,5 @@
<string name="reset_settings_title">Repor definições</string>
<string name="error_insufficient_storage">Não há espaço suficiente no aparelho</string>
<string name="import_settings_vulnerable_format">As configurações na exportação a serem importadas usam um formato vulnerável depreciado desde NewPipe 0.27.0. Certifique-se de que a exportação que é importada é de uma fonte confiável e prefira usar apenas as exportações obtidas do NewPipe 0.27.0 ou mais recentes no futuro. O suporte para importar configurações neste formato vulnerável será removido em breve completamente e, em seguida, versões antigas do NewPipe não serão capazes de importar configurações de exportações de novas versões.</string>
<string name="audio_track_type_secondary">secundário</string>
</resources>

View file

@ -839,5 +839,5 @@
<string name="auto_update_check_description">O NewPipe pode verificar automaticamente se há novas versões de tempos em tempos e notificá-lo quando elas estiverem disponíveis.
\nDeseja ativar essa opção?</string>
<string name="import_settings_vulnerable_format">As configurações na exportação a serem importadas usam um formato vulnerável depreciado desde NewPipe 0.27.0. Certifique-se de que a exportação que é importada é de uma fonte confiável e prefira usar apenas as exportações obtidas do NewPipe 0.27.0 ou mais recentes no futuro. O suporte para importar configurações neste formato vulnerável será removido em breve completamente e, em seguida, versões antigas do NewPipe não serão capazes de importar configurações de exportações de novas versões.</string>
<string name="audio_track_type_secondary">secundario</string>
<string name="audio_track_type_secondary">secundário</string>
</resources>

View file

@ -839,4 +839,5 @@
\n
\nSigur doriți să continuați?</string>
<string name="import_settings_vulnerable_format">Setările din exportul importat folosesc un format vulnerabil care a fost depreciat de la NewPipe 0.27.0. Asigurați-vă că exportul care este importat este dintr-o sursă de încredere și preferați să utilizați numai exporturi obținute din NewPipe 0.27.0 sau mai nou în viitor. Suportul pentru importul setărilor în acest format vulnerabil va fi în curând eliminat complet, iar versiunile vechi ale NewPipe nu vor mai putea importa setările exporturilor din versiunile noi.</string>
<string name="audio_track_type_secondary">secundar</string>
</resources>

View file

@ -190,7 +190,7 @@
<string name="subscribed_button_title">Вы подписаны</string>
<string name="channel_unsubscribed">Подписка отменена</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="unknown_content">[Неизвестно]</string>
<string name="player_recoverable_failure">Восстановление после ошибки плеера</string>
<string name="hold_to_append">Зажмите, чтобы добавить в очередь</string>
@ -535,7 +535,7 @@
<string name="remove_watched_popup_title">Удалить просмотренные видео\?</string>
<string name="show_original_time_ago_summary">Отображать сообщённое сервисом время с момента публикации</string>
<string name="show_original_time_ago_title">Исходное время публикации</string>
<string name="youtube_restricted_mode_enabled_title">Включить «Безопасный режим» YouTube</string>
<string name="youtube_restricted_mode_enabled_title">Включите на YouTube \"Ограниченный режим\\</string>
<string name="video_detail_by">От %s</string>
<string name="channel_created_by">Создано %s</string>
<string name="detail_sub_channel_thumbnail_view_description">Миниатюра значка канала</string>
@ -690,7 +690,7 @@
<string name="get_notified">Уведомлять</string>
<string name="you_successfully_subscribed">Вы подписались на канал</string>
<string name="toggle_all">Переключить все</string>
<string name="show_crash_the_player_title">Показать «Сбой плеера»</string>
<string name="show_crash_the_player_title">Шоу \"Разбей игрока\\</string>
<string name="show_crash_the_player_summary">Показать функцию вызова сбоя при работе плеера</string>
<string name="crash_the_player">Вызвать сбой плеера</string>
<string name="error_report_channel_name">Уведомление отчёта об ошибке</string>
@ -844,4 +844,5 @@
\n
\nВы уверены, что хотите продолжить?</string>
<string name="import_settings_vulnerable_format">Настройки в импортируемом экспорте используют уязвимый формат, который устарел с версии NewPipe 0.27.0. Убедитесь, что импортируемый экспорт получен из надёжного источника, и в будущем предпочтительнее использовать только экспорт, полученный из NewPipe 0.27.0 или новее. Поддержка импорта настроек в этом уязвимом формате скоро будет полностью удалена, и тогда старые версии NewPipe больше не смогут импортировать настройки из экспорта из новых версий.</string>
<string name="audio_track_type_secondary">вторичный</string>
</resources>

View file

@ -670,7 +670,7 @@
<string name="feed_new_items">Nové položky informačného kanála</string>
<string name="no_appropriate_file_manager_message">Pre túto akciu sa nenašiel vhodný správca súborov.
\nNainštalujte si správcu súborov alebo skúste vypnúť \'%s\' v nastaveniach sťahovania</string>
<string name="show_crash_the_player_title">Zobraziť „zlyhať prehrávač“</string>
<string name="show_crash_the_player_title">Zobraziť „Zhodiť prehrávač“</string>
<string name="leak_canary_not_available">LeakCanary nie je k dispozícii</string>
<string name="no_appropriate_file_manager_message_android_10">Pre túto akciu sa nenašiel vhodný správca súborov.
\nNainštalujte správcu súborov kompatibilného s rozhraním Storage Access Framework</string>

View file

@ -711,7 +711,7 @@
<string name="progressive_load_interval_title">Величина интервала учитавања репродукције</string>
<string name="error_report_channel_name">Обавештење о извештају о грешци</string>
<string name="feed_new_items">Нове ставке фида</string>
<string name="ignore_hardware_media_buttons_title">Игнориши догађаје хардверског дугмета за медије</string>
<string name="ignore_hardware_media_buttons_title">Занемари догађаје хардверског дугмета за медије</string>
<string name="duplicate_in_playlist">Плејлисте које су затамњене већ садрже ову ставку.</string>
<string name="leak_canary_not_available">LeakCanary није доступан</string>
<string name="app_update_available_notification_text">Додирните да бисте преузели %s</string>

View file

@ -91,14 +91,14 @@
<string name="resume_on_audio_focus_gain_title">Återuppta uppspelning</string>
<string name="resume_on_audio_focus_gain_summary">Fortsätt uppspelning efter avbrott (t.ex. telefonsamtal)</string>
<string name="show_hold_to_append_title">Visa \"Håll för att köa\"-tips</string>
<string name="show_hold_to_append_summary">Visa tips när bakgrunds- eller popup-knappen trycks på sidan för videodetaljer</string>
<string name="show_hold_to_append_summary">Visa tips när bakgrunds- eller popup-knappen trycks på sidan för video \"Detaljer:\\</string>
<string name="settings_category_player_title">Spelare</string>
<string name="settings_category_player_behavior_title">Beteende</string>
<string name="settings_category_history_title">Historik och cacheminne</string>
<string name="undo">Ångra</string>
<string name="play_all">Spela alla</string>
<string name="notification_channel_name">Tubular avisering</string>
<string name="notification_channel_description">Aviseringar för Tubulars spelare</string>
<string name="notification_channel_name">NewPipe avisering</string>
<string name="notification_channel_description">Aviseringar för NewPipes spelare</string>
<string name="unknown_content">[Okänd]</string>
<string name="player_stream_failure">Misslyckades med att spela denna ström</string>
<string name="player_unrecoverable_failure">Allvarligt spelarfel inträffade</string>
@ -138,7 +138,7 @@
<string name="msg_name">Filnamn</string>
<string name="msg_threads">Trådar</string>
<string name="msg_error">Fel</string>
<string name="msg_running">Tubular-hämtning</string>
<string name="msg_running">NewPipe-hämtning</string>
<string name="msg_running_detail">Tryck för detaljer</string>
<string name="msg_wait">Vänta…</string>
<string name="msg_copied">Kopierat till urklipp</string>
@ -153,14 +153,14 @@
<string name="settings_file_replacement_character_title">Ersättningstecken</string>
<string name="charset_letters_and_digits">Bokstäver och siffror</string>
<string name="charset_most_special_characters">De flesta specialtecken</string>
<string name="title_activity_about">Om Tubular</string>
<string name="title_activity_about">Om NewPipe</string>
<string name="title_licenses">Tredjepartslicenser</string>
<string name="copyright" formatted="true">© %1$s av %2$s under %3$s</string>
<string name="tab_about">Om &amp; FAQ</string>
<string name="tab_licenses">Licenser</string>
<string name="app_description">Öppen och enkel Android-app för mediastreaming.</string>
<string name="view_on_github">Visa på GitHub</string>
<string name="app_license_title">Tubulars licens</string>
<string name="app_license_title">NewPipes licens</string>
<string name="contribution_encouragement">Vad du än har för idéer; översättningar, designändringar, kodstädning eller riktiga stora kodändringar—hjälp är alltid välkommen. Ju mer som görs desto bättre blir det!</string>
<string name="read_full_license">Läs hela licensen</string>
<string name="contribution_title">Bidra</string>
@ -184,7 +184,7 @@
<string name="start_here_on_background">Börja spela i bakgrunden</string>
<string name="start_here_on_popup">Börja spela i en popup</string>
<string name="donation_title">Donera</string>
<string name="donation_encouragement">NewPipe utvecklas av frivilliga som spenderar sin fritid på att ge dig den bästa användarupplevelsen. Nu är det tid att ge tillbaka för att säkerställa att utvecklarna kan göra Tubular ännu bättre medan de njuter av en kopp kaffe.</string>
<string name="donation_encouragement">NewPipe utvecklas av frivilliga som spenderar sin fritid på att ge dig den bästa användarupplevelsen. Nu är det tid att ge tillbaka för att säkerställa att utvecklarna kan göra NewPipe ännu bättre medan de njuter av en kopp kaffe.</string>
<string name="give_back">Ge tillbaka</string>
<string name="website_title">Webbplats</string>
<string name="website_encouragement">För att få mer information och de senaste nyheterna om NewPipe, besök vår webbplats.</string>
@ -243,7 +243,7 @@
<string name="privacy_policy_encouragement">NewPipe-projektet tar din integritet på största allvar. Appen samlar därför inte in några uppgifter utan ditt medgivande.
\nNewPipes sekretesspolicy förklarar i detalj vad för data som skickas och lagras när du skickar en kraschrapport.</string>
<string name="read_privacy_policy">Läs sekretesspolicy</string>
<string name="app_license">Tubular är copyleft fri programvara: Du kan använda, studera, dela och förbättra den som du vill. Specifikt kan du distribuera och/eller modifiera det under villkoren för GNU General Public License som publicerats av Free Software Foundation, antingen version 3 av licensen, eller (om du så önskar) en senare version.</string>
<string name="app_license">NewPipe är copyleft fri programvara: Du kan använda, studera, dela och förbättra den som du vill. Specifikt kan du distribuera och/eller modifiera det under villkoren för GNU General Public License som publicerats av Free Software Foundation, antingen version 3 av licensen, eller (om du så önskar) en senare version.</string>
<string name="title_last_played">Senast spelade</string>
<string name="title_most_played">Mest spelade</string>
<string name="export_complete_toast">Exporterad</string>
@ -318,7 +318,7 @@
<string name="skip_silence_checkbox">Snabbspola vid frånvaro av ljud</string>
<string name="playback_step">Steg</string>
<string name="playback_reset">Återställ</string>
<string name="start_accept_privacy_policy">För att uppfylla den Europeiska dataskyddsförordningen (GDPR), uppmärksammar vi härmed Tubulars sekretesspolicy. Var god och läs den noggrant.
<string name="start_accept_privacy_policy">För att uppfylla den Europeiska dataskyddsförordningen (GDPR), uppmärksammar vi härmed NewPipes sekretesspolicy. Var god och läs den noggrant.
\nDu måste acceptera den för att kunna skicka felrapporten.</string>
<string name="accept">Acceptera</string>
<string name="decline">Avböj</string>
@ -334,7 +334,7 @@
<string name="settings_category_updates_title">Uppdateringar</string>
<string name="file_deleted">Fil raderad</string>
<string name="app_update_notification_channel_name">Avisering för appuppdatering</string>
<string name="app_update_notification_channel_description">Aviseringar för nya Tubular versioner</string>
<string name="app_update_notification_channel_description">Aviseringar 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 standardflikar</string>
<string name="restore_defaults">Återställ standardvärden</string>
@ -347,7 +347,7 @@
<string name="list">Lista</string>
<string name="grid">Rutnät</string>
<string name="auto">Automatisk</string>
<string name="app_update_available_notification_title">En Tubular-uppdatering är tillgänglig!</string>
<string name="app_update_available_notification_title">En NewPipe-uppdatering är tillgänglig!</string>
<string name="missions_header_finished">Färdig</string>
<string name="paused">pausad</string>
<string name="queued">köad</string>
@ -504,7 +504,7 @@
<string name="error_timeout">Anslutnings avbrott</string>
<string name="error_progress_lost">Framsteg förlorat, för att filen blev borttagen</string>
<string name="error_insufficient_storage_left">Inget utrymme kvar på enhet</string>
<string name="error_postprocessing_stopped">Tubular stängdes under arbete med en fil</string>
<string name="error_postprocessing_stopped">NewPipe stängdes under arbete med en fil</string>
<string name="error_report_open_github_notice">Vänligen kontrollera om en felrapport som tar upp din krasch redan finns. Att skapa ärenden när en felrapport redan finns, tar av den tid som vi annars kunde ha ägnat åt att fixa den faktiska buggen.</string>
<string name="error_report_open_issue_button_text">Rapportera på GitHub</string>
<string name="copy_for_github">Kopiera formaterad felrapport</string>
@ -531,13 +531,13 @@
<string name="notification_action_2_title">Tredje åtgärdsknappen</string>
<string name="notification_action_1_title">Andra åtgärdsknappen</string>
<string name="notification_action_0_title">Första åtgärdsknappen</string>
<string name="content_not_supported">Detta innehåll stöds ännu inte av Tubular.
<string name="content_not_supported">Detta innehåll stöds ännu inte av NewPipe.
\n
\nDetta kommer förhoppningsvis ändras i en kommande version.</string>
<string name="playlist_page_summary">Spellistesida</string>
<string name="never">Aldrig</string>
<string name="notification_action_nothing">Ingenting</string>
<string name="clear_cookie_summary">Rensar kakor som Tubular lagrar när du löser en reCAPTCHA</string>
<string name="clear_cookie_summary">Rensar kakor som NewPipe lagrar när du löser en reCAPTCHA</string>
<string name="recaptcha_cookies_cleared">reCAPTCHA-kakor har tagits bort</string>
<string name="clear_cookie_title">Rensa reCAPTCHA-kakor</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube erbjuder ett \"Begränsat läge\" som döljer material som potentiellt är olämpligt för barn</string>
@ -545,7 +545,7 @@
<string name="notification_action_shuffle">Blanda</string>
<string name="enqueued">Köad</string>
<string name="downloads_storage_use_saf_summary_api_29">Från och med Android 10 stöds bara \"Storage Access Framework\"</string>
<string name="soundcloud_go_plus_content">Det här är ett SoundCloud Go+-spår, åtminstone i ditt land, så det kan inte strömmas eller hämtas via Tubular.</string>
<string name="soundcloud_go_plus_content">Det här är ett SoundCloud Go+-spår, åtminstone i ditt land, så det kan inte strömmas eller hämtas via NewPipe.</string>
<string name="metadata_host">Värd</string>
<string name="open_website_license">Öppna webbplats</string>
<string name="tablet_mode_title">Surfplatteläge</string>
@ -554,7 +554,7 @@
<string name="hash_channel_name">Avisering för videohashning</string>
<string name="feed_use_dedicated_fetch_method_help_text">Tycker du att inläsningen av flödet är för långsamt\? Testa i så fall att aktivera snabbinläsning (du kan ändra det i inställningarna eller genom att trycka på knappen nedan).
\n
\nTubular erbjuder två strategier för att ladda flödet:
\nNewPipe erbjuder två strategier för att ladda flödet:
\n• Att hämta hela den prenumererade kanalen, vilket är långsamt, men komplett.
\n• Att använda en \"dedicated service endpoint\", vilket är snabbt, men vanligtvis inte komplett.
\n
@ -589,17 +589,17 @@
<string name="description_select_note">Du kan nu markera text i beskrivningen. Notera att sidan kan flimra och att länkar kan vara oklickbara när du är i markeringsläge.</string>
<string name="download_has_started">Hämtningen har startat</string>
<string name="radio">Radio</string>
<string name="paid_content">Detta innehåll är endast tillgängligt för användare som har betalat för det, så det kan inte strömmas eller hämtas av Tubular.</string>
<string name="paid_content">Detta innehåll är endast tillgängligt för användare som har betalat för det, så det kan inte strömmas eller hämtas av NewPipe.</string>
<string name="service_provides_reason">%s anger detta skäl:</string>
<string name="account_terminated">Kontot avslutat</string>
<string name="youtube_music_premium_content">Denna video är endast tillgänglig för YouTube Music Premium-medlemmar, så den kan inte strömmas eller hämtas av Tubular.</string>
<string name="private_content">Detta innehåll är privat, så det kan inte strömmas eller hämtas av Tubular.</string>
<string name="youtube_music_premium_content">Denna video är endast tillgänglig för YouTube Music Premium-medlemmar, så den kan inte strömmas eller hämtas av NewPipe.</string>
<string name="private_content">Detta innehåll är privat, så det kan inte strömmas eller hämtas av NewPipe.</string>
<string name="georestricted_content">Detta innehåll är inte tillgängligt i ditt land.</string>
<string name="no_app_to_open_intent">Ingen app på din enhet kan öppna detta</string>
<string name="chapters">Kapitel</string>
<string name="feed_load_error_account_info">Det gick inte att läsa in flödet för \"%s\".</string>
<string name="feed_load_error_terminated">Innehållsskaparens konto har avslutats.
\nTubular kommer framöver inte kunna läsa in detta flöde.
\nNewPipe kommer framöver inte kunna läsa in detta flöde.
\nVill du avsluta din prenumeration på denna kanal\?</string>
<string name="downloads_storage_ask_summary_no_saf_notice">Du kommer att tillfrågas var varje hämtning ska sparas</string>
<string name="show_channel_details">Visa kanaldetaljer</string>
@ -614,7 +614,7 @@
<string name="description_tab_description">Beskrivning</string>
<string name="comments_tab_description">Kommentarer</string>
<string name="restricted_video_no_stream">Denna video här en åldersgräns.
\nPå grund av nya YouTube-regler med åldersgräns för vissa videor kan Tubular inte komma åt någon av dess videoströmningar och kan därmed inte spela upp den.</string>
\nPå grund av nya YouTube-regler med åldersgräns för vissa videor kan NewPipe inte komma åt någon av dess videoströmningar och kan därmed inte spela upp den.</string>
<string name="show_age_restricted_content_summary">Visa innehåll som pga sin åldersgräns (ex 18+) kan vara olämpligt för barn</string>
<string name="show_description_title">Visa beskrivning</string>
<string name="open_with">Öppna med</string>
@ -661,7 +661,7 @@
<string name="show_crash_the_player_summary">Visar ett kraschalternativ vid användning av spelaren</string>
<string name="error_report_channel_name">Felrapport-avisering</string>
<string name="error_report_channel_description">Aviseringar om att rapportera fel</string>
<string name="error_report_notification_title">Tubular stötte på ett fel, tryck för att rapportera</string>
<string name="error_report_notification_title">NewPipe stötte på ett fel, tryck för att rapportera</string>
<string name="error_report_notification_toast">Ett fel uppstod, se aviseringen</string>
<string name="show_error_snackbar">Visa en fel snackbar</string>
<string name="create_error_notification">Skapa en felavisering</string>
@ -711,7 +711,7 @@
<string name="sort">Sortera</string>
<string name="import_subscriptions_hint">Importera eller exportera prenumerationer från 3-punktsmenyn</string>
<string name="fast_mode">Snabbt läge</string>
<string name="app_update_unavailable_toast">Du använder den senaste versionen av Tubular</string>
<string name="app_update_unavailable_toast">Du använder den senaste versionen av NewPipe</string>
<string name="app_update_available_notification_text">Tryck för att ladda ner %s</string>
<string name="night_theme_available">Det här alternativet är endast tillgängligt om %s har valts som Tema</string>
<string name="unset_playlist_thumbnail">Inaktivera permanent miniatyrbild</string>
@ -824,54 +824,6 @@
<string name="reset_all_settings">Om du återställer alla inställningar försvinner alla dina föredragna inställningar och appen startas om.
\n
\nÄr du säker på att du vill fortsätta?</string>
<!-- SponsorBlock -->
<string name="sponsor_block">SponsorBlock</string>
<string name="sponsor_block_home_page_title">Visa Hemsida</string>
<string name="sponsor_block_home_page_summary">Visa SponsorBlocks officiella hemsida.</string>
<string name="sponsor_block_enable_title">Hoppa över sponsorer</string>
<string name="sponsor_block_enable_summary">Använd SponsorBlocks API för att automatiskt hoppa över sponsorer i videor. Detta fungerar närvarande bara för YouTube-videor.</string>
<string name="sponsor_block_api_url_title">API-Url</string>
<string name="sponsor_block_api_url_summary">URL:n som förfrågas av SponsorBlocks API. Måste anges för att SponsorBlock skall fungera.</string>
<string name="sponsor_block_notifications_title">Avisera när sponsorer hoppas över</string>
<string name="sponsor_block_notifications_summary">Visa en avisering när en sponsor hoppas över automatiskt</string>
<string name="sponsor_block_privacy_title">Visa Integritetspolicy</string>
<string name="sponsor_block_privacy_summary">Visa SponsorBlocks Integritetspolicy</string>
<string name="sponsor_block_api_url_help_text">Detta är URL:en som kommer förfrågas när applikationen behöver veta vilka delar av en video som skall hoppas över.\n\nDu kan välja den officiella URL:en genom att klicka "Use Official"-alternativet nedanför, men det rekommenderas starkt att du läser SponsorBlocks integritetspolicy innan du gör det.</string>
<string name="sponsor_block_privacy_policy_text">SponsorBlocks Integritetspolicy</string>
<string name="sponsor_block_homepage_url">https://sponsor.ajay.app/</string>
<string name="sponsor_block_default_api_url">https://sponsor.ajay.app/api/</string>
<string name="sponsor_block_privacy_policy_url">https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796</string>
<string name="sponsor_block_skip_sponsor_toast">Hoppade över sponsor</string>
<string name="sponsor_block_skip_intro_toast">Hoppade över uppehåll/introduktion</string>
<string name="sponsor_block_skip_outro_toast">Hoppade över slutkort/eftertexter</string>
<string name="sponsor_block_skip_interaction_toast">Hoppade över interaktionspåminnelse</string>
<string name="sponsor_block_skip_self_promo_toast">Hoppade över obetald/självbefodran</string>
<string name="sponsor_block_skip_non_music_toast">Hoppade över Musik: Icke-musiksavsnitt</string>
<string name="sponsor_block_skip_preview_toast">Hoppade över förhandstitt/sammanfattning</string>
<string name="sponsor_block_skip_filler_toast">Hoppade över ämnesavvikelse/skämt</string>
<string name="sponsor_block_toggle_skipping">Aktivera hoppa över sponsorer</string>
<string name="sponsor_block_clear_whitelist_title">Rensa Vitlista</string>
<string name="sponsor_block_clear_whitelist_summary">Rensar listan med uppladdare som SponsorBlock kommer ignorera.</string>
<string name="sponsor_block_enabled_toast">SponsorBlock aktiverad</string>
<string name="sponsor_block_disabled_toast">SponsorBlock inaktiverad</string>
<string name="sponsor_block_whitelist_cleared_toast">Vitlista rensad</string>
<string name="sponsor_block_uploader_added_to_whitelist_toast">Uppladdare tillagd i vitlistan</string>
<string name="sponsor_block_uploader_removed_from_whitelist_toast">Uppladdare borttagen från vitlistan</string>
<string name="sponsor_block_confirm_clear_whitelist">Är du säker du vill rensa vitlistan?</string>
<string name="sponsor_block_confirm_reset_colors">Är du säker du vill återställa kategoriernas färger?</string>
<string name="sponsor_block_reset_colors_toast">Återställ färger</string>
<!-- Extras -->
<string name="extras">Extra</string>
<string name="extras_todo_summary">Anpassningar, ändringar och övriga inställningar finns här.</string>
<string name="experimental_settings">Experimentella inställningar</string>
<string name="enable_local_player_title">Aktivera Lokal Spelare (alpha)</string>
<string name="enable_local_player_summary">Använd inbyggd spelare för lokal uppspelning. Detta är fortfarande tidigt i utvecklingen så det kommer troligen uppstå många fel, inklusive problem med existerade spelare.</string>
<string name="force_auto_fullscreen_title">Tvinga Automatisk Fullskärm</string>
<string name="force_auto_fullscreen_summary">Om aktiverat så kommer fullskärm tvingas om enheten är i landskapsläge, även om enheten är en TV eller padda.</string>
<string name="disable_error_reports_title">Inaktivera felrapporter</string>
<string name="disable_error_reports_summary">Förhindrar att alla felmeddelanden visas. Det kan resultera att appen beter sig märkligt. <b>ANVÄND PÅ EGEN RISK!</b></string>
<string name="enable_return_youtube_dislike_title">Visa antal ogillningar</string>
<string name="enable_return_youtube_dislike_summary">Använd ReturnYouTubeDislikes API för att visa antal ogillningar för en video. Fungerar bara för YouTube-videor.\n<b>VARNING: Din IP-adress kommer bli synlig för API:n. Används på egen risk!</b></string>
<string name="import_settings_vulnerable_format">Inställningarna i exporten som importeras använder ett sårbart format som fasades ut i NewPipe 0.27.0. Se till att exporten som importeras är från en betrodd källa, och överväg att endast använda exporter som erhållits från NewPipe 0.27.0 eller nyare i framtiden. Stöd för import av inställningar från detta sårbara format kommer snart att tas bort helt, och sedan kommer gamla versioner av NewPipe inte att kunna importera inställningar av exporter från nya versioner längre.</string>
<string name="audio_track_type_secondary">sekundär</string>
</resources>

View file

@ -130,7 +130,7 @@
<string name="network_error">நெட்வொர்க் பிழை</string>
<string name="app_ui_crash">செயலி நிறுத்தப்பட்டது</string>
<string name="sorry_string">மன்னிக்கவும்.</string>
<string name="error_report_button_text">மின்னஞ்சல் மூலம் இப்பிழையைப் புகாரளி</string>
<string name="error_report_button_text">மின்னஞ்சல் வழியாக அறிக்கை</string>
<string name="what_happened_headline">என்ன நடந்தது:</string>
<string name="your_comment">உங்கள் கருத்து:</string>
<string name="detail_dislikes_img_view_description">வெறுப்புகள்</string>
@ -161,7 +161,7 @@
<string name="app_update_notification_channel_name">செயலி புதுப்பித்தல் அறிவிப்பு</string>
<string name="app_update_notification_channel_description">புதிய Tubular பதிப்புக்கான அறிவிப்புகள்</string>
<string name="download_to_sdcard_error_title">வெளி சேமிப்பு இயலாது</string>
<string name="subscribers_count_not_available">பின்தொடர்பவர்கள் எண்ணிக்கை இல்லை</string>
<string name="subscribers_count_not_available">சந்தாதாரர் எண்ணிக்கை கிடைக்கவில்லை</string>
<string name="events">நிகழ்வுகள்</string>
<string name="show_comments_title">கருத்துக்களைக் காண்பி</string>
<string name="show_comments_summary">கருத்துக்களை மறைக்க அணை</string>
@ -196,7 +196,7 @@
<string name="notification_action_shuffle">கலக்கு</string>
<string name="notification_action_repeat">மீண்டும்</string>
<string name="notification_actions_at_most_three">சுருக்க அறிவிப்பில் காட்ட அதிகபட்சம் மூன்று செயல்களை நீங்கள் தேர்ந்தெடுக்கலாம்!</string>
<string name="notification_actions_summary">கீழுள்ள ஒவ்வோரறிவிப்பு செயலையும் தட்டுவதன் மூலம் திருத்துக. வலதுபுறத்திலுள்ள தேர்வுப்பெட்டிகளைப் பயன்படுத்தி சுருக்க அறிவிப்பில் காண்பிக்க அவற்றில் மூன்று வரை தேர்ந்தெடு</string>
<string name="notification_actions_summary">ஒவ்வொரு அறிவிப்பு செயலையும் தட்டுவதன் மூலம் அதைத் தட்டவும். வலதுபுறத்தில் உள்ள தேர்வுப்பெட்டிகளைப் பயன்படுத்தி சிறிய அறிவிப்பில் காட்டப்படுவதற்கு அவற்றில் மூன்று வரை தேர்ந்தெடுக்கவும்.</string>
<string name="notification_action_4_title">ஐந்தாம் செயல் பொத்தான்</string>
<string name="notification_action_3_title">நான்காம் செயல் பொத்தான்</string>
<string name="notification_action_2_title">மூன்றாம் செயல் பொத்தான்</string>
@ -206,7 +206,7 @@
<string name="notification_scale_to_square_image_title">அட்டைப் படத்தை 1:1 விகிதத்தில் செதுக்கவும்</string>
<string name="search_showing_result_for">%s :க்கான முடிவுகளைக் காட்டுகிறது</string>
<string name="open_with">இதனுடன் திற</string>
<string name="tab_about">பற்றி</string>
<string name="tab_about">பற்றி &amp; கேள்விகள்</string>
<string name="title_activity_about">நியூபைப் பற்றி</string>
<string name="trending">நடப்பு</string>
<string name="download_failed">பதிவிறக்கம் தோல்வியடைந்தது</string>
@ -356,7 +356,7 @@
<string name="settings_category_player_notification_summary">தற்போதைய இயங்கும் ஸ்ட்ரீம் அறிவிப்பை உள்ளமைக்கவும்</string>
<string name="show_hold_to_append_summary">\"விவரங்கள்:\" வீடியோவில் பின்னணி அல்லது பாப்அப் பட்டனை அழுத்தும் போது உதவிக்குறிப்பைக் காட்டு</string>
<string name="auto_queue_summary">தொடர்புடைய ஸ்ட்ரீமைச் சேர்ப்பதன் மூலம் (மீண்டும் நிகழாத) பிளேபேக் வரிசையைத் தொடரவும்</string>
<string name="progressive_load_interval_summary">சுமை இடைவெளி அளவை மாற்றவும் (தற்போது %s). குறைந்த மதிப்பு ஆரம்ப வீடியோ ஏற்றுதலை விரைவுபடுத்தலாம். மாற்றங்களுக்கு பிளேயர் மறுதொடக்கம் தேவை</string>
<string name="progressive_load_interval_summary">முற்போக்கான உள்ளடக்கங்களில் (தற்போது %s) சுமை இடைவெளி அளவை மாற்றவும். குறைந்த மதிப்பு அவற்றின் ஆரம்ப ஏற்றுதலை விரைவுபடுத்தக்கூடும்</string>
<string name="show_age_restricted_content_summary">வயது வரம்பு (18+ போன்ற) இருப்பதால், குழந்தைகளுக்குப் பொருத்தமற்ற உள்ளடக்கத்தைக் காட்டு</string>
<string name="youtube_restricted_mode_enabled_summary">YouTube \"கட்டுப்படுத்தப்பட்ட பயன்முறையை\" வழங்குகிறது, இது முதிர்ந்த உள்ளடக்கத்தை மறைக்கிறது</string>
<string name="notifications">அறிவிப்புகள்</string>
@ -373,4 +373,415 @@
<string name="feed_group_dialog_delete_message">இந்தக் குழுவை நீக்க வேண்டுமா?</string>
<string name="delete">நீக்கு</string>
<string name="one_item_deleted">ஒரு உருப்படி நீக்கப்பட்டது.</string>
<string name="read_privacy_policy">தனியுரிமைக் கொள்கையைப் படியுங்கள்</string>
<string name="error_unknown_host">சேவையகத்தைக் கண்டுபிடிக்க முடியவில்லை</string>
<string name="drawer_header_description">சேவையை மாற்றி, தற்போது தேர்ந்தெடுக்கப்பட்டது:</string>
<string name="caption_none">தலைப்புகள் இல்லை</string>
<string name="feed_groups_header_title">சேனல் குழுக்கள்</string>
<string name="left_gesture_control_summary">பிளேயர் திரையின் இடது பாதிக்கு சைகையைத் தேர்வுசெய்க</string>
<string name="msg_popup_permission">இந்த இசைவு தேவை\n பாப்அப் பயன்முறையில் திறக்கவும்</string>
<plurals name="minutes">
<item quantity="one">%d மணித்துளி</item>
<item quantity="other">%d நிமிடங்கள்</item>
</plurals>
<string name="feed_show_watched">முழுமையாகப் பார்த்தேன்</string>
<string name="feed_notification_loading">ஏற்றுதல் தீவனம்…</string>
<string name="no_one_listening">யாரும் கேட்கவில்லை</string>
<string name="recaptcha_solve">தீர்க்க</string>
<string name="view_on_github">கிட்அப்பில் காண்க</string>
<string name="donation_title">நன்கொடை</string>
<string name="audio_track">ஆடியோ டிராக்</string>
<string name="resize_fill">நிரப்பவும்</string>
<string name="resize_zoom">பெரிதாக்கு</string>
<string name="import_soundcloud_instructions_hint">YourID, SoundCloud.com/yourid</string>
<plurals name="days">
<item quantity="one">%d நாள்</item>
<item quantity="other">%d நாட்கள்</item>
</plurals>
<string name="unknown_audio_track">தெரியவில்லை</string>
<string name="recaptcha_request_toast">ரெக்காப்ட்சா அறைகூவல் கோரப்பட்டது</string>
<string name="website_title">வலைத்தளம்</string>
<string name="read_full_license">உரிமத்தைப் படியுங்கள்</string>
<string name="new_and_hot">புதிய மற்றும் சூடான</string>
<string name="show_error_snackbar">பிழை சிற்றுண்டியைக் காட்டு</string>
<string name="playback_step">படி</string>
<string name="app_update_available_notification_text">%s பதிவிறக்க தட்டவும்</string>
<string name="settings_category_feed_title">தீவனம்</string>
<string name="metadata_privacy_private">தனிப்பட்ட</string>
<string name="brightness">ஒளி</string>
<string name="main_tabs_position_summary">முதன்மையான தாவல் தேர்வாளரை கீழே நகர்த்தவும்</string>
<string name="checksum">செக்சம்</string>
<string name="title_activity_recaptcha">ரெக்காப்ட்சா அறைகூவல்</string>
<string name="subtitle_activity_recaptcha">தீர்க்கும்போது \"முடிந்தது\" என்பதை அழுத்தவும்</string>
<string name="done">முடிந்தது</string>
<string name="privacy_policy_title">நியூபைப்பின் தனியுரிமைக் கொள்கை</string>
<string name="faq_title">அடிக்கடி கேட்கப்படும் கேள்விகள்</string>
<string name="top_50">முதல் 50</string>
<string name="loading_stream_details">ச்ட்ரீம் விவரங்களை ஏற்றுகிறது…</string>
<string name="duplicate_in_playlist">சாம்பல் நிறமாக இருக்கும் பிளேலிச்ட்களில் ஏற்கனவே இந்த உருப்படி உள்ளது.</string>
<string name="playback_speed_control">பின்னணி வேக கட்டுப்பாடுகள்</string>
<string name="list">பட்டியல்</string>
<string name="seekbar_preview_thumbnail_title">சீக்பர் சிறுபடம் முன்னோட்டம்</string>
<string name="high_quality_larger">உயர் தகுதி (பெரியது)</string>
<string name="missions_header_finished">முடிந்தது</string>
<string name="missions_header_pending">நிலுவையில் உள்ளது</string>
<string name="paused">இடைநிறுத்தப்பட்டது</string>
<string name="error_http_unsupported_range">சேவையகம் பல திரிக்கப்பட்ட பதிவிறக்கங்களை ஏற்காது, @சரம்/msg_threads = 1 உடன் மீண்டும் முயற்சிக்கவும்</string>
<string name="error_postprocessing_failed">பிந்தைய செயலாக்கம் தோல்வியடைந்தது</string>
<string name="enable_queue_limit">பதிவிறக்க வரிசையை கட்டுப்படுத்துங்கள்</string>
<string name="enable_queue_limit_desc">ஒரு பதிவிறக்கம் ஒரே நேரத்தில் இயங்கும்</string>
<string name="no_app_to_open_intent">உங்கள் சாதனத்தில் எந்த பயன்பாடும் இதைத் திறக்க முடியாது</string>
<string name="service_provides_reason">%s இந்த காரணத்தை வழங்குகிறது:</string>
<string name="metadata_subchannel_avatars">துணை சேனல் அவதாரங்கள்</string>
<string name="metadata_avatars">அவதாரங்கள்</string>
<string name="progressive_load_interval_exoplayer_default">எக்சோப்ளேயர் இயல்புநிலை</string>
<string name="notifications_disabled">அறிவிப்புகள் முடக்கப்பட்டுள்ளன</string>
<string name="feed_show_partially_watched">ஓரளவு பார்த்தேன்</string>
<string name="channel_tab_playlists">பிளேலிச்ட்கள்</string>
<string name="channel_tab_albums">ஆல்பம்</string>
<string name="toggle_fullscreen">மாற்று முழுத்திரை</string>
<string name="play">விளையாடுங்கள்</string>
<string name="image_quality_none">படங்களை ஏற்ற வேண்டாம்</string>
<string name="image_quality_low">குறைந்த தகுதி</string>
<string name="image_quality_medium">நடுத்தர தகுதி</string>
<string name="question_mark">\?</string>
<string name="share_playlist">பிளேலிச்ட்டைப் பகிரவும்</string>
<string name="video_details_list_item">- %1$s: %2$s</string>
<string name="share_playlist_content_details">%1$s\n %2$s</string>
<plurals name="replies">
<item quantity="one">%s பதில்</item>
<item quantity="other">%s பதில்கள்</item>
</plurals>
<string name="feed_update_threshold_summary">சந்தா காலாவதியானதாகக் கருதப்படுவதற்கு முன் கடைசி புதுப்பிப்புக்குப் பிறகு நேரம் - %s</string>
<string name="detail_sub_channel_thumbnail_view_description">சேனலின் அவதார் சிறுபடம்</string>
<string name="unknown_format">தெரியாத வடிவம்</string>
<string name="unknown_quality">அறியப்படாத தகுதி</string>
<string name="recent">அண்மைக் கால</string>
<string name="chapters">பாடங்கள்</string>
<string name="metadata_age_limit">அகவை வரம்பு</string>
<string name="import_youtube_instructions">கூகிள் டேக்அவுட்டிலிருந்து YouTube சந்தாக்களை இறக்குமதி செய்க:\n\n 1. இந்த முகவரி க்குச் செல்லுங்கள்: %1$s\n 2. கேட்டபோது உள்நுழைக\n 3. \"அனைத்து தரவுகளும் சேர்க்கப்பட்டுள்ளன\" என்பதைக் சொடுக்கு செய்க, பின்னர் \"அனைத்தையும் தேர்வு செய்யுங்கள்\", பின்னர் \"சந்தாக்கள்\" மட்டுமே தேர்ந்தெடுத்து \"சரி\" என்பதைக் சொடுக்கு செய்க\n 4. \"அடுத்த படி\" என்பதைக் சொடுக்கு செய்து, பின்னர் \"ஏற்றுமதி உருவாக்கு\"\n 5. \"பதிவிறக்கு\" பொத்தானைக் சொடுக்கு செய்த பிறகு சொடுக்கு செய்க\n 6. கீழே உள்ள இறக்குமதி கோப்பைக் சொடுக்கு செய்து பதிவிறக்கம் செய்யப்பட்ட .zip கோப்பைத் தேர்ந்தெடுக்கவும்\n 7.</string>
<string name="remove_watched_popup_warning">பிளேலிச்ட்டில் சேர்க்கப்படுவதற்கு முன்னும் பின்னும் பார்க்கப்பட்ட வீடியோக்கள் அகற்றப்படும்.\n நீங்கள் உறுதியாக இருக்கிறீர்களா? இதை செயல்தவிர்க்க முடியாது!</string>
<string name="no_appropriate_file_manager_message_android_10">இந்த செயலுக்கு பொருத்தமான கோப்பு மேலாளர் எதுவும் கிடைக்கவில்லை.\n சேமிப்பக அணுகல் கட்டமைப்பு இணக்கமான கோப்பு மேலாளரை நிறுவவும்</string>
<string name="audio_track_type_secondary">இரண்டாம் நிலை</string>
<string name="channel_tab_shorts">குறுக்குகள்</string>
<string name="show_channel_tabs_summary">சேனல் பக்கங்களில் என்ன தாவல்கள் காட்டப்பட்டுள்ளன</string>
<string name="open_play_queue">திறந்த விளையாட்டு வரிசை</string>
<string name="toggle_screen_orientation">திரை நோக்குநிலையை மாற்றவும்</string>
<string name="forward">முன்னோக்கி</string>
<string name="image_quality_title">பட தகுதி</string>
<string name="image_quality_high">உயர் தகுதி</string>
<string name="share_playlist_with_titles_message">பிளேலிச்ட் பெயர் மற்றும் வீடியோ தலைப்புகள் போன்ற விவரங்களுடன் அல்லது வீடியோ முகவரி களின் எளிய பட்டியலாக பிளேலிச்ட்டைப் பகிரவும்</string>
<string name="more_options">மேலும் விருப்பங்கள்</string>
<string name="duration">காலம்</string>
<string name="rewind">முன்னாடி</string>
<string name="share_playlist_with_titles">தலைப்புகளுடன் பகிர்ந்து கொள்ளுங்கள்</string>
<string name="share_playlist_with_list">முகவரி பட்டியலைப் பகிரவும்</string>
<string name="show_more">மேலும் காட்டு</string>
<string name="show_less">குறைவாகக் காட்டு</string>
<string name="error_postprocessing_stopped">கோப்பில் பணிபுரியும் போது நியூபைப் மூடப்பட்டது</string>
<string name="on">ஆன்</string>
<string name="max_retry_msg">அதிகபட்ச முயற்சிகள்</string>
<string name="metadata_tags">குறிச்சொற்கள்</string>
<string name="default_kiosk_page_summary">இயல்புநிலை கியோச்க்</string>
<string name="channel_page_summary">சேனல் பக்கம்</string>
<string name="select_a_channel">ஒரு சேனலைத் தேர்ந்தெடுக்கவும்</string>
<string name="could_not_import_all_files">எச்சரிக்கை: எல்லா கோப்புகளையும் இறக்குமதி செய்ய முடியவில்லை.</string>
<string name="video_player">வீடியோ பிளேயர்</string>
<string name="mute">முடக்கு</string>
<string name="dont_show">காட்ட வேண்டாம்</string>
<string name="start_downloads">பதிவிறக்கங்களைத் தொடங்குங்கள்</string>
<string name="pause_downloads">பதிவிறக்கங்களை இடைநிறுத்தவும்</string>
<string name="downloads_storage_ask_title">எங்கு பதிவிறக்கம் செய்வது என்று கேளுங்கள்</string>
<plurals name="new_streams">
<item quantity="one">%s புதிய ச்ட்ரீம்</item>
<item quantity="other">%s புதிய நீரோடைகள்</item>
</plurals>
<string name="sort">வரிசைப்படுத்து</string>
<string name="audio_track_type_original">அசல்</string>
<string name="audio_track_type_dubbed">டப்பிங்</string>
<string name="prefer_original_audio_title">அசல் ஆடியோவை விரும்புங்கள்</string>
<string name="stop">நிறுத்து</string>
<string name="featured">இடம்பெற்றது</string>
<string name="remove_duplicates">நகல்களை அகற்று</string>
<string name="remove_watched_popup_title">பார்த்த வீடியோக்களை அகற்றவா?</string>
<string name="remove_duplicates_title">நகல்களை அகற்றவா?</string>
<string name="remove_duplicates_message">இந்த பிளேலிச்ட்டில் உள்ள அனைத்து நகல் நீரோடைகளையும் அகற்ற விரும்புகிறீர்களா?</string>
<string name="feed_new_items">புதிய தீவன உருப்படிகள்</string>
<string name="feed_group_dialog_empty_name">வெற்று குழு பெயர்</string>
<string name="feed_update_threshold_title">உணவுப் புதுப்பிப்பு வாசல்</string>
<string name="feed_use_dedicated_fetch_method_enable_button">வேகமான பயன்முறையை இயக்கவும்</string>
<string name="feed_hide_streams_title">பின்வரும் நீரோடைகளைக் காட்டு</string>
<string name="feed_show_hide_streams">ச்ட்ரீம்களைக் காட்டு/மறைக்க</string>
<string name="georestricted_content">இந்த உள்ளடக்கம் உங்கள் நாட்டில் கிடைக்கவில்லை.</string>
<string name="give_back">திருப்பித் தரவும்</string>
<string name="remove_watched_popup_yes_and_partially_watched_videos">ஆம், மற்றும் ஓரளவு பார்த்த வீடியோக்கள்</string>
<string name="feed_oldest_subscription_update">கடைசியாக புதுப்பிக்கப்பட்டது: %s</string>
<plurals name="listening">
<item quantity="one">%s கேட்பவர்</item>
<item quantity="other">%s கேட்போர்</item>
</plurals>
<string name="import_settings_vulnerable_format">ஏற்றுமதியில் இறக்குமதி செய்யப்படும் அமைப்புகள் பாதிக்கப்படக்கூடிய வடிவமைப்பைப் பயன்படுத்துகின்றன, இது நியூபைப் 0.27.0 முதல் நீக்கப்பட்டது. இறக்குமதி செய்யப்படும் ஏற்றுமதி நம்பகமான மூலத்திலிருந்து வந்தது என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், மேலும் நியூபைப் 0.27.0 அல்லது எதிர்காலத்தில் புதியதாக பெறப்பட்ட ஏற்றுமதியை மட்டுமே பயன்படுத்த விரும்புகிறது. இந்த பாதிக்கப்படக்கூடிய வடிவத்தில் அமைப்புகளை இறக்குமதி செய்வதற்கான உதவி விரைவில் முழுமையாக அகற்றப்படும், பின்னர் நியூபைப்பின் பழைய பதிப்புகள் புதிய பதிப்புகளிலிருந்து ஏற்றுமதியின் அமைப்புகளை இனி இறக்குமதி செய்ய முடியாது.</string>
<plurals name="seconds">
<item quantity="one">%d இரண்டாவது</item>
<item quantity="other">%d விநாடிகள்</item>
</plurals>
<plurals name="hours">
<item quantity="one">%d மணி</item>
<item quantity="other">%d மணிநேரம்</item>
</plurals>
<string name="import_subscriptions_hint">3-டாட் மெனுவிலிருந்து சந்தாக்களை இறக்குமதி செய்யுங்கள் அல்லது ஏற்றுமதி செய்யுங்கள்</string>
<string name="dismiss">தள்ளுபடி</string>
<string name="msg_calculating_hash">ஆச் கணக்கிடுதல்</string>
<string name="msg_wait">தயவுசெய்து காத்திருங்கள்…</string>
<string name="local">உள்ளக</string>
<string name="always_ask_open_action">எப்போதும் கேளுங்கள்</string>
<string name="caption_setting_title">தலைப்புகள்</string>
<string name="playback_reset">மீட்டமை</string>
<string name="accept">ஏற்றுக்கொள்</string>
<string name="updates_setting_title">புதுப்பிப்புகள்</string>
<string name="minimize_on_exit_popup_description">பாப்அப் பிளேயருக்குக் குறைக்கவும்</string>
<string name="overwrite_unrelated_warning">இந்த பெயருடன் ஒரு கோப்பு ஏற்கனவே உள்ளது</string>
<string name="error_file_creation">கோப்பை உருவாக்க முடியாது</string>
<string name="error_path_creation">இலக்கு கோப்புறையை உருவாக்க முடியாது</string>
<string name="error_connect_host">சேவையகத்துடன் இணைக்க முடியாது</string>
<string name="error_progress_lost">முன்னேற்றம் இழந்தது, ஏனெனில் கோப்பு நீக்கப்பட்டது</string>
<string name="downloads_storage_use_saf_summary">\'சேமிப்பக அணுகல் கட்டமைப்பு\' வெளிப்புற எச்டி கார்டுக்கு பதிவிறக்கங்களை அனுமதிக்கிறது</string>
<string name="downloads_storage_use_saf_summary_api_29">ஆண்ட்ராய்டு 10 இலிருந்து தொடங்கி \'சேமிப்பக அணுகல் கட்டமைப்பு\' மட்டுமே ஆதரிக்கப்படுகிறது</string>
<string name="feed_load_error">ஊட்டத்தை ஏற்றுதல்</string>
<string name="channel_created_by">%s ஆல் உருவாக்கப்பட்டது</string>
<string name="feed_fetch_channel_tabs_summary">ஊட்டத்தை புதுப்பிக்கும்போது பெற தாவல்கள். வேகமான பயன்முறையைப் பயன்படுத்தி ஒரு சேனல் புதுப்பிக்கப்பட்டால் இந்த விருப்பம் எந்த விளைவையும் ஏற்படுத்தாது.</string>
<string name="tablet_mode_title">டேப்லெட் பயன்முறை</string>
<string name="off">அணை</string>
<string name="no_audio_streams_available_for_external_players">வெளிப்புற வீரர்களுக்கு ஆடியோ ச்ட்ரீம்கள் எதுவும் கிடைக்கவில்லை</string>
<string name="select_quality_external_players">வெளிப்புற வீரர்களுக்கான தரத்தைத் தேர்ந்தெடுக்கவும்</string>
<string name="feed_show_upcoming">வரவிருக்கும்</string>
<string name="no_videos">வீடியோக்கள் இல்லை</string>
<string name="resize_fit">பொருத்தம்</string>
<string name="grid">வலைவாய்</string>
<string name="audio_track_name">%1$s %2$s</string>
<string name="notification_actions_summary_android13">ஒவ்வொரு அறிவிப்பு செயலையும் தட்டுவதன் மூலம் அதைத் தட்டவும். முதல் மூன்று செயல்கள் (நாடகம்/இடைநிறுத்தம், முந்தைய மற்றும் அடுத்தவை) கணினியால் அமைக்கப்பட்டன, மேலும் அவை தனிப்பயனாக்க முடியாது.</string>
<string name="ignore_hardware_media_buttons_title">வன்பொருள் மீடியா பொத்தான் நிகழ்வுகளை புறக்கணிக்கவும்</string>
<string name="ignore_hardware_media_buttons_summary">உதாரணமாக, நீங்கள் உடைந்த உடல் பொத்தான்களுடன் எட்செட் பயன்படுத்துகிறீர்கள் என்றால் பயனுள்ளதாக இருக்கும்</string>
<string name="prefer_original_audio_summary">மொழியைப் பொருட்படுத்தாமல் அசல் ஆடியோ டிராக்கைத் தேர்ந்தெடுக்கவும்</string>
<string name="prefer_descriptive_audio_title">விளக்க ஆடியோவை விரும்புங்கள்</string>
<string name="prefer_descriptive_audio_summary">கிடைத்தால் பார்வையற்றவர்களுக்கு விளக்கங்களுடன் ஆடியோ டிராக்கைத் தேர்ந்தெடுக்கவும்</string>
<string name="left_gesture_control_title">இடது சைகை நடவடிக்கை</string>
<string name="right_gesture_control_summary">பிளேயர் திரையின் வலது பாதிக்கு சைகையைத் தேர்வுசெய்க</string>
<string name="right_gesture_control_title">சரியான சைகை நடவடிக்கை</string>
<string name="volume">தொகுதி</string>
<string name="none">எதுவுமில்லை</string>
<string name="settings_category_backup_restore_title">காப்புப்பிரதி மற்றும் மீட்டமை</string>
<string name="loading_metadata_title">மெட்டாடேட்டாவை ஏற்றுகிறது…</string>
<string name="main_tabs_position_title">முதன்மையான தாவல்கள் நிலை</string>
<string name="error_report_open_github_notice">உங்கள் விபத்து பற்றி விவாதிக்கும் சிக்கல் ஏற்கனவே இருக்கிறதா என்று சரிபார்க்கவும். நகல் டிக்கெட்டுகளை உருவாக்கும்போது, உண்மையான பிழையை சரிசெய்ய நாங்கள் செலவழிக்கக்கூடிய எங்களிடமிருந்து நீங்கள் நேரத்தை எடுத்துக்கொள்கிறீர்கள்.</string>
<string name="detail_uploader_thumbnail_view_description">பதிவேற்றியவரின் அவதார் சிறுபடம்</string>
<string name="more_than_100_videos">100+ வீடியோக்கள்</string>
<string name="infinite_videos">வீடியோக்கள்</string>
<string name="no_comments">கருத்துகள் இல்லை</string>
<string name="comments_are_disabled">கருத்துகள் முடக்கப்பட்டுள்ளன</string>
<string name="no_streams">நீரோடைகள் இல்லை</string>
<string name="no_live_streams">நேரடி நீரோடைகள் இல்லை</string>
<string name="start">தொடங்கு</string>
<string name="pause">இடைநிறுத்தம்</string>
<string name="create">உருவாக்கு</string>
<string name="rename">மறுபெயரிடுங்கள்</string>
<string name="msg_name">கோப்புப்பெயர்</string>
<string name="msg_threads">நூல்கள்</string>
<string name="msg_error">பிழை</string>
<string name="msg_running">நியூபைப் பதிவிறக்குதல்</string>
<string name="msg_running_detail">விவரங்களுக்கு தட்டவும்</string>
<string name="msg_failed_to_copy">இடைநிலைப்பலகைக்கு நகலெடுப்பதில் தோல்வி</string>
<string name="charset_letters_and_digits">கடிதங்கள் மற்றும் இலக்கங்கள்</string>
<string name="charset_most_special_characters">மிகவும் சிறப்பு எழுத்துக்கள்</string>
<string name="title_licenses">மூன்றாம் தரப்பு உரிமங்கள்</string>
<string name="copyright">© %1$s %2$s க்கு கீழ் %3$s க்கு கீழ்</string>
<string name="tab_licenses">உரிமங்கள்</string>
<string name="app_description">ஆண்ட்ராய்டு இல் லிப்ரே லைட்வெயிட் ச்ட்ரீமிங்.</string>
<string name="contribution_title">பங்களிப்பு</string>
<string name="contribution_encouragement">உங்களிடம் சிந்தனைகள் உள்ளதா; மொழிபெயர்ப்பு, வடிவமைப்பு மாற்றங்கள், குறியீடு தூய்மை அல்லது உண்மையான கனமான குறியீடு மாற்றங்கள் - உதவி எப்போதும் வரவேற்கத்தக்கது. மேலும் சிறப்பாகச் செய்யப்படுகிறது!</string>
<string name="donation_encouragement">புதிய பயனர் அனுபவத்தை கொண்டு வரும் தன்னார்வலர்கள் தங்கள் இலவச நேரத்தை செலவழிப்பதன் மூலம் புதிய பாடத்தை உருவாக்கியுள்ளனர். உருவாக்குபவர்கள் ஒரு கப் காபியை அனுபவிக்கும் போது புதிய பக்கத்தை இன்னும் சிறப்பாக செய்ய உதவ உதவுகின்றன.</string>
<string name="website_encouragement">மேலும் செய்தி மற்றும் செய்திகளுக்கு நியூபைப் வலைத்தளத்தைப் பார்வையிடவும்.</string>
<string name="privacy_policy_encouragement">நியூபைப் திட்டம் உங்கள் தனியுரிமையை மிகவும் தீவிரமாக எடுத்துக்கொள்கிறது. எனவே, பயன்பாடு உங்கள் அனுமதியின்றி எந்த தரவையும் சேகரிக்காது.\n நீங்கள் ஒரு செயலிழப்பு அறிக்கையை அனுப்பும்போது என்ன தரவு அனுப்பப்படுகிறது மற்றும் சேமிக்கப்படுகிறது என்பதை நியூபிப்பின் தனியுரிமைக் கொள்கை விரிவாக விளக்குகிறது.</string>
<string name="app_license_title">நியூபைப்பின் உரிமம்</string>
<string name="app_license">நியூபைப் என்பது நகலெடுக்கப்பட்ட லிப்ரே மென்பொருள்: நீங்கள் அதைப் பயன்படுத்தலாம், படிக்கலாம், பகிரலாம் மற்றும் மேம்படுத்தலாம். குறிப்பாக நீங்கள் இலவச மென்பொருள் அறக்கட்டளையால் வெளியிடப்பட்ட குனு பொது பொது உரிமத்தின் விதிமுறைகளின் கீழ் மறுபகிர்வு மற்றும்/அல்லது மாற்றியமைக்கலாம், உரிமத்தின் பதிப்பு 3 அல்லது (உங்கள் விருப்பத்தில்) பின்னர் எந்த பதிப்பையும் மாற்றலாம்.</string>
<string name="faq_description">பயன்பாட்டைப் பயன்படுத்துவதில் சிக்கல் இருந்தால், பொதுவான கேள்விகளுக்கு இந்த பதில்களைப் பார்க்கவும்!</string>
<string name="faq">இணையதளத்தில் காண்க</string>
<string name="title_last_played">கடைசியாக விளையாடியது</string>
<string name="title_most_played">அதிகம் விளையாடியது</string>
<string name="main_page_content_summary">என்ன தாவல்கள் முதன்மையான பக்கத்தில் காட்டப்பட்டுள்ளன</string>
<string name="blank_page_summary">வெற்று பக்கம்</string>
<string name="kiosk_page_summary">கியோச்க் பக்கம்</string>
<string name="select_a_kiosk">ஒரு கியோச்கைத் தேர்ந்தெடுக்கவும்</string>
<string name="export_complete_toast">ஏற்றுமதி</string>
<string name="import_complete_toast">இறக்குமதி செய்யப்பட்டது</string>
<string name="no_valid_zip_file">செல்லுபடியாகும் சிப் கோப்பு இல்லை</string>
<string name="override_current_data">இது உங்கள் தற்போதைய அமைப்பை மேலெழுதும்.</string>
<string name="error_unable_to_load_comments">கருத்துகளை ஏற்ற முடியவில்லை</string>
<string name="localization_changes_requires_app_restart">பயன்பாடு மறுதொடக்கம் செய்யப்பட்டவுடன் மொழி மாறும்</string>
<string name="recently_added">அண்மைக் காலத்தில் சேர்க்கப்பட்டது</string>
<string name="most_liked">மிகவும் பிடித்தது</string>
<string name="conferences">மாநாடுகள்</string>
<string name="title_activity_play_queue">வரிசை விளையாடுங்கள்</string>
<string name="play_queue_remove">அகற்று</string>
<string name="play_queue_stream_detail">விவரங்கள்</string>
<string name="play_queue_audio_track">ஆடியோ: %s</string>
<string name="drawer_open">திறந்த அலமாரியை</string>
<string name="drawer_close">மூடு டிராயர்</string>
<string name="preferred_open_action_settings_summary">உள்ளடக்கத்தைத் திறக்கும்போது இயல்புநிலை செயல் - %s</string>
<string name="background_player">பின்னணி பிளேயர்</string>
<string name="popup_player">பாப்அப் பிளேயர்</string>
<string name="name">பெயர்</string>
<string name="processing_may_take_a_moment">செயலாக்கம்… ஒரு கணம் ஆகலாம்</string>
<string name="unmute">ஊன்</string>
<string name="unset_playlist_thumbnail">நிரந்தர சிறுபடம்</string>
<string name="playlist_add_stream_success_duplicate">நகல் சேர்க்கப்பட்ட %d நேரம் (கள்)</string>
<string name="caption_auto_generated">தானாக உருவாக்கிய</string>
<string name="caption_setting_description">பிளேயர் தலைப்பு உரை அளவு மற்றும் பின்னணி பாணிகளை மாற்றவும். நடைமுறைக்கு வர பயன்பாட்டு மறுதொடக்கம் தேவை</string>
<string name="leak_canary_not_available">கசிவு கிடைக்கவில்லை</string>
<string name="enable_leak_canary_summary">நினைவக கசிவு கண்காணிப்பு குவியல் கொட்டும்போது பயன்பாடு பதிலளிக்காமல் இருக்கக்கூடும்</string>
<string name="show_memory_leaks">நினைவக கசிவுகளைக் காட்டு</string>
<string name="enable_disposed_exceptions_title">வாழ்நாள் முழுவதும் பிழைகள் புகாரளிக்கவும்</string>
<string name="enable_disposed_exceptions_summary">அகற்றப்பட்ட பிறகு துண்டு அல்லது செயல்பாட்டு வாழ்க்கைச் சுழற்சிக்கு வெளியே வழங்க முடியாத ஆர்எக்ச் விதிவிலக்குகளை கட்டாயப்படுத்துதல்</string>
<string name="show_original_time_ago_title">அசல் நேரத்திற்கு முன்பு உருப்படிகளில் காட்டு</string>
<string name="show_original_time_ago_summary">சேவைகளிலிருந்து அசல் நூல்கள் ச்ட்ரீம் உருப்படிகளில் காணப்படும்</string>
<string name="disable_media_tunneling_title">மீடியா சுரங்கப்பாதையை முடக்கு</string>
<string name="disable_media_tunneling_summary">நீங்கள் ஒரு கருப்பு திரை அனுபவித்தால் அல்லது வீடியோ பிளேபேக்கில் திணறினால் மீடியா சுரங்கப்பாதையை முடக்கு.</string>
<string name="disable_media_tunneling_automatic_info">உங்கள் சாதனத்தில் முன்னிருப்பாக மீடியா சுரங்கப்பாதை முடக்கப்பட்டது, ஏனெனில் உங்கள் சாதன மாதிரி அதை ஆதரிக்காது என்று அறியப்படுகிறது.</string>
<string name="show_image_indicators_title">பட குறிகாட்டிகளைக் காட்டு</string>
<string name="show_image_indicators_summary">அவற்றின் மூலத்தைக் குறிக்கும் படங்களின் மேல் பிக்காசோ வண்ண ரிப்பன்களைக் காட்டு: நெட்வொர்க்கிற்கு சிவப்பு, வட்டுக்கு நீலம் மற்றும் நினைவகத்திற்கு பச்சை</string>
<string name="show_crash_the_player_title">\"வீரரை செயலிழக்க\" காட்டு</string>
<string name="show_crash_the_player_summary">பிளேயரைப் பயன்படுத்தும் போது செயலிழப்பு விருப்பத்தைக் காட்டுகிறது</string>
<string name="check_new_streams">புதிய நீரோடைகளுக்கு காசோலை இயக்கவும்</string>
<string name="crash_the_app">பயன்பாட்டை செயலிழக்கச் செய்யுங்கள்</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="import_soundcloud_instructions">முகவரி அல்லது உங்கள் ஐடியை தட்டச்சு செய்வதன் மூலம் சவுண்ட்க்ளூட் சுயவிவரத்தை இறக்குமதி செய்க:\n\n 1. வலை உலாவியில் \"டெச்க்டாப் பயன்முறையை\" இயக்கவும் (மொபைல் சாதனங்களுக்கு தளம் கிடைக்கவில்லை)\n 2. இந்த முகவரி க்குச் செல்லுங்கள்: %1$s\n 3. கேட்டபோது உள்நுழைக\n 4. நீங்கள் திருப்பி விடப்பட்ட சுயவிவர முகவரி ஐ நகலெடுக்கவும்.</string>
<string name="import_network_expensive_warning">இந்த செயல்பாடு பிணையம் விலை உயர்ந்ததாக இருக்கும் என்பதை நினைவில் கொள்ளுங்கள்.\n\n நீங்கள் தொடர விரும்புகிறீர்களா?</string>
<string name="playback_tempo">டெம்போ</string>
<string name="playback_pitch">குனிவு</string>
<string name="unhook_checkbox">அவலூக் (விலகலை ஏற்படுத்தக்கூடும்)</string>
<string name="skip_silence_checkbox">ம .னத்தின் போது வேகமாக முன்னோக்கி</string>
<string name="percent">விழுக்காடு</string>
<string name="semitone">செமிடோன்</string>
<string name="start_accept_privacy_policy">ஐரோப்பிய பொது தரவு பாதுகாப்பு ஒழுங்குமுறை (சிடிபிஆர்) உடன் இணங்குவதற்காக, நியூபைப்பின் தனியுரிமைக் கொள்கைக்கு இதன்மூலம் உங்கள் கவனத்தை ஈர்க்கிறோம். தயவுசெய்து அதை கவனமாகப் படியுங்கள்.\n பிழை அறிக்கையை எங்களுக்கு அனுப்ப நீங்கள் அதை ஏற்றுக்கொள்ள வேண்டும்.</string>
<string name="decline">வீழ்ச்சி</string>
<string name="enable_streams_notifications_title">புதிய ச்ட்ரீம்கள் அறிவிப்புகள்</string>
<string name="enable_streams_notifications_summary">சந்தாக்களிலிருந்து புதிய ச்ட்ரீம்கள் பற்றி அறிவிக்கவும்</string>
<string name="streams_notifications_interval_title">அதிர்வெண் சரிபார்க்கிறது</string>
<string name="streams_notifications_network_title">தேவையான பிணைய இணைப்பு</string>
<string name="any_network">எந்த பிணையமும்</string>
<string name="check_for_updates">புதுப்பிப்புகளை சரிபார்க்கவும்</string>
<string name="auto_update_check_description">நியூபைப் தானாகவே புதிய பதிப்புகள் அவ்வப்போது சரிபார்க்கலாம் மற்றும் அவை கிடைத்தவுடன் உங்களுக்குத் தெரிவிக்கலாம்.\n இதை இயக்க விரும்புகிறீர்களா?</string>
<string name="manual_update_description">புதிய பதிப்புகளை கைமுறையாக சரிபார்க்கவும்</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="autoplay_summary">பிளேபேக்கை தானாகத் தொடங்குங்கள் - %s</string>
<string name="card">அட்டை</string>
<string name="app_update_unavailable_toast">நீங்கள் நியூபைப்பின் அண்மைக் கால பதிப்பை இயக்குகிறீர்கள்</string>
<string name="queued">வரிசையில்</string>
<string name="post_processing">பிந்தைய செயலாக்கம்</string>
<string name="recovering">மீண்டு</string>
<string name="permission_denied">கணினி மறுத்த நடவடிக்கை</string>
<string name="checking_updates_toast">புதுப்பிப்புகளைச் சரிபார்க்கிறது…</string>
<string name="reset_settings_title">அமைப்புகளை மீட்டமைக்கவும்</string>
<string name="reset_settings_summary">எல்லா அமைப்புகளையும் அவற்றின் இயல்புநிலை மதிப்புகளுக்கு மீட்டமைக்கவும்</string>
<string name="reset_all_settings">எல்லா அமைப்புகளையும் மீட்டமைப்பது உங்களுக்கு விருப்பமான அமைப்புகள் அனைத்தையும் நிராகரித்து பயன்பாட்டை மறுதொடக்கம் செய்யும்.\n\n நீங்கள் தொடர விரும்புகிறீர்களா?</string>
<string name="generate_unique_name">தனித்துவமான பெயரை உருவாக்குங்கள்</string>
<string name="overwrite">மேலெழுதும்</string>
<string name="overwrite_failed">கோப்பை மேலெழுத முடியாது</string>
<string name="show_error">பிழையைக் காட்டு</string>
<string name="error_ssl_exception">பாதுகாப்பான இணைப்பை நிறுவ முடியவில்லை</string>
<string name="error_http_no_content">சேவையகம் தரவை அனுப்பாது</string>
<string name="error_http_not_found">கண்டுபிடிக்கப்படவில்லை</string>
<string name="error_insufficient_storage">சாதனத்தில் போதுமான இலவச இடம் இல்லை</string>
<string name="error_insufficient_storage_left">சாதனத்தில் எந்த இடமும் இல்லை</string>
<string name="error_timeout">இணைப்பு நேரம் முடிந்தது</string>
<string name="pause_downloads_on_mobile">மீட்டர் நெட்வொர்க்குகளில் குறுக்கீடு</string>
<string name="pause_downloads_on_mobile_desc">மொபைல் தரவுக்கு மாறும்போது பயனுள்ளதாக இருக்கும், இருப்பினும் சில பதிவிறக்கங்களை இடைநிறுத்த முடியாது</string>
<string name="downloads_storage_ask_summary">ஒவ்வொரு பதிவிறக்கத்தையும் எங்கு சேமிப்பது என்று கேட்கப்படும்.\n வெளிப்புற எச்டி கார்டில் பதிவிறக்கம் செய்ய விரும்பினால் கணினி கோப்புறை பிக்கர் (SAF) ஐ இயக்கவும்</string>
<string name="downloads_storage_ask_summary_no_saf_notice">ஒவ்வொரு பதிவிறக்கத்தையும் எங்கு சேமிப்பது என்று கேட்கப்படும்</string>
<string name="downloads_storage_use_saf_title">கணினி கோப்புறை பிக்கர் (SAF) ஐப் பயன்படுத்தவும்</string>
<string name="choose_instance_prompt">ஒரு நிகழ்வைத் தேர்வுசெய்க</string>
<string name="remove_watched">பார்த்ததை அகற்று</string>
<string name="new_seek_duration_toast">எக்சோப்ளேயர் கட்டுப்பாடுகள் காரணமாக தேடல் காலம் %d விநாடிகளுக்கு அமைக்கப்பட்டது</string>
<string name="feed_subscription_not_loaded_count">ஏற்றப்படவில்லை: %d</string>
<string name="feed_processing_message">செயலாக்க ஊட்டம்…</string>
<string name="feed_group_dialog_empty_selection">சந்தா எதுவும் தேர்ந்தெடுக்கப்படவில்லை</string>
<plurals name="feed_group_dialog_selection_count">
<item quantity="one">%d தேர்ந்தெடுக்கப்பட்டது</item>
<item quantity="other">%d தேர்ந்தெடுக்கப்பட்டது</item>
</plurals>
<string name="feed_create_new_group_button_title">புதிய</string>
<string name="feed_update_threshold_option_always_update">எப்போதும் புதுப்பிக்கவும்</string>
<string name="feed_load_error_account_info">\'%s\' க்கு ஊட்டத்தை ஏற்ற முடியவில்லை.</string>
<string name="feed_load_error_terminated">ஆசிரியரின் கணக்கு நிறுத்தப்பட்டுள்ளது.\n நியூபைப் எதிர்காலத்தில் இந்த ஊட்டத்தை ஏற்ற முடியாது.\n இந்த சேனலில் இருந்து குழுவிலக விரும்புகிறீர்களா?</string>
<string name="feed_load_error_fast_unknown">ஃபாச்ட் ஃபீட் பயன்முறை இது குறித்த கூடுதல் தகவலை வழங்காது.</string>
<string name="feed_use_dedicated_fetch_method_title">கிடைக்கும்போது பிரத்யேக ஊட்டத்திலிருந்து பெறுங்கள்</string>
<string name="feed_use_dedicated_fetch_method_summary">சில சேவைகளில் கிடைக்கிறது, இது பொதுவாக மிக வேகமாக இருக்கும், ஆனால் ஒரு குறிப்பிட்ட அளவு உருப்படிகள் மற்றும் பெரும்பாலும் முழுமையற்ற தகவல்களைத் தரக்கூடும் (எ.கா. காலம், உருப்படி வகை, நேரடி நிலை இல்லை)</string>
<string name="feed_use_dedicated_fetch_method_disable_button">வேகமான பயன்முறையை முடக்கு</string>
<string name="feed_use_dedicated_fetch_method_help_text">தீவன ஏற்றுதல் மிகவும் மெதுவாக இருப்பதாக நீங்கள் நினைக்கிறீர்களா? அப்படியானால், வேகமாக ஏற்றுவதை இயக்க முயற்சிக்கவும் (நீங்கள் அதை அமைப்புகளில் மாற்றலாம் அல்லது கீழே உள்ள பொத்தானை அழுத்துவதன் மூலம்).\n\n நியூபைப் இரண்டு தீவன ஏற்றுதல் உத்திகளை வழங்குகிறது:\n சந்தா சேனலைப் பெறுதல், இது மெதுவாக ஆனால் முழுமையானது.\n பணி ஒரு பிரத்யேக பணி இறுதிப் புள்ளியைப் பயன்படுத்துதல், இது வேகமானது ஆனால் பொதுவாக முழுமையடையாது.\n\n இரண்டிற்கும் இடையிலான வேறுபாடு என்னவென்றால், வேகமானவருக்கு வழக்கமாக உருப்படியின் காலம் அல்லது வகை போன்ற சில தகவல்கள் இல்லை (நேரடி வீடியோக்களுக்கும் சாதாரணமானவற்றுக்கும் இடையில் வேறுபடுத்த முடியாது) மற்றும் அது குறைவான உருப்படிகளைத் தரக்கூடும்.\n\n இந்த வேகமான முறையை அதன் ஆர்எச்எச் ஊட்டத்துடன் வழங்கும் சேவைக்கு யூடியூப் ஒரு எடுத்துக்காட்டு.\n\n எனவே தேர்வு நீங்கள் விரும்புவதைக் குறைக்கிறது: விரைவு அல்லது துல்லியமான செய்தி.</string>
<string name="feed_fetch_channel_tabs">சேனல் தாவல்களைப் பெறுங்கள்</string>
<string name="content_not_supported">இந்த உள்ளடக்கத்தை இன்னும் நியூபைப் ஆதரிக்கவில்லை.\n\n இது எதிர்கால பதிப்பில் ஆதரிக்கப்படும்.</string>
<string name="video_detail_by">மூலம் %s</string>
<string name="no_appropriate_file_manager_message">இந்த செயலுக்கு பொருத்தமான கோப்பு மேலாளர் எதுவும் கிடைக்கவில்லை.\n தயவுசெய்து ஒரு கோப்பு மேலாளரை நிறுவவும் அல்லது பதிவிறக்க அமைப்புகளில் \'%s\' ஐ முடக்க முயற்சிக்கவும்</string>
<string name="soundcloud_go_plus_content">இது ஒரு சவுண்ட்க்ளூட் கோ+ டிராக் ஆகும், குறைந்தபட்சம் உங்கள் நாட்டில், எனவே இதை நியூபைப் மூலம் ச்ட்ரீம் செய்யவோ பதிவிறக்கம் செய்யவோ முடியாது.</string>
<string name="private_content">இந்த உள்ளடக்கம் தனிப்பட்டது, எனவே இதை நியூபைப் மூலம் ச்ட்ரீம் செய்யவோ பதிவிறக்கம் செய்யவோ முடியாது.</string>
<string name="youtube_music_premium_content">இந்த வீடியோ யூடியூப் மியூசிக் காப்பீடு உறுப்பினர்களுக்கு மட்டுமே கிடைக்கிறது, எனவே இதை நியூபைப்பால் ச்ட்ரீம் செய்யவோ பதிவிறக்கம் செய்யவோ முடியாது.</string>
<string name="account_terminated">கணக்கு நிறுத்தப்பட்டது</string>
<string name="paid_content">இந்த உள்ளடக்கம் பணம் செலுத்திய பயனர்களுக்கு மட்டுமே கிடைக்கிறது, எனவே இதை நியூபைப் மூலம் ச்ட்ரீம் செய்யவோ பதிவிறக்கம் செய்யவோ முடியாது.</string>
<string name="radio">வானொலி</string>
<string name="night_theme_available">கருப்பொருளுக்கு %s தேர்ந்தெடுக்கப்பட்டால் மட்டுமே இந்த விருப்பம் கிடைக்கும்</string>
<string name="download_has_started">பதிவிறக்கம் தொடங்கியது</string>
<string name="description_select_note">நீங்கள் இப்போது விளக்கத்திற்குள் உரையைத் தேர்ந்தெடுக்கலாம். தேர்வு பயன்முறையில் இருக்கும்போது பக்கம் ஃப்ளிக்கர் மற்றும் இணைப்புகள் சொடுக்கு செய்யப்படாமல் இருக்கலாம் என்பதை நினைவில் கொள்க.</string>
<string name="description_select_enable">விளக்கத்தில் உரையைத் தேர்ந்தெடுப்பதை இயக்கவும்</string>
<string name="description_select_disable">விளக்கத்தில் உரையைத் தேர்ந்தெடுப்பதை முடக்கு</string>
<string name="metadata_category">வகை</string>
<string name="metadata_licence">உரிமம்</string>
<string name="metadata_privacy">தனியுரிமை</string>
<string name="metadata_language">மொழி</string>
<string name="metadata_support">உதவி</string>
<string name="metadata_host">விருந்தோம்பி</string>
<string name="metadata_thumbnails">சிறு உருவங்கள்</string>
<string name="metadata_uploader_avatars">பதிவேற்றும் அவதாரங்கள்</string>
<string name="metadata_banners">பதாகைகள்</string>
<string name="metadata_privacy_public">பொது</string>
<string name="metadata_privacy_unlisted">பட்டியலிடப்படாதது</string>
<string name="metadata_privacy_internal">உள்</string>
<string name="metadata_subscribers">சந்தாதாரர்கள்</string>
<string name="detail_pinned_comment_view_description">பின்னப்பட்ட கருத்து</string>
<string name="detail_heart_img_view_description">படைப்பாளரால் மனம்</string>
<string name="open_website_license">திறந்த வலைத்தளம்</string>
<string name="get_notified">அறிவிக்க</string>
<string name="you_successfully_subscribed">நீங்கள் இப்போது இந்த சேனலுக்கு குழுசேர்ந்தீர்கள்</string>
<string name="enumeration_comma">,</string>
<string name="toggle_all">அனைத்தையும் மாற்று</string>
<string name="streams_not_yet_supported_removed">பதிவிறக்கத்தால் இன்னும் ஆதரிக்கப்படாத நீரோடைகள் காட்டப்படவில்லை</string>
<string name="audio_track_present_in_video">இந்த ச்ட்ரீமில் ஏற்கனவே ஆடியோ டிராக் இருக்க வேண்டும்</string>
<string name="selected_stream_external_player_not_supported">தேர்ந்தெடுக்கப்பட்ட ச்ட்ரீம் வெளிப்புற வீரர்களால் ஆதரிக்கப்படவில்லை</string>
<string name="no_video_streams_available_for_external_players">வெளிப்புற வீரர்களுக்கு வீடியோ ச்ட்ரீம்கள் எதுவும் கிடைக்கவில்லை</string>
<string name="select_audio_track_external_players">வெளிப்புற பிளேயர்களுக்கான ஆடியோ டிராக்கைத் தேர்ந்தெடுக்கவும்</string>
<string name="settings_category_exoplayer_title">எக்சோப்ளேயர் அமைப்புகள்</string>
<string name="settings_category_exoplayer_summary">சில எக்சோப்ளேயர் அமைப்புகளை நிர்வகிக்கவும். இந்த மாற்றங்கள் நடைமுறைக்கு வர ஒரு வீரர் மறுதொடக்கம் தேவை</string>
<string name="use_exoplayer_decoder_fallback_title">எக்சோப்ளேயரின் டிகோடர் குறைவடையும் அம்சத்தைப் பயன்படுத்தவும்</string>
<string name="use_exoplayer_decoder_fallback_summary">உங்களிடம் டிகோடர் துவக்க சிக்கல்கள் இருந்தால் இந்த விருப்பத்தை இயக்கவும், இது முதன்மை டிகோடர்கள் துவக்கம் தோல்வியுற்றால் குறைந்த முன்னுரிமை டிகோடர்களுக்குத் திரும்பும். முதன்மை டிகோடர்களைப் பயன்படுத்துவதை விட இது மோசமான பின்னணி செயல்திறனை ஏற்படுத்தக்கூடும்</string>
<string name="always_use_exoplayer_set_output_surface_workaround_title">எப்போதும் எக்சோப்ளேயரின் வீடியோ வெளியீட்டு மேற்பரப்பு அமைப்பு பணித்தொகுப்பைப் பயன்படுத்துங்கள்</string>
<string name="always_use_exoplayer_set_output_surface_workaround_summary">இந்த பணித்தொகுப்பு ஒரு மேற்பரப்பு மாற்றம் நிகழும்போது வீடியோ கோடெக்குகளை வெளியிட்டு மீண்டும் நிறுவுகிறது, அதற்கு பதிலாக கோடெக்கிற்கு நேரடியாக மேற்பரப்பை அமைப்பதற்கு பதிலாக. இந்த சிக்கலுடன் சில சாதனங்களில் ஏற்கனவே எக்சோப்ளேயரால் பயன்படுத்தப்படுகிறது, இந்த அமைப்பு ஆண்ட்ராய்டு 6 மற்றும் அதற்கு மேற்பட்டவற்றில் மட்டுமே தாக்கத்தை ஏற்படுத்துகிறது\n\n இந்த விருப்பத்தை இயக்குவது தற்போதைய வீடியோ பிளேயரை மாற்றும்போது அல்லது முழுத்திரைக்கு மாறும்போது பிளேபேக் பிழைகளைத் தடுக்கலாம்</string>
<string name="audio_track_type_descriptive">விளக்கமான</string>
<string name="channel_tab_videos">வீடியோக்கள்</string>
<string name="channel_tab_tracks">தடங்கள்</string>
<string name="channel_tab_livestreams">வாழ</string>
<string name="channel_tab_channels">சேனல்கள்</string>
<string name="channel_tab_about">பற்றி</string>
<string name="show_channel_tabs">சேனல் தாவல்கள்</string>
<string name="previous_stream">முந்தைய ச்ட்ரீம்</string>
<string name="next_stream">அடுத்த ச்ட்ரீம்</string>
<string name="replay">மீண்டும்</string>
<string name="image_quality_summary">தரவு மற்றும் நினைவக பயன்பாட்டைக் குறைக்க, படங்களின் தகுதி மற்றும் படங்களை ஏற்ற வேண்டுமா என்பதைத் தேர்வுசெய்க. மாற்றங்கள் நினைவகம் மற்றும் ஆன்-வட்டு பட தற்காலிக சேமிப்பு இரண்டையும் அழிக்கின்றன- %s</string>
</resources>

View file

@ -825,4 +825,5 @@
<string name="auto_update_check_description">NewPipe zaman zaman yeni sürümleri kendiliğinden denetleyebilir ve kullanılabilir olduklarında sizi bilgilendirebilir.
\nBunu etkinleştirmek istiyor musunuz?</string>
<string name="import_settings_vulnerable_format">İçe aktarılmakta olan dışa aktarımdaki ayarlar, NewPipe 0.27.0\'dan itibaren kullanımdan kaldırılan güvenlik açığı olan bir biçim kullanmaktadır. İçe aktarılmakta olan dışa aktarımın güvenilir bir kaynaktan alındığından emin olun ve gelecekte yalnızca NewPipe 0.27.0 veya daha yeni sürümlerden alınan dışa aktarımları kullanmayı tercih edin. Bu güvenlik açığı bulunan biçimdeki ayarları içe aktarma desteği yakında tamamen kaldırılacak ve ardından NewPipe\'ın eski sürümleri artık yeni sürümlerden dışa aktarılan ayarların içe aktarımını yapamayacaktır.</string>
<string name="audio_track_type_secondary">ikincil</string>
</resources>

View file

@ -170,7 +170,7 @@
<string name="show_info">Показати інформацію</string>
<string name="tab_bookmarks">Закладки відтворення</string>
<string name="controls_add_to_playlist_title">Додати до</string>
<string name="show_hold_to_append_summary">Показати підказку при натисканні «У вікні» або «У фоні» на сторінці відомостей про відео</string>
<string name="show_hold_to_append_summary">Показувати підказку під час натискання фонової або спливної кнопки у відео \"Деталі:\\</string>
<string name="player_unrecoverable_failure">Сталася невиправна помилка програвача</string>
<string name="external_player_unsupported_link_type">Зовнішні програвачі не підтримують такі види посилань</string>
<string name="info_labels">Що:\\nЗапит:\\nМова вмісту:\\nКраїна вмісту:\\nМова застосунку:\\nСлужба:\\nЧас GMT:\\nПакунок:\\nВерсія:\\nВерсія ОС:</string>
@ -529,7 +529,7 @@
\nЩоб побачити його ввімкніть «%1$s» в налаштуваннях.</string>
<string name="detail_sub_channel_thumbnail_view_description">Ескіз аватара каналу</string>
<string name="show_original_time_ago_summary">Оригінальні тексти сервісів будуть видимі в потокових елементах</string>
<string name="youtube_restricted_mode_enabled_title">Увімкнути «Обмежений режим» YouTube</string>
<string name="youtube_restricted_mode_enabled_title">Увімкніть \"Обмежений режим\" YouTube</string>
<string name="search_showing_result_for">Результати для: %s</string>
<string name="channel_created_by">Створено %s</string>
<string name="feed_group_show_only_ungrouped_subscriptions">Показати лише незгруповані підписки</string>
@ -672,7 +672,7 @@
<string name="manual_update_description">Перевірка нових версій вручну</string>
<string name="checking_updates_toast">Перевірка оновлень…</string>
<string name="feed_new_items">Нові записи стрічки</string>
<string name="show_crash_the_player_title">Показати «Збій програвача»</string>
<string name="show_crash_the_player_title">Показати \"Збій програвача\\</string>
<string name="show_crash_the_player_summary">Показує параметр збою під час використання програвача</string>
<string name="crash_the_player">Збій програвача</string>
<string name="error_report_channel_name">Сповіщення про звіт про помилку</string>

View file

@ -207,7 +207,7 @@
<string name="top_50">前 50</string>
<string name="new_and_hot">最新与热门</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="player_stream_failure">无法播放此串流</string>
<string name="player_unrecoverable_failure">发生无法处理的播放器错误</string>
<string name="player_recoverable_failure">播放器错误 自动恢复</string>
@ -471,7 +471,7 @@
<string name="feed_group_dialog_empty_name">清空组名</string>
<string name="feed_group_dialog_delete_message">您要删除该组吗?</string>
<string name="feed_create_new_group_button_title">新建</string>
<string name="settings_category_feed_title">Feed</string>
<string name="settings_category_feed_title">订阅</string>
<string name="feed_update_threshold_title">Feed 更新阈值</string>
<string name="feed_update_threshold_summary">上次更新后,订阅被视为过期的时间 — %s</string>
<string name="feed_update_threshold_option_always_update">始终更新</string>

View file

@ -266,7 +266,7 @@
<string name="error_snackbar_action">Report</string>
<string name="what_device_headline">Info:</string>
<string name="what_happened_headline">What happened:</string>
<string name="info_labels">What:\\nRequest:\\nContent Language:\\nContent Country:\\nApp Language:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:</string>
<string name="info_labels">What:\\nRequest:\\nContent Language:\\nContent Country:\\nApp Language:\\nService:\\nTimestamp:\\nPackage:\\nVersion:\\nOS version:</string>
<string name="your_comment">Your comment (in English):</string>
<string name="error_details_headline">Details:</string>
<!-- Content descriptions (for better accessibility) -->

View file

@ -0,0 +1,6 @@
تحسنت
• اسمح دائمًا بتغيير تفضيلات الإشعارات للمشغل على Android 13+
مصلحة
• لن يؤدي إصلاح تصدير قاعدة البيانات/الاشتراكات إلى اقتطاع ملف موجود بالفعل، مما قد يؤدي إلى تصدير تالف
• إصلاح المشغل الذي يستأنف من البداية عند النقر على الطابع الزمني

View file

@ -1 +1,4 @@
تم إصلاح YouTube الذي لا يقوم بتشغيل أي دفق
تم إصلاح مشكلة عدم تشغيل YouTube لأي بث.
يعالج هذا الإصدار فقط الخطأ الأكثر إلحاحًا الذي يمنع تحميل تفاصيل فيديو YouTube.
نحن ندرك وجود مشاكل أخرى، وسنقوم قريباً بإصدار إصدار منفصل لحلها.

View file

@ -0,0 +1,4 @@
تم إصلاح مشكلة عدم تشغيل YouTube لأي بث.
يعالج هذا الإصدار فقط الخطأ الأكثر إلحاحًا الذي يمنع تحميل تفاصيل فيديو YouTube.
نحن ندرك وجود مشاكل أخرى، وسنقوم قريباً بإصدار إصدار منفصل لحلها.

View file

@ -0,0 +1 @@
YouTube-un heç bir yayım oynatmaması düzəldildi

View file

@ -0,0 +1,6 @@
Vylepšení
• Vždy umožněno změnit nastavení oznámení přehrávače na Android 13+
Opraveno
• Oprava chyby, při které export databáze/odběrů nezkracoval již existující soubor, což mohlo vést k poškozenému exportu
• Opraveno pokračování přehrávače v přehrávání videa po klepnutí na časovou značku

View file

@ -0,0 +1 @@
Opraveno nepřehrávání jakéhokoli streamu ve službě YouTube

View file

@ -0,0 +1,6 @@
Verbessert
• Ändern der Player-Benachrichtigungseinstellungen ist unter Android 13+ immer möglich
Behoben
• Beim Exportieren von Datenbanken/Abonnements wurde eine bereits vorhandene Datei nicht verkürzt, was möglicherweise zu einem beschädigten Export führte
• Der Player wurde beim Anklicken eines Zeitstempel von Anfang an fortgesetzt

View file

@ -1 +1,4 @@
Behoben, dass YouTube keinen Stream abspielte
Behoben: YouTube spielt keinen Stream ab.
Diese Version behebt nur den dringendsten Fehler, der das Laden von YouTube-Videodetails verhindert.
Wir sind uns bewusst, dass es andere Probleme gibt, und wir werden bald eine separate Version erstellen, um sie zu lösen.

View file

@ -0,0 +1,4 @@
Behoben: YouTube spielt keinen Stream ab.
Diese Version behebt nur den dringendsten Fehler, der das Laden von YouTube-Videodetails verhindert.
Wir sind uns bewusst, dass es andere Probleme gibt, und wir werden bald eine separate Version erstellen, um sie zu lösen.

View file

@ -0,0 +1,6 @@
This is a hotfix release that fixes YouTube errors:
• [YouTube] Fix not loading any video information, fix HTTP 403 errors while playing videos and restore playback of some age-restricted videos
• Fix caption sizes not being changed
• Fix downloading info twice when opening a stream
• [Soundcloud] Remove unplayable DRM-protected streams
• Updated translations

View file

@ -0,0 +1,6 @@
Mejorado
• Permitir siempre cambiar las preferencias de notificación del reproductor en Android 13+
Corregido
• Al exportar bases de datos/suscripciones no se truncaba un archivo ya existente, lo que podía dar lugar a una exportación corrupta
• El reproductor se reiniciaba desde el principio al hacer clic en una marca de tiempo

View file

@ -0,0 +1 @@
Arreglo en YouTube no reproduciendo flujos

View file

@ -1 +1 @@
Arreglado el fallo por el cuál YouTube no reproducía ningún stream
Arreglado el fallo por el cuál YouTube no reproducía ningún stream.

View file

@ -0,0 +1,4 @@
Se solucionó el problema por el cual YouTube no reproducía ninguna transmisión debido a errores HTTP 403.
Los errores HTTP 403 ocasionales en medio de un video de YouTube aún no se han solucionado.
Ese problema se solucionará en otra liberación de solución de errores lo antes posible.

View file

@ -0,0 +1,13 @@
Täiendused
• Esitusloend on kokku/lahtiklikatav
• [PeerTube] `subscribeto.me` serverite lingid toimivad automaatselt
• Käivitame ajaloost vaid ühe rakenduse instantsi
Parandused
• RSSi nupu nähtavus
• Otsinguriba eelvaate kokkujooksmine
• Pisipildita kirje lisamine esitusloendisse
• Allalaadimisvaate sulgemine enne avamist
• Seotud kirjed esitusloendi hüpikaknas
• Esitusloendisse lisamise järjekord
• Esitusloendi järjehoidjate kirjete paigutus

View file

@ -0,0 +1,6 @@
Täiendused
• Meediaesitaja teavituste seadistusi saab Android 13+ puhul alati muuta
Parandused
• Parandasime olukorra, kus andmebaasi/tellimuste eksport ei tühjendanud olemasolevat faili, põhjustades sellega vigase varukoopia tekkimise
• Parandasime esituse jätkamise klõpsides ajatemplil

View file

@ -0,0 +1,4 @@
Parandasime vea, kus ühtegi YouTube'i meediavoogu ei õnnestunud esitada.
See versioon parandab vaid hetkel kõige olulisema vea, kus YouTube'i video andmeid ei õnnestunud laadida.
Me oleme teadlikud ka muudest vigadest ning nendega tegeleme hiljem.

View file

@ -0,0 +1,4 @@
Parandasime vea, kus ühtegi YouTube'i meediavoogu ei õnnestunud esitada.
See versioon parandab vaid hetkel kõige olulisema vea, kus YouTube'i video andmeid ei õnnestunud laadida.
Me oleme teadlikud ka muudest vigadest ning nendega tegeleme hiljem.

View file

@ -0,0 +1,2 @@
Lisasime hiljutiste videote kuvamise media.ccc.de teenusele.
Lisasime otseetris olevad videovood to media.ccc.de teenusele ning otseetri toe.

View file

@ -0,0 +1 @@
مشکل عدم نمایش پخش‌زنده برطرف شد

View file

@ -0,0 +1,13 @@
Amélioré
• Rendre la description de la playlist cliquable pour afficher plus / moins de contenu
• [PeerTube] Gérer automatiquement les liens d'instance `subscribeto.me`
• Ne commencer à lire qu'un seul élément dans l'écran d'historique
Corrigé
• Correction de la visibilité du bouton RSS
• Correction des plantages de l'aperçu de la barre de recherche
• Correction de la mise en playlist d'un élément sans vignette
• Correction de la sortie de la boîte de dialogue de téléchargement avant qu'elle n'apparaisse
• Correction de la fenêtre contextuelle de mise en file d'attente de la liste des éléments associés
• Correction de l'ordre dans la boîte de dialogue d'ajout à la playlist
• Ajuster la disposition des éléments de signet de la playlist

View file

@ -0,0 +1,6 @@
Amélioré
• Toujours autoriser la modification des préférences de notification du lecteur sur Android 13+
Corrigé
• Correction de l'exportation de la base de données / des abonnements qui ne tronquait pas un fichier déjà existant, ce qui pouvait conduire à une exportation corrompue
• Correction de la reprise de lecture depuis le début en cliquant sur un horodatage

View file

@ -0,0 +1 @@
Correction de YouTube qui ne lisait aucun média

View file

@ -0,0 +1,8 @@
### Améliorations
- Import/export des paramètres #1333
- Réduction overdraw (amélioration des performances) #1371
- Petites améliorations du code #1375
- Ajout d'un popup RGPD #1420
### Corrections
- Téléchargeur : Correction d'un plantage lors du chargement de téléchargements inachevés de fichiers .giga #1407

View file

@ -18,5 +18,5 @@ Corrigé
• Correction du téléchargement sur la carte SD qui échoue car certains appareils Android 5 ne sont pas conformes CTF
• Correction du téléchargement sur Android KitKat
• Correction du fichier vidéo .mp4 corrompu reconnu comme fichier audio
• Correction de la localisation multiple problèmes, notamment des codes de langue chinois erronés
• Correction de plusieurs problèmes de localisation, y compris des codes de langue chinois erronés
• [YouTube] Les horodatages dans la description sont à nouveau cliquables

View file

@ -0,0 +1,4 @@
Correction de YouTube ne lisant aucun flux à cause d'erreurs HTTP 403.
Les erreurs HTTP 403 occasionnelles au milieu d'une vidéo YouTube ne sont pas encore corrigées.
Ce problème sera traité dans un autre correctif dès que possible.

View file

@ -0,0 +1,12 @@
Ce correctif corrige les erreurs HTTP 403 au milieu des vidéos YouTube.
Nouveau
• [SoundCloud] Ajout de la prise en charge des URL on.soundcloud.com
Amélioré
• [Bandcamp] Afficher des informations supplémentaires dans le kiosque radio
Corrigé
• [YouTube] Correction des erreurs HTTP 403 occasionnelles au début ou au milieu des vidéos
• [YouTube] Extraction de l'avatar et de la bannière de plus de types d'en-têtes de chaînes
• [Bandcamp] Correction de divers bugs et utilisation systématique de HTTPS

View file

@ -0,0 +1 @@
תוקנה התקלה ש־YouTube לא מנגן אף תזרים

View file

@ -0,0 +1 @@
फिक्स्ड YouTube कोई स्ट्रीम नहीं चला रहा है

View file

@ -0,0 +1,13 @@
Fejlesztés
• A lejátszási lista leírása kattinthatóvá vált, hogy több/kevesebb tartalom jelenjen meg
• [PeerTube] Automatikusan kezeli a „subscribeto.me” példány linkjeit
• Az előzmények közül egyszerre csak egy kerül lejátszásra
Javítva
• RSS gomb láthatósága
• Keresősáv előnézet fagyások
• Bélyegkép nélküli videó is hozzáadható a listához
• A letöltésből idő előtti kilépés
• A listához kapcsolódó elemek felugró panelje
• A listához való hozzáadás panel sorrendje
• A lejátszólista könyvjelző elemének elrendezése

View file

@ -0,0 +1,6 @@
Fejlesztés
• Mindig engedélyezi a lejátszó értesítési beállításainak módosítását Android 13+ rendszeren
Javítások
• Az adatbázis/feliratkozások exportálása nem vágja le a már létező fájlt, ami esetleg sérült exportáláshoz vezethetne
• Egy időbélyegzőre nyomva a lejátszás folytatása nem a videó elejétől indul

View file

@ -0,0 +1,4 @@
Javítva: a YouTube-ról nem játszik le semmilyen streamet.
Ez a kiadás csak a legsürgősebb hibát kezeli, ami megakadályozza a YouTube-videó részleteinek betöltését.
Tisztában vagyunk azzal, hogy vannak más problémák is, és hamarosan külön kiadást készítünk ezek megoldására.

View file

@ -0,0 +1,4 @@
Javítva: a YouTube-ról nem játszik le semmilyen streamet.
Ez a kiadás csak a legsürgősebb hibát kezeli, ami megakadályozza a YouTube-videó részleteinek betöltését.
Tisztában vagyunk azzal, hogy vannak más problémák is, és hamarosan külön kiadást készítünk ezek megoldására.

View file

@ -1,4 +1,4 @@
# v0.13.7 változásnaplója
# Változásnapló v0.13.7
### Javítva
- v0.13.6a szűrés javítása

View file

@ -2,9 +2,9 @@
* App frissítések értesítés hozzáadása a GitHub verzióhoz (#1608 @krtkush jóvoltából)
* Különféle javítások a letöltőhöz (#1944 @kapodamy jóvoltából):
* hiányzó fehér gombok pótlása és ikon színek módosítása
* megbizonyosodni arról, hogy az iterátor kezdésre kész e (fixes #2031)
* megbizonyosodni arról, hogy az iterátor kezdésre kész-e (fixes #2031)
* az új muxer lehetővé teszi az újbóli letöltés próbálkozást az "sikertelen utómunkálat" hiba esetén
* az új MPEG-4 muxer javítja ha a videó és hang nincs szinkronban (#2039)
### Javítás
* YouTube élő steam-el leállnak egy idő után (#1996 @yausername jóvoltából)
* YouTube élő streamek leállnak egy idő után (#1996 @yausername jóvoltából)

View file

@ -19,5 +19,5 @@
<li>scroll javítása kikapcsolt kommentek és streamek esetében</li>
<li>CheckForNewAppVersionTask elindul amikor nem kéne javítása</li>
<li>youtube feliratkozó import javítása: hibás URL címek figyelmen kívül hagyása, üres címmel ellátottak megtartása</li>
<li>helytelen youtube url cím javítása: aláírás tag név név nem mindig "aláírás", mely megakadályozza a videók betöltését</li>
<li>helytelen youtube url javítása: aláírás címke neve nem mindig "aláírás", mely megakadályozza a videók betöltését</li>
</ul>

View file

@ -9,14 +9,14 @@ Letöltő Downloader javítások #2149
Fejlesztések
• gema string-ek eltávolítása #2295
• gema stringek eltávolítása #2295
• Auto-elforgatás használat változások életciklus aktivitás közben #2444
• Hosszúnyomós menük konzisztensebb viselkedése #2368
• Hosszan nyomós menük konzisztensebb viselkedése #2368
Javítás
Kiválasztott felirat neve nem látszódásának javítása #2394
Javítva, a kiválasztott feliratsáv neve nem jelenik meg #2394
• Ha nem sikerül a frissítés keresése, nem omlik össze (GitHub version) #2423
• Letöltés nem akad meg 99,9%-nál #2440
• Lejátszási lista metaadatainak frissítése #2453
• [SoundCloud] Lejátszásilista betöltésnél levő összeomlás javítása TeamNewPipe/NewPipeExtractor#170
• [SoundCloud] Lejátszási lista betöltésnél levő összeomlás javítása TeamNewPipe/NewPipeExtractor#170
• [YouTube] Nem kielemezhető a videó hossza javítva TeamNewPipe/NewPipeExtractor#177

View file

@ -1,7 +1,7 @@
Változások a 0.17.1-ban
Új
• Tháj fordítás
• Thai fordítás
Fejlesztések
@ -32,7 +32,7 @@ Letöltő Javítások #2149
Fejlesztések
• Gema string-ek eltávolítása #2295
• Munkamenet közbeni (auto)elforgatás változtatások #2444
• Hosszúnyomás menük konzisztensebbek #2368
• Hosszan nyomandó menük konzisztensebbek #2368
Javítások
• Egyes felirat nevek nem jelentek meg #2394

View file

@ -9,6 +9,6 @@ Javítások
• [SoundCloud] client_id kivonása fixálva #2745
Fejlesztés
• Hiányzó összefüggések poótlása melyek a NewPipeExtractor-ból jönnek a NewPipe rendszerbe #2535
• Hiányzó összefüggések pótlása melyek a NewPipeExtractorból jönnek a NewPipe rendszerbe #2535
• Migráció AndroidX-be #2685
• Frissítés ExoPlayer 2.10.6 #2697, #2736

View file

@ -1,5 +1,5 @@
Új
indexkép mutatása a lezárt képernyőn ha a háttérben fut
Bélyegkép mutatása a lezárt képernyőn ha a háttérben fut
Fejlesztések
• Háttér hosszú nyomásánál vagy felugró gombnál hozzáadja a helyi lejátszólistát

View file

@ -1,9 +1,9 @@
• Új app workflow: videók lejátszása a részletes oldalon, és lehúzva minimalizálja a lejátszót
• MediaStílus értesítések: MediaStyle notifications: customizable actions in notifications, performance improvements
basic resizing when using NewPipe as desktop app
• MediaStílus értesítések: testre szabható műveletek az értesítésekben, teljesítmény javítások
Alapvető átméretezés amikor a NewPipe mint asztali alkalmazás fut
show dialog with open options in case of an unsupported URL toast
Improve search suggestion experience when remote ones can't be fetched
Increased default video quality to 720p60 (in-app player) and 480p (pop-up player)
Ablak szabad beállításokkal ha esetleg nem támogatott URL toast üzenet jelenik meg
Keresési ajánlatok feljavítása amikor a távoliak nem elérhetőek
Alap lejátszó minőség megemelve 720p60-re (belső lejátszó) és 480p-re (felugró lejátszó)
tons of bug fixes and more
Egy tonna hibajavítás és egyéb

View file

@ -0,0 +1,3 @@
[YouTube] Keresés fixálása egyes felhasználók számára
[YouTube] Véletlen előforduló dekódoló kivételek fixálása
[SoundCloud] Megfelelően kerülnek feldolgozásra azon címek amelyek per jelre végződnek

Some files were not shown because too many files have changed in this diff Show more