mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	add support for content language and content country
This commit is contained in:
		| @@ -2,7 +2,6 @@ apply plugin: 'com.android.application' | ||||
|  | ||||
| android { | ||||
|     compileSdkVersion 27 | ||||
|     buildToolsVersion '27.0.3' | ||||
|  | ||||
|     defaultConfig { | ||||
|         applicationId "org.schabi.newpipe" | ||||
| @@ -55,7 +54,7 @@ dependencies { | ||||
|         exclude module: 'support-annotations' | ||||
|     } | ||||
|  | ||||
|     implementation 'com.github.TeamNewPipe:NewPipeExtractor:217d13b1028' | ||||
|     implementation 'com.github.TeamNewPipe:NewPipeExtractor:3a865749e89b' | ||||
|  | ||||
|     testImplementation 'junit:junit:4.12' | ||||
|     testImplementation 'org.mockito:mockito-core:2.8.9' | ||||
|   | ||||
| @@ -5,6 +5,7 @@ import android.app.NotificationChannel; | ||||
| import android.app.NotificationManager; | ||||
| import android.content.Context; | ||||
| import android.os.Build; | ||||
| import android.preference.PreferenceManager; | ||||
| import android.support.annotation.Nullable; | ||||
| import android.util.Log; | ||||
|  | ||||
| @@ -21,6 +22,7 @@ import org.acra.config.ConfigurationBuilder; | ||||
| import org.acra.sender.ReportSenderFactory; | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.utils.Localization; | ||||
| import org.schabi.newpipe.report.AcraReportSenderFactory; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.report.UserAction; | ||||
| @@ -65,7 +67,8 @@ public class App extends Application { | ||||
|     private RefWatcher refWatcher; | ||||
|  | ||||
|     @SuppressWarnings("unchecked") | ||||
|     private static final Class<? extends ReportSenderFactory>[] reportSenderFactoryClasses = new Class[]{AcraReportSenderFactory.class}; | ||||
|     private static final Class<? extends ReportSenderFactory>[] | ||||
|             reportSenderFactoryClasses = new Class[]{AcraReportSenderFactory.class}; | ||||
|  | ||||
|     @Override | ||||
|     protected void attachBaseContext(Context base) { | ||||
| @@ -88,7 +91,8 @@ public class App extends Application { | ||||
|         // Initialize settings first because others inits can use its values | ||||
|         SettingsActivity.initSettings(this); | ||||
|  | ||||
|         NewPipe.init(getDownloader()); | ||||
|         NewPipe.init(getDownloader(), | ||||
|                 org.schabi.newpipe.util.Localization.getPreferredExtractorLocal(this)); | ||||
|         StateSaver.init(this); | ||||
|         initNotificationChannel(); | ||||
|  | ||||
| @@ -180,7 +184,11 @@ public class App extends Application { | ||||
|             ACRA.init(this, acraConfig); | ||||
|         } catch (ACRAConfigurationException ace) { | ||||
|             ace.printStackTrace(); | ||||
|             ErrorActivity.reportError(this, ace, null, null, ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none", | ||||
|             ErrorActivity.reportError(this, | ||||
|                     ace, | ||||
|                     null, | ||||
|                     null, | ||||
|                     ErrorActivity.ErrorInfo.make(UserAction.SOMETHING_ELSE, "none", | ||||
|                     "Could not initialize ACRA crash report", R.string.app_ui_crash)); | ||||
|         } | ||||
|     } | ||||
| @@ -200,7 +208,8 @@ public class App extends Application { | ||||
|         NotificationChannel mChannel = new NotificationChannel(id, name, importance); | ||||
|         mChannel.setDescription(description); | ||||
|  | ||||
|         NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); | ||||
|         NotificationManager mNotificationManager = | ||||
|                 (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); | ||||
|         mNotificationManager.createNotificationChannel(mChannel); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -4,6 +4,7 @@ import android.support.annotation.Nullable; | ||||
| import android.text.TextUtils; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ReCaptchaException; | ||||
| import org.schabi.newpipe.extractor.utils.Localization; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| @@ -103,13 +104,13 @@ public class Downloader implements org.schabi.newpipe.extractor.Downloader { | ||||
|      * but set the HTTP header field "Accept-Language" to the supplied string. | ||||
|      * | ||||
|      * @param siteUrl  the URL of the text file to return the contents of | ||||
|      * @param language the language (usually a 2-character code) to set as the preferred language | ||||
|      * @param localisation the language and country (usually a 2-character code) to set | ||||
|      * @return the contents of the specified text file | ||||
|      */ | ||||
|     @Override | ||||
|     public String download(String siteUrl, String language) throws IOException, ReCaptchaException { | ||||
|     public String download(String siteUrl, Localization localisation) throws IOException, ReCaptchaException { | ||||
|         Map<String, String> requestProperties = new HashMap<>(); | ||||
|         requestProperties.put("Accept-Language", language); | ||||
|         requestProperties.put("Accept-Language", localisation.getLanguage()); | ||||
|         return download(siteUrl, requestProperties); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -128,26 +128,16 @@ public class KioskFragment extends BaseListInfoFragment<KioskInfo> { | ||||
|  | ||||
|     @Override | ||||
|     public Single<KioskInfo> loadResult(boolean forceReload) { | ||||
|         String contentCountry = PreferenceManager | ||||
|                 .getDefaultSharedPreferences(activity) | ||||
|                 .getString(getString(R.string.content_country_key), | ||||
|                         getString(R.string.default_country_value)); | ||||
|         return ExtractorHelper.getKioskInfo(serviceId, | ||||
|                 url, | ||||
|                 contentCountry, | ||||
|                 forceReload); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Single<ListExtractor.InfoItemsPage> loadMoreItemsLogic() { | ||||
|         String contentCountry = PreferenceManager | ||||
|                 .getDefaultSharedPreferences(activity) | ||||
|                 .getString(getString(R.string.content_country_key), | ||||
|                         getString(R.string.default_country_value)); | ||||
|         return ExtractorHelper.getMoreKioskItems(serviceId, | ||||
|                 url, | ||||
|                 currentNextPageUrl, | ||||
|                 contentCountry); | ||||
|                 currentNextPageUrl); | ||||
|     } | ||||
|  | ||||
|     /*////////////////////////////////////////////////////////////////////////// | ||||
|   | ||||
| @@ -626,7 +626,7 @@ public class SearchFragment | ||||
|                     } | ||||
|  | ||||
|                     final Observable<List<SuggestionItem>> network = ExtractorHelper | ||||
|                             .suggestionsFor(serviceId, query, contentCountry) | ||||
|                             .suggestionsFor(serviceId, query) | ||||
|                             .toObservable() | ||||
|                             .map(strings -> { | ||||
|                                 List<SuggestionItem> result = new ArrayList<>(); | ||||
| @@ -726,8 +726,7 @@ public class SearchFragment | ||||
|         searchDisposable = ExtractorHelper.searchFor(serviceId, | ||||
|                     searchString, | ||||
|                     Arrays.asList(contentFilter), | ||||
|                     sortFilter, | ||||
|                     contentCountry) | ||||
|                     sortFilter) | ||||
|                 .subscribeOn(Schedulers.io()) | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .doOnEvent((searchResult, throwable) -> isLoading.set(false)) | ||||
| @@ -745,8 +744,7 @@ public class SearchFragment | ||||
|                     searchString, | ||||
|                     asList(contentFilter), | ||||
|                     sortFilter, | ||||
|                     nextPageUrl, | ||||
|                     contentCountry) | ||||
|                     nextPageUrl) | ||||
|                 .subscribeOn(Schedulers.io()) | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .doOnEvent((nextItemsResult, throwable) -> isLoading.set(false)) | ||||
|   | ||||
| @@ -67,42 +67,37 @@ public final class ExtractorHelper { | ||||
|     public static Single<SearchInfo> searchFor(final int serviceId, | ||||
|                                                final String searchString, | ||||
|                                                final List<String> contentFilter, | ||||
|                                                final String sortFilter, | ||||
|                                                final String contentCountry) { | ||||
|                                                final String sortFilter) { | ||||
|         checkServiceId(serviceId); | ||||
|         return Single.fromCallable(() -> | ||||
|             SearchInfo.getInfo(NewPipe.getService(serviceId), | ||||
|                     NewPipe.getService(serviceId) | ||||
|                         .getSearchQHFactory() | ||||
|                         .fromQuery(searchString, contentFilter, sortFilter), | ||||
|                     contentCountry)); | ||||
|                         .fromQuery(searchString, contentFilter, sortFilter))); | ||||
|     } | ||||
|  | ||||
|     public static Single<InfoItemsPage> getMoreSearchItems(final int serviceId, | ||||
|                                                            final String searchString, | ||||
|                                                            final List<String> contentFilter, | ||||
|                                                            final String sortFilter, | ||||
|                                                            final String pageUrl, | ||||
|                                                            final String contentCountry) { | ||||
|                                                            final String pageUrl) { | ||||
|         checkServiceId(serviceId); | ||||
|         return Single.fromCallable(() -> | ||||
|                 SearchInfo.getMoreItems(NewPipe.getService(serviceId), | ||||
|                         NewPipe.getService(serviceId) | ||||
|                             .getSearchQHFactory() | ||||
|                             .fromQuery(searchString, contentFilter, sortFilter), | ||||
|                         contentCountry, | ||||
|                         pageUrl)); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public static Single<List<String>> suggestionsFor(final int serviceId, | ||||
|                                                       final String query, | ||||
|                                                       final String contentCountry) { | ||||
|                                                       final String query) { | ||||
|         checkServiceId(serviceId); | ||||
|         return Single.fromCallable(() -> | ||||
|                 NewPipe.getService(serviceId) | ||||
|                         .getSuggestionExtractor() | ||||
|                         .suggestionList(query, contentCountry)); | ||||
|                         .suggestionList(query)); | ||||
|     } | ||||
|  | ||||
|     public static Single<StreamInfo> getStreamInfo(final int serviceId, | ||||
| @@ -147,19 +142,17 @@ public final class ExtractorHelper { | ||||
|  | ||||
|     public static Single<KioskInfo> getKioskInfo(final int serviceId, | ||||
|                                                  final String url, | ||||
|                                                  final String contentCountry, | ||||
|                                                  boolean forceLoad) { | ||||
|         return checkCache(forceLoad, serviceId, url, Single.fromCallable(() -> | ||||
|                 KioskInfo.getInfo(NewPipe.getService(serviceId), url, contentCountry))); | ||||
|                 KioskInfo.getInfo(NewPipe.getService(serviceId), url))); | ||||
|     } | ||||
|  | ||||
|     public static Single<InfoItemsPage> getMoreKioskItems(final int serviceId, | ||||
|                                                             final String url, | ||||
|                                                             final String nextStreamsUrl, | ||||
|                                                             final String contentCountry) { | ||||
|                                                             final String nextStreamsUrl) { | ||||
|         return Single.fromCallable(() -> | ||||
|                 KioskInfo.getMoreItems(NewPipe.getService(serviceId), | ||||
|                         url, nextStreamsUrl, contentCountry)); | ||||
|                         url, nextStreamsUrl)); | ||||
|     } | ||||
|  | ||||
|     /*////////////////////////////////////////////////////////////////////////// | ||||
|   | ||||
| @@ -69,10 +69,23 @@ public class Localization { | ||||
|         return stringBuilder.toString(); | ||||
|     } | ||||
|  | ||||
|     public static org.schabi.newpipe.extractor.utils.Localization getPreferredExtractorLocal(Context context) { | ||||
|         SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); | ||||
|  | ||||
|         String languageCode = sp.getString(context.getString(R.string.content_language_key), | ||||
|                 context.getString(R.string.default_language_value)); | ||||
|  | ||||
|         String countryCode = sp.getString(context.getString(R.string.content_country_key), | ||||
|                 context.getString(R.string.default_country_value)); | ||||
|  | ||||
|         return new org.schabi.newpipe.extractor.utils.Localization(countryCode, languageCode); | ||||
|     } | ||||
|  | ||||
|     public static Locale getPreferredLocale(Context context) { | ||||
|         SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); | ||||
|  | ||||
|         String languageCode = sp.getString(context.getString(R.string.search_language_key), context.getString(R.string.default_language_value)); | ||||
|         String languageCode = sp.getString(context.getString(R.string.content_language_key), | ||||
|                 context.getString(R.string.default_language_value)); | ||||
|  | ||||
|         try { | ||||
|             if (languageCode.length() == 2) { | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="play_with_kodi_title">تشغيل بواسطة Kodi</string> | ||||
|     <string name="screen_rotation">التدوير</string> | ||||
|     <string name="search">بحث</string> | ||||
|     <string name="search_language_title">اللغة الإفتراضية للمحتوى</string> | ||||
|     <string name="content_language_title">اللغة الإفتراضية للمحتوى</string> | ||||
|     <string name="settings">الإعدادات</string> | ||||
|     <string name="settings_category_appearance_title">المظهر</string> | ||||
|     <string name="settings_category_other_title">اخرى</string> | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
|     <string name="next_video_title">Videu siguiente</string> | ||||
|     <string name="show_next_and_similar_title">Amosar vídeos siguientes y asemeyaos</string> | ||||
|     <string name="url_not_supported_toast">URL non sofitada</string> | ||||
|     <string name="search_language_title">Llingua por defeutu del conteníu</string> | ||||
|     <string name="content_language_title">Llingua por defeutu del conteníu</string> | ||||
|     <string name="settings_category_video_audio_title">Videu y audiu</string> | ||||
|     <string name="settings_category_appearance_title">Aspeutu</string> | ||||
|     <string name="settings_category_other_title">Otru</string> | ||||
|   | ||||
| @@ -95,7 +95,7 @@ | ||||
|     <string name="url_not_supported_toast">URL не падтрымліваецца</string> | ||||
|     <string name="default_content_country_title">Краіна кантэнту па змаўчанні</string> | ||||
|     <string name="service_title">Сэрвіс</string> | ||||
|     <string name="search_language_title">Мова кантэнту па змаўчанні</string> | ||||
|     <string name="content_language_title">Мова кантэнту па змаўчанні</string> | ||||
|     <string name="settings_category_player_title">Плэер</string> | ||||
|     <string name="settings_category_player_behavior_title">Павядзенне</string> | ||||
|     <string name="settings_category_video_audio_title">Відэа і аўдыё</string> | ||||
|   | ||||
| @@ -74,7 +74,7 @@ | ||||
|     <string name="show_next_and_similar_title">Показвай „следващ“ и „подобни“</string> | ||||
|     <string name="show_hold_to_append_title">Показвай съвет „задръж за добавяне“</string> | ||||
|     <string name="url_not_supported_toast">Непознат URL</string> | ||||
|     <string name="search_language_title">Език на съдържанието по подразбиране</string> | ||||
|     <string name="content_language_title">Език на съдържанието по подразбиране</string> | ||||
|     <string name="settings_category_player_title">Плейър</string> | ||||
|     <string name="settings_category_player_behavior_title">Поведение</string> | ||||
|     <string name="settings_category_video_audio_title">Видео & Аудио</string> | ||||
|   | ||||
| @@ -57,7 +57,7 @@ | ||||
|     <string name="next_video_title">পরবর্তী ভিডিও</string> | ||||
|     <string name="show_next_and_similar_title">পরবর্তী এবং অনুরূপ ভিডিওগুলি দেখাও</string> | ||||
|     <string name="url_not_supported_toast">URL সমর্থিত নয়</string> | ||||
|     <string name="search_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string> | ||||
|     <string name="content_language_title">কন্টেন্ট এর জন্য পছন্দসই ভাষা</string> | ||||
|     <string name="settings_category_video_audio_title">ভিডিও এবং অডিও</string> | ||||
|     <string name="settings_category_popup_title">পপআপ</string> | ||||
|     <string name="settings_category_appearance_title">অ্যাপিয়ারেন্স</string> | ||||
|   | ||||
| @@ -177,7 +177,7 @@ | ||||
|     <string name="next_video_title">Vídeo següent</string> | ||||
|     <string name="show_next_and_similar_title">Mostra el vídeo següent i similars</string> | ||||
|     <string name="default_content_country_title">País per defecte dels continguts</string> | ||||
|     <string name="search_language_title">Llengua per defecte dels continguts</string> | ||||
|     <string name="content_language_title">Llengua per defecte dels continguts</string> | ||||
|     <string name="settings_category_popup_title">Emergent</string> | ||||
|     <string name="background_player_playing_toast">S\'està reproduint en segon pla</string> | ||||
|     <string name="popup_playing_toast">S\'està reproduint en mode emergent</string> | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
|     <string name="next_video_title">Další videa</string> | ||||
|     <string name="show_next_and_similar_title">Zobrazovat \'další\' a \'podobná\' videa</string> | ||||
|     <string name="url_not_supported_toast">URL není podporováno</string> | ||||
|     <string name="search_language_title">Preferovaný jazyk obsahu</string> | ||||
|     <string name="content_language_title">Preferovaný jazyk obsahu</string> | ||||
|     <string name="settings_category_video_audio_title">Video a zvuk</string> | ||||
|     <string name="settings_category_appearance_title">Vzhled</string> | ||||
|     <string name="settings_category_other_title">Ostatní</string> | ||||
|   | ||||
| @@ -29,7 +29,7 @@ | ||||
|     <string name="show_next_and_similar_title">\'Nächste\' und \'ähnliche\' Videos anzeigen</string> | ||||
|     <string name="url_not_supported_toast">URL wird nicht unterstützt</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Audio</string> | ||||
|     <string name="search_language_title">Bevorzugte Sprache des Inhalts</string> | ||||
|     <string name="content_language_title">Bevorzugte Sprache des Inhalts</string> | ||||
|     <string name="list_thumbnail_view_description">Video-Vorschaubild</string> | ||||
|     <string name="detail_thumbnail_view_description">Video-Vorschaubild</string> | ||||
|     <string name="detail_uploader_thumbnail_view_description">Nutzerbild</string> | ||||
|   | ||||
| @@ -42,7 +42,7 @@ | ||||
|     <string name="next_video_title">Επόμενο βίντεο</string> | ||||
|     <string name="show_next_and_similar_title">Εμφάνιση \"επόμενου\" και \"σχετικών\" βίντεο</string> | ||||
|     <string name="url_not_supported_toast">Δεν υποστηρίζεται η διεύθυνση URL</string> | ||||
|     <string name="search_language_title">Προεπιλεγμένη γλώσσα περιεχομένου</string> | ||||
|     <string name="content_language_title">Προεπιλεγμένη γλώσσα περιεχομένου</string> | ||||
|     <string name="settings_category_video_audio_title">Βίντεο & Ήχος</string> | ||||
|     <string name="settings_category_appearance_title">Εμφάνιση</string> | ||||
|     <string name="settings_category_other_title">Άλλα</string> | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|     <string name="download_dialog_title">Elŝuti</string> | ||||
|     <string name="next_video_title">Sekva video</string> | ||||
|     <string name="url_not_supported_toast">Ligilo ne subtenita</string> | ||||
|     <string name="search_language_title">Preferata enhavlingvo</string> | ||||
|     <string name="content_language_title">Preferata enhavlingvo</string> | ||||
|     <string name="settings_category_video_audio_title">Video kaj sono</string> | ||||
|     <string name="settings_category_appearance_title">Apero</string> | ||||
|     <string name="settings_category_other_title">Alia</string> | ||||
|   | ||||
| @@ -57,7 +57,7 @@ | ||||
|     <string name="youtube_signature_decryption_error">No se pudo descifrar la URL del vídeo</string> | ||||
|     <string name="parsing_error">No se pudo analizar el sitio web</string> | ||||
|     <string name="show_next_and_similar_title">Mostrar vídeos \'siguientes\' y \'similares\'</string> | ||||
|     <string name="search_language_title">Idioma del contenido por defecto</string> | ||||
|     <string name="content_language_title">Idioma del contenido por defecto</string> | ||||
|     <string name="list_thumbnail_view_description">Vista previa del vídeo</string> | ||||
|     <string name="detail_thumbnail_view_description">Vista previa del vídeo</string> | ||||
|     <string name="detail_likes_img_view_description">Me gusta</string> | ||||
|   | ||||
| @@ -92,7 +92,7 @@ | ||||
|     <string name="url_not_supported_toast">URL pole toetatud</string> | ||||
|     <string name="default_content_country_title">Sisu vaikimisi riik</string> | ||||
|     <string name="service_title">Teenus</string> | ||||
|     <string name="search_language_title">Sisu vaikimisi keel</string> | ||||
|     <string name="content_language_title">Sisu vaikimisi keel</string> | ||||
|     <string name="settings_category_player_title">Pleier</string> | ||||
|     <string name="settings_category_player_behavior_title">Käitumine</string> | ||||
|     <string name="settings_category_video_audio_title">Heli ja pilt</string> | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
|     <string name="next_video_title">Hurrengo bideoa</string> | ||||
|     <string name="show_next_and_similar_title">Erakutsi \'hurrengo\' eta \'antzeko\' bideoak</string> | ||||
|     <string name="url_not_supported_toast">URLak ez du euskarririk</string> | ||||
|     <string name="search_language_title">Edukiaren hizkuntz lehenetsia</string> | ||||
|     <string name="content_language_title">Edukiaren hizkuntz lehenetsia</string> | ||||
|     <string name="settings_category_video_audio_title">Bideoa eta Audioa</string> | ||||
|     <string name="play_btn_text">Erreproduzitu</string> | ||||
|  | ||||
|   | ||||
| @@ -43,7 +43,7 @@ | ||||
|     <string name="next_video_title">ویدیوی بعدی</string> | ||||
|     <string name="show_next_and_similar_title">نماش ویدیوهای بعدی و مشابه</string> | ||||
|     <string name="url_not_supported_toast">نشانی اینترنتی پشتیبانی نمیشود</string> | ||||
|     <string name="search_language_title">زبان محتوای ترجیحی</string> | ||||
|     <string name="content_language_title">زبان محتوای ترجیحی</string> | ||||
|     <string name="settings_category_video_audio_title">ویدیو و صدا</string> | ||||
|     <string name="settings_category_appearance_title">ظاهر</string> | ||||
|     <string name="settings_category_other_title">دیگر</string> | ||||
|   | ||||
| @@ -73,7 +73,7 @@ | ||||
|     <string name="next_video_title">Seuraava video</string> | ||||
|     <string name="show_next_and_similar_title">Näytä seuraavia ja samankaltaisia videoita</string> | ||||
|     <string name="url_not_supported_toast">URL ei tueta</string> | ||||
|     <string name="search_language_title">Oletus-sisällon kieli</string> | ||||
|     <string name="content_language_title">Oletus-sisällon kieli</string> | ||||
|     <string name="settings_category_player_title">Soitin</string> | ||||
|     <string name="settings_category_player_behavior_title">Käyttäytyminen</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Ääni</string> | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
|     <string name="detail_thumbnail_view_description">Miniature d’aperçu vidéo</string> | ||||
|     <string name="detail_dislikes_img_view_description">Je n’aime pas</string> | ||||
|     <string name="detail_likes_img_view_description">J’aime</string> | ||||
|     <string name="search_language_title">Langue du contenu par défaut</string> | ||||
|     <string name="content_language_title">Langue du contenu par défaut</string> | ||||
|     <string name="detail_uploader_thumbnail_view_description">Miniature de l’avatar de l’utilisateur</string> | ||||
|     <string name="use_external_video_player_title">Utiliser un lecteur vidéo externe</string> | ||||
|     <string name="use_external_audio_player_title">Utiliser un lecteur audio externe</string> | ||||
|   | ||||
| @@ -59,7 +59,7 @@ | ||||
|     <string name="next_video_title">הסרטון הבא</string> | ||||
|     <string name="show_next_and_similar_title">הראה את הסרטונים הבאים וסרטונים דומים</string> | ||||
|     <string name="url_not_supported_toast">כתובת URL לא נתמכת</string> | ||||
|     <string name="search_language_title">שפת התוכן המועדפת</string> | ||||
|     <string name="content_language_title">שפת התוכן המועדפת</string> | ||||
|     <string name="settings_category_video_audio_title">סרטים ושמע</string> | ||||
|     <string name="settings_category_popup_title">חלון צץ</string> | ||||
|     <string name="settings_category_appearance_title">תצוגה</string> | ||||
|   | ||||
| @@ -104,7 +104,7 @@ | ||||
|     <string name="show_hold_to_append_title">\"संलग्न करने के लिए पकड़ें रहे\" दिखाए</string> | ||||
|     <string name="show_hold_to_append_summary">जब बैकग्राउंड और पॉपअप बटन विडियो के विवरण पन्ने में दबाई जाए तो tip को दिखाए</string> | ||||
|     <string name="url_not_supported_toast">ये वाला URL इसमें नहीं चलेगा</string> | ||||
|     <string name="search_language_title">डिफ़ॉल्ट विषय की भाषा</string> | ||||
|     <string name="content_language_title">डिफ़ॉल्ट विषय की भाषा</string> | ||||
|     <string name="settings_category_player_title">प्लेयर</string> | ||||
|     <string name="settings_category_player_behavior_title">चाल चलन</string> | ||||
|     <string name="settings_category_popup_title">पॉपअप</string> | ||||
|   | ||||
| @@ -77,7 +77,7 @@ | ||||
|     <string name="next_video_title">Sljedeći videozapis</string> | ||||
|     <string name="show_next_and_similar_title">Prikaži sljedeće i slične videozapise</string> | ||||
|     <string name="url_not_supported_toast">URL nije podržan</string> | ||||
|     <string name="search_language_title">Zadani jezik sadržaja</string> | ||||
|     <string name="content_language_title">Zadani jezik sadržaja</string> | ||||
|     <string name="settings_category_video_audio_title">Video i zvuk</string> | ||||
|     <string name="settings_category_popup_title">Skočni prozor</string> | ||||
|     <string name="settings_category_appearance_title">Izgled</string> | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
|     <string name="background_player_playing_toast">Lejátszás háttérben</string> | ||||
|     <string name="settings_category_video_audio_title">Videó és audio</string> | ||||
|     <string name="settings_category_appearance_title">Megjelenés</string> | ||||
|     <string name="search_language_title">Tartalom preferált nyelve</string> | ||||
|     <string name="content_language_title">Tartalom preferált nyelve</string> | ||||
|     <string name="settings_category_other_title">További beállítások</string> | ||||
|     <string name="show_next_and_similar_title">Következő hasonló videók mutatása</string> | ||||
|     <string name="dark_theme_title">Sötét</string> | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
|     <string name="next_video_title">Video berikutnya</string> | ||||
|     <string name="show_next_and_similar_title">Tampilkan video \'berikutnya\' dan \'serupa\'</string> | ||||
|     <string name="url_not_supported_toast">URL tidak didukung</string> | ||||
|     <string name="search_language_title">Bahasa konten baku</string> | ||||
|     <string name="content_language_title">Bahasa konten baku</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Audio</string> | ||||
|     <string name="settings_category_appearance_title">Tampilan</string> | ||||
|     <string name="settings_category_other_title">Lainnya</string> | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|     <string name="next_video_title">Prossimo video</string> | ||||
|     <string name="show_next_and_similar_title">Mostra \'prossimi\' video e video \'simili\'</string> | ||||
|     <string name="url_not_supported_toast">URL non supportato</string> | ||||
|     <string name="search_language_title">Lingua predefinita per i contenuti</string> | ||||
|     <string name="content_language_title">Lingua predefinita per i contenuti</string> | ||||
|     <string name="settings_category_video_audio_title">Video e Audio</string> | ||||
|  | ||||
|     <string name="list_thumbnail_view_description">Miniatura anteprima video</string> | ||||
|   | ||||
| @@ -27,7 +27,7 @@ | ||||
|     <string name="next_video_title">次の動画</string> | ||||
|     <string name="show_next_and_similar_title">\"次の動画\"と\"関連動画\"を表示します</string> | ||||
|     <string name="url_not_supported_toast">URLは使用できません</string> | ||||
|     <string name="search_language_title">優先言語</string> | ||||
|     <string name="content_language_title">優先言語</string> | ||||
|     <string name="settings_category_video_audio_title">動画と音楽</string> | ||||
|     <string name="view_count_text">%1$s ビュー</string> | ||||
|     <string name="list_thumbnail_view_description">動画 プレビュー サムネイル</string> | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|     <string name="next_video_title">다음 비디오</string> | ||||
|     <string name="show_next_and_similar_title">다음 및 유사한 비디오 표시</string> | ||||
|     <string name="url_not_supported_toast">지원하지 않는 URL 입니다</string> | ||||
|     <string name="search_language_title">기본 컨텐츠 언어</string> | ||||
|     <string name="content_language_title">기본 컨텐츠 언어</string> | ||||
|     <string name="settings_category_video_audio_title">비디오 & 오디오</string> | ||||
|  | ||||
|     <string name="list_thumbnail_view_description">비디오 미리보기 썸네일</string> | ||||
|   | ||||
| @@ -57,7 +57,7 @@ | ||||
|     <string name="next_video_title">Kitas vaizdo įrašas</string> | ||||
|     <string name="show_next_and_similar_title">Rodyti kitus panašius vaizdo įrašus</string> | ||||
|     <string name="url_not_supported_toast">URL nepalaikoma</string> | ||||
|     <string name="search_language_title">Numatytoji tūrinio kalba</string> | ||||
|     <string name="content_language_title">Numatytoji tūrinio kalba</string> | ||||
|     <string name="settings_category_video_audio_title">Vaizdas ir garsas</string> | ||||
|     <string name="settings_category_popup_title">Iššokantis langas</string> | ||||
|     <string name="settings_category_appearance_title">Išvaizda</string> | ||||
|   | ||||
| @@ -93,7 +93,7 @@ | ||||
|     <string name="url_not_supported_toast">Неподдржана URL врска</string> | ||||
|     <string name="default_content_country_title">Земја на прикажани видеа</string> | ||||
|     <string name="service_title">Услуга</string> | ||||
|     <string name="search_language_title">Претпочитан јазик на видеата</string> | ||||
|     <string name="content_language_title">Претпочитан јазик на видеата</string> | ||||
|     <string name="settings_category_player_title">Плеер</string> | ||||
|     <string name="settings_category_player_behavior_title">Однесување</string> | ||||
|     <string name="settings_category_video_audio_title">Видео и Звук</string> | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
|     <string name="next_video_title">Neste video</string> | ||||
|     <string name="show_next_and_similar_title">Vis \"neste\" og \"lignende\" videoer</string> | ||||
|     <string name="url_not_supported_toast">Nettadressen støttes ikke</string> | ||||
|     <string name="search_language_title">Foretrukket innholdsspråk</string> | ||||
|     <string name="content_language_title">Foretrukket innholdsspråk</string> | ||||
|     <string name="settings_category_video_audio_title">Video og lyd</string> | ||||
|     <string name="settings_category_appearance_title">Utseende</string> | ||||
|     <string name="settings_category_other_title">Annet</string> | ||||
|   | ||||
| @@ -93,7 +93,7 @@ | ||||
|     <string name="url_not_supported_toast">URL wordt niet ondersteund</string> | ||||
|     <string name="default_content_country_title">Standaardinhoudsland</string> | ||||
|     <string name="service_title">Dienst</string> | ||||
|     <string name="search_language_title">Standaardtaal voor inhoud</string> | ||||
|     <string name="content_language_title">Standaardtaal voor inhoud</string> | ||||
|     <string name="settings_category_player_title">Speler</string> | ||||
|     <string name="settings_category_player_behavior_title">Gedrag</string> | ||||
|     <string name="settings_category_video_audio_title">Video & audio</string> | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|     <string name="next_video_title">Volgende video</string> | ||||
|     <string name="url_not_supported_toast">URL wordt niet ondersteund</string> | ||||
|     <string name="show_next_and_similar_title">‘volgende’ en ‘vergelijkbare’ video’s weergeven</string> | ||||
|     <string name="search_language_title">Standaardtaal voor inhoud</string> | ||||
|     <string name="content_language_title">Standaardtaal voor inhoud</string> | ||||
|     <string name="use_external_video_player_title">Externe videospeler gebruiken</string> | ||||
|     <string name="use_external_audio_player_title">Externe audiospeler gebruiken</string> | ||||
|     <string name="settings_category_video_audio_title">Video & audio</string> | ||||
|   | ||||
| @@ -43,7 +43,7 @@ | ||||
|     <string name="next_video_title">Następny film</string> | ||||
|     <string name="show_next_and_similar_title">Pokaż \'następne\' i \'podobne\' filmy</string> | ||||
|     <string name="url_not_supported_toast">URL nieobsługiwany</string> | ||||
|     <string name="search_language_title">Domyślny język zawartości</string> | ||||
|     <string name="content_language_title">Domyślny język zawartości</string> | ||||
|     <string name="settings_category_video_audio_title">Wideo i audio</string> | ||||
|     <string name="settings_category_appearance_title">Wygląd</string> | ||||
|     <string name="settings_category_other_title">Inne</string> | ||||
|   | ||||
| @@ -57,7 +57,7 @@ | ||||
|     <string name="report_error">Reportar um erro</string> | ||||
|     <string name="retry">Tentar novamente</string> | ||||
|     <string name="screen_rotation">Rotação</string> | ||||
|     <string name="search_language_title">Idioma de conteúdo preferido</string> | ||||
|     <string name="content_language_title">Idioma de conteúdo preferido</string> | ||||
|     <string name="settings">Configurações</string> | ||||
|     <string name="settings_category_appearance_title">Aparência</string> | ||||
|     <string name="settings_category_other_title">Outros</string> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|     <string name="next_video_title">Vídeo seguinte</string> | ||||
|     <string name="show_next_and_similar_title">Mostrar vídeos \'seguintes\' e \'semelhantes\'</string> | ||||
|     <string name="url_not_supported_toast">URL não suportado</string> | ||||
|     <string name="search_language_title">Idioma padrão do conteúdo</string> | ||||
|     <string name="content_language_title">Idioma padrão do conteúdo</string> | ||||
|     <string name="settings_category_video_audio_title">Vídeo e áudio</string> | ||||
|  | ||||
|     <string name="list_thumbnail_view_description">Miniatura de vídeos</string> | ||||
|   | ||||
| @@ -41,7 +41,7 @@ | ||||
|     <string name="next_video_title">Următorul videoclip</string> | ||||
|     <string name="show_next_and_similar_title">Arată videoclipurile care urmează</string> | ||||
|     <string name="url_not_supported_toast">URL nesuportat</string> | ||||
|     <string name="search_language_title">Limba dorită a conținutului</string> | ||||
|     <string name="content_language_title">Limba dorită a conținutului</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Audio</string> | ||||
|     <string name="settings_category_appearance_title">Aspect</string> | ||||
|     <string name="settings_category_other_title">Altele</string> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|     <string name="next_video_title">Следующее видео</string> | ||||
|     <string name="url_not_supported_toast">URL не поддерживается</string> | ||||
|     <string name="show_next_and_similar_title">\"Следующее\" и \"Похожие\" видео</string> | ||||
|     <string name="search_language_title">Язык контента по умолчанию</string> | ||||
|     <string name="content_language_title">Язык контента по умолчанию</string> | ||||
|     <string name="settings_category_video_audio_title">Видео и аудио</string> | ||||
|     <string name="settings_category_appearance_title">Внешний вид</string> | ||||
|     <string name="settings_category_other_title">Другое</string> | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
|     <string name="next_video_title">Ďalšie video</string> | ||||
|     <string name="show_next_and_similar_title">Ukázať \'ďalšie\' a \'podobné\' videá</string> | ||||
|     <string name="url_not_supported_toast">URL nie je podporovaná</string> | ||||
|     <string name="search_language_title">Preferovaný jazyk obsahu</string> | ||||
|     <string name="content_language_title">Preferovaný jazyk obsahu</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Zvuk</string> | ||||
|     <string name="settings_category_appearance_title">Vzhľad</string> | ||||
|     <string name="settings_category_other_title">Iné</string> | ||||
|   | ||||
| @@ -29,7 +29,7 @@ | ||||
|     <string name="next_video_title">Naslednji video</string> | ||||
|     <string name="show_next_and_similar_title">Pokaži naslednji video in podobne posnetke</string> | ||||
|     <string name="url_not_supported_toast">Zapis naslova URL ni podprt.</string> | ||||
|     <string name="search_language_title">Privzeti jezik vsebine</string> | ||||
|     <string name="content_language_title">Privzeti jezik vsebine</string> | ||||
|     <string name="settings_category_video_audio_title">Video in Zvok</string> | ||||
|     <string name="list_thumbnail_view_description">Sličica predogleda videa</string> | ||||
|     <string name="detail_thumbnail_view_description">Sličica predogleda videa</string> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|     <string name="download_dialog_title">Shkarko</string> | ||||
|     <string name="next_video_title">Videoja tjetër</string> | ||||
|     <string name="service_title">Shërbimi</string> | ||||
|     <string name="search_language_title">Gjuha e dëshiruar e përmbajtjeve</string> | ||||
|     <string name="content_language_title">Gjuha e dëshiruar e përmbajtjeve</string> | ||||
|     <string name="settings_category_player_title">Aplikacioni për video</string> | ||||
|     <string name="settings_category_player_behavior_title">Sjellja</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Audio</string> | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
|     <string name="next_video_title">Следећи видео</string> | ||||
|     <string name="url_not_supported_toast">УРЛ није подржан</string> | ||||
|     <string name="show_next_and_similar_title">Прикажи следећи и слични видео</string> | ||||
|     <string name="search_language_title">Подразумевани језик садржаја</string> | ||||
|     <string name="content_language_title">Подразумевани језик садржаја</string> | ||||
|     <string name="settings_category_video_audio_title">Видео и аудио</string> | ||||
|     <string name="settings_category_other_title">Остало</string> | ||||
|     <string name="list_thumbnail_view_description">Сличица видео прегледа</string> | ||||
|   | ||||
| @@ -57,7 +57,7 @@ | ||||
|     <string name="next_video_title">Nästa video</string> | ||||
|     <string name="show_next_and_similar_title">Visa \'nästkommande\' och \'liknande\' videor</string> | ||||
|     <string name="url_not_supported_toast">Webbadressen stöds inte</string> | ||||
|     <string name="search_language_title">Standard innehållsspråk</string> | ||||
|     <string name="content_language_title">Standard innehållsspråk</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Ljud</string> | ||||
|     <string name="settings_category_popup_title">Popup-ruta</string> | ||||
|     <string name="settings_category_appearance_title">Utseende</string> | ||||
|   | ||||
| @@ -53,7 +53,7 @@ | ||||
|     <string name="show_next_and_similar_title">తదుపరి వీడియో మరియు ఇలాంటి వీడియో</string> | ||||
|     <string name="show_hold_to_append_title">చిట్కాను అనుబంధించడానికి హోల్డ్ను చూపు</string> | ||||
|     <string name="url_not_supported_toast">Url మద్దతు లేదు</string> | ||||
|     <string name="search_language_title">డిఫాల్ట్ భాష</string> | ||||
|     <string name="content_language_title">డిఫాల్ట్ భాష</string> | ||||
|     <string name="settings_category_player_title">ప్లేయర్</string> | ||||
|     <string name="settings_category_player_behavior_title">ప్రవర్తన</string> | ||||
|     <string name="settings_category_video_audio_title">వీడియో & ఆడియో</string> | ||||
|   | ||||
| @@ -42,7 +42,7 @@ | ||||
|     <string name="next_video_title">Sonraki video</string> | ||||
|     <string name="show_next_and_similar_title">\'Sonraki\' ve \'benzer\' videoları göster</string> | ||||
|     <string name="url_not_supported_toast">URL desteklenmiyor</string> | ||||
|     <string name="search_language_title">Öntanımlı içerik dili</string> | ||||
|     <string name="content_language_title">Öntanımlı içerik dili</string> | ||||
|     <string name="play_audio">Ses</string> | ||||
|     <string name="settings_category_video_audio_title">Video ve Ses</string> | ||||
|     <string name="settings_category_appearance_title">Görünüm</string> | ||||
|   | ||||
| @@ -44,7 +44,7 @@ | ||||
|     <string name="next_video_title">Наступний відеозапис</string> | ||||
|     <string name="show_next_and_similar_title">Являти \"наступні\" й \"схожі\" відео</string> | ||||
|     <string name="url_not_supported_toast">URL не підтримується</string> | ||||
|     <string name="search_language_title">Переважна мова контенту</string> | ||||
|     <string name="content_language_title">Переважна мова контенту</string> | ||||
|     <string name="settings_category_video_audio_title">Відео та Авдіо</string> | ||||
|     <string name="settings_category_appearance_title">Зовнішній вигляд</string> | ||||
|     <string name="settings_category_other_title">Інше</string> | ||||
|   | ||||
| @@ -174,7 +174,7 @@ | ||||
|     <string name="read_full_license">Đọc giấy phép</string> | ||||
|     <string name="contribution_title">Sự đóng góp</string> | ||||
| <string name="screen_rotation">Quay</string> | ||||
|     <string name="search_language_title">Ngôn ngữ nội dung ưu tiên</string> | ||||
|     <string name="content_language_title">Ngôn ngữ nội dung ưu tiên</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Âm thanh</string> | ||||
|     <string name="settings_category_popup_title">Bật lên</string> | ||||
|     <string name="enable_watch_history_title">Lịch sử</string> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="next_video_title">即将播放</string> | ||||
|     <string name="show_next_and_similar_title">显示下一部和相似的视频</string> | ||||
|     <string name="url_not_supported_toast">不支援此网址</string> | ||||
|     <string name="search_language_title">默认内容语言</string> | ||||
|     <string name="content_language_title">默认内容语言</string> | ||||
|     <string name="settings_category_video_audio_title">视频和音频</string> | ||||
|     <string name="settings_category_appearance_title">外观</string> | ||||
|     <string name="settings_category_other_title">其他</string> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|     <string name="next_video_title">下一部影片</string> | ||||
|     <string name="show_next_and_similar_title">顯示下一部及相關的影片</string> | ||||
|     <string name="url_not_supported_toast">不支援此網址</string> | ||||
|     <string name="search_language_title">預設內容語言</string> | ||||
|     <string name="content_language_title">預設內容語言</string> | ||||
|     <string name="settings_category_video_audio_title">影片及聲音</string> | ||||
|     <string name="settings_category_appearance_title">外觀</string> | ||||
|     <string name="settings_category_other_title">其他</string> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="next_video_title">下一部影片</string> | ||||
|     <string name="show_next_and_similar_title">顯示「下一部」與「相關」的影片</string> | ||||
|     <string name="url_not_supported_toast">不支援此網址</string> | ||||
|     <string name="search_language_title">預設內容語言</string> | ||||
|     <string name="content_language_title">預設內容語言</string> | ||||
|     <string name="settings_category_video_audio_title">影片和音訊</string> | ||||
|     <string name="settings_category_appearance_title">外觀</string> | ||||
|     <string name="settings_category_other_title">其他</string> | ||||
|   | ||||
| @@ -138,7 +138,7 @@ | ||||
|     <string name="show_hold_to_append_key" translatable="false">show_hold_to_append</string> | ||||
|     <string name="default_language_value">en</string> | ||||
|     <string name="default_country_value">GB</string> | ||||
|     <string name="search_language_key" translatable="false">search_language</string> | ||||
|     <string name="content_language_key" translatable="false">content_language</string> | ||||
|     <string name="content_country_key" translatable="false">content_country</string> | ||||
|     <string name="show_age_restricted_content" translatable="false">show_age_restricted_content</string> | ||||
|     <string name="use_tor_key" translatable="false">use_tor</string> | ||||
|   | ||||
| @@ -100,7 +100,7 @@ | ||||
|     <string name="url_not_supported_toast">URL not supported</string> | ||||
|     <string name="default_content_country_title">Default content country</string> | ||||
|     <string name="service_title">Service</string> | ||||
|     <string name="search_language_title">Default content language</string> | ||||
|     <string name="content_language_title">Default content language</string> | ||||
|     <string name="settings_category_player_title">Player</string> | ||||
|     <string name="settings_category_player_behavior_title">Behavior</string> | ||||
|     <string name="settings_category_video_audio_title">Video & Audio</string> | ||||
|   | ||||
| @@ -10,15 +10,13 @@ | ||||
|         android:summary="%s" | ||||
|         android:title="@string/default_content_country_title"/> | ||||
|  | ||||
|     <!-- TODO: add support for this within code | ||||
|     <ListPreference | ||||
|         android:defaultValue="@string/default_language_value" | ||||
|         android:entries="@array/language_names" | ||||
|         android:entryValues="@array/language_codes" | ||||
|         android:key="@string/search_language_key" | ||||
|         android:key="@string/content_language_key" | ||||
|         android:summary="%s" | ||||
|         android:title="@string/search_language_title"/> | ||||
|         --> | ||||
|         android:title="@string/content_language_title"/> | ||||
|  | ||||
|     <SwitchPreference | ||||
|         android:defaultValue="false" | ||||
|   | ||||
| @@ -6,7 +6,7 @@ buildscript { | ||||
|         google() | ||||
|     } | ||||
|     dependencies { | ||||
|         classpath 'com.android.tools.build:gradle:3.1.4' | ||||
|         classpath 'com.android.tools.build:gradle:3.2.0' | ||||
|  | ||||
|         // NOTE: Do not place your application dependencies here; they belong | ||||
|         // in the individual module build.gradle files | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Christian Schabesberger
					Christian Schabesberger