mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	| @@ -37,8 +37,7 @@ NewPipe does not use any Google framework libraries, or the YouTube API. It only | ||||
| * Listen to YouTube videos (experimental) | ||||
| * Select the streaming player to watch the video with | ||||
| * Download videos  | ||||
| * Download audio only  | ||||
| * Open a video in Kodi | ||||
| * Download audio only * Open a video in Kodi | ||||
| * Show Next/Related videos | ||||
| * Search YouTube in a specific language | ||||
| * Watch age restricted material | ||||
|   | ||||
| @@ -8,8 +8,8 @@ android { | ||||
|         applicationId "org.schabi.newpipe" | ||||
|         minSdkVersion 15 | ||||
|         targetSdkVersion 25 | ||||
|         versionCode 22 | ||||
|         versionName "0.8.8" | ||||
|         versionCode 23 | ||||
|         versionName "0.8.9" | ||||
|     } | ||||
|     buildTypes { | ||||
|         release { | ||||
| @@ -32,10 +32,10 @@ android { | ||||
|  | ||||
| dependencies { | ||||
|     testCompile 'junit:junit:4.12' | ||||
|     compile 'com.android.support:appcompat-v7:25.1.0' | ||||
|     compile 'com.android.support:support-v4:25.1.0' | ||||
|     compile 'com.android.support:design:25.1.0' | ||||
|     compile 'com.android.support:recyclerview-v7:25.1.0' | ||||
|     compile 'com.android.support:appcompat-v7:25.1.1' | ||||
|     compile 'com.android.support:support-v4:25.1.1' | ||||
|     compile 'com.android.support:design:25.1.1' | ||||
|     compile 'com.android.support:recyclerview-v7:25.1.1' | ||||
|     compile 'org.jsoup:jsoup:1.8.3' | ||||
|     compile 'org.mozilla:rhino:1.7.7' | ||||
|     compile 'info.guardianproject.netcipher:netcipher:1.2' | ||||
|   | ||||
| @@ -125,10 +125,13 @@ public class StreamInfoWorker { | ||||
|                 e.printStackTrace(); | ||||
|             } catch (YoutubeStreamExtractor.DecryptException de) { | ||||
|                 // custom service related exceptions | ||||
|                 ErrorActivity.reportError(h, a, de, VideoItemDetailFragment.class, null, | ||||
|                         ErrorActivity.ErrorInfo.make(ErrorActivity.REQUESTED_STREAM, | ||||
|                                 service.getServiceInfo().name, videoUrl, R.string.youtube_signature_decryption_error)); | ||||
|                 h.post(new Runnable() { | ||||
|                     @Override | ||||
|                     public void run() { | ||||
|                         onStreamInfoReceivedListener.onError(R.string.youtube_signature_decryption_error); | ||||
|                         a.finish(); | ||||
|                     } | ||||
|                 }); | ||||
|                 de.printStackTrace(); | ||||
|   | ||||
| @@ -144,6 +144,7 @@ public class VideoItemDetailFragment extends Fragment { | ||||
|         TextView similarTitle = (TextView) activity.findViewById(R.id.detail_similar_title); | ||||
|         Button backgroundButton = (Button) | ||||
|                 activity.findViewById(R.id.detail_stream_thumbnail_window_background_button); | ||||
|         View thumbnailView = activity.findViewById(R.id.detail_thumbnail_view); | ||||
|         View topView = activity.findViewById(R.id.detailTopView); | ||||
|         Button channelButton = (Button) activity.findViewById(R.id.channel_button); | ||||
|  | ||||
| @@ -275,6 +276,14 @@ public class VideoItemDetailFragment extends Fragment { | ||||
|                 } | ||||
|             }); | ||||
|  | ||||
|             //todo: make backgroundButton handle this | ||||
|             thumbnailView.setOnClickListener(new View.OnClickListener() { | ||||
|                 @Override | ||||
|                 public void onClick(View v) { | ||||
|                     playVideo(info); | ||||
|                 } | ||||
|             }); | ||||
|  | ||||
|             if (info.channel_url != null && info.channel_url != "") { | ||||
|                 channelButton.setOnClickListener(new View.OnClickListener() { | ||||
|                     @Override | ||||
|   | ||||
| @@ -42,15 +42,23 @@ public class Parser { | ||||
|     } | ||||
|  | ||||
|     public static String matchGroup1(String pattern, String input) throws RegexException { | ||||
|         return matchGroup(pattern, input, 1); | ||||
|     } | ||||
|  | ||||
|     public static String matchGroup(String pattern, String input, int group) throws RegexException { | ||||
|         Pattern pat = Pattern.compile(pattern); | ||||
|         Matcher mat = pat.matcher(input); | ||||
|         boolean foundMatch = mat.find(); | ||||
|         if (foundMatch) { | ||||
|             return mat.group(1); | ||||
|             return mat.group(group); | ||||
|         } | ||||
|         else { | ||||
|             //Log.e(TAG, "failed to find pattern \""+pattern+"\" inside of \""+input+"\""); | ||||
|             throw new RegexException("failed to find pattern \""+pattern+" inside of "+input+"\""); | ||||
|             if(input.length() > 1024) { | ||||
|                 throw new RegexException("failed to find pattern \""+pattern); | ||||
|             } else { | ||||
|                 throw new RegexException("failed to find pattern \"" + pattern + " inside of " + input + "\""); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -791,10 +791,15 @@ public class YoutubeStreamExtractor extends StreamExtractor { | ||||
|  | ||||
|         try { | ||||
|             Downloader downloader = NewPipe.getDownloader(); | ||||
|             if(!playerUrl.contains("https://youtube.com")) { | ||||
|                 //sometimes the https://youtube.com part does not get send with | ||||
|                 //than we have to add it by hand | ||||
|                 playerUrl = "https://youtube.com" + playerUrl; | ||||
|             } | ||||
|             String playerCode = downloader.download(playerUrl); | ||||
|  | ||||
|             decryptionFuncName = | ||||
|                     Parser.matchGroup1("\\.sig\\|\\|([a-zA-Z0-9$]+)\\(", playerCode); | ||||
|                     Parser.matchGroup("([\"\\'])signature\\1\\s*,\\s*([a-zA-Z0-9$]+)\\(", playerCode, 2); | ||||
|  | ||||
|             String functionPattern = "(" | ||||
|                     + decryptionFuncName.replace("$", "\\$") | ||||
|   | ||||
| @@ -84,9 +84,23 @@ public abstract class MissionsFragment extends Fragment | ||||
| 		return v; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	/** Added in API level 23. */ | ||||
|     @Override | ||||
| 	public void onAttach(Context activity) { | ||||
| 		super.onAttach(activity); | ||||
|  | ||||
| 		// Bug: in api< 23 this is never called | ||||
| 		// so mActivity=null | ||||
| 		// so app crashes with nullpointer exception | ||||
| 		mActivity = activity; | ||||
| 	} | ||||
|  | ||||
| 	/** deprecated in API level 23, | ||||
| 	 * but must remain to allow compatibility with api<23 */ | ||||
| 	@Override | ||||
| 	public void onAttach(Activity activity) { | ||||
| 		super.onAttach(activity); | ||||
|  | ||||
| 		mActivity = activity; | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <?xml version='1.0' encoding='UTF-8'?> | ||||
| <resources><string name="upload_date_text">Publikováno %1$s</string> | ||||
|     <string name="no_player_found">Žádný přehrávač nenalezen. Nainstalovat VLC?</string> | ||||
| <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><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> | ||||
| @@ -18,45 +18,45 @@ | ||||
|     <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> | ||||
|  | ||||
|     <string name="download_path_audio_summary">Cesta, kde se uloží audio po stažení.</string> | ||||
|     <string name="download_path_audio_dialog_title">Zadejte umístění pro uložení audio souborů.</string> | ||||
|     <string name="download_path_audio_summary">Cesta, kam se uloží stažené audio</string> | ||||
|     <string name="download_path_audio_dialog_title">Zadejte umístění pro stažené audio soubory.</string> | ||||
|  | ||||
|     <string name="download_path_audio_title">Umístění pro stažené audio</string> | ||||
|     <string name="autoplay_through_intent_title">Automatické přehrávání skrze Intent</string> | ||||
|     <string name="autoplay_through_intent_summary">Automaticky přehrávat video, jestliže je volané z jiné aplikace.</string> | ||||
|     <string name="default_resolution_title">Výchozí rozlišení</string> | ||||
|     <string name="play_with_kodi_title">Přehrát s Kodi</string> | ||||
|     <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, kde se uloží video po stažení.</string> | ||||
|     <string name="download_path_dialog_title">Zadejte umístění pro uložená videa</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> | ||||
|  | ||||
|     <string name="show_play_with_kodi_title">Zobrazit možnost \"Přehrát s Kodi\"</string> | ||||
|     <string name="show_play_with_kodi_summary">Zobrazit možnost přehrát video s multimediálním centrem Kodi.</string> | ||||
|     <string name="show_play_with_kodi_title">Zobrazit možnost \"Přehrát pomocí Kodi\"</string> | ||||
|     <string name="show_play_with_kodi_summary">Zobrazit možnost přehrání videa pomocí multimediálního centra Kodi.</string> | ||||
|     <string name="play_audio">Audio</string> | ||||
|     <string name="default_audio_format_title">Výchozí audio formát</string> | ||||
|     <string name="webm_description">WebM — svobodný formát</string> | ||||
|     <string name="m4a_description">m4a — lepší kvalita</string> | ||||
|     <string name="theme_title">Téma</string> | ||||
|     <string name="dark_theme_title">Tmavý</string> | ||||
|     <string name="light_theme_title">Světlý</string> | ||||
|     <string name="dark_theme_title">Tmavé</string> | ||||
|     <string name="light_theme_title">Světlé</string> | ||||
|  | ||||
|     <string name="download_dialog_title">Stažení</string> | ||||
|     <string name="download_dialog_title">Stáhnout</string> | ||||
|     <string name="next_video_title">Následující video</string> | ||||
|     <string name="show_next_and_similar_title">Zobrazit následující a související videa</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">Související videa</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 & audio</string> | ||||
|     <string name="settings_category_video_audio_title">Video a audio</string> | ||||
|     <string name="settings_category_appearance_title">Vzhled</string> | ||||
|     <string name="settings_category_other_title">Ostatní</string> | ||||
|     <string name="background_player_playing_toast">Přehrávám na pozadí</string> | ||||
|     <string name="play_btn_text">Přehrát</string> | ||||
|     <string name="general_error">Chyba</string> | ||||
|     <string name="network_error">Chyba sítě</string> | ||||
|     <string name="could_not_load_thumbnails">Nebylo možné stáhnout všechny náhledy</string> | ||||
|     <string name="could_not_load_thumbnails">Nebylo možné nahrát všechny náhledy</string> | ||||
|     <string name="youtube_signature_decryption_error">Nebylo možné dekódovat URL videa.</string> | ||||
|     <string name="parsing_error">Nebylo možné analyzovat webovou stránku.</string> | ||||
|     <string name="content_not_available">Obsah není k dispozici.</string> | ||||
| @@ -64,11 +64,11 @@ | ||||
|  | ||||
|     <string name="list_thumbnail_view_description">Náhled videa</string> | ||||
|     <string name="detail_thumbnail_view_description">Náhled videa</string> | ||||
|     <string name="detail_uploader_thumbnail_view_description">Náhled uploadera</string> | ||||
|     <string name="detail_uploader_thumbnail_view_description">Náhled obrázku uploadera</string> | ||||
|     <string name="detail_likes_img_view_description">To se mi líbí</string> | ||||
|     <string name="detail_dislikes_img_view_description">To se mi nelíbí</string> | ||||
|     <string name="use_tor_title">Použít Tor</string> | ||||
|     <string name="use_tor_summary">Vynutit stahování skrz Tor pro zvýšené soukromí (streaming není zatím podporován)</string> | ||||
|     <string name="use_tor_summary">(Experimentální) Vynutit stahování skrz Tor pro zvýšené soukromí (streaming zatím není podporován).</string> | ||||
|  | ||||
|     <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> | ||||
| @@ -76,8 +76,229 @@ | ||||
|     <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> | ||||
|     <string name="video_is_age_restricted">Toto video je věkově omezeno. Povolte věkově omezená video v nastavení.</string> | ||||
|     <string name="video_is_age_restricted">Toto video je věkově omezeno. Povolte věkově omezená videa v nastavení.</string> | ||||
|     <string name="duration_live">živě</string> | ||||
|  | ||||
|     <string name="light_parsing_error">Nemůžu kompletně parsovat web.</string> | ||||
|     <string name="light_parsing_error">Nebylo možné kompletně analyzovat stránku.</string> | ||||
|     <string name="main_bg_subtitle">Pro začátek stiskni hledat</string> | ||||
|     <string name="msg_copied">Zkopírováno do schránky.</string> | ||||
|     <string name="msg_wait">Počkejte prosím…</string> | ||||
|     <string name="msg_running">NewPipe se stahuje</string> | ||||
|     <string name="msg_running_detail">Stiskněte pro detaily</string> | ||||
|     <string name="msg_server_unsupported">Server není podporován</string> | ||||
|     <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> | ||||
|     <string name="error_report_button_text">Nahlásit chybu přes e-mail</string> | ||||
|     <string name="error_snackbar_message">Omlouváme se, staly se nějaké chyby.</string> | ||||
|     <string name="could_not_load_image">Nepodařilo se nahrát obrázek</string> | ||||
|     <string name="app_ui_crash">Aplikace/UI spadlo</string> | ||||
|     <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="large_text">" | ||||
|  Material is the metaphor. | ||||
|  | ||||
|  | ||||
|  | ||||
|  A material metaphor is the unifying theory of a rationalized space and a system of motion. | ||||
|  The material is grounded in tactile reality, inspired by the study of paper and ink, yet  | ||||
|  technologically advanced and open to imagination and magic. | ||||
|  | ||||
|  Surfaces and edges of the material provide visual cues that are grounded in reality. The  | ||||
|  use of familiar tactile attributes helps users quickly understand affordances. Yet the  | ||||
|  flexibility of the material creates new affordances that supercede those in the physical  | ||||
|  world, without breaking the rules of physics. | ||||
|  | ||||
|  The fundamentals of light, surface, and movement are key to conveying how objects move,  | ||||
|  interact, and exist in space and in relation to each other. Realistic lighting shows  | ||||
|  seams, divides space, and indicates moving parts. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Bold, graphic, intentional. | ||||
|  | ||||
|  | ||||
|  | ||||
|  The foundational elements of print based design typography, grids, space, scale, color,  | ||||
|  and use of imagery guide visual treatments. These elements do far more than please the  | ||||
|  eye. They create hierarchy, meaning, and focus. Deliberate color choices, edge to edge  | ||||
|  imagery, large scale typography, and intentional white space create a bold and graphic  | ||||
|  interface that immerse the user in the experience. | ||||
|  | ||||
|  An emphasis on user actions makes core functionality immediately apparent and provides  | ||||
|  waypoints for the user. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Motion provides meaning. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Motion respects and reinforces the user as the prime mover. Primary user actions are  | ||||
|  inflection points that initiate motion, transforming the whole design. | ||||
|  | ||||
|  All action takes place in a single environment. Objects are presented to the user without  | ||||
|  breaking the continuity of experience even as they transform and reorganize. | ||||
|  | ||||
|  Motion is meaningful and appropriate, serving to focus attention and maintain continuity.  | ||||
|  Feedback is subtle yet clear. Transitions are efficient yet coherent. | ||||
|  | ||||
|  | ||||
|  | ||||
|  3D world. | ||||
|  | ||||
|  | ||||
|  | ||||
|  The material environment is a 3D space, which means all objects have x, y, and z  | ||||
|  dimensions. The z-axis is perpendicularly aligned to the plane of the display, with the  | ||||
|  positive z-axis extending towards the viewer. Every sheet of material occupies a single  | ||||
|  position along the z-axis and has a standard 1dp thickness. | ||||
|  | ||||
|  On the web, the z-axis is used for layering and not for perspective. The 3D world is  | ||||
|  emulated by manipulating the y-axis. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Light and shadow. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Within the material environment, virtual lights illuminate the scene. Key lights create  | ||||
|  directional shadows, while ambient light creates soft shadows from all angles. | ||||
|  | ||||
|  Shadows in the material environment are cast by these two light sources. In Android  | ||||
|  development, shadows occur when light sources are blocked by sheets of material at  | ||||
|  various positions along the z-axis. On the web, shadows are depicted by manipulating the  | ||||
|  y-axis only. The following example shows the card with a height of 6dp. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Resting elevation. | ||||
|  | ||||
|  | ||||
|  | ||||
|  All material objects, regardless of size, have a resting elevation, or default elevation  | ||||
|  that does not change. If an object changes elevation, it should return to its resting  | ||||
|  elevation as soon as possible. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Component elevations. | ||||
|  | ||||
|  | ||||
|  | ||||
|  The resting elevation for a component type is consistent across apps (e.g., FAB elevation  | ||||
|  does not vary from 6dp in one app to 16dp in another app). | ||||
|  | ||||
|  Components may have different resting elevations across platforms, depending on the depth  | ||||
|  of the environment (e.g., TV has a greater depth than mobile or desktop). | ||||
|  | ||||
|  | ||||
|  | ||||
|  Responsive elevation and dynamic elevation offsets. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Some component types have responsive elevation, meaning they change elevation in response  | ||||
|  to user input (e.g., normal, focused, and pressed) or system events. These elevation  | ||||
|  changes are consistently implemented using dynamic elevation offsets. | ||||
|  | ||||
|  Dynamic elevation offsets are the goal elevation that a component moves towards, relative  | ||||
|  to the component’s resting state. They ensure that elevation changes are consistent  | ||||
|  across actions and component types. For example, all components that lift on press have  | ||||
|  the same elevation change relative to their resting elevation. | ||||
|  | ||||
|  Once the input event is completed or cancelled, the component will return to its resting  | ||||
|  elevation. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Avoiding elevation interference. | ||||
|  | ||||
|  | ||||
|  | ||||
|  Components with responsive elevations may encounter other components as they move between  | ||||
|  their resting elevations and dynamic elevation offsets. Because material cannot pass  | ||||
|  through other material, components avoid interfering with one another any number of ways,  | ||||
|  whether on a per component basis or using the entire app layout. | ||||
|  | ||||
|  On a component level, components can move or be removed before they cause interference.  | ||||
|  For example, a floating action button (FAB) can disappear or move off screen before a  | ||||
|  user picks up a card, or it can move if a snackbar appears. | ||||
|  | ||||
|  On the layout level, design your app layout to minimize opportunities for interference.  | ||||
|  For example, position the FAB to one side of stream of a cards so the FAB won’t interfere  | ||||
|  when a user tries to pick up one of cards. | ||||
|  | ||||
|  | ||||
|  "</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> | ||||
|     </resources> | ||||
|   | ||||
| @@ -301,4 +301,9 @@ | ||||
|  | ||||
|  "</string> | ||||
|     <string name="reCaptchaActivity">reCAPTCHA</string> | ||||
|     <string name="black_theme_title">Schwarz</string> | ||||
|  | ||||
|     <string name="reCaptcha_title">reCAPTCHA Herausforderung</string> | ||||
|     <string name="recaptcha_request_toast">reCAPTCHA Herausforderung angefordert</string> | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -54,9 +54,9 @@ | ||||
|  | ||||
|     <string name="use_tor_title">Tor を使用する</string> | ||||
|     <string name="use_tor_summary">(実験的) 強制的に Tor を経由したトラフィックでダウンロードして、プライバシーを高めます (ビデオのストリーミングはまだサポートされていません)。</string> | ||||
| <string name="theme_title">外見</string> | ||||
|     <string name="dark_theme_title">暗</string> | ||||
|     <string name="light_theme_title">明</string> | ||||
| <string name="theme_title">テーマ</string> | ||||
|     <string name="dark_theme_title">ダーク</string> | ||||
|     <string name="light_theme_title">ライト</string> | ||||
|  | ||||
|     <string name="settings_category_appearance_title">外観</string> | ||||
|     <string name="settings_category_other_title">その他</string> | ||||
| @@ -304,4 +304,6 @@ | ||||
|  | ||||
|     <string name="recaptcha_request_toast">reCAPTCHA を要求しました</string> | ||||
|  | ||||
|     <string name="black_theme_title">ブラック</string> | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -150,7 +150,7 @@ | ||||
|     <string name="msg_url_malform">Verkeerde 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">Even geduld...</string> | ||||
|     <string name="msg_wait">Even geduld…</string> | ||||
|     <string name="msg_copied">Gekopieerd naar klembord.</string> | ||||
|     <string name="no_available_dir">Kies een beschikbare downloadmap.</string> | ||||
|  | ||||
| @@ -294,4 +294,10 @@ | ||||
|  | ||||
|  | ||||
|  "</string> | ||||
|     <string name="black_theme_title">Zwart</string> | ||||
|  | ||||
|     <string name="reCaptchaActivity">reCAPTCHA</string> | ||||
|     <string name="reCaptcha_title">reCAPTCHA-uitdaging</string> | ||||
|     <string name="recaptcha_request_toast">reCAPTCHA-uitdaging gevraagd</string> | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <?xml version='1.0' encoding='UTF-8'?> | ||||
| <resources><string name="main_bg_subtitle">Wciśnij wyszukaj, aby rozpocząć</string> | ||||
| <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="main_bg_subtitle">Wciśnij wyszukaj, aby rozpocząć</string> | ||||
|     <string name="install">Instaluj</string> | ||||
|     <string name="cancel">Anuluj</string> | ||||
|     <string name="open_in_browser">Otwórz w przeglądarce</string> | ||||
| @@ -81,7 +81,7 @@ | ||||
|     <string name="error_snackbar_action">RAPORT</string> | ||||
|     <string name="what_device_headline">Info:</string> | ||||
|     <string name="what_happened_headline">Co się stało:</string> | ||||
|     <string name="info_labels">Co:\\nŻądanie:\\nJęzyk zawartości:\\nUsługa:\\nCzas GMT:\\nVersion:\\nWersja systemu:\\nGlobalny zakres IP:</string> | ||||
|     <string name="info_labels">Co:\\nŻądanie:\\nJęzyk zawartości:\\nUsługa:\\nCzas GMT:\\nPakiet:\\nWersja systemu:\\nGlobalny zakres IP:</string> | ||||
|     <string name="info_searched_lbl">Szukane dla:</string> | ||||
|     <string name="info_requested_stream_lbl">Żądany strumień:</string> | ||||
|     <string name="your_comment">Twój komentarz (po angielsku):</string> | ||||
| @@ -136,8 +136,29 @@ | ||||
|     <string name="msg_url_malform">Zniekształcony URL lub brak internetu</string> | ||||
|     <string name="msg_running">Pobieranie NewPipe</string> | ||||
|     <string name="msg_running_detail">Dotknij dla szczegółów</string> | ||||
|     <string name="msg_wait">Proszę czekać...</string> | ||||
|     <string name="msg_wait">Proszę czekać…</string> | ||||
|     <string name="msg_copied">Skopiowano do schowka.</string> | ||||
|     <string name="no_available_dir">Proszę wybrać dostępny katalog pobierania.</string> | ||||
|  | ||||
|     <string name="could_not_load_image">Nie można załadować obrazu</string> | ||||
|     <string name="app_ui_crash">Aplikacja/Interfejs uległ awarii</string> | ||||
|     <string name="use_tor_summary">(Eksperymentalne) Wymuś pobieranie przez Tor dla zwiększonej prywatności  | ||||
| (streaming video nie jest jeszcze wspierany).</string> | ||||
|     <string name="error_no_decoder">To urządzenie nie dostarcza dekodera dla  | ||||
| <xliff:g id="mime_type"> | ||||
| %1$s</xliff:g></string> | ||||
|     <string name="error_no_secure_decoder">To urządzenie nie zapewnia bezpiecznego dekodera dla  | ||||
| <xliff:g id="mime_type"> | ||||
| %1$s</xliff:g></string> | ||||
|     <string name="error_instantiating_decoder">Nie można zainicjować dekodera  | ||||
| <xliff:g id="decoder_name"> | ||||
| %1$s</xliff:g></string> | ||||
|     <string name="start">Start</string> | ||||
|     <string name="title_activity_channel">AktywnośćKanału</string> | ||||
|     <string name="action_settings">Ustawienia</string> | ||||
|     <string name="reCaptchaActivity">CAPTCHA</string> | ||||
|     <string name="reCaptcha_title">Rozwiąż ReCAPTCHA</string> | ||||
|     <string name="recaptcha_request_toast">Prośba o rozwiązanie ReCAPTCHA</string> | ||||
|  | ||||
|     <string name="error_querying_decoders">Nie można utworzyć zapytania o dekodery urządzenia</string> | ||||
|     </resources> | ||||
|   | ||||
							
								
								
									
										146
									
								
								app/src/main/res/values-pt-rBR/strings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								app/src/main/res/values-pt-rBR/strings.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,146 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources> | ||||
|     <string name="action_settings">Configurações</string> | ||||
|     <string name="audio">Áudio</string> | ||||
|     <string name="youtube_signature_decryption_error">Não foi possível decriptar a assinatura de URL do vídeo.</string> | ||||
|     <string name="your_comment">Seu comentário (em inglês):</string> | ||||
|     <string name="what_happened_headline">O que aconteceu:</string> | ||||
|     <string name="what_device_headline">Informações:</string> | ||||
|     <string name="webm_description">WebM — formato aberto</string> | ||||
|     <string name="view_count_text">%1$s visualizações</string> | ||||
|     <string name="view">Ver</string> | ||||
|     <string name="video_is_age_restricted">Vídeo com restrição de idade. Ative os vídeos com restrição de idade nas configurações.</string> | ||||
|     <string name="video">Vídeo</string> | ||||
|     <string name="autoplay_by_calling_app_summary">Reproduz o vídeo automaticamente quando o NewPipe for aberto a partir de outro app.</string> | ||||
|     <string name="autoplay_by_calling_app_title">Reproduzir automaticamente</string> | ||||
|     <string name="black_theme_title">Preto</string> | ||||
|     <string name="blocked_by_gema">Bloqueado pelo GEMA.</string> | ||||
|     <string name="cancel">Cancelar</string> | ||||
|     <string name="checksum">Checksum</string> | ||||
|     <string name="choose_browser">Escolher navegador</string> | ||||
|     <string name="content">Conteúdo</string> | ||||
|     <string name="content_not_available">Conteúdo não disponível.</string> | ||||
|     <string name="could_not_get_stream">Não foi possível carregar nenhum stream.</string> | ||||
|     <string name="could_not_load_image">Não foi possível carregar a imagem.</string> | ||||
|     <string name="could_not_load_thumbnails">Não foi possível carregar os thumbnails.</string> | ||||
|     <string name="dark_theme_title">Escuro</string> | ||||
|     <string name="default_audio_format_title">Formato de áudio padrão</string> | ||||
|     <string name="default_resolution_title">Resolução padrão</string> | ||||
|     <string name="delete">Excluir</string> | ||||
|     <string name="detail_dislikes_img_view_description">Não curtidas</string> | ||||
|     <string name="detail_likes_img_view_description">Curtidas</string> | ||||
|     <string name="download">Baixar</string> | ||||
|     <string name="download_dialog_title">Baixar</string> | ||||
|     <string name="error_details_headline">Detalhes:</string> | ||||
|     <string name="err_dir_create">Não foi possível criar pasta de download \'%1$s\'</string> | ||||
|     <string name="error_report_button_text">Reportar erro por e-mail</string> | ||||
|     <string name="error_report_title">Relatório de erro</string> | ||||
|     <string name="error_snackbar_action">RELATÓRIO</string> | ||||
|     <string name="error_snackbar_message">Desculpe, ocorreram alguns erros.</string> | ||||
|     <string name="finish">OK</string> | ||||
|     <string name="general_error">Erro</string> | ||||
|     <string name="info_dir_created">Pasta de download criada \'%1$s\'</string> | ||||
|     <string name="install">Instalar</string> | ||||
|     <string name="light_theme_title">Claro</string> | ||||
|     <string name="msg_error">Erro</string> | ||||
|     <string name="msg_copied">Copiado para a área de transferência.</string> | ||||
|     <string name="msg_name">Nome do arquivo</string> | ||||
|     <string name="msg_running_detail">Toque para detalhes</string> | ||||
|     <string name="msg_running">NewPipe baixando</string> | ||||
|     <string name="msg_server_unsupported">Servidor não suportado</string> | ||||
|     <string name="msg_wait">Aguarde…</string> | ||||
|     <string name="network_error">Erro de rede</string> | ||||
|     <string name="next_video_title">Próximo vídeo</string> | ||||
|     <string name="open_in_browser">Abrir no navegador</string> | ||||
|     <string name="pause">Pausar</string> | ||||
|     <string name="reCaptchaActivity">reCAPTCHA</string> | ||||
|     <string name="reCaptcha_title">Desafio reCAPTCHA</string> | ||||
|     <string name="recaptcha_request_toast">Desafio reCAPTCHA solicitado</string> | ||||
|     <string name="report_error">Reportar um erro</string> | ||||
|     <string name="retry">Tentar de novo</string> | ||||
|     <string name="screen_rotation">Rotação</string> | ||||
|     <string name="search_language_title">Idioma preferido de conteúdo</string> | ||||
|     <string name="settings">Configurações</string> | ||||
|     <string name="settings_activity_title">Configurações</string> | ||||
|     <string name="settings_category_appearance_title">Aparência</string> | ||||
|     <string name="settings_category_other_title">Outros</string> | ||||
|     <string name="settings_category_video_audio_title">Vídeo & Áudio</string> | ||||
|     <string name="settings_title">Configurações</string> | ||||
|     <string name="share">Compartilhar</string> | ||||
|     <string name="share_dialog_title">Compartilhar com</string> | ||||
|     <string name="show_age_restricted_content_title">Exibir conteúdo com restrição de idade</string> | ||||
|     <string name="show_next_and_similar_title">Exibir próximo vídeo e relacionados</string> | ||||
|     <string name="similar_videos_btn_text">Vídeos relacionados</string> | ||||
|     <string name="sorry_string">Desculpe, isto não deveria acontecer.</string> | ||||
|     <string name="start">Iniciar</string> | ||||
|     <string name="storage_permission_denied">Permissão para acessar o armazenamento negada</string> | ||||
|     <string name="switch_mode">Alternar entre lista e grade</string> | ||||
|     <string name="text">Texto</string> | ||||
|     <string name="theme_title">Tema</string> | ||||
|     <string name="upload_date_text">Publicado em  %1$s</string> | ||||
|     <string name="url_not_supported_toast">URL não suportada</string> | ||||
|     <string name="default_language_value">pt</string> | ||||
|     <string name="duration_live">ao vivo</string> | ||||
|     <string name="downloads">Downloads</string> | ||||
|     <string name="downloads_title">Downloads</string> | ||||
|     <string name="did_you_mean">Você quis dizer: %1$s ?</string> | ||||
|     <string name="m4a_description">m4a — melhor qualidade</string> | ||||
|     <string name="add">Nova missão</string> | ||||
|     <string name="app_ui_crash">App/interface parou</string> | ||||
|     <string name="background_player_name">Player NewPipe em segundo plano</string> | ||||
|     <string name="background_player_playing_toast">Reproduzindo em segundo plano</string> | ||||
|     <string name="could_not_setup_download_menu">Não foi possível preparar o menu de download.</string> | ||||
|     <string name="detail_thumbnail_view_description">Thumbnail do vídeo</string> | ||||
|     <string name="detail_uploader_thumbnail_view_description">Thumbnail do usuário que enviou o vídeo</string> | ||||
|     <string name="download_path_audio_dialog_title">Informe o local para download de áudios.</string> | ||||
|     <string name="download_path_audio_summary">Local para salvar áudios baixados</string> | ||||
|     <string name="download_path_audio_title">Local de download de áudio</string> | ||||
|     <string name="download_path_dialog_title">Informe o local para download de vídeos</string> | ||||
|     <string name="download_path_summary">Local para salvar vídeos baixados</string> | ||||
|     <string name="download_path_title">Local de download de vídeo</string> | ||||
|     <string name="enable_background_audio">Reproduzir em segundo plano</string> | ||||
|     <string name="error_drm_not_supported">Conteúdo protegido não é suportado em versões de API anterior a 18</string> | ||||
|     <string name="error_drm_unknown">Ocorreu um erro DRM desconhecido</string> | ||||
|     <string name="error_drm_unsupported_scheme">Este dispositivo não suporta o método DRM necessário</string> | ||||
|     <string name="error_instantiating_decoder">Não foi possível inicializar o decodificador %1$s</string> | ||||
|     <string name="error_no_decoder">Este dispositivo não possui um decodificador para %1$s</string> | ||||
|     <string name="error_no_secure_decoder">Este dispositivo não possui um decodificador seguro para %1$s</string> | ||||
|     <string name="error_querying_decoders">Não foi possível consultar os decodificadores do dispositivo</string> | ||||
|     <string name="info_requested_stream_lbl">Stream requisitado:</string> | ||||
|     <string name="info_searched_lbl">Busca por:</string> | ||||
|     <string name="kore_not_found">App Kore não instalado. Instalar?</string> | ||||
|     <string name="light_parsing_error">Não foi possível interpretar completamente o site.</string> | ||||
|     <string name="list_thumbnail_view_description">Thumbnail do vídeo</string> | ||||
|     <string name="live_streams_not_supported">Transmissões ao vivo ainda não são suportadas.</string> | ||||
|     <string name="loading">Carregando</string> | ||||
|     <string name="logging">Nível de log</string> | ||||
|     <string name="logging_normal">Normal</string> | ||||
|     <string name="logging_verbose">Detalhado</string> | ||||
|     <string name="main_bg_subtitle">Toque em busca para começar</string> | ||||
|     <string name="msg_exists">Arquivo já existe</string> | ||||
|     <string name="msg_threads">Threads</string> | ||||
|     <string name="msg_url">URL de download</string> | ||||
|     <string name="msg_url_malform">URL inválida ou internet indisponível</string> | ||||
|     <string name="no_available_dir">Selecione um diretório de download.</string> | ||||
|     <string name="no_player_found">Nenhum player de stream encontrado. Instalar VLC?</string> | ||||
|     <string name="parsing_error">Não foi possível interpretar o site.</string> | ||||
|     <string name="play_audio">Áudio</string> | ||||
|     <string name="play_btn_text">Reproduzir</string> | ||||
|     <string name="play_with_kodi_title">Reproduzir com Kodi</string> | ||||
|     <string name="search">Buscar</string> | ||||
|     <string name="search_page">Buscar página:</string> | ||||
|     <string name="show_play_with_kodi_summary">Exibir opção para reprodizir víedeo pela central de mídia Kodi.</string> | ||||
|     <string name="use_exoplayer_summary">Experimental</string> | ||||
|     <string name="use_exoplayer_title">Usar ExoPlayer</string> | ||||
|     <string name="use_external_audio_player_title">Usar reprodutor de áudio externo</string> | ||||
|     <string name="use_external_video_player_title">Usar reprodutor de vídeo externo</string> | ||||
|     <string name="use_tor_summary">(Experimental) Forçar o download de conteúdo através do Tor para maior privacidade (streaming de vídeos ainda não suportado).</string> | ||||
|     <string name="use_tor_title">Usar Tor</string> | ||||
|     <string name="user_report">Relatório do usuário</string> | ||||
|     <string name="show_play_with_kodi_title">Exibir opção \"Reproduzir com Kodi\"</string> | ||||
|     <string name="title_activity_channel">Atividade do canal</string> | ||||
|     <string name="msg_fetch_filename">Buscar nome do arquivo</string> | ||||
|     <string name="info_labels">O que:\nRequisição:\nIdioma do conteúdo:\nServiço:\nHora GMT:\nPacote:\nVersão:\nVersão SO:\nFaixa de IP:</string> | ||||
|     <string name="off">[off]</string> | ||||
|  | ||||
| </resources> | ||||
| @@ -1,5 +1,5 @@ | ||||
| <?xml version='1.0' encoding='UTF-8'?> | ||||
| <resources> | ||||
| <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> | ||||
|     <string name="view_count_text">%1$s просмотров</string> | ||||
|     <string name="upload_date_text">Опубликовано %1$s</string> | ||||
|     <string name="no_player_found">Ни одного потокового проигрывателя не было найдено. Установить?</string> | ||||
| @@ -69,7 +69,7 @@ | ||||
|     <string name="download_path_audio_dialog_title">Введите путь к папке для загрузки аудио</string> | ||||
|  | ||||
|     <string name="main_bg_subtitle">Нажмите поиск чтобы начать</string> | ||||
|     <string name="msg_wait">Пожалуйста подождите...</string> | ||||
|     <string name="msg_wait">Пожалуйста подождите…</string> | ||||
|     <string name="msg_exists">Файл уже существует</string> | ||||
|     <string name="msg_threads">Потоки</string> | ||||
|     <string name="finish">Окей</string> | ||||
| @@ -143,4 +143,18 @@ | ||||
|     <string name="storage_permission_denied">В доступе к хранилищу было отказано</string> | ||||
|     <string name="use_exoplayer_title">Использовать ExoPlayer</string> | ||||
|     <string name="msg_fetch_filename">Получить название файла</string> | ||||
|     <string name="could_not_load_thumbnails">Невозможно загрузить все миниатюры</string> | ||||
|     <string name="youtube_signature_decryption_error">Невозможно расшифровать url у видео</string> | ||||
|     <string name="could_not_get_stream">Потоковое видео недоступно.</string> | ||||
|     <string name="off">[отключен]</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%1$s</xliff:g> 2</string> | ||||
|     <string name="use_exoplayer_summary">Эксперементально</string> | ||||
|  | ||||
|     <string name="view">Воспроизвести</string> | ||||
|     <string name="switch_mode">Переключатель между списком и сеткой</string> | ||||
|  | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -165,4 +165,6 @@ | ||||
|     <string name="recaptcha_request_toast">Zahteva izziva reCAPTCHA</string> | ||||
|  | ||||
|     <string name="info_labels">Predmet:\\nZahteva:\\nJezik vsebine:\\nStoritev:\\nČas v GMT:\\nPaket:\\nRazličica:\\nRazličica OS:\\nObseg IP:</string> | ||||
|     <string name="black_theme_title">Črna</string> | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -306,4 +306,6 @@ | ||||
|  | ||||
|     <string name="recaptcha_request_toast">Решите reCAPTCHA стопку</string> | ||||
|  | ||||
|     <string name="black_theme_title">Црна</string> | ||||
|  | ||||
|     </resources> | ||||
|   | ||||
| @@ -1,20 +1,20 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources translatable="false"> | ||||
|     <!-- Categories --> | ||||
|     <string name="settings_category_video_audio">settings_category_video_audio</string> | ||||
|     <string name="settings_category_appearance">settings_category_appearance</string> | ||||
|     <string name="settings_content_options">settings_content_options</string> | ||||
|     <string name="settings_category_other">settings_category_other</string> | ||||
|     <string name="settings_category_video_audio" translatable="false">settings_category_video_audio</string> | ||||
|     <string name="settings_category_appearance" translatable="false">settings_category_appearance</string> | ||||
|     <string name="settings_content_options" translatable="false">settings_content_options</string> | ||||
|     <string name="settings_category_other" translatable="false">settings_category_other</string> | ||||
|     <!-- Key values --> | ||||
|     <string name="download_path_key">download_path</string> | ||||
|     <string name="download_path_audio_key">download_path_audio</string> | ||||
|     <string name="use_external_video_player_key">use_external_video_player</string> | ||||
|     <string name="use_external_audio_player_key">use_external_audio_player</string> | ||||
|     <string name="autoplay_through_intent_key">autoplay_through_intent</string> | ||||
|     <string name="use_exoplayer_key">use_exoplayer</string> | ||||
|     <string name="download_path_key" translatable="false">download_path</string> | ||||
|     <string name="download_path_audio_key" translatable="false">download_path_audio</string> | ||||
|     <string name="use_external_video_player_key" translatable="false">use_external_video_player</string> | ||||
|     <string name="use_external_audio_player_key" translatable="false">use_external_audio_player</string> | ||||
|     <string name="autoplay_through_intent_key" translatable="false">autoplay_through_intent</string> | ||||
|     <string name="use_exoplayer_key" translatable="false">use_exoplayer</string> | ||||
|  | ||||
|     <string name="default_resolution_key">default_resolution_preference</string> | ||||
|     <string name="default_resolution_value">360p</string> | ||||
|     <string name="default_resolution_key" translatable="false">default_resolution_preference</string> | ||||
|     <string name="default_resolution_value" translatable="false">360p</string> | ||||
|     <string-array name="resolution_list"> | ||||
|         <item>720p</item> | ||||
|         <item>360p</item> | ||||
| @@ -22,10 +22,10 @@ | ||||
|         <item>144p</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string name="show_play_with_kodi_key">show_play_with_kodi</string> | ||||
|     <string name="show_play_with_kodi_key" translatable="false">show_play_with_kodi</string> | ||||
|  | ||||
|     <string name="theme_key">theme</string> | ||||
|     <string name="default_theme_value">@string/light_theme_title</string> | ||||
|     <string name="theme_key" translatable="false">theme</string> | ||||
|     <string name="default_theme_value" translatable="false">@string/light_theme_title</string> | ||||
|     <string-array name="theme_description_list"> | ||||
|         <item>@string/light_theme_title</item> | ||||
|         <item>@string/dark_theme_title</item> | ||||
| @@ -35,8 +35,8 @@ | ||||
|         <item>@string/dark_theme_title</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string name="default_audio_format_key">default_audio_format</string> | ||||
|     <string name="default_audio_format_value">m4a</string> | ||||
|     <string name="default_audio_format_key" translatable="false">default_audio_format</string> | ||||
|     <string name="default_audio_format_value" translatable="false">m4a</string> | ||||
|     <string-array name="audio_format_description_list"> | ||||
|         <item>@string/webm_description</item> | ||||
|         <item>@string/m4a_description</item> | ||||
| @@ -46,9 +46,9 @@ | ||||
|         <item>m4a</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string name="show_next_video_key">show_next_video</string> | ||||
|     <string name="show_next_video_key" translatable="false">show_next_video</string> | ||||
|     <string name="default_language_value">en</string> | ||||
|     <string name="search_language_key">search_language</string> | ||||
|     <string name="search_language_key" translatable="false">search_language</string> | ||||
|     <!-- TODO: scrape these programmatically, then store in a local cache --> | ||||
|     <!-- alternatively, load these from some local android data store --> | ||||
|     <string-array name="language_codes"> | ||||
| @@ -209,6 +209,6 @@ | ||||
|         <item>日本語</item> | ||||
|         <item>한국어</item> | ||||
|     </string-array> | ||||
|     <string name="show_age_restricted_content">show_age_restricted_content</string> | ||||
|     <string name="use_tor_key">use_tor</string> | ||||
|     <string name="show_age_restricted_content" translatable="false">show_age_restricted_content</string> | ||||
|     <string name="use_tor_key" translatable="false">use_tor</string> | ||||
| </resources> | ||||
| @@ -180,7 +180,7 @@ | ||||
|     <string name="md5" translatable="false">MD5</string> | ||||
|     <string name="sha1" translatable="false">SHA1</string> | ||||
|     <string name="title_activity_channel">ChannelActivity</string> | ||||
|     <string name="large_text"> | ||||
|     <string name="large_text" translatable="false"> | ||||
|         "Material is the metaphor.\n\n" | ||||
|  | ||||
|         "A material metaphor is the unifying theory of a rationalized space and a system of motion." | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ksyko
					ksyko