commit
c2fcae7c43
|
@ -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>
|
||||
|
|
|
@ -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."
|
||||
|
|
Loading…
Reference in New Issue