mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-09-22 10:00:55 +02:00
Compare commits
95 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
88b29cbbf9 | ||
![]() |
51d4d0d3dc | ||
![]() |
a482aa1e21 | ||
![]() |
040b38689d | ||
![]() |
8e8e53c4d5 | ||
![]() |
d717c6d2f6 | ||
![]() |
9587ce97a8 | ||
![]() |
aaaf573475 | ||
![]() |
6c6f322d90 | ||
![]() |
c03f0ed1fb | ||
![]() |
55287393be | ||
![]() |
9575f92165 | ||
![]() |
a5cbaad804 | ||
![]() |
f492414b5e | ||
![]() |
3e6ddf7176 | ||
![]() |
29ffb05653 | ||
![]() |
50c3ee2e9c | ||
![]() |
6292470677 | ||
![]() |
8d912f2673 | ||
![]() |
227d129c3a | ||
![]() |
d9eeb6afa0 | ||
![]() |
478aecb0f4 | ||
![]() |
abb82154c9 | ||
![]() |
03c8b6b5f5 | ||
![]() |
2281300165 | ||
![]() |
84068d101b | ||
![]() |
62020fa85b | ||
![]() |
3c8bf5ccc9 | ||
![]() |
71d5762be8 | ||
![]() |
65d5358366 | ||
![]() |
6ecdfaf19e | ||
![]() |
32bd6ae1ac | ||
![]() |
92231a1e26 | ||
![]() |
38ad4dc440 | ||
![]() |
6645a47b0e | ||
![]() |
75a2d20b0b | ||
![]() |
8c15d708e6 | ||
![]() |
539b7ad87b | ||
![]() |
fc7c2c9f5a | ||
![]() |
3cd760f654 | ||
![]() |
2ec0a5d003 | ||
![]() |
1a605e814b | ||
![]() |
fe0053a15d | ||
![]() |
014f3e5aff | ||
![]() |
4a25e3b644 | ||
![]() |
e7f59bc436 | ||
![]() |
488d1ccd5a | ||
![]() |
409b36c254 | ||
![]() |
b0e567dbfa | ||
![]() |
c6086ba281 | ||
![]() |
aede925351 | ||
![]() |
9d38c66510 | ||
![]() |
0c516189c3 | ||
![]() |
c2936ea289 | ||
![]() |
dc33460a34 | ||
![]() |
ffacc93b55 | ||
![]() |
74f0ee2718 | ||
![]() |
7189791d9f | ||
![]() |
dc18d53c8f | ||
![]() |
f71ef8e130 | ||
![]() |
6eec9d8993 | ||
![]() |
9560f98359 | ||
![]() |
217433bf69 | ||
![]() |
ff5db1b939 | ||
![]() |
455a46d3ad | ||
![]() |
039a879104 | ||
![]() |
dfba9ea53b | ||
![]() |
177cce5e8f | ||
![]() |
309d36260e | ||
![]() |
bdc73eb755 | ||
![]() |
0786750eb9 | ||
![]() |
9f5d921275 | ||
![]() |
8991b2d8e3 | ||
![]() |
79dffce59b | ||
![]() |
e0301a621b | ||
![]() |
1e4361abdc | ||
![]() |
80c26fd278 | ||
![]() |
3339531086 | ||
![]() |
07ad9fbb11 | ||
![]() |
6ddc581d76 | ||
![]() |
dfe94172aa | ||
![]() |
edb632f9c7 | ||
![]() |
7f73612b9f | ||
![]() |
7f130f18b6 | ||
![]() |
d05a4c53aa | ||
![]() |
d99a9b90a0 | ||
![]() |
f311225312 | ||
![]() |
dee17fc313 | ||
![]() |
0662538d60 | ||
![]() |
5b52ad91ac | ||
![]() |
8552c41bff | ||
![]() |
7ecd298285 | ||
![]() |
2546f515d1 | ||
![]() |
8804924d27 | ||
![]() |
e410cae141 |
1
.github/CONTRIBUTING.md
vendored
1
.github/CONTRIBUTING.md
vendored
@@ -12,6 +12,7 @@ Do not report crashes in the GitHub issue tracker. NewPipe has an automated cras
|
||||
* Search the [existing issues](https://github.com/theScrabi/NewPipe/issues) first to make sure your issue/feature hasn't been reported/requested before
|
||||
* Check if this issue/feature is already fixed/implemented in the repository
|
||||
* If you are an android/java developer you are always welcome to fix/implement an issue/a feature yourself
|
||||
* Use english
|
||||
|
||||
## Bugfixing
|
||||
* If you want to help NewPipe getting bug free, you can send me a mail to tnp@newpipe.schabi.org to let me know that you intent to help, and than register at our [sentry](https://support.schabi.org) setup.
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -9,3 +9,4 @@
|
||||
/*.iml
|
||||
gradle.properties
|
||||
*~
|
||||
.weblate
|
||||
|
@@ -8,8 +8,8 @@ android {
|
||||
applicationId "org.schabi.newpipe"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 25
|
||||
versionCode 34
|
||||
versionName "0.9.7"
|
||||
versionCode 35
|
||||
versionName "0.9.8"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,9 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v7.app.ActionBar;
|
||||
@@ -33,13 +35,9 @@ import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import org.schabi.newpipe.download.DownloadActivity;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
import org.schabi.newpipe.fragments.MainFragment;
|
||||
import org.schabi.newpipe.fragments.OnItemSelectedListener;
|
||||
import org.schabi.newpipe.fragments.channel.ChannelFragment;
|
||||
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
|
||||
import org.schabi.newpipe.fragments.search.SearchFragment;
|
||||
import org.schabi.newpipe.settings.SettingsActivity;
|
||||
@@ -48,7 +46,7 @@ import org.schabi.newpipe.util.NavigationHelper;
|
||||
import org.schabi.newpipe.util.PermissionHelper;
|
||||
import org.schabi.newpipe.util.ThemeHelper;
|
||||
|
||||
public class MainActivity extends AppCompatActivity implements OnItemSelectedListener {
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
private static final String TAG = "MainActivity";
|
||||
public static final boolean DEBUG = false;
|
||||
|
||||
@@ -71,6 +69,19 @@ public class MainActivity extends AppCompatActivity implements OnItemSelectedLis
|
||||
setSupportActionBar(toolbar);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
if (sharedPreferences.getBoolean(Constants.KEY_THEME_CHANGE, false)) {
|
||||
if (DEBUG) Log.d(TAG, "Theme has changed, recreating activity...");
|
||||
sharedPreferences.edit().putBoolean(Constants.KEY_THEME_CHANGE, false).apply();
|
||||
this.recreate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
if (DEBUG) Log.d(TAG, "onNewIntent() called with: intent = [" + intent + "]");
|
||||
@@ -89,10 +100,16 @@ public class MainActivity extends AppCompatActivity implements OnItemSelectedLis
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (DEBUG) Log.d(TAG, "onBackPressed() called");
|
||||
|
||||
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
|
||||
if (fragment instanceof VideoDetailFragment) if (((VideoDetailFragment) fragment).onActivityBackPressed()) return;
|
||||
|
||||
super.onBackPressed();
|
||||
|
||||
fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() == 0 && !(fragment instanceof MainFragment)) {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
@@ -134,7 +151,8 @@ public class MainActivity extends AppCompatActivity implements OnItemSelectedLis
|
||||
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
|
||||
if (fragment instanceof VideoDetailFragment) ((VideoDetailFragment) fragment).clearHistory();
|
||||
|
||||
NavigationHelper.openMainActivity(this);
|
||||
getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
|
||||
NavigationHelper.openMainFragment(getSupportFragmentManager());
|
||||
return true;
|
||||
}
|
||||
case R.id.action_settings: {
|
||||
@@ -160,26 +178,9 @@ public class MainActivity extends AppCompatActivity implements OnItemSelectedLis
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
private void initFragments() {
|
||||
openMainFragment();
|
||||
if (getIntent() != null && getIntent().hasExtra(Constants.KEY_URL)) {
|
||||
handleIntent(getIntent());
|
||||
}
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// OnItemSelectedListener
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@Override
|
||||
public void onItemSelected(StreamingService.LinkType linkType, int serviceId, String url, String name) {
|
||||
switch (linkType) {
|
||||
case STREAM:
|
||||
openVideoDetailFragment(serviceId, url, name, false);
|
||||
break;
|
||||
case CHANNEL:
|
||||
openChannelFragment(serviceId, url, name);
|
||||
break;
|
||||
}
|
||||
} else NavigationHelper.openMainFragment(getSupportFragmentManager());
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
@@ -187,96 +188,29 @@ public class MainActivity extends AppCompatActivity implements OnItemSelectedLis
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
private void handleIntent(Intent intent) {
|
||||
if (intent.hasExtra(Constants.KEY_THEME_CHANGE) && intent.getBooleanExtra(Constants.KEY_THEME_CHANGE, false)) {
|
||||
this.recreate();
|
||||
Intent setI = new Intent(this, SettingsActivity.class);
|
||||
startActivity(setI);
|
||||
return;
|
||||
}
|
||||
if (DEBUG) Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]");
|
||||
|
||||
if (intent.hasExtra(Constants.KEY_LINK_TYPE)) {
|
||||
String url = intent.getStringExtra(Constants.KEY_URL);
|
||||
int serviceId = intent.getIntExtra(Constants.KEY_SERVICE_ID, 0);
|
||||
try {
|
||||
switch (((StreamingService.LinkType) intent.getSerializableExtra(Constants.KEY_LINK_TYPE))) {
|
||||
case STREAM:
|
||||
handleVideoDetailIntent(serviceId, url, intent);
|
||||
break;
|
||||
case CHANNEL:
|
||||
handleChannelIntent(serviceId, url, intent);
|
||||
break;
|
||||
case NONE:
|
||||
throw new Exception("Url not known to service. service=" + Integer.toString(serviceId) + " url=" + url);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
String title = intent.getStringExtra(Constants.KEY_TITLE);
|
||||
switch (((StreamingService.LinkType) intent.getSerializableExtra(Constants.KEY_LINK_TYPE))) {
|
||||
case STREAM:
|
||||
boolean autoPlay = intent.getBooleanExtra(VideoDetailFragment.AUTO_PLAY, false);
|
||||
NavigationHelper.openVideoDetailFragment(getSupportFragmentManager(), serviceId, url, title, autoPlay);
|
||||
break;
|
||||
case CHANNEL:
|
||||
NavigationHelper.openChannelFragment(getSupportFragmentManager(), serviceId, url, title);
|
||||
break;
|
||||
}
|
||||
} else if (intent.hasExtra(Constants.KEY_OPEN_SEARCH)) {
|
||||
String searchQuery = intent.getStringExtra(Constants.KEY_QUERY);
|
||||
if (searchQuery == null) searchQuery = "";
|
||||
int serviceId = intent.getIntExtra(Constants.KEY_SERVICE_ID, 0);
|
||||
openSearchFragment(serviceId, searchQuery);
|
||||
NavigationHelper.openSearchFragment(getSupportFragmentManager(), serviceId, searchQuery);
|
||||
} else {
|
||||
getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
|
||||
openMainFragment();//openSearchFragment();
|
||||
NavigationHelper.openMainFragment(getSupportFragmentManager());
|
||||
}
|
||||
}
|
||||
|
||||
private void openMainFragment() {
|
||||
ImageLoader.getInstance().clearMemoryCache();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, new MainFragment())
|
||||
.commit();
|
||||
}
|
||||
|
||||
private void openSearchFragment(int serviceId, String query) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, SearchFragment.getInstance(serviceId, query))
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
private void openVideoDetailFragment(int serviceId, String url, String title, boolean autoPlay) {
|
||||
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
|
||||
if (title == null) title = "";
|
||||
|
||||
if (fragment instanceof VideoDetailFragment && fragment.isVisible()) {
|
||||
VideoDetailFragment detailFragment = (VideoDetailFragment) fragment;
|
||||
detailFragment.setAutoplay(autoPlay);
|
||||
detailFragment.selectAndLoadVideo(serviceId, url, title);
|
||||
return;
|
||||
}
|
||||
|
||||
VideoDetailFragment instance = VideoDetailFragment.getInstance(serviceId, url, title);
|
||||
instance.setAutoplay(autoPlay);
|
||||
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, instance)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
private void openChannelFragment(int serviceId, String url, String name) {
|
||||
if (name == null) name = "";
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, ChannelFragment.getInstance(serviceId, url, name))
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
private void handleVideoDetailIntent(int serviceId, String url, Intent intent) {
|
||||
boolean autoPlay = intent.getBooleanExtra(VideoDetailFragment.AUTO_PLAY, false);
|
||||
String title = intent.getStringExtra(Constants.KEY_TITLE);
|
||||
openVideoDetailFragment(serviceId, url, title, autoPlay);
|
||||
}
|
||||
|
||||
private void handleChannelIntent(int serviceId, String url, Intent intent) {
|
||||
String name = intent.getStringExtra(Constants.KEY_TITLE);
|
||||
openChannelFragment(serviceId, url, name);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -33,26 +33,39 @@ import java.util.HashSet;
|
||||
* to the part of the service which can handle the url.
|
||||
*/
|
||||
public class RouterActivity extends Activity {
|
||||
//private static final String TAG = "RouterActivity"
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
String videoUrl = getUrl(getIntent());
|
||||
handleUrl(videoUrl);
|
||||
|
||||
finish();
|
||||
}
|
||||
|
||||
protected void handleUrl(String url) {
|
||||
try {
|
||||
NavigationHelper.openByLink(this, url);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(this, R.string.url_not_supported_toast, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Utils
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
/**
|
||||
* Removes invisible separators (\p{Z}) and punctuation characters including
|
||||
* brackets (\p{P}). See http://www.regular-expressions.info/unicode.html for
|
||||
* more details.
|
||||
*/
|
||||
private final static String REGEX_REMOVE_FROM_URL = "[\\p{Z}\\p{P}]";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
handleIntent(getIntent());
|
||||
finish();
|
||||
}
|
||||
|
||||
private void handleIntent(Intent intent) {
|
||||
String videoUrl = "";
|
||||
protected final static String REGEX_REMOVE_FROM_URL = "[\\p{Z}\\p{P}]";
|
||||
|
||||
protected String getUrl(Intent intent) {
|
||||
// first gather data and find service
|
||||
String videoUrl = null;
|
||||
if (intent.getData() != null) {
|
||||
// this means the video was called though another app
|
||||
videoUrl = intent.getData().toString();
|
||||
@@ -62,14 +75,10 @@ public class RouterActivity extends Activity {
|
||||
videoUrl = getUris(extraText)[0];
|
||||
}
|
||||
|
||||
try {
|
||||
NavigationHelper.openByLink(this, videoUrl);
|
||||
} catch (Exception e) {
|
||||
Toast.makeText(this, R.string.url_not_supported_toast, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
return videoUrl;
|
||||
}
|
||||
|
||||
private static String removeHeadingGibberish(final String input) {
|
||||
protected String removeHeadingGibberish(final String input) {
|
||||
int start = 0;
|
||||
for (int i = input.indexOf("://") - 1; i >= 0; i--) {
|
||||
if (!input.substring(i, i + 1).matches("\\p{L}")) {
|
||||
@@ -80,7 +89,7 @@ public class RouterActivity extends Activity {
|
||||
return input.substring(start, input.length());
|
||||
}
|
||||
|
||||
private static String trim(final String input) {
|
||||
protected String trim(final String input) {
|
||||
if (input == null || input.length() < 1) {
|
||||
return input;
|
||||
} else {
|
||||
@@ -103,7 +112,7 @@ public class RouterActivity extends Activity {
|
||||
* @param sharedText text to scan for URLs.
|
||||
* @return potential URLs
|
||||
*/
|
||||
private String[] getUris(final String sharedText) {
|
||||
protected String[] getUris(final String sharedText) {
|
||||
final Collection<String> result = new HashSet<>();
|
||||
if (sharedText != null) {
|
||||
final String[] array = sharedText.split("\\p{Space}");
|
||||
|
@@ -1,9 +1,7 @@
|
||||
package org.schabi.newpipe;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.schabi.newpipe.extractor.NewPipe;
|
||||
@@ -12,57 +10,26 @@ import org.schabi.newpipe.player.PopupVideoPlayer;
|
||||
import org.schabi.newpipe.util.Constants;
|
||||
import org.schabi.newpipe.util.PermissionHelper;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* This activity is thought to open video streams form an external app using the popup player.
|
||||
* Get the url from the intent and open a popup player
|
||||
*/
|
||||
public class RouterPopupActivity extends Activity {
|
||||
//private static final String TAG = "RouterPopupActivity";
|
||||
|
||||
/**
|
||||
* Removes invisible separators (\p{Z}) and punctuation characters including
|
||||
* brackets (\p{P}). See http://www.regular-expressions.info/unicode.html for
|
||||
* more details.
|
||||
*/
|
||||
private final static String REGEX_REMOVE_FROM_URL = "[\\p{Z}\\p{P}]";
|
||||
public class RouterPopupActivity extends RouterActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
handleIntent(getIntent());
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
private void handleIntent(Intent intent) {
|
||||
protected void handleUrl(String url) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
&& !PermissionHelper.checkSystemAlertWindowPermission(this)) {
|
||||
Toast.makeText(this, R.string.msg_popup_permission, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
String videoUrl = "";
|
||||
StreamingService service;
|
||||
|
||||
// first gather data and find service
|
||||
if (intent.getData() != null) {
|
||||
// this means the video was called though another app
|
||||
videoUrl = intent.getData().toString();
|
||||
} else if (intent.getStringExtra(Intent.EXTRA_TEXT) != null) {
|
||||
//this means that vidoe was called through share menu
|
||||
String extraText = intent.getStringExtra(Intent.EXTRA_TEXT);
|
||||
videoUrl = getUris(extraText)[0];
|
||||
}
|
||||
|
||||
service = NewPipe.getServiceByUrl(videoUrl);
|
||||
StreamingService service = NewPipe.getServiceByUrl(url);
|
||||
if (service == null) {
|
||||
Toast.makeText(this, R.string.url_not_supported_toast, Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
|
||||
Intent callIntent = new Intent(this, PopupVideoPlayer.class);
|
||||
switch (service.getLinkTypeByUrl(videoUrl)) {
|
||||
switch (service.getLinkTypeByUrl(url)) {
|
||||
case STREAM:
|
||||
break;
|
||||
default:
|
||||
@@ -70,61 +37,8 @@ public class RouterPopupActivity extends Activity {
|
||||
return;
|
||||
}
|
||||
|
||||
callIntent.putExtra(Constants.KEY_URL, videoUrl);
|
||||
callIntent.putExtra(Constants.KEY_URL, url);
|
||||
callIntent.putExtra(Constants.KEY_SERVICE_ID, service.getServiceId());
|
||||
startService(callIntent);
|
||||
}
|
||||
|
||||
private static String removeHeadingGibberish(final String input) {
|
||||
int start = 0;
|
||||
for (int i = input.indexOf("://") - 1; i >= 0; i--) {
|
||||
if (!input.substring(i, i + 1).matches("\\p{L}")) {
|
||||
start = i + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return input.substring(start, input.length());
|
||||
}
|
||||
|
||||
private static String trim(final String input) {
|
||||
if (input == null || input.length() < 1) {
|
||||
return input;
|
||||
} else {
|
||||
String output = input;
|
||||
while (output.length() > 0 && output.substring(0, 1).matches(REGEX_REMOVE_FROM_URL)) {
|
||||
output = output.substring(1);
|
||||
}
|
||||
while (output.length() > 0
|
||||
&& output.substring(output.length() - 1, output.length()).matches(REGEX_REMOVE_FROM_URL)) {
|
||||
output = output.substring(0, output.length() - 1);
|
||||
}
|
||||
return output;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all Strings which look remotely like URLs from a text.
|
||||
* Used if NewPipe was called through share menu.
|
||||
*
|
||||
* @param sharedText text to scan for URLs.
|
||||
* @return potential URLs
|
||||
*/
|
||||
private String[] getUris(final String sharedText) {
|
||||
final Collection<String> result = new HashSet<>();
|
||||
if (sharedText != null) {
|
||||
final String[] array = sharedText.split("\\p{Space}");
|
||||
for (String s : array) {
|
||||
s = trim(s);
|
||||
if (s.length() != 0) {
|
||||
if (s.matches(".+://.+")) {
|
||||
result.add(removeHeadingGibberish(s));
|
||||
} else if (s.matches(".+\\..+")) {
|
||||
result.add("http://" + s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result.toArray(new String[result.size()]);
|
||||
}
|
||||
|
||||
}
|
||||
|
Submodule app/src/main/java/org/schabi/newpipe/extractor updated: 5907c35dfb...ab530381cf
@@ -33,7 +33,6 @@ public abstract class BaseFragment extends Fragment {
|
||||
protected static final boolean DEBUG = MainActivity.DEBUG;
|
||||
|
||||
protected AppCompatActivity activity;
|
||||
protected OnItemSelectedListener onItemSelectedListener;
|
||||
|
||||
protected AtomicBoolean isLoading = new AtomicBoolean(false);
|
||||
protected AtomicBoolean wasLoading = new AtomicBoolean(false);
|
||||
@@ -64,7 +63,6 @@ public abstract class BaseFragment extends Fragment {
|
||||
if (DEBUG) Log.d(TAG, "onAttach() called with: context = [" + context + "]");
|
||||
|
||||
activity = (AppCompatActivity) context;
|
||||
onItemSelectedListener = (OnItemSelectedListener) context;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -51,6 +51,7 @@ public class MainFragment extends Fragment {
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Menu
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
@@ -68,7 +69,7 @@ public class MainFragment extends Fragment {
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_search:
|
||||
NavigationHelper.openSearch(activity, 0, "");
|
||||
NavigationHelper.openSearchFragment(getFragmentManager(), 0, "");
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
@@ -1,10 +0,0 @@
|
||||
package org.schabi.newpipe.fragments;
|
||||
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
|
||||
/**
|
||||
* Interface for communication purposes between activity and fragment
|
||||
*/
|
||||
public interface OnItemSelectedListener {
|
||||
void onItemSelected(StreamingService.LinkType linkType, int serviceId, String url, String name);
|
||||
}
|
@@ -240,7 +240,7 @@ public class ChannelFragment extends BaseFragment implements ChannelExtractorWor
|
||||
@Override
|
||||
public void selected(int serviceId, String url, String title) {
|
||||
if (DEBUG) Log.d(TAG, "selected() called with: serviceId = [" + serviceId + "], url = [" + url + "], title = [" + title + "]");
|
||||
NavigationHelper.openVideoDetail(onItemSelectedListener, serviceId, url, title);
|
||||
NavigationHelper.openVideoDetailFragment(getFragmentManager(), serviceId, url, title);
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -314,7 +314,7 @@ public class VideoDetailFragment extends BaseFragment implements StreamExtractor
|
||||
switch (requestCode) {
|
||||
case ReCaptchaActivity.RECAPTCHA_REQUEST:
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
NavigationHelper.openVideoDetail(onItemSelectedListener, serviceId, videoUrl, videoTitle);
|
||||
NavigationHelper.openVideoDetailFragment(getFragmentManager(), serviceId, videoUrl, videoTitle);
|
||||
} else Log.e(TAG, "ReCaptcha failed");
|
||||
break;
|
||||
default:
|
||||
@@ -354,7 +354,7 @@ public class VideoDetailFragment extends BaseFragment implements StreamExtractor
|
||||
openInPopup();
|
||||
break;
|
||||
case R.id.detail_uploader_button:
|
||||
NavigationHelper.openChannel(onItemSelectedListener, currentStreamInfo.service_id, currentStreamInfo.channel_url, currentStreamInfo.uploader);
|
||||
NavigationHelper.openChannelFragment(getFragmentManager(), currentStreamInfo.service_id, currentStreamInfo.channel_url, currentStreamInfo.uploader);
|
||||
break;
|
||||
case R.id.detail_thumbnail_background_button:
|
||||
playVideo(currentStreamInfo);
|
||||
|
@@ -224,13 +224,13 @@ public class SearchFragment extends BaseFragment implements SuggestionWorker.OnS
|
||||
infoListAdapter.setOnStreamInfoItemSelectedListener(new InfoItemBuilder.OnInfoItemSelectedListener() {
|
||||
@Override
|
||||
public void selected(int serviceId, String url, String title) {
|
||||
NavigationHelper.openVideoDetail(onItemSelectedListener, serviceId, url, title);
|
||||
NavigationHelper.openVideoDetailFragment(getFragmentManager(), serviceId, url, title);
|
||||
}
|
||||
});
|
||||
infoListAdapter.setOnChannelInfoItemSelectedListener(new InfoItemBuilder.OnInfoItemSelectedListener() {
|
||||
@Override
|
||||
public void selected(int serviceId, String url, String title) {
|
||||
NavigationHelper.openChannel(onItemSelectedListener, serviceId, url, title);
|
||||
NavigationHelper.openChannelFragment(getFragmentManager(), serviceId, url, title);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -389,7 +389,7 @@ public class SearchFragment extends BaseFragment implements SuggestionWorker.OnS
|
||||
public void onClick(View v) {
|
||||
if (DEBUG) Log.d(TAG, "onClick() called with: v = [" + v + "]");
|
||||
if (TextUtils.isEmpty(searchEditText.getText())) {
|
||||
NavigationHelper.openMainActivity(activity);
|
||||
NavigationHelper.openMainFragment(getFragmentManager());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -286,15 +286,13 @@ public class BackgroundPlayer extends Service {
|
||||
public void onPrepared(boolean playWhenReady) {
|
||||
super.onPrepared(playWhenReady);
|
||||
if (simpleExoPlayer.getDuration() < 15000) {
|
||||
PROGRESS_LOOP_INTERVAL = 1000;
|
||||
FAST_FORWARD_REWIND_AMOUNT = 2000;
|
||||
} else if (simpleExoPlayer.getDuration() > 60 * 60 * 1000) {
|
||||
PROGRESS_LOOP_INTERVAL = 2000;
|
||||
FAST_FORWARD_REWIND_AMOUNT = 60000;
|
||||
} else {
|
||||
PROGRESS_LOOP_INTERVAL = 2000;
|
||||
FAST_FORWARD_REWIND_AMOUNT = 10000;
|
||||
}
|
||||
PROGRESS_LOOP_INTERVAL = 1000;
|
||||
basePlayerImpl.getPlayer().setVolume(1f);
|
||||
}
|
||||
|
||||
@@ -323,6 +321,7 @@ public class BackgroundPlayer extends Service {
|
||||
public void onUpdateProgress(int currentProgress, int duration, int bufferPercent) {
|
||||
if (bigNotRemoteView != null) bigNotRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false);
|
||||
if (notRemoteView != null) notRemoteView.setProgressBar(R.id.notificationProgressBar, duration, currentProgress, false);
|
||||
if (bigNotRemoteView != null) bigNotRemoteView.setTextViewText(R.id.notificationTime, getTimeString(currentProgress) + " / " + getTimeString(duration));
|
||||
updateNotification(-1);
|
||||
}
|
||||
|
||||
@@ -452,4 +451,4 @@ public class BackgroundPlayer extends Service {
|
||||
releaseWifiAndCpu();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -263,6 +263,7 @@ public class PopupVideoPlayer extends Service {
|
||||
i.putExtra(Constants.KEY_TITLE, videoTitle);
|
||||
i.putExtra(Constants.KEY_LINK_TYPE, StreamingService.LinkType.STREAM);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||
context.startActivity(i);
|
||||
context.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
|
||||
}
|
||||
|
@@ -49,7 +49,7 @@ public class SettingsActivity extends AppCompatActivity {
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
actionBar.setTitle(R.string.settings_title);
|
||||
actionBar.setTitle(R.string.settings);
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
}
|
||||
|
||||
|
@@ -69,7 +69,7 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
|
||||
Log.d("TAG", "onPreferenceTreeClick() called with: preferenceScreen = [" + preferenceScreen + "], preference = [" + preference + "]");
|
||||
if (MainActivity.DEBUG) Log.d("TAG", "onPreferenceTreeClick() called with: preferenceScreen = [" + preferenceScreen + "], preference = [" + preference + "]");
|
||||
if (preference.getKey().equals(DOWNLOAD_PATH_PREFERENCE) || preference.getKey().equals(DOWNLOAD_PATH_AUDIO_PREFERENCE)) {
|
||||
Intent i = new Intent(activity, FilePickerActivity.class)
|
||||
.putExtra(FilePickerActivity.EXTRA_ALLOW_MULTIPLE, false)
|
||||
@@ -87,7 +87,7 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
Log.d("TAG", "onActivityResult() called with: requestCode = [" + requestCode + "], resultCode = [" + resultCode + "], data = [" + data + "]");
|
||||
if (MainActivity.DEBUG) Log.d("TAG", "onActivityResult() called with: requestCode = [" + requestCode + "], resultCode = [" + resultCode + "], data = [" + data + "]");
|
||||
|
||||
if ((requestCode == REQUEST_DOWNLOAD_PATH || requestCode == REQUEST_DOWNLOAD_AUDIO_PATH) && resultCode == Activity.RESULT_OK) {
|
||||
String key = getString(requestCode == REQUEST_DOWNLOAD_PATH ? R.string.download_path_key : R.string.download_path_audio_key);
|
||||
@@ -101,7 +101,7 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Update ONLY the summary of some preferences that don't fire in the onSharedPreferenceChanged or CAN'T be update via xml (%s)
|
||||
*
|
||||
* For example, the download_path use the startActivityForResult, firing the onStop of this fragment,
|
||||
@@ -114,7 +114,7 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
Log.d("TAG", "onSharedPreferenceChanged() called with: sharedPreferences = [" + sharedPreferences + "], key = [" + key + "]");
|
||||
if (MainActivity.DEBUG) Log.d("TAG", "onSharedPreferenceChanged() called with: sharedPreferences = [" + sharedPreferences + "], key = [" + key + "]");
|
||||
String summary = null;
|
||||
|
||||
if (key.equals(USE_TOR_KEY)) {
|
||||
@@ -131,10 +131,10 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
|
||||
} else if (key.equals(THEME)) {
|
||||
summary = sharedPreferences.getString(THEME, getString(R.string.default_theme_value));
|
||||
if (!summary.equals(currentTheme)) { // If it's not the current theme
|
||||
Intent intentToMain = new Intent(activity, MainActivity.class);
|
||||
intentToMain.putExtra(Constants.KEY_THEME_CHANGE, true);
|
||||
startActivity(intentToMain);
|
||||
getActivity().recreate();
|
||||
}
|
||||
|
||||
defaultPreferences.edit().putBoolean(Constants.KEY_THEME_CHANGE, true).apply();
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(summary)) findPreference(key).setSummary(summary);
|
||||
|
@@ -3,6 +3,10 @@ package org.schabi.newpipe.util;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import org.schabi.newpipe.MainActivity;
|
||||
import org.schabi.newpipe.R;
|
||||
@@ -10,8 +14,10 @@ import org.schabi.newpipe.extractor.NewPipe;
|
||||
import org.schabi.newpipe.extractor.StreamingService;
|
||||
import org.schabi.newpipe.extractor.stream_info.AudioStream;
|
||||
import org.schabi.newpipe.extractor.stream_info.StreamInfo;
|
||||
import org.schabi.newpipe.fragments.OnItemSelectedListener;
|
||||
import org.schabi.newpipe.fragments.MainFragment;
|
||||
import org.schabi.newpipe.fragments.channel.ChannelFragment;
|
||||
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
|
||||
import org.schabi.newpipe.fragments.search.SearchFragment;
|
||||
import org.schabi.newpipe.player.BackgroundPlayer;
|
||||
import org.schabi.newpipe.player.BasePlayer;
|
||||
import org.schabi.newpipe.player.VideoPlayer;
|
||||
@@ -36,7 +42,6 @@ public class NavigationHelper {
|
||||
return mIntent;
|
||||
}
|
||||
|
||||
|
||||
public static Intent getOpenVideoPlayerIntent(Context context, Class targetClazz, VideoPlayer instance) {
|
||||
return new Intent(context, targetClazz)
|
||||
.putExtra(BasePlayer.VIDEO_TITLE, instance.getVideoTitle())
|
||||
@@ -66,31 +71,69 @@ public class NavigationHelper {
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Through Interface (faster)
|
||||
// Through FragmentManager
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
public static void openChannel(OnItemSelectedListener listener, int serviceId, String url) {
|
||||
openChannel(listener, serviceId, url, null);
|
||||
public static void openMainFragment(FragmentManager fragmentManager) {
|
||||
ImageLoader.getInstance().clearMemoryCache();
|
||||
fragmentManager.beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, new MainFragment())
|
||||
.commit();
|
||||
}
|
||||
|
||||
public static void openChannel(OnItemSelectedListener listener, int serviceId, String url, String name) {
|
||||
listener.onItemSelected(StreamingService.LinkType.CHANNEL, serviceId, url, name);
|
||||
public static void openSearchFragment(FragmentManager fragmentManager, int serviceId, String query) {
|
||||
fragmentManager.beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, SearchFragment.getInstance(serviceId, query))
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
public static void openVideoDetail(OnItemSelectedListener listener, int serviceId, String url) {
|
||||
openVideoDetail(listener, serviceId, url, null);
|
||||
public static void openVideoDetailFragment(FragmentManager fragmentManager, int serviceId, String url, String title) {
|
||||
openVideoDetailFragment(fragmentManager, serviceId, url, title, false);
|
||||
}
|
||||
|
||||
public static void openVideoDetail(OnItemSelectedListener listener, int serviceId, String url, String title) {
|
||||
listener.onItemSelected(StreamingService.LinkType.STREAM, serviceId, url, title);
|
||||
public static void openVideoDetailFragment(FragmentManager fragmentManager, int serviceId, String url, String title, boolean autoPlay) {
|
||||
Fragment fragment = fragmentManager.findFragmentById(R.id.fragment_holder);
|
||||
if (title == null) title = "";
|
||||
|
||||
if (fragment instanceof VideoDetailFragment && fragment.isVisible()) {
|
||||
VideoDetailFragment detailFragment = (VideoDetailFragment) fragment;
|
||||
detailFragment.setAutoplay(autoPlay);
|
||||
detailFragment.selectAndLoadVideo(serviceId, url, title);
|
||||
return;
|
||||
}
|
||||
|
||||
VideoDetailFragment instance = VideoDetailFragment.getInstance(serviceId, url, title);
|
||||
instance.setAutoplay(autoPlay);
|
||||
|
||||
fragmentManager.beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, instance)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
public static void openChannelFragment(FragmentManager fragmentManager, int serviceId, String url, String name) {
|
||||
if (name == null) name = "";
|
||||
fragmentManager.beginTransaction()
|
||||
.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
.replace(R.id.fragment_holder, ChannelFragment.getInstance(serviceId, url, name))
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
/*//////////////////////////////////////////////////////////////////////////
|
||||
// Through Intents
|
||||
//////////////////////////////////////////////////////////////////////////*/
|
||||
|
||||
public static void openByLink(Context context, String url) throws Exception {
|
||||
context.startActivity(getIntentByLink(context, url));
|
||||
public static void openSearch(Context context, int serviceId, String query) {
|
||||
Intent mIntent = new Intent(context, MainActivity.class);
|
||||
mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId);
|
||||
mIntent.putExtra(Constants.KEY_QUERY, query);
|
||||
mIntent.putExtra(Constants.KEY_OPEN_SEARCH, true);
|
||||
context.startActivity(mIntent);
|
||||
}
|
||||
|
||||
public static void openChannel(Context context, int serviceId, String url) {
|
||||
@@ -118,12 +161,12 @@ public class NavigationHelper {
|
||||
context.startActivity(mIntent);
|
||||
}
|
||||
|
||||
public static void openSearch(Context context, int serviceId, String query) {
|
||||
Intent mIntent = new Intent(context, MainActivity.class);
|
||||
mIntent.putExtra(Constants.KEY_SERVICE_ID, serviceId);
|
||||
mIntent.putExtra(Constants.KEY_QUERY, query);
|
||||
mIntent.putExtra(Constants.KEY_OPEN_SEARCH, true);
|
||||
context.startActivity(mIntent);
|
||||
public static void openByLink(Context context, String url) throws Exception {
|
||||
Intent intentByLink = getIntentByLink(context, url);
|
||||
if (intentByLink == null) throw new NullPointerException("getIntentByLink(context = [" + context + "], url = [" + url + "]) returned null");
|
||||
intentByLink.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intentByLink.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
context.startActivity(intentByLink);
|
||||
}
|
||||
|
||||
private static Intent getOpenIntent(Context context, String url, int serviceId, StreamingService.LinkType type) {
|
||||
@@ -147,8 +190,7 @@ public class NavigationHelper {
|
||||
case CHANNEL:
|
||||
return getOpenIntent(context, url, serviceId, StreamingService.LinkType.CHANNEL);
|
||||
case NONE:
|
||||
throw new Exception("Url not known to service. service="
|
||||
+ Integer.toString(serviceId) + " url=" + url);
|
||||
throw new Exception("Url not known to service. service=" + serviceId + " url=" + url);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -10,18 +10,16 @@ import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.IBinder;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import android.support.v7.widget.GridLayoutManager;
|
||||
import android.support.v7.widget.LinearLayoutManager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import org.schabi.newpipe.R;
|
||||
|
||||
import us.shandian.giga.get.DownloadManager;
|
||||
import us.shandian.giga.service.DownloadManagerService;
|
||||
import us.shandian.giga.ui.adapter.MissionAdapter;
|
||||
@@ -112,14 +110,16 @@ public abstract class MissionsFragment extends Fragment
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
||||
/*switch (item.getItemId()) {
|
||||
case R.id.switch_mode:
|
||||
mLinear = !mLinear;
|
||||
updateList();
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
public void notifyChange() {
|
||||
|
@@ -76,6 +76,20 @@
|
||||
tools:ignore="RtlHardcoded"
|
||||
tools:progress="52"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/notificationTime"
|
||||
style="@android:style/TextAppearance.StatusBar.EventContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:layout_alignTop="@+id/notificationProgressBar"
|
||||
android:layout_toRightOf="@+id/notificationCover"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textSize="12sp"
|
||||
tools:text="Duis posuere"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/notificationControls"
|
||||
android:layout_width="match_parent"
|
||||
@@ -88,17 +102,14 @@
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/notificationRepeat"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:background="#00000000"
|
||||
android:clickable="true"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="11dp"
|
||||
android:paddingRight="11dp"
|
||||
android:paddingTop="4dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_repeat_white"
|
||||
tools:ignore="ContentDescription"/>
|
||||
|
||||
@@ -242,4 +253,4 @@
|
||||
android:layout_alignParentLeft="true" />
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>-->
|
||||
</RelativeLayout>-->
|
||||
|
@@ -1,11 +0,0 @@
|
||||
<menu
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<item
|
||||
android:id="@+id/switch_mode"
|
||||
android:title="@string/switch_mode"
|
||||
android:icon="@drawable/list"
|
||||
app:showAsAction="always"/>
|
||||
|
||||
</menu>
|
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="background_player_name">مشغل NewPipe في الخلفية</string>
|
||||
<string name="background_player_playing_toast">جاري التشغيل في الخلفية</string>
|
||||
<string name="cancel">إلغاء</string>
|
||||
<string name="choose_browser">إختر متصفح</string>
|
||||
@@ -26,7 +25,6 @@
|
||||
<string name="kore_not_found">تطبيق Kore غير موجود. هل تريد تثبيته؟</string>
|
||||
<string name="light_theme_title">مضيء</string>
|
||||
<string name="list_thumbnail_view_description">صور معاينة الفيديو</string>
|
||||
<string name="loading">جاري التحميل</string>
|
||||
<string name="m4a_description">m4a — جودة أفضل</string>
|
||||
<string name="network_error">خطأ في الشبكة</string>
|
||||
<string name="next_video_title">الفيديو التالي</string>
|
||||
@@ -38,9 +36,7 @@
|
||||
<string name="screen_rotation">تدوير</string>
|
||||
<string name="search">بحث</string>
|
||||
<string name="search_language_title">لغة المحتوى المفضل</string>
|
||||
<string name="search_page">صفحة البحث:</string>
|
||||
<string name="settings">الإعدادات</string>
|
||||
<string name="settings_activity_title">الإعدادات</string>
|
||||
<string name="settings_category_appearance_title">المظهر</string>
|
||||
<string name="settings_category_other_title">تعريب JetSub مدونة درويديات</string>
|
||||
<string name="settings_category_video_audio_title">الفيديو والصوتيات</string>
|
||||
@@ -49,7 +45,6 @@
|
||||
<string name="show_next_and_similar_title">عرض التالي والفيديوهات المشابهة</string>
|
||||
<string name="show_play_with_kodi_summary">عرض خيار لتشغيل الفيديو بواسطة Kodi Media Center.</string>
|
||||
<string name="show_play_with_kodi_title">عرض خيار التشغيل بواسطة Kodi.</string>
|
||||
<string name="similar_videos_btn_text">الفيديوهات المشابهة</string>
|
||||
<string name="theme_title">الثيم</string>
|
||||
<string name="upload_date_text">تم الرفع في %1$s</string>
|
||||
<string name="url_not_supported_toast">الرابط غير مدعوم</string>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="main_bg_subtitle">Calca na gueta pa entamar</string>
|
||||
<string name="background_player_name">Reproductor de fondu NewPipe</string>
|
||||
<resources>
|
||||
<string name="main_bg_subtitle">Calca na gueta pa entamar</string>
|
||||
<string name="view_count_text">%1$s visiones</string>
|
||||
<string name="upload_date_text">Espublizáu\'l %1$s</string>
|
||||
<string name="no_player_found">Nun s\'alcontró un reproductor de fluxos. ¿Quies instalar VLC?</string>
|
||||
@@ -8,7 +8,6 @@
|
||||
<string name="cancel">Encaboxar</string>
|
||||
<string name="open_in_browser">Abrir nel restolador</string>
|
||||
<string name="share">Compartir</string>
|
||||
<string name="loading">Cargando</string>
|
||||
<string name="download">Baxar</string>
|
||||
<string name="search">Guetar</string>
|
||||
<string name="settings">Axustes</string>
|
||||
@@ -16,7 +15,6 @@
|
||||
<string name="share_dialog_title">Compartir con</string>
|
||||
<string name="choose_browser">Escoyer restolador</string>
|
||||
<string name="screen_rotation">rotación</string>
|
||||
<string name="settings_activity_title">Axustes</string>
|
||||
<string name="use_external_video_player_title">Usar reproductor de videu esternu</string>
|
||||
<string name="use_external_audio_player_title">Usar reproductor d\'audiu esternu</string>
|
||||
|
||||
@@ -45,7 +43,6 @@
|
||||
<string name="next_video_title">Videu siguiente</string>
|
||||
<string name="show_next_and_similar_title">Amosar vídeos siguientes y asemeyaos</string>
|
||||
<string name="url_not_supported_toast">URL non sofitada</string>
|
||||
<string name="similar_videos_btn_text">Vídeos asemeyaos</string>
|
||||
<string name="search_language_title">Llingua de conteníu preferíu</string>
|
||||
<string name="settings_category_video_audio_title">Videu y audiu</string>
|
||||
<string name="settings_category_appearance_title">Aspeutu</string>
|
||||
@@ -58,7 +55,6 @@
|
||||
<string name="duration_live">en direuto</string>
|
||||
<string name="downloads">Descargues</string>
|
||||
<string name="downloads_title">Descargues</string>
|
||||
<string name="settings_title">Axustes</string>
|
||||
<string name="error_report_title">Informe de fallu</string>
|
||||
|
||||
<string name="general_error">Fallu</string>
|
||||
@@ -78,8 +74,6 @@
|
||||
<string name="error_snackbar_action">INFORMAR</string>
|
||||
<string name="what_device_headline">Información:</string>
|
||||
<string name="what_happened_headline">Qué asocedió:</string>
|
||||
<string name="info_searched_lbl">Guetóse:</string>
|
||||
<string name="info_requested_stream_lbl">Tresmisión solicitada:</string>
|
||||
<string name="your_comment">El to comentariu (n\'inglés):</string>
|
||||
<string name="error_details_headline">Detalles:</string>
|
||||
|
||||
@@ -95,23 +89,10 @@
|
||||
<string name="err_dir_create">Nun pue crease\'l direutoriu de descarga «%1$s»</string>
|
||||
<string name="info_dir_created">Creose\'l direutoriu de descarga «%1$s»</string>
|
||||
|
||||
<string name="enable_background_audio">Reproducir de fondu</string>
|
||||
<string name="video">Videu</string>
|
||||
<string name="audio">Audiu</string>
|
||||
<string name="text">Testu</string>
|
||||
<string name="logging">Rexistru</string>
|
||||
<string name="logging_normal">Normal</string>
|
||||
<string name="logging_verbose">Detalláu</string>
|
||||
<string name="retry">Retentar</string>
|
||||
<string name="off">[desactivao]</string>
|
||||
<string name="error_drm_not_supported">Conteníu protexíu non sofitáu en niveles d\'API pembaxo de 18</string>
|
||||
<string name="error_drm_unsupported_scheme">Esti preséu nun sofita l\'esquema DRM riquíu</string>
|
||||
<string name="error_drm_unknown">Asocedió un fallu de DRM desconocíu</string>
|
||||
<string name="error_no_decoder">Esti preséu nun apurre un descodificador pa <xliff:g id="mime_type">%1$s</xliff:g></string>
|
||||
<string name="error_no_secure_decoder">Esti preséu nun apurre un descodificador seguru pa <xliff:g id="mime_type">%1$s</xliff:g></string>
|
||||
<string name="storage_permission_denied">Ñegóse l\'accesu al almacenamientu</string>
|
||||
<string name="use_exoplayer_title">Usar ExoPlayer</string>
|
||||
<string name="use_exoplayer_summary">Esperimental</string>
|
||||
|
||||
<string name="start">Aniciar</string>
|
||||
<string name="pause">Posar</string>
|
||||
@@ -121,7 +102,6 @@
|
||||
|
||||
<string name="add">Misión nueva</string>
|
||||
<string name="finish">Val</string>
|
||||
<string name="msg_url">URL de descarga</string>
|
||||
<string name="msg_name">Nome de ficheru</string>
|
||||
<string name="msg_threads">Filos</string>
|
||||
<string name="msg_error">Fallu</string>
|
||||
@@ -137,14 +117,9 @@
|
||||
<string name="autoplay_by_calling_app_title">Auto-reproducir al llamar dende otra aplicación</string>
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniatura del xubidor</string>
|
||||
<string name="detail_dislikes_img_view_description">Despréstames</string>
|
||||
<string name="error_querying_decoders">Nun puen consultase los descodificadores del preséu</string>
|
||||
<string name="error_instantiating_decoder">Nun pue instanciase\'l descodificador <xliff:g id="decoder_name">%1$s</xliff:g></string>
|
||||
<string name="switch_mode">Conmutar ente llistáu y rexáu</string>
|
||||
|
||||
|
||||
<string name="msg_fetch_filename">Dir en cata del nome de ficheru</string>
|
||||
<string name="msg_running">NewPipe baxando</string>
|
||||
<string name="search_page">"Guetar páxina: "</string>
|
||||
<string name="could_not_load_image">Nun pudo cargase la imaxe</string>
|
||||
<string name="app_ui_crash">Cascó l\'aplicación/IU</string>
|
||||
<string name="info_labels"/>
|
||||
@@ -170,15 +145,9 @@
|
||||
<string name="short_thousand">M</string>
|
||||
<string name="short_million">Mill</string>
|
||||
<string name="short_billion">MMill</string>
|
||||
<string name="restart_title">Reaniciar</string>
|
||||
|
||||
<string name="msg_restart">Tienes de reaniciar l\'aplicación p\'aplicar el tema.
|
||||
|
||||
¿Quies reaniciala agora?</string>
|
||||
<string name="msg_popup_permission">Precísase esti permisu pa
|
||||
abrir en ventanu emerxente</string>
|
||||
|
||||
<string name="action_settings">Axustes</string>
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">Prueba reCAPTCHA</string>
|
||||
<string name="recaptcha_request_toast">Prueba reCAPTCHA solicitada</string>
|
||||
@@ -193,4 +162,16 @@ abrir en ventanu emerxente</string>
|
||||
<string name="refresh">Refrescar</string>
|
||||
<string name="clear">Llimpiar</string>
|
||||
|
||||
</resources>
|
||||
<string name="use_external_video_player_summary">Delles resoluciones NUN tendrán audiu al habilitar esta opción</string>
|
||||
<string name="popup_remember_size_pos_title">Tamañu y posición del ventanu emerxente</string>
|
||||
<string name="popup_remember_size_pos_summary">Recuerda la cabera posición y resolución afitada nel ventanu emerxente</string>
|
||||
<string name="player_gesture_controls_title">Controles per xestos del reproductor</string>
|
||||
<string name="player_gesture_controls_summary">Usa xestos pa controlar el brilléu y volume del reproductor</string>
|
||||
<string name="show_search_suggestions_title">Suxerencies de gueta</string>
|
||||
<string name="show_search_suggestions_summary">Amuesa suxerencies al guetar</string>
|
||||
|
||||
<string name="settings_category_popup_title">Ventanu emerxente</string>
|
||||
<string name="popup_resizing_indicator_title">Redimensionáu</string>
|
||||
|
||||
<string name="use_old_player_summary">Compilación vieya del reproductor Mediaframework.</string>
|
||||
</resources>
|
||||
|
@@ -1,28 +1,22 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- <string name="app_name" translatable="false">NewPipe</string> -->
|
||||
<resources>
|
||||
<string name="main_bg_subtitle">শুরু করতে অনুসন্ধান এ আলতো চাপ</string>
|
||||
<string name="background_player_name">NewPipe ব্যাকগ্রাউন্ড প্লেয়ার</string>
|
||||
<!-- <string name="title_videoitem_detail" translatable="false">NewPipe</string> -->
|
||||
<string name="view_count_text">%1$s বার দেখা হয়েছে</string>
|
||||
<string name="upload_date_text">প্রকাশকাল %1$s</string>
|
||||
<string name="no_player_found">কোন স্ট্রিম প্লেয়ার পাওয়া যায়নি। তুমি কি VLC ইনস্টল করতে চাও?</string>
|
||||
<string name="install">ইনস্টল</string>
|
||||
<string name="cancel">বাদ দাও</string>
|
||||
<!-- <string name="fdroid_vlc_url" translatable="false">https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc</string> -->
|
||||
<!-- <string name="fdroid_vlc_url" translatable="false">https://f-droid.org/repository/browse/?fdfilter=vlc&fdid=org.videolan.vlc</string> -->
|
||||
<string name="open_in_browser">ব্রাউজারে খোলো</string>
|
||||
<string name="open_in_popup_mode">পপআপ মোডে খোলো</string>
|
||||
<string name="share">শেয়ার</string>
|
||||
<string name="loading">লোড হচ্ছে</string>
|
||||
<string name="download">ডাউনলোড</string>
|
||||
<string name="search">খোঁজ</string>
|
||||
<string name="settings">সেটিং</string>
|
||||
<string name="did_you_mean">তুমি কি বলতে চাচ্ছ %1$s ?</string>
|
||||
<string name="search_page">"পেইজ খোঁজ : "</string>
|
||||
<string name="share_dialog_title">শেয়ার কর</string>
|
||||
<string name="choose_browser">ব্রাউজার পছন্দ কর</string>
|
||||
<string name="screen_rotation">রোটেশন</string>
|
||||
<string name="settings_activity_title">সেটিং</string>
|
||||
<string name="use_external_video_player_title">বাহ্যিক ভিডিও প্লেয়ার ব্যবহার করো</string>
|
||||
<string name="use_external_audio_player_title">বাহ্যিক অডিও প্লেয়ার ব্যবহার করো</string>
|
||||
<string name="popup_mode_share_menu_title">NewPipe পপআপ মোড</string>
|
||||
@@ -46,7 +40,7 @@
|
||||
<string name="show_higher_resolutions_summary">শুধুমাত্র কিছু ডিভাইস 2k / 4k ভিডিও চালানোয় সমর্থন</string>
|
||||
<string name="play_with_kodi_title">Kodi এর মাধ্যমে চালাও</string>
|
||||
<string name="kore_not_found">Kore অ্যাপ্লিকেশন খুঁজে পাওয়া যায়নি। Kore ইনস্টল করবে?</string>
|
||||
<!-- <string name="fdroid_kore_url" translatable="false">https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore</string> -->
|
||||
<!-- <string name="fdroid_kore_url" translatable="false">https://f-droid.org/repository/browse/?fdfilter=Kore&fdid=org.xbmc.kore</string> -->
|
||||
<string name="show_play_with_kodi_title">দেখাও \"Kodi এর মাধ্যমে চালাও \" বিকল্প</string>
|
||||
<string name="show_play_with_kodi_summary">Kodi মিডিয়া সেন্টারে এর মাধ্যমে ভিডিও প্লে করার জন্য একটি বিকল্প প্রদর্শন কর।</string>
|
||||
<string name="play_audio">অডিও</string>
|
||||
@@ -62,38 +56,18 @@
|
||||
<string name="popup_remember_size_pos_summary">শেষ আকার এবং পপআপ সেট অবস্থান মনে রাখো</string>
|
||||
|
||||
<string name="download_dialog_title">ডাউনলোড</string>
|
||||
<string-array name="download_options">
|
||||
<item>ভিডিও</item>
|
||||
<item>অডিও</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="download_options_no_audio">
|
||||
<item>ভিডিও</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="download_options_no_video">
|
||||
<item>অডিও</item>
|
||||
</string-array>
|
||||
|
||||
<!-- <string-array name="theme_description_list">
|
||||
<item>@string/light_theme_title</item>
|
||||
<item>@string/dark_theme_title</item>
|
||||
<item>@string/black_theme_title</item>
|
||||
</string-array> -->
|
||||
|
||||
<string name="next_video_title">পরবর্তী ভিডিও</string>
|
||||
<string name="show_next_and_similar_title">পরবর্তী এবং অনুরূপ ভিডিওগুলি দেখাও</string>
|
||||
<string name="url_not_supported_toast">URL সমর্থিত নয়</string>
|
||||
<string name="similar_videos_btn_text">অনুরূপ ভিডিওগুলি</string>
|
||||
<string name="search_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string>
|
||||
<string name="settings_category_video_audio_title">ভিডিও এবং অডিও</string>
|
||||
<string name="settings_category_popup_title">পপআপ</string>
|
||||
<string name="settings_category_appearance_title">অ্যাপিয়ারেন্স</string>
|
||||
<string name="settings_category_other_title">অন্যান্য</string>
|
||||
<!-- <string name="background_player_time_text" translatable="false">%1$s - NewPipe</string> -->
|
||||
<!-- <string name="background_player_time_text" translatable="false">%1$s - NewPipe</string> -->
|
||||
<string name="background_player_playing_toast">ব্যাকগ্রাউন্ডে চলছে</string>
|
||||
<string name="popup_playing_toast">পপআপ মোডে চলছে</string>
|
||||
<!-- <string name="c3s_url" translatable="false">https://www.c3s.cc/</string> -->
|
||||
<!-- <string name="c3s_url" translatable="false">https://www.c3s.cc/</string> -->
|
||||
<string name="play_btn_text">চালাও</string>
|
||||
<string name="content">কন্টেন্ট</string>
|
||||
<string name="show_age_restricted_content_title">বয়স সীমাবদ্ধ কন্টেন্ট দেখাও</string>
|
||||
@@ -101,7 +75,6 @@
|
||||
<string name="duration_live">লাইভ</string>
|
||||
<string name="downloads">ডাউনলোডগুলি</string>
|
||||
<string name="downloads_title">ডাউনলোডগুলি</string>
|
||||
<string name="settings_title">সেটিং</string>
|
||||
<string name="error_report_title">ত্রুটি প্রতিবেদন</string>
|
||||
<string name="all">সবগুলি</string>
|
||||
<string name="channel">চ্যানেল</string>
|
||||
@@ -129,15 +102,13 @@
|
||||
<string name="app_ui_crash">অ্যাপ / UI ক্র্যাশ করেছে</string>
|
||||
<!-- error activity -->
|
||||
<string name="sorry_string">দুঃখিত, এটা ঘটা উচিত ছিল না।</string>
|
||||
<!-- <string name="guru_meditation" translatable="false">Guru Meditation.</string> -->
|
||||
<!-- <string name="guru_meditation" translatable="false">Guru Meditation.</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">What:\\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:\\nGlob. IP range:</string> -->
|
||||
<string name="info_searched_lbl">অনুসন্ধান:</string>
|
||||
<string name="info_requested_stream_lbl">অনুরোধ করা স্ট্রিম:</string>
|
||||
<!-- <string name="info_labels">What:\\nRequest:\\nContent Lang:\\nService:\\nGMT Time:\\nPackage:\\nVersion:\\nOS version:\\nGlob. IP range:</string> -->
|
||||
<string name="your_comment">তোমার মন্তব্য (ইংরেজিতে):</string>
|
||||
<string name="error_details_headline">বর্ণনা:</string>
|
||||
|
||||
@@ -156,22 +127,9 @@
|
||||
<string name="err_dir_create">\'%1$s\' ডাউনলোড ডিরেক্টরি তৈরি করতে পারছে না</string>
|
||||
<string name="info_dir_created">\'%1$s\' ডাউনলোড ডিরেক্টরি তৈরি করা হয়েছে</string>
|
||||
|
||||
<string name="enable_background_audio">ব্যাকগ্রাউন্ড এ চালাও</string>
|
||||
<string name="video">ভিডিও</string>
|
||||
<string name="audio">অডিও</string>
|
||||
<string name="text">টেক্সট</string>
|
||||
<string name="logging">লগিং</string>
|
||||
<string name="logging_normal">সাধারণ</string>
|
||||
<string name="logging_verbose">বাগাড়ম্বরপূর্ণ</string>
|
||||
<string name="retry">পুনরায় চেষ্টা করো</string>
|
||||
<string name="off">[বন্ধ]</string>
|
||||
<string name="error_drm_not_supported">"সুরক্ষিত কনটেন্ট 18 বছরের নিচে API লেভেলে সমর্থিত নয়"</string>
|
||||
<string name="error_drm_unsupported_scheme">এই ডিভাইসটি প্রয়োজনীয় DRM স্কিমের সমর্থন করে না</string>
|
||||
<string name="error_drm_unknown">একটি অজানা DRM ত্রূটি ঘটেছে</string>
|
||||
<string name="error_no_decoder">এই ডিভাইসটি <xliff:g id="mime_type">%1$s</xliff:g> এর জন্য একটি ডিকোডার প্রদান করে না</string>
|
||||
<string name="error_no_secure_decoder">এই ডিভাইসটি <xliff:g id="mime_type">%1$s</xliff:g> এর জন্য একটি নিরাপদ ডিকোডার প্রদান করে না</string>
|
||||
<string name="error_querying_decoders">ডিভাইস ডিকোডার জিজ্ঞাসা করতে অক্ষম</string>
|
||||
<string name="error_instantiating_decoder"><xliff:g id="decoder_name">%1$s</xliff:g> ডিকোডার চালু করতে অক্ষম</string>
|
||||
<string name="storage_permission_denied">স্টোরেজ অ্যাক্সেস করার অনুমতি অস্বীকার করা হয়েছে</string>
|
||||
<string name="use_old_player_title">পুরানো প্লেয়ার ব্যবহার করো</string>
|
||||
<string name="use_old_player_summary">মিডিয়াফ্রেমওয়ার্ক প্লেয়ারের পুরানো বিল্ড।</string>
|
||||
@@ -194,14 +152,11 @@
|
||||
<!-- Fragment -->
|
||||
<string name="add">নতুন মিশন</string>
|
||||
<string name="finish">ঠিক আছে</string>
|
||||
<string name="switch_mode">তালিকা এবং গ্রিডের মধ্যে পরিবর্তন করো</string>
|
||||
|
||||
|
||||
<!-- Msg -->
|
||||
<string name="msg_url">ডাউনলোড URL</string>
|
||||
<string name="msg_name">ফাইলের নাম</string>
|
||||
<string name="msg_threads">থ্রেড</string>
|
||||
<string name="msg_fetch_filename">ফাইলের নাম আনো</string>
|
||||
<string name="msg_error">ত্রুটি</string>
|
||||
<string name="msg_server_unsupported">সার্ভার অসমর্থিত</string>
|
||||
<string name="msg_exists">ফাইল ইতিমধ্যেই বিদ্যমান</string>
|
||||
@@ -214,15 +169,13 @@
|
||||
<string name="msg_popup_permission">এই অনুমতিটি পপআপ মোডে খুলতে প্রয়োজন</string>
|
||||
|
||||
<!-- Checksum types -->
|
||||
<!-- <string name="md5" translatable="false">MD5</string> -->
|
||||
<!-- <string name="sha1" translatable="false">SHA1</string> -->
|
||||
<string name="title_activity_channel">চ্যানেলের ক্রিয়াকলাপ</string>
|
||||
<string name="action_settings">সেটিং</string>
|
||||
<!-- <string name="md5" translatable="false">MD5</string> -->
|
||||
<!-- <string name="sha1" translatable="false">SHA1</string> -->
|
||||
<string name="reCaptchaActivity">রিক্যাপচা</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA চ্যালেঞ্জ</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA চ্যালেঞ্জ অনুরোধ করা হয়েছে</string>
|
||||
|
||||
<!-- End of GigaGet's Strings -->
|
||||
|
||||
<string name="info_labels">কি:\\nঅনুরোধ:\\nকন্টেন্ট ভাষা:\\nসার্ভিস:\\nসময়(GMT এ):\\nপ্যাকেজ:\\nসংস্করণ:\\nওএস সংস্করণ:\\nআইপি পরিসর:</string>
|
||||
</resources>
|
||||
<string name="info_labels">কি:\\nঅনুরোধ:\\nকন্টেন্ট ভাষা:\\nসার্ভিস:\\nসময়(GMT এ):\\nপ্যাকেজ:\\nসংস্করণ:\\nওএস সংস্করণ:\\nআইপি পরিসর:</string>
|
||||
</resources>
|
||||
|
@@ -1,20 +1,18 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="upload_date_text">Publikováno %1$s</string>
|
||||
<resources>
|
||||
<string name="upload_date_text">Publikováno %1$s</string>
|
||||
<string name="no_player_found">Nenalezen žádný přehrávač. Nainstalovat VLC?</string>
|
||||
<string name="install">Instalovat</string>
|
||||
<string name="cancel">Zrušit</string>
|
||||
<string name="open_in_browser">Otevřít v prohlížeči</string>
|
||||
<string name="share">Sdílet</string>
|
||||
<string name="loading">Načítám</string>
|
||||
<string name="download">Stáhnout</string>
|
||||
<string name="search">Vyhledat</string>
|
||||
<string name="settings">Nastavení</string>
|
||||
<string name="did_you_mean">Měli jste na mysli: %1$s?</string>
|
||||
<string name="search_page">"Vyhledat stránku: "</string>
|
||||
<string name="share_dialog_title">Sdílet s</string>
|
||||
<string name="choose_browser">Vybrat prohlížeč</string>
|
||||
<string name="screen_rotation">otočení</string>
|
||||
<string name="settings_activity_title">Nastavení</string>
|
||||
<string name="use_external_video_player_title">Použít externí video přehrávač</string>
|
||||
<string name="use_external_audio_player_title">Použít externí audio přehrávač</string>
|
||||
|
||||
@@ -26,7 +24,6 @@
|
||||
<string name="play_with_kodi_title">Přehrát pomocí Kodi</string>
|
||||
<string name="kore_not_found">Aplikace Kore nenalezena. Nainstalovat Kore?</string>
|
||||
<string name="view_count_text">%1$s zhlédnutí</string>
|
||||
<string name="background_player_name">NewPipe Přehrávač na pozadí</string>
|
||||
<string name="download_path_title">Umístění pro stažené video</string>
|
||||
<string name="download_path_summary">Cesta, kam se uloží stažené video.</string>
|
||||
<string name="download_path_dialog_title">Zadejte umístění pro stažená videa</string>
|
||||
@@ -45,7 +42,6 @@
|
||||
<string name="next_video_title">Následující video</string>
|
||||
<string name="show_next_and_similar_title">Zobrazit následující a podobná videa</string>
|
||||
<string name="url_not_supported_toast">URL není podporováno</string>
|
||||
<string name="similar_videos_btn_text">Podobná videa</string>
|
||||
<string name="search_language_title">Preferovaný jazyk obsahu</string>
|
||||
<string name="settings_category_video_audio_title">Video a audio</string>
|
||||
<string name="settings_category_appearance_title">Vzhled</string>
|
||||
@@ -70,7 +66,7 @@
|
||||
|
||||
<string name="err_dir_create">Nebylo možné vytvořit složku pro stažené soubory \'%1$s\'</string>
|
||||
<string name="info_dir_created">Vytvořena složka pro stažené soubory \'%1$s\'</string>
|
||||
<string name="autoplay_by_calling_app_title">Automaticky přehrávat při otevření z jiné aplikace</string>
|
||||
<string name="autoplay_by_calling_app_title">Automaticky přehrávat při otevření z jiné aplikace</string>
|
||||
<string name="autoplay_by_calling_app_summary">Automaticky přehrát video, když je NewPipe otevřen z jiné aplikace.</string>
|
||||
<string name="content">Obsah</string>
|
||||
<string name="show_age_restricted_content_title">Zobrazovat věkově omezený obsah</string>
|
||||
@@ -87,27 +83,19 @@
|
||||
<string name="msg_exists">Soubor již existuje</string>
|
||||
<string name="msg_url_malform">Špatné URL nebo připojení k Internetu není k disposici</string>
|
||||
<string name="msg_error">Chyba</string>
|
||||
<string name="msg_url">Stáhnout URL</string>
|
||||
<string name="msg_name">Jméno souboru</string>
|
||||
<string name="msg_threads">Vlákna</string>
|
||||
<string name="pause">Zastavit</string>
|
||||
<string name="delete">Smazat</string>
|
||||
<string name="use_exoplayer_title">Použít ExoPlayer</string>
|
||||
<string name="use_exoplayer_summary">Experimentální</string>
|
||||
|
||||
<string name="start">Začít</string>
|
||||
<string name="error_drm_unknown">Neznámá chyba DRM</string>
|
||||
<string name="retry">Zkusit znovu</string>
|
||||
<string name="text">Text</string>
|
||||
<string name="enable_background_audio">Hrát na pozadí</string>
|
||||
<string name="video">Video</string>
|
||||
<string name="audio">Audio</string>
|
||||
<string name="report_error">Nahlásit chybu</string>
|
||||
<string name="info_searched_lbl">Hledáno:</string>
|
||||
<string name="error_details_headline">Detaily:</string>
|
||||
|
||||
|
||||
<string name="info_requested_stream_lbl">Vyžádaný stream:</string>
|
||||
<string name="what_happened_headline">Co se stalo:</string>
|
||||
<string name="error_snackbar_action">NAHLÁSIT</string>
|
||||
<string name="sorry_string">Omlouváme se, tohle se nemělo stát.</string>
|
||||
@@ -118,49 +106,29 @@
|
||||
<string name="live_streams_not_supported">Tento stream je vysílán živě, funkce ještě není podporována.</string>
|
||||
<string name="could_not_get_stream">Nepodařilo se dostat žádný stream.</string>
|
||||
<string name="could_not_setup_download_menu">Nepodařilo se nastavit menu stahování.</string>
|
||||
<string name="settings_title">Nastavení</string>
|
||||
<string name="error_report_title">Nahlásit chybu</string>
|
||||
|
||||
<string name="downloads">Stažené soubory</string>
|
||||
<string name="downloads_title">Stažené soubory</string>
|
||||
<string name="what_device_headline">Info:</string>
|
||||
<string name="your_comment">Vaše poznámky (Anglicky):</string>
|
||||
<string name="logging">Logování</string>
|
||||
<string name="logging_normal">Normální</string>
|
||||
<string name="error_drm_not_supported">Chráněný obsah není podporován na API úrovni menší než 18</string>
|
||||
<string name="error_drm_unsupported_scheme">Toto zařízení nepodporuje potřebné DRM schéma</string>
|
||||
<string name="error_no_decoder">Toto zařízení nedodává dekodér pro <xliff:g id="mime_type">
|
||||
%1$s</xliff:g></string>
|
||||
<string name="error_no_secure_decoder">Toto zařízení nedodává bezpečný dekodér pro
|
||||
<xliff:g id="mime_type">
|
||||
%1$s</xliff:g></string>
|
||||
<string name="storage_permission_denied">Oprávnění přístupu do Úložiště bylo zamítnuto</string>
|
||||
<string name="view">Shlédnout</string>
|
||||
<string name="add">Nová mise</string>
|
||||
<string name="finish">Hotovo</string>
|
||||
<string name="switch_mode">Přepnout mezi listem a mřížkou</string>
|
||||
|
||||
|
||||
<string name="msg_fetch_filename">Získej jméno souboru</string>
|
||||
<string name="action_settings">Nastavení</string>
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="reCaptcha_title">Výzva reCAPTCHA</string>
|
||||
<string name="recaptcha_request_toast">Požadována výzva reCAPTCHA</string>
|
||||
|
||||
<string name="black_theme_title">Černé</string>
|
||||
|
||||
<string name="off">[vypnuto]</string>
|
||||
<string name="checksum">Checksum</string>
|
||||
|
||||
<string name="no_available_dir">Prosím vyberte dostupnou složku pro stažení souborů.</string>
|
||||
|
||||
<string name="title_activity_channel">Aktivita kanálu</string>
|
||||
<string name="user_report">Hlášení uživatele</string>
|
||||
|
||||
<string name="logging_verbose">Podrobné</string>
|
||||
<string name="error_querying_decoders">Nelze zjistit dekodéry zařízení</string>
|
||||
<string name="error_instantiating_decoder">Nelze doložit dekodér <xliff:g id="decoder_name">
|
||||
%1$s</xliff:g></string>
|
||||
<string name="info_labels">Co:\\nŽádost:\\nJazyk obsahu:\\nSlužba:\\nČas GMT:\\nBalíček:\\nVerze:\\nVerze OS:\\nGlobální rozsah IP:</string>
|
||||
<string name="all">Vše</string>
|
||||
<string name="channel">Kanál</string>
|
||||
@@ -172,11 +140,6 @@
|
||||
<string name="subscribe">Odebírat</string>
|
||||
<string name="views">zobrazení</string>
|
||||
<string name="short_thousand">k</string>
|
||||
<string name="restart_title">Restart</string>
|
||||
|
||||
<string name="msg_restart">Pro aplikaci tématu je potřeba restartovat aplikaci.
|
||||
|
||||
Chcete restartovat ihned?</string>
|
||||
|
||||
<string name="open_in_popup_mode">Otevřít ve vyskakovacím okně</string>
|
||||
<string name="short_million">M</string>
|
||||
@@ -184,4 +147,10 @@ Chcete restartovat ihned?</string>
|
||||
otevření ve vyskakovacím okně</string>
|
||||
|
||||
<string name="use_old_player_title">Použít starý přehrávač</string>
|
||||
<string name="use_external_video_player_summary">Některé formáty rozlišení NEBUDOU obsahovat zvukovou stopu po zapnutí této funkce</string>
|
||||
<string name="show_higher_resolutions_title">Zobrazit vyšší rozlišení</string>
|
||||
<string name="show_higher_resolutions_summary">Pouze některá zařízení podporují přehrávání videí ve 2K/4K</string>
|
||||
<string name="preferred_video_format_title">Preferovaný video formát</string>
|
||||
<string name="popup_remember_size_pos_title">Zapamatovat si velikost a pozici vyskakovacího okna</string>
|
||||
<string name="popup_remember_size_pos_summary">Zapamatovat si poslední nastavení velikosti a pozice vyskakovacího okna</string>
|
||||
</resources>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<resources>
|
||||
<string name="view_count_text">%1$s Aufrufe</string>
|
||||
<string name="upload_date_text">Veröffentlicht am %1$s</string>
|
||||
<string name="no_player_found">Keinen Streamplayer gefunden. Möchtest du VLC installieren?</string>
|
||||
<string name="install">Jetzt installieren</string>
|
||||
<string name="install">Installieren</string>
|
||||
<string name="cancel">Abbrechen</string>
|
||||
<string name="open_in_browser">In Browser öffnen</string>
|
||||
<string name="share">Teilen</string>
|
||||
@@ -11,32 +11,25 @@
|
||||
<string name="search">Suchen</string>
|
||||
<string name="settings">Einstellungen</string>
|
||||
<string name="did_you_mean">Meintest du: %1$s ?</string>
|
||||
<string name="search_page">Suchseite: </string>
|
||||
<string name="share_dialog_title">Teilen mit</string>
|
||||
<string name="choose_browser">Browser</string>
|
||||
<string name="screen_rotation">Rotation</string>
|
||||
<string name="settings_activity_title">Einstellungen</string>
|
||||
<string name="download_path_title">Downloadverzeichnis für Videos</string>
|
||||
<string name="download_path_summary">Verzeichnis in dem heruntergeladene Videos gespeichert werden.</string>
|
||||
<string name="download_path_summary">Verzeichnis in dem heruntergeladene Videos gespeichert werden</string>
|
||||
<string name="download_path_dialog_title">Downloadverzeichnis für Videos eingeben</string>
|
||||
<string name="default_resolution_title">Standardauflösung</string>
|
||||
<string name="play_with_kodi_title">Mit Kodi abspielen</string>
|
||||
<string name="kore_not_found">Kore App wurde nicht gefunden. Möchten sie Kore jetzt installieren?</string>
|
||||
<string name="show_play_with_kodi_title">Zeige \"Mit Kodi abspielen\" Option</string>
|
||||
<string name="show_play_with_kodi_summary">Zeigt eine Option an, über die man Videos mit dem Kodi Mediacenter abspielen kann.</string>
|
||||
<string name="show_play_with_kodi_summary">Zeigt eine Option an, über die man Videos mit dem Kodi Mediacenter abspielen kann</string>
|
||||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Bevorzugtes Audioformat</string>
|
||||
<string name="webm_description">WebM — freies Format</string>
|
||||
<string name="m4a_description">m4a — bessere Qualität</string>
|
||||
<string name="download_dialog_title">Herunterladen</string>
|
||||
<string-array name="downloadOptions">
|
||||
<item>Video</item>
|
||||
<item>Audio</item>
|
||||
</string-array>
|
||||
<string name="next_video_title">Nächstes Video</string>
|
||||
<string name="show_next_and_similar_title">Zeige nächstes und ähnliche Videos</string>
|
||||
<string name="url_not_supported_toast">URL wird nicht unterstützt</string>
|
||||
<string name="similar_videos_btn_text">Ähnliche Videos</string>
|
||||
<string name="settings_category_video_audio_title">Video & Audio</string>
|
||||
<string name="search_language_title">Bevorzugte Sprache des Inhalts</string>
|
||||
<string name="list_thumbnail_view_description">Video-Vorschaubild</string>
|
||||
@@ -44,7 +37,6 @@
|
||||
<string name="detail_uploader_thumbnail_view_description">Nutzerbild</string>
|
||||
<string name="detail_dislikes_img_view_description">Gefällt nicht</string>
|
||||
<string name="detail_likes_img_view_description">Gefällt</string>
|
||||
<string name="loading">Lade</string>
|
||||
<string name="use_external_video_player_title">Benutze externen Videoabspieler</string>
|
||||
<string name="use_external_audio_player_title">Benutze externen Audioabspieler</string>
|
||||
<string name="background_player_playing_toast">Spiele im Hintergrund ab</string>
|
||||
@@ -52,12 +44,11 @@
|
||||
|
||||
<string name="use_tor_title">Benutze TOR</string>
|
||||
<string name="use_tor_summary">(Experimentell) Erzwinge das Herunterladen durch TOR für verbesserte Privatsphäre (Videostream noch nicht unterstützt).</string>
|
||||
<string name="background_player_name">NewPipe Hintergrundwiedergabe</string>
|
||||
<string name="network_error">Netzwerkfehler</string>
|
||||
|
||||
<string name="download_path_audio_title">Downloadverzeichnis für Musik</string>
|
||||
<string name="download_path_audio_summary">Verzeichnis zum Speichern heruntergeladener Audiodateien</string>
|
||||
<string name="download_path_audio_dialog_title">Pfad für heruntergeladene Audiodateien eingeben.</string>
|
||||
<string name="download_path_audio_dialog_title">Pfad für heruntergeladene Audiodateien eingeben</string>
|
||||
|
||||
<string name="theme_title">Aussehen</string>
|
||||
<string name="dark_theme_title">Dunkel</string>
|
||||
@@ -90,34 +81,16 @@
|
||||
<string name="info_labels">Was:\\nAnfrage:\\nSprache des Inhalts:\\nDienst:\\nZeit (GMT):\\nPacket:\\nVersion:\\nOS-Version:\\nGlob. IP-Bereich:</string>
|
||||
<string name="error_details_headline">Details:</string>
|
||||
|
||||
|
||||
<string name="enable_background_audio">Im Hintergrund abspielen</string>
|
||||
<string name="video">Video</string>
|
||||
<string name="audio">Audio</string>
|
||||
<string name="text">Text</string>
|
||||
<string name="logging_normal">Normal</string>
|
||||
<string name="logging_verbose">Ausführlich</string>
|
||||
<string name="retry">Wiederholen</string>
|
||||
<string name="off">[aus]</string>
|
||||
<string name="error_drm_unsupported_scheme">Dieses Gerät unterstützt das erforderliche DRM-Schema nicht</string>
|
||||
<string name="error_drm_unknown">Ein unbekannter DRM-Fehler ist aufgetreten</string>
|
||||
<string name="error_querying_decoders">Konnte Dekodierer des Gerätes nicht abrufen</string>
|
||||
<string name="error_instantiating_decoder">Konnte Dekodierer <xliff:g id="decoder_name">%1$s</xliff:g> nicht instantiieren</string>
|
||||
<string name="storage_permission_denied">Zugriff auf den Massenspeicher wurde verweigert</string>
|
||||
<string name="use_exoplayer_title">Benutze ExoPlayer</string>
|
||||
<string name="use_exoplayer_summary">Experimentell</string>
|
||||
<string name="sorry_string">Entschuldigung. Dies sollte nicht passieren.</string>
|
||||
<string name="sorry_string">Entschuldigung. Dies hätte nicht passieren sollen.</string>
|
||||
<string name="error_snackbar_message">Entschuldigung. Es sind einige Fehler aufgetreten.</string>
|
||||
<string name="info_searched_lbl">Gesucht:</string>
|
||||
<string name="info_requested_stream_lbl">Angeforderter Stream:</string>
|
||||
<string name="your_comment">Dein Kommentar (auf englisch):</string>
|
||||
<string name="logging">Protokollierung</string>
|
||||
<string name="error_no_decoder">Dieses Gerät stellt keinen Dekodierer für <xliff:g id="mime_type">%1$s</xliff:g> bereit</string>
|
||||
<string name="error_no_secure_decoder">Dieses Gerät stellt keinen abgesicherten Dekodierer für <xliff:g id="mime_type">%1$s</xliff:g> bereit</string>
|
||||
<string name="could_not_get_stream">Konnte keinen Stream holen.</string>
|
||||
<string name="error_drm_not_supported">Geschützte Inhalte werden von API-Ebenen unterhalb von 18 nicht unterstützt</string>
|
||||
<string name="autoplay_by_calling_app_title">Bei Aufruf aus einer anderen App automatisch abspielen</string>
|
||||
<string name="autoplay_by_calling_app_summary">Spielt ein Video automatisch ab, wenn NewPipe von einer anderen App aufgerufen wurde.</string>
|
||||
<string name="autoplay_by_calling_app_summary">Spielt ein Video automatisch ab, wenn NewPipe von einer anderen App aufgerufen wurde</string>
|
||||
<string name="report_error">Einen Fehler melden</string>
|
||||
<string name="user_report">Anwenderbericht</string>
|
||||
|
||||
@@ -126,13 +99,11 @@
|
||||
<string name="main_bg_subtitle">„Suchen“ antippen und loslegen</string>
|
||||
<string name="downloads">Downloads</string>
|
||||
<string name="downloads_title">Downloads</string>
|
||||
<string name="settings_title">Einstellungen</string>
|
||||
<string name="error_report_title">Fehlerbericht</string>
|
||||
|
||||
<string name="delete">Löschen</string>
|
||||
<string name="checksum">Prüfsumme</string>
|
||||
|
||||
<string name="switch_mode">Zwischen Liste und Gitter umschalten</string>
|
||||
|
||||
<string name="videos">Videos</string>
|
||||
<string name="subscriber">Abonnent</string>
|
||||
@@ -141,7 +112,6 @@
|
||||
<string name="short_million">Mio.</string>
|
||||
<string name="short_billion">Mrd.</string>
|
||||
|
||||
<string name="msg_url">Download-URL</string>
|
||||
<string name="msg_name">Dateiname</string>
|
||||
<string name="msg_error">Fehler</string>
|
||||
<string name="msg_exists">Datei existiert bereits</string>
|
||||
@@ -149,9 +119,9 @@
|
||||
<string name="msg_copied">In Zwischenablage kopiert.</string>
|
||||
<string name="no_available_dir">Bitte wählen Sie ein verfügbares Downloadverzeichnis.</string>
|
||||
|
||||
<string name="start">Start</string>
|
||||
<string name="start">Anfang</string>
|
||||
<string name="pause">Pause</string>
|
||||
<string name="view">Anzeigen</string>
|
||||
<string name="view">Ansehen</string>
|
||||
<string name="add">Neue Mission</string>
|
||||
<string name="finish">Okay</string>
|
||||
<string name="msg_server_unsupported">Server nicht unterstützt</string>
|
||||
@@ -160,15 +130,12 @@
|
||||
<string name="msg_threads">Threads</string>
|
||||
<string name="msg_running">NewPipe lädt herunter</string>
|
||||
<string name="msg_running_detail">Für Details antippen</string>
|
||||
<string name="action_settings">Einstellungen</string>
|
||||
|
||||
<string name="msg_url_malform">Beschädigte URL oder Internet nicht erreichbar</string>
|
||||
<string name="msg_fetch_filename">Vorgeschlagener Dateiname</string>
|
||||
<string name="title_activity_channel">Kanalaktivität</string>
|
||||
<string name="msg_url_malform">Ungültige URL oder Internet nicht verfügbar</string>
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="black_theme_title">Schwarz</string>
|
||||
|
||||
<string name="reCaptcha_title">reCAPTCHA Herausforderung</string>
|
||||
<string name="reCaptcha_title">reCAPTCHA-Aufgabe</string>
|
||||
<string name="recaptcha_request_toast">reCAPTCHA Herausforderung angefordert</string>
|
||||
|
||||
<string name="later">Später</string>
|
||||
@@ -176,11 +143,6 @@
|
||||
<string name="yes">Ja</string>
|
||||
<string name="all">Alle</string>
|
||||
<string name="channel">Kanal</string>
|
||||
<string name="restart_title">Neu starten</string>
|
||||
|
||||
<string name="msg_restart">Um die Änderung des Aussehens zu ändern, müssen Sie die App neu starten.
|
||||
|
||||
Möchten Sie jetzt neu starten?</string>
|
||||
|
||||
<string name="subscribe">Abonnieren</string>
|
||||
<string name="disabled">Deaktiviert</string>
|
||||
@@ -195,12 +157,26 @@ Möchten Sie jetzt neu starten?</string>
|
||||
<string name="msg_popup_permission">Diese Berechtigung ist für das
|
||||
Öffnen im Popup-Modus erforderlich</string>
|
||||
|
||||
<string name="use_old_player_summary">Mediaframework Player der vorherigen Version.</string>
|
||||
<string name="use_old_player_summary">Alter eingebauter Mediaframework-Player.</string>
|
||||
<string name="default_popup_resolution_title">Standardauflösung des Popups</string>
|
||||
<string name="show_higher_resolutions_title">Zeige höhere Auflösungen an</string>
|
||||
<string name="show_higher_resolutions_summary">Nur einige Geräte unterstützen das Abspielen von 2k-/4k-Videos</string>
|
||||
<string name="show_higher_resolutions_summary">Nur einige Geräte unterstützen das Abspielen von 2K-/4K-Videos</string>
|
||||
<string name="controls_background_title">Hintergrund</string>
|
||||
<string name="controls_popup_title">Popup</string>
|
||||
|
||||
<string name="popup_remember_size_pos_title">Größe und Position des Popups merken</string>
|
||||
<string name="use_external_video_player_summary">Manche Auflösungen werden KEINE Tonspur haben, wenn diese Option eingeschaltet ist</string>
|
||||
<string name="popup_remember_size_pos_summary">Letzte Größe und Position des Popups merken</string>
|
||||
<string name="player_gesture_controls_title">Gestensteuerung</string>
|
||||
<string name="player_gesture_controls_summary">Gesten benutzen, um Helligkeit und Lautstärke des Players zu steuern</string>
|
||||
<string name="show_search_suggestions_title">Suchvorschläge</string>
|
||||
<string name="show_search_suggestions_summary">Beim Suchen Vorschläge anzeigen</string>
|
||||
|
||||
<string name="settings_category_popup_title">Hinweis</string>
|
||||
<string name="filter">Filter</string>
|
||||
<string name="refresh">Aktualisieren</string>
|
||||
<string name="clear">Löschen</string>
|
||||
<string name="popup_resizing_indicator_title">Größenänderung</string>
|
||||
<string name="best_resolution">Beste Auflösung</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="background_player_name">NewPipe Background Player</string>
|
||||
<resources>
|
||||
<string name="view_count_text">%1$s προβολές</string>
|
||||
<string name="upload_date_text">Ανέβηκε στις %1$s</string>
|
||||
<string name="no_player_found">Δεν βρέθηκε πρόγραμμα αναπαραγωγής. Εγκατάσταση του VLC;</string>
|
||||
@@ -7,16 +7,13 @@
|
||||
<string name="cancel">Ακύρωση</string>
|
||||
<string name="open_in_browser">Άνοιγμα στον browser</string>
|
||||
<string name="share">Κοινοποίηση</string>
|
||||
<string name="loading">Φορτώνει</string>
|
||||
<string name="download">Λήψη</string>
|
||||
<string name="search">Αναζήτηση</string>
|
||||
<string name="settings">Ρυθμίσεις</string>
|
||||
<string name="did_you_mean">"Μήπως εννοείτε: "</string>
|
||||
<string name="search_page">"Αναζήτηση σελίδας: "</string>
|
||||
<string name="did_you_mean">"Μήπως εννοείτε: %1$s ?"</string>
|
||||
<string name="share_dialog_title">Κοινοποίηση με</string>
|
||||
<string name="choose_browser">Επιλέξτε browser</string>
|
||||
<string name="screen_rotation">περιστροφή</string>
|
||||
<string name="settings_activity_title">Ρυθμίσεις</string>
|
||||
<string name="use_external_video_player_title">Χρήση εξωτερικού video player</string>
|
||||
<string name="use_external_audio_player_title">Χρήση εξωτερικού audio player</string>
|
||||
|
||||
@@ -45,7 +42,6 @@
|
||||
<string name="next_video_title">Επόμενο video</string>
|
||||
<string name="show_next_and_similar_title">Προβολή επόμενου και σχετικών video</string>
|
||||
<string name="url_not_supported_toast">Δεν υποστηρίζεται η διεύθυνση URL</string>
|
||||
<string name="similar_videos_btn_text">Σχετικά video</string>
|
||||
<string name="search_language_title">Προτιμώμενη γλώσσα περιεχομένου</string>
|
||||
<string name="settings_category_video_audio_title">Video & Ήχος</string>
|
||||
<string name="settings_category_appearance_title">Εμφάνιση</string>
|
||||
|
@@ -1,21 +1,18 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="background_player_name">NewPipe-fonludilo</string>
|
||||
<resources>
|
||||
<string name="view_count_text">%1$s vidoj</string>
|
||||
<string name="upload_date_text">Eldonita je %1$s</string>
|
||||
<string name="install">Instali</string>
|
||||
<string name="cancel">Nuligi</string>
|
||||
<string name="open_in_browser">Malfermi per retumilo</string>
|
||||
<string name="share">Konigi</string>
|
||||
<string name="loading">Ŝargado</string>
|
||||
<string name="download">Elŝuti</string>
|
||||
<string name="search">Serĉi</string>
|
||||
<string name="settings">Agordoj</string>
|
||||
<string name="did_you_mean">Ĉu vi intencis: %1$s?</string>
|
||||
<string name="search_page">"Serĉpaĝo: "</string>
|
||||
<string name="share_dialog_title">Konigi kun</string>
|
||||
<string name="choose_browser">Elekti retumilon</string>
|
||||
<string name="screen_rotation">turno</string>
|
||||
<string name="settings_activity_title">Agordoj</string>
|
||||
<string name="use_external_video_player_title">Uzi eksteran videoludilon</string>
|
||||
<string name="use_external_audio_player_title">Uzi eksteran sonludilon</string>
|
||||
|
||||
@@ -33,7 +30,6 @@
|
||||
<string name="download_dialog_title">Elŝuti</string>
|
||||
<string name="next_video_title">Sekva video</string>
|
||||
<string name="url_not_supported_toast">Ligilo ne subtenita</string>
|
||||
<string name="similar_videos_btn_text">Similaj videoj</string>
|
||||
<string name="search_language_title">Preferata enhavlingvo</string>
|
||||
<string name="settings_category_video_audio_title">Video kaj sono</string>
|
||||
<string name="settings_category_appearance_title">Apero</string>
|
||||
@@ -59,7 +55,7 @@
|
||||
<string name="detail_uploader_thumbnail_view_description">Miniaturo de la bildo de la alŝutinto</string>
|
||||
<string name="err_dir_create">La elŝutujo \'%1$s\' ne kreeblas</string>
|
||||
<string name="info_dir_created">Elŝutujo \'%1$s\' kreita</string>
|
||||
<string name="download_path_title">Elŝutujo por videoj</string>
|
||||
<string name="download_path_title">Elŝutujo por videoj</string>
|
||||
<string name="download_path_audio_title">Elŝutujo por muziko</string>
|
||||
<string name="use_tor_summary">(Eksperimenta) Devigi elŝuttrafikon tra Tor por pli bona privateco (elsendfluaj videoj estas ankoraŭ ne subtenitaj).</string>
|
||||
|
||||
@@ -80,8 +76,5 @@
|
||||
|
||||
<string name="report_error">Raporti eraron</string>
|
||||
<string name="video">Video</string>
|
||||
<string name="text">Teksto</string>
|
||||
<string name="logging_normal">Normala</string>
|
||||
<string name="retry">Reprovi</string>
|
||||
<string name="use_exoplayer_summary">Eksperimenta</string>
|
||||
</resources>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<resources>
|
||||
<string name="view_count_text">%1$s visualizaciones</string>
|
||||
<string name="upload_date_text">Publicado en %1$s</string>
|
||||
<string name="no_player_found">No se encontró ningún reproductor de vídeo. ¿Desea instalar VLC?</string>
|
||||
@@ -11,19 +11,17 @@
|
||||
<string name="search">Buscar</string>
|
||||
<string name="settings">Ajustes</string>
|
||||
<string name="did_you_mean">¿Quiso decir: %1$s?</string>
|
||||
<string name="search_page">Buscar página: </string>
|
||||
<string name="share_dialog_title">Compartir con</string>
|
||||
<string name="choose_browser">Seleccionar navegador</string>
|
||||
<string name="screen_rotation">rotación</string>
|
||||
<string name="settings_activity_title">Ajustes</string>
|
||||
<string name="download_path_title">Ruta de descarga de vídeo</string>
|
||||
<string name="download_path_summary">Ruta para almacenar los vídeos descargados.</string>
|
||||
<string name="download_path_summary">Ruta para almacenar los vídeos descargados</string>
|
||||
<string name="download_path_dialog_title">Introducir directorio de descargas para vídeos</string>
|
||||
<string name="default_resolution_title">Resolución de vídeo por defecto</string>
|
||||
<string name="play_with_kodi_title">Reproducir con Kodi</string>
|
||||
<string name="kore_not_found">Aplicación Kore no encontrada. ¿Instalar Kore?</string>
|
||||
<string name="show_play_with_kodi_title">Mostrar opción \"Reproducir con Kodi\"</string>
|
||||
<string name="show_play_with_kodi_summary">Mostrar una opción para reproducir el vídeo con Kodi Media Center.</string>
|
||||
<string name="show_play_with_kodi_summary">Mostrar una opción para reproducir vídeo con Kodi Media Center</string>
|
||||
<string name="play_audio">Audio</string>
|
||||
<string name="default_audio_format_title">Formato de audio por defecto</string>
|
||||
<string name="webm_description">WebM — formato libre</string>
|
||||
@@ -31,9 +29,6 @@
|
||||
<string name="download_dialog_title">Descargar</string>
|
||||
<string name="next_video_title">Siguiente vídeo</string>
|
||||
<string name="url_not_supported_toast">URL no soportada</string>
|
||||
<string name="similar_videos_btn_text">Vídeos similares</string>
|
||||
<string name="background_player_name">Reproductor de fondo NewPipe</string>
|
||||
<string name="loading">Cargando</string>
|
||||
<string name="use_external_video_player_title">Usar reproductor de vídeo externo</string>
|
||||
<string name="use_external_audio_player_title">Usar reproductor de audio externo</string>
|
||||
|
||||
@@ -50,8 +45,8 @@
|
||||
|
||||
<string name="err_dir_create">No se puede crear la carpeta de descarga \'%1$s\'</string>
|
||||
<string name="info_dir_created">Carpeta de descarga creada \'%1$s\'</string>
|
||||
<string name="download_path_audio_summary">Ruta para almacenar los audios descargados</string>
|
||||
<string name="download_path_audio_dialog_title">Introducir ruta de descarga para archivos de audio.</string>
|
||||
<string name="download_path_audio_summary">Ruta para almacenar los audios descargados</string>
|
||||
<string name="download_path_audio_dialog_title">Introducir ruta de descarga para archivos de audio</string>
|
||||
|
||||
<string name="blocked_by_gema">Bloqueado por GEMA.</string>
|
||||
|
||||
@@ -61,7 +56,7 @@
|
||||
<string name="general_error">Error</string>
|
||||
<string name="network_error">Error de conexión</string>
|
||||
<string name="could_not_load_thumbnails">No se pudo cargar las miniaturas</string>
|
||||
<string name="youtube_signature_decryption_error">No se pudo descifrar la url del vídeo.</string>
|
||||
<string name="youtube_signature_decryption_error">No se pudo descifrar la URL del vídeo.</string>
|
||||
<string name="parsing_error">No se pudo analizar el sitio web.</string>
|
||||
<string name="show_next_and_similar_title">Mostrar vídeos siguientes y similares</string>
|
||||
<string name="search_language_title">Idioma preferido del contenido</string>
|
||||
@@ -75,28 +70,25 @@
|
||||
|
||||
<string name="content">Contenido</string>
|
||||
<string name="show_age_restricted_content_title">Mostrar contenido restringido por edad</string>
|
||||
<string name="video_is_age_restricted">El vídeo tiene restricción de edad. Habilite los vídeos con restricción de edad en los ajustes.</string>
|
||||
<string name="video_is_age_restricted">El vídeo tiene restricción de edad. Active los vídeos con restricción de edad en los ajustes.</string>
|
||||
|
||||
<string name="main_bg_subtitle">Toque buscar para empezar</string>
|
||||
<string name="autoplay_by_calling_app_title">Autoreproducir al llamar desde otra app</string>
|
||||
<string name="autoplay_by_calling_app_summary">Reproducir automáticamente un vídeo cuando NewPipe es llamado desde otra aplicación.</string>
|
||||
<string name="autoplay_by_calling_app_summary">Reproducir automáticamente un vídeo cuando NewPipe es llamado desde otra aplicación</string>
|
||||
<string name="duration_live">en vivo</string>
|
||||
<string name="downloads">Descargas</string>
|
||||
<string name="downloads_title">Descargas</string>
|
||||
<string name="settings_title">Ajustes</string>
|
||||
<string name="error_report_title">Reportar error</string>
|
||||
|
||||
<string name="light_parsing_error">No se pudo analizar el sitio web completamente.</string>
|
||||
<string name="could_not_setup_download_menu">No se pudo configurar el menú de descarga.</string>
|
||||
<string name="could_not_get_stream">No se pudo obtener ninguna transmisión.</string>
|
||||
<string name="sorry_string">Lo siento, esto no debería ocurrir.</string>
|
||||
<string name="sorry_string">Lo siento, esto no debería haber ocurrido.</string>
|
||||
<string name="error_report_button_text">Reportar error vía email</string>
|
||||
<string name="error_snackbar_message">Lo siento, ocurrieron algunos errores.</string>
|
||||
<string name="error_snackbar_action">REPORTAR</string>
|
||||
<string name="what_device_headline">Información:</string>
|
||||
<string name="what_happened_headline">Qué ha ocurrido:</string>
|
||||
<string name="info_searched_lbl">Buscado:</string>
|
||||
<string name="info_requested_stream_lbl">Transmisión solicitada:</string>
|
||||
<string name="your_comment">Su comentario (en Inglés):</string>
|
||||
<string name="error_details_headline">Detalles:</string>
|
||||
|
||||
@@ -104,25 +96,11 @@
|
||||
<string name="report_error">Reportar un error</string>
|
||||
<string name="user_report">Reporte de usuario</string>
|
||||
|
||||
<string name="enable_background_audio">Reproducir en segundo plano</string>
|
||||
<string name="video">Vídeos</string>
|
||||
|
||||
<string name="audio">Audio</string>
|
||||
<string name="text">Texto</string>
|
||||
<string name="logging">Registro</string>
|
||||
<string name="logging_normal">Normal</string>
|
||||
<string name="logging_verbose">Detallado</string>
|
||||
<string name="retry">Reintentar</string>
|
||||
<string name="off">[off]</string>
|
||||
<string name="error_drm_not_supported">Contenido protegido no soportado en niveles de API inferiores a 18</string>
|
||||
<string name="error_drm_unsupported_scheme">Este dispositivo no soporta el esquema DRM requerido</string>
|
||||
<string name="error_drm_unknown">Ocurrió un error desconocido de DRM</string>
|
||||
<string name="error_no_decoder">Este dispositivo no proporciona un decodificador para <xliff:g id="mime_type">%1$s</xliff:g></string>
|
||||
<string name="error_no_secure_decoder">Este dispositivo no proporciona un decodificador seguro para <xliff:g id="mime_type">%1$s</xliff:g></string>
|
||||
<string name="error_querying_decoders">No es posible consultar los decodificadores del dispositivo</string>
|
||||
<string name="error_instantiating_decoder">No se ha podido instanciar el decodificador <xliff:g id="decoder_name">%1$s</xliff:g></string>
|
||||
<string name="storage_permission_denied">El permiso de acceso al almacenamiento fue negado</string>
|
||||
<string name="use_exoplayer_title">Usar ExoPlayer</string>
|
||||
<string name="use_exoplayer_summary">Experimental</string>
|
||||
|
||||
<string name="start">Iniciar</string>
|
||||
<string name="pause">Pausar</string>
|
||||
@@ -132,13 +110,9 @@
|
||||
|
||||
<string name="add">Nueva misión</string>
|
||||
<string name="finish">Ok</string>
|
||||
<string name="switch_mode">Cambiar entre lista y cuadrícula</string>
|
||||
|
||||
|
||||
<string name="msg_url">URL de descarga</string>
|
||||
<string name="msg_name">Nombre del archivo</string>
|
||||
<string name="msg_threads">Conexiones simultáneas</string>
|
||||
<string name="msg_fetch_filename">Obtener nombre de archivo</string>
|
||||
<string name="msg_error">Error</string>
|
||||
<string name="msg_server_unsupported">Servidor no soportado</string>
|
||||
<string name="msg_exists">El archivo ya existe</string>
|
||||
@@ -152,13 +126,11 @@
|
||||
<string name="could_not_load_image">No se pudo cargar la imagen</string>
|
||||
<string name="app_ui_crash">La interfaz de la app dejó de funcionar</string>
|
||||
<string name="info_labels">Lo sucedido:\\nSolicitud:\\nIdioma del contenido:\\nServicio:\\nHora GMT:\\nPaquete:\\nVersión:\\nVersión del S.O:\\nRango global de la IP:</string>
|
||||
<string name="title_activity_channel">Actividad del canal</string>
|
||||
<string name="action_settings">Ajustes</string>
|
||||
|
||||
<string name="black_theme_title">Oscuro</string>
|
||||
|
||||
<string name="all">Todo</string>
|
||||
<string name="channel">Canales</string>
|
||||
<string name="channel">Canal</string>
|
||||
<string name="yes">Sí</string>
|
||||
<string name="later">Después</string>
|
||||
|
||||
@@ -169,11 +141,6 @@
|
||||
<string name="short_thousand">K</string>
|
||||
<string name="short_million">M</string>
|
||||
<string name="short_billion">MM</string>
|
||||
<string name="restart_title">Reiniciar</string>
|
||||
|
||||
<string name="msg_restart">Debe reiniciar la aplicación para aplicar la plantilla
|
||||
|
||||
¿Quieres reiniciar ahora?</string>
|
||||
|
||||
<string name="reCaptchaActivity">reCAPTCHA</string>
|
||||
<string name="open_in_popup_mode">Abrir en modo popup</string>
|
||||
@@ -187,13 +154,13 @@ abrir en modo popup</string>
|
||||
|
||||
<string name="popup_playing_toast">Reproduciendo en modo popup</string>
|
||||
<string name="use_old_player_title">Usar reproductor antiguo</string>
|
||||
<string name="use_old_player_summary">Versión antigua en reproductor Mediaframework.</string>
|
||||
<string name="use_old_player_summary">Versión antigua en reproductor Media Framework.</string>
|
||||
<string name="preferred_video_format_title">Formato de vídeo por defecto</string>
|
||||
<string name="disabled">Desactivado</string>
|
||||
|
||||
<string name="subscriber_plural">Suscriptores</string>
|
||||
<string name="show_higher_resolutions_title">Mostrar resoluciones más altas</string>
|
||||
<string name="show_higher_resolutions_summary">Sólo algunos dispositivos soportan reproducción de vídeos en 2K/4K</string>
|
||||
<string name="show_higher_resolutions_summary">Solo algunos dispositivos soportan reproducción de vídeos en 2K/4K</string>
|
||||
<string name="default_popup_resolution_title">Resolución del popup por defecto</string>
|
||||
<string name="controls_background_title">Segundo plano</string>
|
||||
<string name="controls_popup_title">Popup</string>
|
||||
@@ -214,4 +181,6 @@ abrir en modo popup</string>
|
||||
<string name="show_search_suggestions_title">Sugerencias de búsqueda</string>
|
||||
<string name="show_search_suggestions_summary">Mostrar sugerencias cuando esté buscando</string>
|
||||
|
||||
<string name="best_resolution">Mejor resolución</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -1,18 +1,17 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources><string name="view_count_text">%1$s ikustaldi</string>
|
||||
<resources>
|
||||
<string name="view_count_text">%1$s ikustaldi</string>
|
||||
<string name="upload_date_text">Argitaratze-data: %1$s</string>
|
||||
<string name="install">Instalatu</string>
|
||||
<string name="cancel">Utzi</string>
|
||||
<string name="open_in_browser">Nabigatzailean ireki</string>
|
||||
<string name="share">Partekatu</string>
|
||||
<string name="loading">Kargatzen</string>
|
||||
<string name="download">Deskargatu</string>
|
||||
<string name="search">Bilatu</string>
|
||||
<string name="settings">Ezarpenak</string>
|
||||
<string name="share_dialog_title">Partekatu honekin</string>
|
||||
<string name="choose_browser">Nabigatzailea aukeratu</string>
|
||||
<string name="screen_rotation">biratzea</string>
|
||||
<string name="settings_activity_title">Ezarpenak</string>
|
||||
<string name="download_path_title">Bideoak deskargatzeko kokapena</string>
|
||||
<string name="download_path_summary">Deskargatutako bideoak gordetzeko bide-izena.</string>
|
||||
<string name="download_path_dialog_title">Sar ezazu bideoak deskargatzeko kokapena</string>
|
||||
@@ -29,7 +28,6 @@
|
||||
<string name="next_video_title">Hurrengo bideoa</string>
|
||||
<string name="show_next_and_similar_title">Hurrengo bideoa eta antzekoak erakutsi</string>
|
||||
<string name="url_not_supported_toast">URLa ez da onartzen.</string>
|
||||
<string name="similar_videos_btn_text">Antzeko bideoak</string>
|
||||
<string name="search_language_title">Edukiaren hizkuntz lehenetsia</string>
|
||||
<string name="settings_category_video_audio_title">Bideoa eta Audioa</string>
|
||||
<string name="play_btn_text">Erreproduzitu</string>
|
||||
@@ -41,23 +39,20 @@
|
||||
<string name="detail_likes_img_view_description">Gustoko dute</string>
|
||||
<string name="use_tor_title">Tor erabili</string>
|
||||
<string name="use_tor_summary">Trafikoa Tor bidez deskargatzea behartzen du pribatutasuna hobetzeko (jario bideoak ez daude oraindik onartuta)</string>
|
||||
<string name="background_player_name">NewPipe atzeko planoko erreproduzitzailea</string>
|
||||
<string name="no_player_found">Jario erreproduzitzailerik ez da aurkitu. Agian bat instalatu nahi dezakezu.</string>
|
||||
<string name="did_you_mean">Hau esan nahi al zenuen: %1$s?</string>
|
||||
<string name="search_page">"Orrialdea bilatu: "</string>
|
||||
<string name="use_external_video_player_title">Kanpoko bideo erreproduzitzailea erabili</string>
|
||||
<string name="use_external_audio_player_title">Kanpoko audio erreproduzitzailea erabili</string>
|
||||
<string name="background_player_playing_toast">Atzeko planoan erreproduzitzen</string>
|
||||
<string name="main_bg_subtitle">Ukitu bilaketa hasteko</string>
|
||||
<string name="main_bg_subtitle">Ukitu bilaketa hasteko</string>
|
||||
<string name="download_path_audio_title">Audioa deskargatzeko kokapena</string>
|
||||
<string name="download_path_audio_dialog_title">Sar ezazu audioa deskargatzeko kokapena.</string>
|
||||
|
||||
<string name="download_path_audio_summary">Deskargatutako audioa gordetzeko bide-izena</string>
|
||||
<string name="autoplay_by_calling_app_title">Automatikoki jo beste aplikazio batetik deitzean</string>
|
||||
<string name="autoplay_by_calling_app_summary">Automatikoki jo bideoa NewPipe beste aplikazio batek deitu badu.</string>
|
||||
<string name="theme_title"></string>
|
||||
<string name="dark_theme_title">Iluna</string>
|
||||
<string name="light_theme_title">Argia</string>
|
||||
|
||||
<string name="settings_category_appearance_title">Itxura</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="main_bg_subtitle">برای شروع، جستوجو را بزنید</string>
|
||||
<string name="background_player_name">پخشکنندهٔ پسزمینهٔ نیوپایپ</string>
|
||||
<resources>
|
||||
<string name="main_bg_subtitle">برای شروع، جستوجو را بزنید</string>
|
||||
<string name="view_count_text">%1$s مشاهده</string>
|
||||
<string name="upload_date_text">منتشر شده در %1$s</string>
|
||||
<string name="no_player_found">هیچ پخشکنندهٔ جریانی پیدا نشد. ویالسی نصب شود؟</string>
|
||||
@@ -8,16 +8,13 @@
|
||||
<string name="cancel">لغو</string>
|
||||
<string name="open_in_browser">گشودن در مرورگر</string>
|
||||
<string name="share">همرسانی</string>
|
||||
<string name="loading">در حال بار کردن</string>
|
||||
<string name="download">بارگیری</string>
|
||||
<string name="search">جستوجو</string>
|
||||
<string name="settings">تنظیمات</string>
|
||||
<string name="did_you_mean">منظورتان این بود: %1$s ؟</string>
|
||||
<string name="search_page">"جستوجوی صفحه: "</string>
|
||||
<string name="share_dialog_title">همرسانی با</string>
|
||||
<string name="choose_browser">گزیدن مرورگر</string>
|
||||
<string name="screen_rotation">چرخش</string>
|
||||
<string name="settings_activity_title">تنظیمات</string>
|
||||
<string name="use_external_video_player_title">استفاده از پخشکنندهٔ ویدیوی خارجی</string>
|
||||
<string name="use_external_audio_player_title">استفاده از پخشکنندهٔ صدای خارجی</string>
|
||||
|
||||
@@ -48,7 +45,6 @@
|
||||
<string name="next_video_title">ویدیوی بعدی</string>
|
||||
<string name="show_next_and_similar_title">نماش ویدیوهای بعدی و مشابه</string>
|
||||
<string name="url_not_supported_toast">نشانی اینترنتی پشتیبانی نمیشود</string>
|
||||
<string name="similar_videos_btn_text">ویدیوهای مشابه</string>
|
||||
<string name="search_language_title">زبان محتوای ترجیحی</string>
|
||||
<string name="settings_category_video_audio_title">ویدیو و صدا</string>
|
||||
<string name="settings_category_appearance_title">ظاهر</string>
|
||||
@@ -61,7 +57,6 @@
|
||||
<string name="duration_live">زنده</string>
|
||||
<string name="downloads">بارگیریها</string>
|
||||
<string name="downloads_title">بارگیریها</string>
|
||||
<string name="settings_title">تنظیمات</string>
|
||||
<string name="error_report_title">گزارش خطا</string>
|
||||
|
||||
<string name="general_error">خطا</string>
|
||||
@@ -81,8 +76,6 @@
|
||||
<string name="error_snackbar_action">گزارش</string>
|
||||
<string name="what_device_headline">اطّلاعات:</string>
|
||||
<string name="what_happened_headline">چه روی داد:</string>
|
||||
<string name="info_searched_lbl">جستوجو شده برای:</string>
|
||||
<string name="info_requested_stream_lbl">جریان درخواستی:</string>
|
||||
<string name="your_comment">توضیح شما (به انگلیسی):</string>
|
||||
<string name="error_details_headline">جزییات:</string>
|
||||
|
||||
@@ -100,25 +93,10 @@
|
||||
<string name="err_dir_create">نمیتوان شاخهٔ بارگیری «%1$s» را ایجاد کرد</string>
|
||||
<string name="info_dir_created">شاخهٔ بارگیری «%1$s» ایجاد شد</string>
|
||||
|
||||
<string name="enable_background_audio">پخش در پسزمینه</string>
|
||||
<string name="video">ویدیو</string>
|
||||
<string name="audio">صدا</string>
|
||||
<string name="text">متن</string>
|
||||
<string name="logging">گزارشدهی</string>
|
||||
<string name="logging_normal">معمولی</string>
|
||||
<string name="logging_verbose">پرگو</string>
|
||||
<string name="retry">تلاش دوباره</string>
|
||||
<string name="off">[خاموش]</string>
|
||||
<string name="error_drm_not_supported">محتوای محافظتشده روی رابط برنامهنویسیهای پایینتر از سطح ۱۸ پشتیبانی نمیشود</string>
|
||||
<string name="error_drm_unsupported_scheme">این افزاره، شمای DRM مورد نیاز را پشتیبانی نمیکند</string>
|
||||
<string name="error_drm_unknown">یک خطای نشناختهٔ DRM رخ داد</string>
|
||||
<string name="error_no_decoder">اینافزاره رمزگشایی برای <xliff:g id="mime_type">%1$s</xliff:g> فراهم نمیکند</string>
|
||||
<string name="error_no_secure_decoder">اینافزاره رمزگشای امنی برای <xliff:g id="mime_type">%1$s</xliff:g> فراهم نمیکند</string>
|
||||
<string name="error_querying_decoders">نمیتوان در رمزگشاهای دستگاه پرسوجو کرد</string>
|
||||
<string name="error_instantiating_decoder">نمیتوان رمزگشای <xliff:g id="decoder_name">%1$s</xliff:g> را راهاندازی کرد</string>
|
||||
<string name="storage_permission_denied">اجازهٔ دسترسی به انبار ذخیره رد شد</string>
|
||||
<string name="use_exoplayer_title">استفاده از اگزوپلیر</string>
|
||||
<string name="use_exoplayer_summary">آزمایشی</string>
|
||||
|
||||
<string name="start">شروع</string>
|
||||
<string name="pause">مکث</string>
|
||||
@@ -128,13 +106,9 @@
|
||||
|
||||
<string name="add">مآموریت جدید</string>
|
||||
<string name="finish">قبول</string>
|
||||
<string name="switch_mode">جابهجایی بین فهرست و شبکه</string>
|
||||
|
||||
|
||||
<string name="msg_url">بارگیری نشانی اینترنتی</string>
|
||||
<string name="msg_name">نام پرونده</string>
|
||||
<string name="msg_threads">رشتهها</string>
|
||||
<string name="msg_fetch_filename">گرفتن نام پرونده</string>
|
||||
<string name="msg_error">خطا</string>
|
||||
<string name="msg_server_unsupported">کارساز پشتیبانی نشده</string>
|
||||
<string name="msg_exists">پرونده از پیش وجود دارد</string>
|
||||
@@ -145,4 +119,4 @@
|
||||
<string name="msg_copied">در حافظه رونوشت شد.</string>
|
||||
<string name="no_available_dir">لطفاً یک شاخهٔ بارگیری موجود را برگزینید.</string>
|
||||
|
||||
</resources>
|
||||
</resources>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user