1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-20 00:34:55 +00:00

Merge pull request #2 from TeamNewPipe/dev

d
This commit is contained in:
Somethingweirdhere 2018-04-19 15:30:12 +02:00 committed by GitHub
commit bdb45295b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 539 additions and 53 deletions

View File

@ -59,7 +59,8 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.*;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
import static org.schabi.newpipe.util.ThemeHelper.resolveResourceIdFromAttr;
/**
@ -67,13 +68,10 @@ import static org.schabi.newpipe.util.ThemeHelper.resolveResourceIdFromAttr;
*/
public class RouterActivity extends AppCompatActivity {
@State
protected int currentServiceId = -1;
@State protected int currentServiceId = -1;
private StreamingService currentService;
@State
protected LinkType currentLinkType;
@State
protected int selectedRadioPosition = -1;
@State protected LinkType currentLinkType;
@State protected int selectedRadioPosition = -1;
protected int selectedPreviously = -1;
protected String currentUrl;
@ -94,8 +92,7 @@ public class RouterActivity extends AppCompatActivity {
}
setTheme(ThemeHelper.isLightThemeSelected(this)
? R.style.RouterActivityThemeLight
: R.style.RouterActivityThemeDark);
? R.style.RouterActivityThemeLight : R.style.RouterActivityThemeDark);
}
@Override
@ -162,49 +159,65 @@ public class RouterActivity extends AppCompatActivity {
protected void onSuccess() {
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean isExtVideoEnabled = preferences.getBoolean(getString(R.string.use_external_video_player_key), false);
boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);
if ((isExtAudioEnabled || isExtVideoEnabled) && currentLinkType != LinkType.STREAM) {
Toast.makeText(this, R.string.external_player_unsupported_link_type, Toast.LENGTH_LONG).show();
finish();
return;
}
final String playerChoiceKey = preferences.getString(getString(R.string.preferred_open_action_key), getString(R.string.preferred_open_action_default));
final String selectedChoiceKey = preferences.getString(getString(R.string.preferred_open_action_key), getString(R.string.preferred_open_action_default));
final String showInfoKey = getString(R.string.show_info_key);
final String videoPlayerKey = getString(R.string.video_player_key);
final String backgroundPlayerKey = getString(R.string.background_player_key);
final String popupPlayerKey = getString(R.string.popup_player_key);
final String alwaysAskKey = getString(R.string.always_ask_open_action_key);
final List<StreamingService.ServiceInfo.MediaCapability> capabilities = currentService.getServiceInfo().getMediaCapabilities();
if (selectedChoiceKey.equals(alwaysAskKey)) {
final List<AdapterChoiceItem> choices = getChoicesForService(currentService, currentLinkType);
boolean serviceSupportsPlayer = false;
if (playerChoiceKey.equals(videoPlayerKey) || playerChoiceKey.equals(popupPlayerKey)) {
serviceSupportsPlayer = capabilities.contains(VIDEO);
} else if (playerChoiceKey.equals(backgroundPlayerKey)) {
serviceSupportsPlayer = capabilities.contains(AUDIO);
}
if (playerChoiceKey.equals(alwaysAskKey) || !serviceSupportsPlayer) {
showDialog();
if (choices.size() == 1) {
handleChoice(choices.get(0).key);
} else if (choices.size() == 0) {
handleChoice(showInfoKey);
} else {
showDialog(choices);
}
} else if (selectedChoiceKey.equals(showInfoKey)) {
handleChoice(showInfoKey);
} else {
handleChoice(playerChoiceKey);
final boolean isExtVideoEnabled = preferences.getBoolean(getString(R.string.use_external_video_player_key), false);
final boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);
final boolean isVideoPlayerSelected = selectedChoiceKey.equals(videoPlayerKey) || selectedChoiceKey.equals(popupPlayerKey);
final boolean isAudioPlayerSelected = selectedChoiceKey.equals(backgroundPlayerKey);
if (currentLinkType != LinkType.STREAM) {
if (isExtAudioEnabled && isAudioPlayerSelected || isExtVideoEnabled && isVideoPlayerSelected) {
Toast.makeText(this, R.string.external_player_unsupported_link_type, Toast.LENGTH_LONG).show();
handleChoice(showInfoKey);
return;
}
}
final List<StreamingService.ServiceInfo.MediaCapability> capabilities = currentService.getServiceInfo().getMediaCapabilities();
boolean serviceSupportsChoice = false;
if (isVideoPlayerSelected) {
serviceSupportsChoice = capabilities.contains(VIDEO);
} else if (selectedChoiceKey.equals(backgroundPlayerKey)) {
serviceSupportsChoice = capabilities.contains(AUDIO);
}
if (serviceSupportsChoice) {
handleChoice(selectedChoiceKey);
} else {
handleChoice(showInfoKey);
}
}
}
private void showDialog() {
private void showDialog(final List<AdapterChoiceItem> choices) {
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
final ContextThemeWrapper themeWrapperContext = new ContextThemeWrapper(this,
ThemeHelper.isLightThemeSelected(this) ? R.style.LightTheme : R.style.DarkTheme);
final Context themeWrapperContext = getThemeWrapperContext();
final LayoutInflater inflater = LayoutInflater.from(themeWrapperContext);
final LinearLayout rootLayout = (LinearLayout) inflater.inflate(R.layout.preferred_player_dialog_view, null, false);
final RadioGroup radioGroup = rootLayout.findViewById(android.R.id.list);
final List<AdapterChoiceItem> choices = getChoicesForService(themeWrapperContext, currentService);
final DialogInterface.OnClickListener dialogButtonsClickListener = (dialog, which) -> {
final int indexOfChild = radioGroup.indexOfChild(
radioGroup.findViewById(radioGroup.getCheckedRadioButtonId()));
@ -278,21 +291,27 @@ public class RouterActivity extends AppCompatActivity {
alertDialog.show();
}
private List<AdapterChoiceItem> getChoicesForService(Context context, StreamingService service) {
private List<AdapterChoiceItem> getChoicesForService(StreamingService service, LinkType linkType) {
final Context context = getThemeWrapperContext();
final List<AdapterChoiceItem> returnList = new ArrayList<>();
final List<StreamingService.ServiceInfo.MediaCapability> capabilities = service.getServiceInfo().getMediaCapabilities();
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean isExtVideoEnabled = preferences.getBoolean(getString(R.string.use_external_video_player_key), false);
boolean isExtAudioEnabled = preferences.getBoolean(getString(R.string.use_external_audio_player_key), false);
returnList.add(new AdapterChoiceItem(getString(R.string.show_info_key), getString(R.string.show_info),
resolveResourceIdFromAttr(context, R.attr.info)));
if (capabilities.contains(VIDEO)) {
if (capabilities.contains(VIDEO) && !(isExtVideoEnabled && linkType != LinkType.STREAM)) {
returnList.add(new AdapterChoiceItem(getString(R.string.video_player_key), getString(R.string.video_player),
resolveResourceIdFromAttr(context, R.attr.play)));
returnList.add(new AdapterChoiceItem(getString(R.string.popup_player_key), getString(R.string.popup_player),
resolveResourceIdFromAttr(context, R.attr.popup)));
}
if (capabilities.contains(AUDIO)) {
if (capabilities.contains(AUDIO) && !(isExtAudioEnabled && linkType != LinkType.STREAM)) {
returnList.add(new AdapterChoiceItem(getString(R.string.background_player_key), getString(R.string.background_player),
resolveResourceIdFromAttr(context, R.attr.audio)));
}
@ -300,6 +319,11 @@ public class RouterActivity extends AppCompatActivity {
return returnList;
}
private Context getThemeWrapperContext() {
return new ContextThemeWrapper(this,
ThemeHelper.isLightThemeSelected(this) ? R.style.LightTheme : R.style.DarkTheme);
}
private void setDialogButtonsState(AlertDialog dialog, boolean state) {
final Button negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
@ -309,15 +333,15 @@ public class RouterActivity extends AppCompatActivity {
positiveButton.setEnabled(state);
}
private void handleChoice(final String playerChoiceKey) {
private void handleChoice(final String selectedChoiceKey) {
final List<String> validChoicesList = Arrays.asList(getResources().getStringArray(R.array.preferred_open_action_values_list));
if (validChoicesList.contains(playerChoiceKey)) {
if (validChoicesList.contains(selectedChoiceKey)) {
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putString(getString(R.string.preferred_open_action_last_selected_key), playerChoiceKey)
.putString(getString(R.string.preferred_open_action_last_selected_key), selectedChoiceKey)
.apply();
}
if (playerChoiceKey.equals(getString(R.string.popup_player_key)) && !PermissionHelper.isPopupEnabled(this)) {
if (selectedChoiceKey.equals(getString(R.string.popup_player_key)) && !PermissionHelper.isPopupEnabled(this)) {
PermissionHelper.showPopupEnablementToast(this);
finish();
return;
@ -325,7 +349,7 @@ public class RouterActivity extends AppCompatActivity {
// stop and bypass FetcherService if InfoScreen was selected since
// StreamDetailFragment can fetch data itself
if (playerChoiceKey.equals(getString(R.string.show_info_key))) {
if (selectedChoiceKey.equals(getString(R.string.show_info_key))) {
disposables.add(Observable
.fromCallable(() -> NavigationHelper.getIntentByLink(this, currentUrl))
.subscribeOn(Schedulers.io())
@ -342,7 +366,7 @@ public class RouterActivity extends AppCompatActivity {
}
final Intent intent = new Intent(this, FetcherService.class);
final Choice choice = new Choice(currentService.getServiceId(), currentLinkType, currentUrl, playerChoiceKey);
final Choice choice = new Choice(currentService.getServiceId(), currentLinkType, currentUrl, selectedChoiceKey);
intent.putExtra(FetcherService.KEY_CHOICE, choice);
startService(intent);

View File

@ -299,7 +299,7 @@
<string name="give_back">Zurückgeben</string>
<string name="website_title">Website</string>
<string name="website_encouragement">Um mehr Informationen und die neuesten Nachrichten über NewPipe zu erhalten, besuche unsere Website.</string>
<string name="donation_encouragement">NewPipe wird von Freiwilligen entwickelt, die ihre Freizeit darauf verwenden, dir die beste Nutzererfahrung zu bieten. Hilf jetzt den Entwicklern, NewPipe noch besser zu machen, und spendiere Ihnen eine Tasse Java-Kaffee!</string>
<string name="donation_encouragement">NewPipe wird von Freiwilligen entwickelt, die ihre Freizeit dafür aufbringen, die beste Nutzererfahrung zu bieten. Jetzt ist es an Dir, ein wenig zurückzugeben und sicherzustellen, dass unsere Entwickler NewPipe noch besser machen können, während sie sich an einer Tasse Java-Kaffee erfreuen!</string>
<string name="service_title">Service</string>
<string name="no_player_found_toast">Kein Streamplayer gefunden (Du kannst VLC installieren, um ihn abzuspielen)</string>
<string name="default_content_country_title">Standard-Land des Inhalts</string>
@ -460,4 +460,6 @@
<string name="caption_setting_title">Untertitel</string>
<string name="caption_setting_description">Ändere Textgröße und Hintergrundstil des Untertitels im Player. Wird erst nach Neustart des Players wirksam.</string>
<string name="toast_no_player">Für diese Datei wurde kein Player gefunden</string>
</resources>

View File

@ -171,7 +171,7 @@
<string name="player_unrecoverable_failure">복구할 수 없는 플레이어 오류가 발생했습니다</string>
<string name="player_recoverable_failure">플레이어 오류로부터 복구 중</string>
<string name="info_labels">무엇을:\\n요청:\\n컨텐츠 언어:\\n서비스:\\nGMT 기준 시간:\\n패키지:\\n버전:\\n안드로이드 버전:\\nIP주소 범위:</string>
<string name="info_labels">무엇을:\\n요청:\\n컨텐츠 언어:\\n서비스:\\nGMT 기준 시간:\\n패키지:\\n버전:\\n안드로이드 버전:</string>
<string name="search_no_results">결과 없음</string>
<string name="empty_subscription_feed_subtitle">구독할 항목을 추가하세요</string>
@ -437,4 +437,14 @@
<string name="unhook_checkbox">후크 취소 (소리가 깨질수 있음)</string>
<string name="playback_nightcore">나이트코어</string>
<string name="playback_default">기본</string>
</resources>
<string name="no_streams_available_download">다운로드 가능한 스트림이 없습니다</string>
<string name="toast_no_player">이 파일을 위한 플레이어가 발견되지 않았습니다</string>
<string name="preferred_open_action_settings_title">선호하는 열기 동작</string>
<string name="preferred_open_action_settings_summary">컨텐츠를 열 때 사용할 기본 동작 — %s</string>
<string name="caption_setting_title">자막</string>
<string name="caption_setting_description">플레이어 자막 텍스트 크기와 배경 스타일을 변경합니다. 효과를 적용하려면 앱을 재시작 해야합니다.</string>
</resources>

View File

@ -0,0 +1,430 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources><string name="main_bg_subtitle">Tik op zoeken voor te beginnen</string>
<string name="view_count_text">%1$s keer bekeken</string>
<string name="upload_date_text">Gepubliceerd op %1$s</string>
<string name="no_player_found">Gene speler met streamondersteuning gevonden. Wilt ge VLC installeren?</string>
<string name="no_player_found_toast">Gene speler met streamondersteuning gevonden (ge kunt VLC installeren voor het af te spelen)</string>
<string name="install">Installeren</string>
<string name="cancel">Annuleren</string>
<string name="open_in_browser">In browser openen</string>
<string name="open_in_popup_mode">Openen in pop-upmodus</string>
<string name="share">Delen</string>
<string name="download">Downloaden</string>
<string name="controls_download_desc">Streambestand downloaden.</string>
<string name="search">Zoeken</string>
<string name="settings">Instellingen</string>
<string name="did_you_mean">Bedoelde ge: %1$s ?</string>
<string name="share_dialog_title">Delen met</string>
<string name="choose_browser">Kies nen browser</string>
<string name="screen_rotation">rotatie</string>
<string name="use_external_video_player_title">Externe videospeler gebruiken</string>
<string name="use_external_video_player_summary">Sommige resoluties zullen geen geluid hebben als deze optie is ingeschakeld</string>
<string name="use_external_audio_player_title">Externen audiospeler gebruiken</string>
<string name="popup_mode_share_menu_title">NewPipe-pop-upmodus</string>
<string name="subscribe_button_title">Abonneer</string>
<string name="subscribed_button_title">Geabonneerd</string>
<string name="channel_unsubscribed">Abonnement opgezegd</string>
<string name="subscription_change_failed">Kan het abonnement niet veranderen</string>
<string name="subscription_update_failed">Kan het abonnement niet vernieuwen</string>
<string name="show_info">Info tonen</string>
<string name="tab_main">Start</string>
<string name="tab_subscriptions">Abonnementen</string>
<string name="tab_bookmarks">Bladwijzers</string>
<string name="fragment_whats_new">Nieuw</string>
<string name="controls_background_title">Achtergrond</string>
<string name="controls_popup_title">Pop-up</string>
<string name="controls_add_to_playlist_title">Toevoegen aan</string>
<string name="download_path_title">Downloadlocatie voor videos</string>
<string name="download_path_summary">Locatie voor gedownloade videos in op te slaan</string>
<string name="download_path_dialog_title">Voer downloadlocatie in voor videos</string>
<string name="download_path_audio_title">Downloadlocatie voor audio</string>
<string name="download_path_audio_summary">Locatie voor gedownloade muziek in op te slaan</string>
<string name="download_path_audio_dialog_title">Voer downloadlocatie voor audiobestanden in</string>
<string name="autoplay_by_calling_app_title">Automatisch afspelen</string>
<string name="autoplay_by_calling_app_summary">Speelt videos automatisch af wanneer dat NewPipe vanuit nen anderen app geopend wordt</string>
<string name="default_resolution_title">Standaardresolutie</string>
<string name="default_popup_resolution_title">Standaardresolutie voor pop-up</string>
<string name="show_higher_resolutions_title">Hogere resoluties weergeven</string>
<string name="show_higher_resolutions_summary">Videos afspelen in 2K/4K wordt maar op sommige apparaten ondersteund</string>
<string name="play_with_kodi_title">Afspelen met Kodi</string>
<string name="kore_not_found">Kore-app niet gevonden. Installeren?</string>
<string name="show_play_with_kodi_title">Toon “Afspelen met Kodi”-optie</string>
<string name="show_play_with_kodi_summary">Toont een optie voor ne video op een Kodi media center af te spelen</string>
<string name="play_audio">Audio</string>
<string name="default_audio_format_title">Standaardaudioformaat</string>
<string name="default_video_format_title">Standaardvideoformaat</string>
<string name="webm_description">WebM — vrij formaat</string>
<string name="m4a_description">M4A — betere kwaliteit</string>
<string name="theme_title">Thema</string>
<string name="light_theme_title">Licht</string>
<string name="dark_theme_title">Donker</string>
<string name="black_theme_title">Zwart</string>
<string name="popup_remember_size_pos_title">Onthoud grootte en positie van pop-up</string>
<string name="popup_remember_size_pos_summary">Onthoud laatste grootte en positie van pop-up</string>
<string name="use_inexact_seek_title">Snel, minder exact spoelen gebruiken</string>
<string name="use_inexact_seek_summary">Minder exact spoelen laat de speler sneller posities zoeken met verminderde precisie</string>
<string name="download_thumbnail_title">Miniatuurvoorbeelden laden</string>
<string name="download_thumbnail_summary">Schakelt dit uit voor alle miniatuurvoorbeelden niet meer te laden; dit bespaart gegevens en geheugen. Het wijzigen van deze instelling wist het geheugen en de afbeeldingscache.</string>
<string name="thumbnail_cache_wipe_complete_notice">Afbeeldingscache gewist</string>
<string name="metadata_cache_wipe_title">Gecachete metagegevens wissen</string>
<string name="metadata_cache_wipe_summary">Alle gecachete webpagina-gegevens wissen</string>
<string name="metadata_cache_wipe_complete_notice">Metagegevens-cache gewist</string>
<string name="auto_queue_title">Volgende stream automatisch in wachtrij plaatsen</string>
<string name="auto_queue_summary">Automatisch ne gerelateerde stream toevoegen als het afspelen van de laatste stream start in een niet-herhalende afspeelwachtlijst.</string>
<string name="player_gesture_controls_title">Bewegingscontrole</string>
<string name="player_gesture_controls_summary">Gebruik bewegingen voor helderheid en volume van de speler aan te passen</string>
<string name="show_search_suggestions_title">Zoeksuggesties</string>
<string name="show_search_suggestions_summary">Toon suggesties bij zoeken</string>
<string name="enable_search_history_title">Zoekgeschiedenis</string>
<string name="enable_search_history_summary">Sla zoekopdrachten lokaal op</string>
<string name="enable_watch_history_title">Geschiedenis</string>
<string name="enable_watch_history_summary">Kijkgeschiedenis bijhouden</string>
<string name="resume_on_audio_focus_gain_title">Hervat bij focus</string>
<string name="resume_on_audio_focus_gain_summary">Ga verder met afspelen na onderbrekingen (zoals telefoongesprekken)</string>
<string name="download_dialog_title">Downloaden</string>
<string name="next_video_title">Volgende video</string>
<string name="show_next_and_similar_title">Toon volgende en vergelijkbare videos</string>
<string name="show_hold_to_append_title">Toon tip voor ingedrukt houden voor toe te voegen</string>
<string name="show_hold_to_append_summary">Toon tip wanneer dat den achtergrond- of pop-upknop is ingedrukt op de video-detailpagina</string>
<string name="url_not_supported_toast">URL wordt niet ondersteund</string>
<string name="default_content_country_title">Standaardinhoudsland</string>
<string name="service_title">Dienst</string>
<string name="search_language_title">Standaardtaal voor inhoud</string>
<string name="settings_category_player_title">Speler</string>
<string name="settings_category_player_behavior_title">Gedrag</string>
<string name="settings_category_video_audio_title">Video &amp; audio</string>
<string name="settings_category_history_title">Geschiedenis &amp; cache</string>
<string name="settings_category_popup_title">Pop-up</string>
<string name="settings_category_appearance_title">Uiterlijk</string>
<string name="settings_category_other_title">Overige</string>
<string name="settings_category_debug_title">Foutopsporing</string>
<string name="background_player_playing_toast">Speelt af in achtergrond</string>
<string name="popup_playing_toast">Speelt af in pop-upmodus</string>
<string name="background_player_append">Toegevoegd aan wachtrij voor achtergrondspeler</string>
<string name="popup_playing_append">Toegevoegd aan wachtrij voor pop-upspeler</string>
<string name="play_btn_text">Afspelen</string>
<string name="content">Inhoud</string>
<string name="show_age_restricted_content_title">Toon inhoud met leeftijdsbeperking</string>
<string name="video_is_age_restricted">Video heeft leeftijdsbeperking. Leeftijdsbeperkte videos kunnen ingeschakeld worden in de instellingen.</string>
<string name="duration_live">live</string>
<string name="downloads">Downloads</string>
<string name="downloads_title">Downloads</string>
<string name="error_report_title">Foutrapport</string>
<string name="all">Alles</string>
<string name="channel">Kanaal</string>
<string name="playlist">Afspeellijst</string>
<string name="yes">Ja</string>
<string name="later">Later</string>
<string name="disabled">Uitgeschakeld</string>
<string name="filter">Filter</string>
<string name="refresh">Verversen</string>
<string name="clear">Wissen</string>
<string name="popup_resizing_indicator_title">Bezig met schalen</string>
<string name="best_resolution">Beste resolutie</string>
<string name="undo">Ongedaan maken</string>
<string name="play_all">Alles afspelen</string>
<string name="always">Altijd</string>
<string name="just_once">Eenmalig</string>
<string name="file">Bestand</string>
<string name="notification_channel_name">NewPipe-melding</string>
<string name="notification_channel_description">Meldingen voor NewPipe-achtergrond- en pop-upspelers</string>
<string name="unknown_content">[Onbekend]</string>
<string name="toggle_orientation">Oriëntatie wijzigen</string>
<string name="switch_to_background">Verplaatsen naar achtergrond</string>
<string name="switch_to_popup">Verplaatsen naar pop-up</string>
<string name="switch_to_main">Verplaatsen naar normaal</string>
<string name="import_data_title">Databank importeren</string>
<string name="export_data_title">Databank exporteren</string>
<string name="import_data_summary">Dit zal uw huidige geschiedenis en abonnementen overschrijven</string>
<string name="export_data_summary">Exporteer geschiedenis, abonnementen en speellijsten.</string>
<string name="general_error">Fout</string>
<string name="network_error">Netwerkfout</string>
<string name="could_not_load_thumbnails">Kon niet alle miniaturen laden</string>
<string name="youtube_signature_decryption_error">Kon video-URL-ondertekening niet ontsleutelen</string>
<string name="parsing_error">Kon website niet verwerken</string>
<string name="light_parsing_error">Kon de website niet volledig inlezen</string>
<string name="content_not_available">Inhoud niet beschikbaar</string>
<string name="blocked_by_gema">Geblokkeerd door GEMA</string>
<string name="could_not_setup_download_menu">Kon downloadmenu niet instellen</string>
<string name="live_streams_not_supported">Dit is ne LIVESTREAM, deze worden nog niet ondersteund.</string>
<string name="could_not_get_stream">Kon geen streams vinden</string>
<string name="could_not_load_image">Kon afbeelding niet laden</string>
<string name="app_ui_crash">App/UI gecrasht</string>
<string name="player_stream_failure">Kon deze stream niet afspelen</string>
<string name="player_unrecoverable_failure">Onherstelbare spelerfout opgetreden</string>
<string name="player_recoverable_failure">Bezig met herstellen van spelerfout</string>
<string name="external_player_unsupported_link_type">Externe spelers ondersteunen deze soorten koppelingen niet</string>
<string name="invalid_url_toast">Ongeldige URL</string>
<string name="video_streams_empty">Geen videostreams gevonden</string>
<string name="audio_streams_empty">Geen audiostreams gevonden</string>
<string name="invalid_directory">Ongeldige map</string>
<string name="invalid_source">Ongeldig bestand/ongeldigen inhoudsbron</string>
<string name="invalid_file">Het bestand bestaat niet of ge beschikt niet over voldoende machtiging voor het te lezen/ernaar te schrijven</string>
<string name="file_name_empty_error">Den bestandsnaam mag niet leeg zijn</string>
<string name="error_occurred_detail">Der is een fout opgetreden: %1$s</string>
<string name="no_streams_available_download">Geen streams beschikbaar voor downloaden</string>
<string name="sorry_string">Sorry, dit zou niet mogen gebeuren.</string>
<string name="error_report_button_text">Fout melden via e-mail</string>
<string name="error_snackbar_message">Sorry, der traden enkele fouten op.</string>
<string name="error_snackbar_action">MELDEN</string>
<string name="what_device_headline">Info:</string>
<string name="what_happened_headline">Wat is der gebeurd:</string>
<string name="info_labels">Wat:\\nVerzoek:\\nTaal van inhoud:\\nDienst:\\nTijd in GMT:\\nPakket:\\nVersie:\\nVersie van besturingssysteem:</string>
<string name="your_comment">Uw opmerking (in het Engels):</string>
<string name="error_details_headline">Details:</string>
<string name="list_thumbnail_view_description">Videovoorbeeldminiatuur</string>
<string name="detail_thumbnail_view_description">Videovoorbeeldminiatuur</string>
<string name="detail_uploader_thumbnail_view_description">Avatarminiatuur van uploader</string>
<string name="detail_likes_img_view_description">Duimen</string>
<string name="detail_dislikes_img_view_description">Duimen omlaag</string>
<string name="use_tor_title">Gebruik Tor</string>
<string name="use_tor_summary">(Experimenteel) Dwing downloadverkeer door Tor voor verhoogde privacy (streamen van videos wordt nog niet ondersteund).</string>
<string name="report_error">Meld een probleem</string>
<string name="user_report">Gebruikersrapport</string>
<string name="search_no_results">Geen resultaten</string>
<string name="empty_subscription_feed_subtitle">Niks te zien</string>
<string name="detail_drag_description">Versleep voor de volgorde te wijzigen</string>
<string name="err_dir_create">Kan downloadmap %1$s niet aanmaken</string>
<string name="info_dir_created">Downloadmap %1$s aangemaakt</string>
<string name="video">Video</string>
<string name="audio">Geluid</string>
<string name="retry">Opnieuw proberen</string>
<string name="storage_permission_denied">Toegang tot opslag geweigerd</string>
<string name="use_old_player_title">Gebruik oude speler</string>
<string name="use_old_player_summary">Verouderden ingebouwde Mediaframework-speler</string>
<string name="short_thousand">K</string>
<string name="short_million">M</string>
<string name="short_billion">B</string>
<string name="no_subscribers">Geen abonnees</string>
<plurals name="subscribers">
<item quantity="one">%s abonnee</item>
<item quantity="other">%s abonnees</item>
</plurals>
<string name="no_views">Geen weergaven</string>
<plurals name="views">
<item quantity="one">%s weergave</item>
<item quantity="other">%s weergaven</item>
</plurals>
<string name="no_videos">Geen videos</string>
<plurals name="videos">
<item quantity="one">%s video</item>
<item quantity="other">%s videos</item>
</plurals>
<string name="start">Begin</string>
<string name="pause">Pauzeren</string>
<string name="view">Afspelen</string>
<string name="create">Aanmaken</string>
<string name="delete">Verwijderen</string>
<string name="delete_one">Één verwijderen</string>
<string name="delete_all">Alles verwijderen</string>
<string name="checksum">Controlesom</string>
<string name="dismiss">Sluiten</string>
<string name="rename">Hernoemen</string>
<string name="add">Nieuwe missie</string>
<string name="finish">Oké</string>
<string name="msg_name">Bestandsnaam</string>
<string name="msg_threads">Threads</string>
<string name="msg_error">Fout</string>
<string name="msg_server_unsupported">Server wordt niet ondersteund</string>
<string name="msg_exists">Bestand bestaat al</string>
<string name="msg_url_malform">Verkeerden URL of internet niet beschikbaar</string>
<string name="msg_running">NewPipe is aan het downloaden</string>
<string name="msg_running_detail">Tik voor meer informatie</string>
<string name="msg_wait">Efkens geduld…</string>
<string name="msg_copied">Gekopieerd naar klembord</string>
<string name="no_available_dir">Kies een beschikbare downloadmap</string>
<string name="msg_popup_permission">Deze toestemming is vereist voor te openen in pop-upmodus</string>
<string name="reCaptchaActivity">reCAPTCHA</string>
<string name="reCaptcha_title">reCAPTCHA-uitdaging</string>
<string name="recaptcha_request_toast">reCAPTCHA-uitdaging gevraagd</string>
<string name="settings_category_downloads_title">Download</string>
<string name="settings_file_charset_title">Toegelaten tekens in bestandsnamen</string>
<string name="settings_file_replacement_character_summary">Ongeldige tekens worden vervangen door deze waarde</string>
<string name="settings_file_replacement_character_title">Vervangend teken</string>
<string name="charset_letters_and_digits">Letters en cijfers</string>
<string name="charset_most_special_characters">Meeste speciale tekens</string>
<string name="toast_no_player">Gene speler gevonden voor dit bestand</string>
<string name="title_activity_about">Over NewPipe</string>
<string name="action_settings">Instellingen</string>
<string name="action_about">Over</string>
<string name="title_licenses">Derdepartijlicenties</string>
<string name="copyright" formatted="true">© %1$s door %2$s, uitgebracht onder de %3$s</string>
<string name="error_unable_to_load_license">Kon licentie niet laden</string>
<string name="action_open_website">Website openen</string>
<string name="tab_about">Over</string>
<string name="tab_contributors">Bijdragers</string>
<string name="tab_licenses">Licenties</string>
<string name="app_description">Ne vrijen en lichte YouTube-cliënt voor Android.</string>
<string name="contribution_title">Bijdragen</string>
<string name="contribution_encouragement">Hulp is altijd welkom, of ge nu nieuwe ideeën hebt, vertalingen kunt bijdragen, wijzigingen hebt voor het ontwerp, de code kunt opkuisen of der zelfs grote wijzigingen in wilt maken. Hoe meer hulp, hoe beter dat het wordt!</string>
<string name="view_on_github">Bekijken op GitHub</string>
<string name="donation_title">Doneren</string>
<string name="donation_encouragement">NewPipe wordt door vrijwilligers in hunne vrijen tijd ontwikkeld voor u de beste ervaring te brengen. Nu is het tijd voor terug te geven, zodat onze ontwikkelaars NewPipe nóg beter kunnen maken terwijl ze van hun taske koffie genieten!</string>
<string name="give_back">Teruggeven</string>
<string name="website_title">Website</string>
<string name="website_encouragement">Bezoek onze website voor meer informatie en het laatste nieuws over NewPipe.</string>
<string name="app_license_title">Licentie van NewPipe</string>
<string name="read_full_license">Licentie lezen</string>
<string name="title_activity_history">Geschiedenis</string>
<string name="title_history_search">Gezocht</string>
<string name="title_history_view">Gekeken</string>
<string name="history_disabled">Geschiedenis is uitgeschakeld</string>
<string name="action_history">Geschiedenis</string>
<string name="history_empty">De geschiedenis is leeg</string>
<string name="history_cleared">Geschiedenis gewist</string>
<string name="item_deleted">Item verwijderd</string>
<string name="delete_item_search_history">Wilt ge dit item uit uw zoekgeschiedenis verwijderen?</string>
<string name="delete_stream_history_prompt">Wilt ge dit item uit uw kijkgeschiedenis verwijderen?</string>
<string name="delete_all_history_prompt">Wilt ge alle items uit uw geschiedenis verwijderen?</string>
<string name="title_last_played">Laatst afgespeeld</string>
<string name="title_most_played">Meest afgespeeld</string>
<string name="main_page_content">Content van hoofdpagina</string>
<string name="blank_page_summary">Blanco pagina</string>
<string name="kiosk_page_summary">Kioskpagina</string>
<string name="subscription_page_summary">Abonnementenpagina</string>
<string name="feed_page_summary">Feedpagina</string>
<string name="channel_page_summary">Kanaalpagina</string>
<string name="select_a_channel">Selecteer een kanaal</string>
<string name="no_channel_subscribed_yet">Nog niet geabonneerd op een kanaal</string>
<string name="select_a_kiosk">Selecteer ne kiosk</string>
<string name="export_complete_toast">Export voltooid</string>
<string name="import_complete_toast">Import voltooid</string>
<string name="no_valid_zip_file">Geen geldig ZIP-bestand</string>
<string name="could_not_import_all_files">Opgelet: kon niet alle bestanden importeren.</string>
<string name="override_current_data">Dit zal uw huidige configuratie overschrijven.</string>
<string name="kiosk">Kiosk</string>
<string name="trending">Trending</string>
<string name="top_50">Top 50</string>
<string name="new_and_hot">Nieuw en populair</string>
<string name="title_activity_background_player">Achtergrondspeler</string>
<string name="title_activity_popup_player">Pop-upspeler</string>
<string name="play_queue_remove">Verwijderen</string>
<string name="play_queue_stream_detail">Details</string>
<string name="play_queue_audio_settings">Audio-instellingen</string>
<string name="hold_to_append">Houd ingedrukt voor toe te voegen aan wachtrij</string>
<string name="enqueue_on_background">Toevoegen aan wachtrij in achtergrond</string>
<string name="enqueue_on_popup">Toevoegen aan wachtrij in pop-up</string>
<string name="start_here_on_main">Hier beginnen spelen</string>
<string name="start_here_on_background">Hier beginnen in achtergrond</string>
<string name="start_here_on_popup">Hier beginnen in pop-up</string>
<string name="drawer_open">Menu openen</string>
<string name="drawer_close">Menu sluiten</string>
<string name="drawer_header_action_paceholder_text">Hier zal binnenkort iets verschijnen ;D</string>
<string name="preferred_open_action_settings_title">Voorkeursactie voor openen</string>
<string name="preferred_open_action_settings_summary">Standaardactie bij openen van inhoud — %s</string>
<string name="video_player">Videospeler</string>
<string name="background_player">Achtergrondspeler</string>
<string name="popup_player">Pop-upspeler</string>
<string name="always_ask_open_action">Altijd vragen</string>
<string name="preferred_player_fetcher_notification_title">Info ophalen…</string>
<string name="preferred_player_fetcher_notification_message">De gevraagde inhoud is aan het laden</string>
<string name="create_playlist">Nieuwen afspeellijst aanmaken</string>
<string name="delete_playlist">Afspeellijst verwijderen</string>
<string name="rename_playlist">Afspeellijst hernoemen</string>
<string name="playlist_name_input">Naam</string>
<string name="append_playlist">Toevoegen aan afspeellijst</string>
<string name="set_as_playlist_thumbnail">Instellen als miniatuur voor afspeellijst</string>
<string name="bookmark_playlist">Afspeellijst toevoegen aan bladwijzers</string>
<string name="unbookmark_playlist">Bladwijzer verwijderen</string>
<string name="delete_playlist_prompt">Wilt ge dezen afspeellijst verwijderen?</string>
<string name="playlist_creation_success">Afspeellijst aangemaakt</string>
<string name="playlist_add_stream_success">Toegevoegd aan afspeellijst</string>
<string name="playlist_thumbnail_change_success">Miniatuur voor afspeellijst gewijzigd</string>
<string name="playlist_delete_failure">Verwijderen van afspeellijst mislukt</string>
<string name="caption_none">Geen bijschrift</string>
<string name="resize_fit">PASSEN</string>
<string name="resize_fill">OPVULLEN</string>
<string name="resize_zoom">INZOOMEN</string>
<string name="caption_auto_generated">Automatisch gegenereerd</string>
<string name="caption_setting_title">Kop</string>
<string name="caption_setting_description">Koptekstgrootte en achtergrondstijlen wijzigen. Vereist een herstart van de speler.</string>
<string name="enable_leak_canary_title">LeakCanary inschakelen</string>
<string name="enable_leak_canary_summary">Het monitoren van geheugenlekken kan dervoor zorgen dat den app niet goed meer reageert</string>
<string name="enable_disposed_exceptions_title">Ouf-of-Lifecycle-fouten melden</string>
<string name="enable_disposed_exceptions_summary">Forceer het melden van niet-bezorgbare Rx-uitzonderingen die gebeuren buiten fragment- of activiteitscyclus</string>
<string name="import_export_title">Importeren/exporteren</string>
<string name="import_title">Importeren</string>
<string name="import_from">Importeren uit</string>
<string name="export_to">Exporteren naar</string>
<string name="import_ongoing">Bezig met importeren…</string>
<string name="export_ongoing">Bezig met exporteren…</string>
<string name="import_file_title">Bestand importeren</string>
<string name="previous_export">Vorige exportering</string>
<string name="subscriptions_import_unsuccessful">Importeren van abonnementen is mislukt</string>
<string name="subscriptions_export_unsuccessful">Exporteren van abonnementen is mislukt</string>
<string name="import_youtube_instructions">Als ge uw YouTube-abonnementen wilt importeren hebt ge het exportbestand nodig. Dit kan gedownload worden door onderstaande stappen te volgen:
\n
\n1. Ga naar dit adres: %1$s
\n2. Logt, indien nodig, in op uwen account
\n3. Den download met het exportbestand zou nu moeten starten</string>
<string name="import_soundcloud_instructions">Als ge uw SoundCloud-abonnementen wilt importeren, moet ge uwe profiels-URL of -ID kennen. Als ge hem kent, typ hem dan hieronder in.
\n
\nAls ge hem niet kent, volg dan onderstaande stappen:
\n
\n1. Kiest ne webbrowser en schakel bureaubladmodus in (de website is niet beschikbaar voor mobiele apparaten)
\n2. Volg deze koppeling: %1$s
\n3. Logt, indien nodig, in op uwen account
\n4. Kopieert de koppeling van de pagina waar ge op terechtkomt (dat is uwe profiel-URL)</string>
<string name="import_soundcloud_instructions_hint">uwenid, soundcloud.com/uwenid</string>
<string name="import_network_expensive_warning">Let op: deze actie kan veel MBs van uw netwerk gebruiken.
\n
\nWilt ge doorgaan?</string>
<string name="playback_speed_control">Afspeelsnelheid</string>
<string name="playback_tempo">Tempo</string>
<string name="playback_pitch">Toon</string>
<string name="unhook_checkbox">Ontkoppelen (kan ruis veroorzaken)</string>
<string name="playback_nightcore">Nightcore</string>
<string name="playback_default">Standaard</string>
</resources>

View File

@ -462,4 +462,6 @@ te openen in pop-upmodus</string>
<string name="caption_setting_title">Kop</string>
<string name="caption_setting_description">Koptekstgrootte en achtergrondstijlen wijzigen. Vereist een herstart van de speler.</string>
<string name="toast_no_player">Geen speler gevonden voor dit bestand</string>
</resources>

View File

@ -375,7 +375,7 @@
<string name="playlist_thumbnail_change_success">Miniaturka playlisty zmieniona</string>
<string name="playlist_delete_failure">Błąd podczas usuwania playlisty</string>
<string name="caption_none">Brak etykiety</string>
<string name="caption_none">Bez napisów</string>
<string name="resize_fit">DOPASUJ</string>
<string name="resize_fill">WYPEŁNIJ</string>
@ -450,9 +450,12 @@
\n2. Odwiedź stronę: %1$s
\n3. Zaloguj się na swoje konto
\n4. Skopiuj adres, na który przeglądarka przekieruje cię po zalogowaniu (to jest adres twojego profilu)"</string>
<string name="no_streams_available_download">Brak źródeł dostępnych do pobrania</string>
<string name="no_streams_available_download">Brak źródeł do pobrania</string>
<string name="preferred_open_action_settings_title">Preferowane otwieranie</string>
<string name="preferred_open_action_settings_summary">Domyślna akcja podczas otwierania treści - %s</string>
<string name="preferred_open_action_settings_title">Preferowana akcja podczas otwierania</string>
<string name="preferred_open_action_settings_summary">Domyślna akcja podczas otwierania materiału - %s</string>
<string name="caption_setting_title">Napisy</string>
<string name="caption_setting_description">Zmień kolor tekstu i tła napisów. Wymaga restartu odtwarzacza.</string>
</resources>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@ -458,4 +458,6 @@
<string name="caption_setting_title">Ek Açıklama</string>
<string name="caption_setting_description">Oynatıcıdaki ek açıklamalar metninin ölçeğini ve arka plan biçimlerini düzenle. Etki için yeniden başlatma gerekir.</string>
<string name="toast_no_player">Bu dosya için oynatıcı bulunamadı</string>
</resources>

View File

@ -1,2 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<?xml version='1.0' encoding='UTF-8'?>
<resources><string name="main_bg_subtitle">شروع کرنے کیلئے تلاش کو ٹپ کریں</string>
<string name="view_count_text">ملاحظات</string>
<string name="upload_date_text">کوشائع ہوا</string>
<string name="install">انسٹال</string>
<string name="cancel">منسوخ کریں</string>
<string name="share">اشتراک کریں</string>
<string name="download">ڈاؤن لوڈکریں</string>
<string name="search">تلاش کریں</string>
<string name="did_you_mean">نتائج دکھارہاہےبرائے</string>
</resources>

View File

@ -444,4 +444,6 @@
<string name="caption_setting_title">字幕</string>
<string name="caption_setting_description">調整播放器字幕大小與背景樣式。必須重新啟動播放器才會生效。</string>
<string name="toast_no_player">此檔案找不到播放器</string>
</resources>