diff --git a/app/src/main/java/com/github/libretube/obj/Country.kt b/app/src/main/java/com/github/libretube/obj/Country.kt new file mode 100644 index 000000000..750fec3a7 --- /dev/null +++ b/app/src/main/java/com/github/libretube/obj/Country.kt @@ -0,0 +1,6 @@ +package com.github.libretube.obj + +data class Country( + val name: String, + val code: String +) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt index 244a912c1..b56c5e99d 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/HomeFragment.kt @@ -1,11 +1,13 @@ package com.github.libretube.ui.fragments +import android.content.Intent import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast +import android.widget.Toast.makeText import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager @@ -14,6 +16,8 @@ import com.github.libretube.api.RetrofitInstance import com.github.libretube.constants.PreferenceKeys import com.github.libretube.databinding.FragmentHomeBinding import com.github.libretube.extensions.TAG +import com.github.libretube.extensions.getStyledSnackBar +import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.adapters.ChannelAdapter import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.ui.base.BaseFragment @@ -79,6 +83,26 @@ class HomeFragment : BaseFragment() { } runOnUiThread { binding.progressBar.visibility = View.GONE + + // show a [SnackBar] if there are no trending videos available + if (response.isEmpty()) { + binding.root.getStyledSnackBar( + R.string.change_region + ) + .setAction( + R.string.settings + ) { + startActivity( + Intent( + context, + SettingsActivity::class.java + ) + ) + } + .show() + return@runOnUiThread + } + if ( PreferenceHelper.getBoolean( PreferenceKeys.ALTERNATIVE_TRENDING_LAYOUT, diff --git a/app/src/main/java/com/github/libretube/ui/preferences/GeneralSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/GeneralSettings.kt index 4b2f8e0e1..90810156b 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/GeneralSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/GeneralSettings.kt @@ -11,6 +11,7 @@ import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.base.BasePreferenceFragment import com.github.libretube.ui.dialogs.NavBarOptionsDialog import com.github.libretube.ui.dialogs.RequireRestartDialog +import com.github.libretube.util.LocaleHelper import com.github.libretube.util.PreferenceHelper class GeneralSettings : BasePreferenceFragment() { @@ -28,6 +29,9 @@ class GeneralSettings : BasePreferenceFragment() { true } + val region = findPreference("region") + region?.let { setupRegionPref(it) } + val autoRotation = findPreference(PreferenceKeys.AUTO_ROTATION) autoRotation?.setOnPreferenceChangeListener { _, _ -> val restartDialog = RequireRestartDialog() @@ -57,4 +61,21 @@ class GeneralSettings : BasePreferenceFragment() { true } } + + private fun setupRegionPref(preference: ListPreference) { + val countries = LocaleHelper.getAvailableCountries() + val countryNames = countries.map { it.name } + .toMutableList() + countryNames.add(0, requireContext().getString(R.string.systemLanguage)) + + val countryCodes = countries.map { it.code } + .toMutableList() + countryCodes.add(0, "sys") + + preference.entries = countryNames.toTypedArray() + preference.entryValues = countryCodes.toTypedArray() + preference.summaryProvider = Preference.SummaryProvider { + it.entry + } + } } diff --git a/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt index 6816c50cc..24f5e31de 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt @@ -8,6 +8,7 @@ import com.github.libretube.R import com.github.libretube.constants.PreferenceKeys import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.base.BasePreferenceFragment +import com.github.libretube.util.LocaleHelper import com.github.libretube.util.PreferenceHelper import java.util.* @@ -36,24 +37,24 @@ class PlayerSettings : BasePreferenceFragment() { } val defaultSubtitle = findPreference(PreferenceKeys.DEFAULT_SUBTITLE) - val locales: Array = Locale.getAvailableLocales() - val localeNames = ArrayList() - val localeCodes = ArrayList() + defaultSubtitle?.let { setupSubtitlePref(it) } + } - localeNames.add(context?.getString(R.string.none)!!) - localeCodes.add("") + private fun setupSubtitlePref(preference: ListPreference) { + val locales = LocaleHelper.getAvailableLocales() + val localeNames = locales.map { it.name } + .toMutableList() + localeNames.add(0, requireContext().getString(R.string.none)) - locales.forEach { - if (!localeNames.contains(it.getDisplayLanguage())) { - localeNames.add(it.getDisplayLanguage()) - localeCodes.add(it.language) - } - } - defaultSubtitle?.entries = localeNames.toTypedArray() - defaultSubtitle?.entryValues = localeCodes.toTypedArray() - defaultSubtitle?.summaryProvider = - Preference.SummaryProvider { preference -> - preference.entry + val localeCodes = locales.map { it.code } + .toMutableList() + localeCodes.add(0, "") + + preference.entries = localeNames.toTypedArray() + preference.entryValues = localeCodes.toTypedArray() + preference.summaryProvider = + Preference.SummaryProvider { + it.entry } } } diff --git a/app/src/main/java/com/github/libretube/util/LocaleHelper.kt b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt index 6ccacf472..5783b6d69 100644 --- a/app/src/main/java/com/github/libretube/util/LocaleHelper.kt +++ b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt @@ -4,6 +4,7 @@ import android.content.Context import android.os.Build import android.telephony.TelephonyManager import com.github.libretube.constants.PreferenceKeys +import com.github.libretube.obj.Country import java.util.* object LocaleHelper { @@ -33,11 +34,7 @@ object LocaleHelper { val res = context.resources val dm = res.displayMetrics val conf = res.configuration - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { - conf.setLocale(locale) - } else { - conf.locale = locale - } + conf.setLocale(locale) res.updateConfiguration(conf, dm) } @@ -81,10 +78,46 @@ object LocaleHelper { private fun detectLocaleCountry(context: Context): String? { try { - return context.resources.configuration.locales[0].country + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + return context.resources.configuration.locales[0].country + } } catch (e: Exception) { e.printStackTrace() } return null } + + fun getAvailableCountries(): List { + val isoCountries = Locale.getISOCountries() + val countries = mutableListOf() + isoCountries.forEach { countryCode -> + val locale = Locale("", countryCode) + val countryName = locale.displayCountry + countries.add( + Country( + countryName, + countryCode + ) + ) + } + countries.sortBy { it.name } + return countries + } + + fun getAvailableLocales(): List { + val availableLocales: Array = Locale.getAvailableLocales() + val locales = mutableListOf() + + availableLocales.forEach { locale -> + if (locales.filter { it.code == locale.language }.isEmpty()) { + locales.add( + Country( + locale.displayLanguage, + locale.language + ) + ) + } + } + return locales + } } diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 5e33ff444..f0c681451 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -335,4 +335,7 @@ يظهر إشعارًا عند توفر تدفقات جديدة. تحميل التغذية في الخلفية قم بتحميل خلاصة الاشتراك في الخلفية وامنعها من التحديث التلقائي. + تشغيل التالي + شريط التنقل + يرجى اختيار عنصر واحد على الأقل \ No newline at end of file diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index a9d597b11..08018f51b 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -336,4 +336,6 @@ Yeni yayımlar mövcud olduqda bildiriş göstərir. Səs oynadıcını idarə etmək üçün düymələri olan bildiriş göstərir. Növbəti oynadın + Naviqasiya paneli + Ən azı bir element seçin \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 37dccc9e9..4463d53bc 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -336,4 +336,6 @@ Načítat zdroj v pozadí Načítat zdroj odběrů v pozadí a zabránit jeho automatickému obnovování. Přehrát jako další + Navigační lišta + Vyberte prosím alespoň jednu položku \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 06aec4def..679f68860 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -92,9 +92,9 @@ Promoción pagada, referencias pagadas y anuncios directos. No para la autopromoción o los agradecimientos genuinos y gratuitos a las causas, creadores, sitios web y productos. Activado Segmentos - Similar a \"patrocinador\", excepto que no se paga o se hace autopromoción. Esto incluye secciones sobre mercancía, donaciones o información sobre con quién han colaborado. - Recordatorio de interacción (me gusta y suscríbete) - Cuando hay un breve recordatorio para dar me gusta, suscribirse o seguir en medio del contenido. Si es largo o se trata de algo específico, debería ser una autopromoción. + Similar a \"patrocinador\" excepto por promoción no remunerada o propia. Esto incluye secciones sobre mercadería, donaciones o información sobre con quién colaboraron. + Recordatorio de interacción (me gusta y suscribirse) + Cuando hay un breve recordatorio para dar me gusta, suscribirse o seguir en medio del contenido. Si es largo o sobre algo específico, debería ser una autopromoción. No remunerado/Autopromoción Intermedio/Animación de entrada Tarjetas finales y créditos @@ -110,7 +110,7 @@ Negro Tu Material Icono - Piped + Hilo YouTube Notificaciones Activado @@ -264,7 +264,7 @@ Reproduciendo en segundo plano… Subtítulos Mejor - Peor + Peor calidad Idioma subtítulo Norificaciones para nuevos directos Comprobando todo … @@ -307,7 +307,7 @@ Añadir a la cola Miscelánea Recordatorio de pausa - Shorts + Vídeos Cortos No hay subtítulos disponibles Modo de redimensión Tamaño máximo de la caché de imágenes @@ -330,4 +330,12 @@ No omita segmentos automáticamente, siempre pregunte antes. Muestra una notificación cuando haya nuevos flujos disponibles. Mostrar una notificación con botones para controlar el reproductor de audio. + Suscripciones locales + Preferencias + Instancias personalizadas + Cargar los feed en segundo plano + Cargar el feed de suscripción en segundo plano y evitar que se actualice automáticamente. + Reproducir el siguiente + Barra de navegación + Por favor, seleccione al menos un artículo \ No newline at end of file diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index fec0cc053..8a11729e3 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -1,6 +1,6 @@ - Ezeztatu + Utzi Hasiera Harpidetzak Liburutegia @@ -44,7 +44,7 @@ Lauki-sare zutabea Ezer hemen. Ezabatu erreprodukzio zerrenda - Erreprodukzio zerrenda ezabatu\? + Erreprodukzio zerrenda ezabatu nahi duzu\? Erreprodukzio zerrenda sortua. Erreprodukzio zerrendaren izena Gehitu erreprodukzio zerrendara @@ -96,14 +96,14 @@ Itzalita Piped YouTube - Abiarazi atzeko planoan + Erreproduzitu atzeko planoan %1$s bertsioa eskuragarri dago GitHub-era joan deskargatzeko\? Amaierako txartelak eta kredituak Bideo formatua Audioa eta bideoa deskargatzen badira, fitxategi bihurtzea. Deskargatu hona - Deskargatutako multimedia gordetzen den lekua + Deskargatutako multimedia gordetzen den lekua. Azken bertsioa da hau. Azken bertsioa erabiltzen ari zara. Aurreratua @@ -131,9 +131,9 @@ Kendu harpidetza Saioa itxita. Erabiltzaile izena eta pasahitza sartu behar dituzu. - Erreprodukzio zerrenda sortu + Sortu erreprodukzio zerrenda Hautatu bilaketa filtroa - Erreprodukzio zerrendak ezin du hutsik egon + Erreprodukzio zerrendaren izenak ezin du hutsik egon Akatsa :( Sistema Saiatu berriro @@ -142,9 +142,9 @@ Bilaketen historia Erreprodukzio zerrendak Babeslea - Alde batera utzitako zatiak + Saltatutako zatiak Piztuta - Segmentuak + Zatiak Deskargak Portaera Itxura @@ -153,7 +153,7 @@ Dohaintza Klik egin aplikazioa eguneratuta dagoen jakiteko. Zuzenean - Erreprodukzio-abiadura + Erreprodukzio abiadura Egileak Barne biltegiratzea Gehitu… @@ -172,7 +172,7 @@ Ezkutatu kapituluak Musika: Musikarik gabeko atala Aurrebista - Serie honetan edo etorkizunean agertuko dena erakusten duten segmentuetarako, baina ez dute informazio gehigarririk ematen. Hemen bakarrik agertzen diren klipak baditu, oso litekeena da kategoria okerra izatea. + Serie honetan edo etorkizunean agertuko dena erakusten duten zatietarako, baina ez dute informazio gehigarririk ematen. Hemen bakarrik agertzen diren klipak baditu, oso litekeena da kategoria okerra izatea. Bideoak aurrez kargatzen diren segundo kopuru maximoa. Betegarria/Txisteak Bideoaren eduki nagusia ulertzeko beharrezkoak ez diren betegarrirako edo umorerako soilik gehitutako eszenak dira. @@ -196,7 +196,7 @@ Pantaila itzalita dagoenean, erreproduzitzailea gelditu. Erreproduzitu automatikoki hurrengo bideoa unekoa amaitzen denean. Automatikoki gelditzea - Klonatu erreprodukzio-zerrenda + Klonatu erreprodukzio zerrenda Ezabatu kontua Ezabatu zure Piped kontua Kontua @@ -245,7 +245,7 @@ Bat ere ez Libretube bertsio berria instalatu nahi duzu orain\? Bideoaren aurrebista - Aurreikusi bideoa erreprodukzio-barran arrastatzean. + Aurreikusi bideoa erreprodukzio barra arrastatzean. Gailuan ikusitako bideoen jarraipena egitea Gogoratu erreprodukzioen posizioak Azpitituluak @@ -296,7 +296,7 @@ Atsedenaren abisua Dagoeneko %1$s minutu eman dituzu aplikazioan, atseden hartzeko ordua da. Motzak - Gogorarazi minutu batzuk lehenago + Gogorarazi ondorengo minutuak igarotzean Harpidetza zaharren ikuspegia Gailuaren informazioa Ez dago azpititulurik erabilgarri @@ -314,4 +314,28 @@ Ireki Irudia irudian Kalitatea ea formatua + Bideo berrien adierazlea + Erakutsi bereizgarri bat bideo berrien kopuruarekin, baldin badaude. + Wi-Fi + Saltatu zatia + Saltatu eskuz + Ez saltatu segmentuak automatikoki, galdetu beti aurretik. + Deskarga zerbitzua + Multimedia deskargatzean jakinarazpen bat erakusten du. + Atzeko planoko modua + Audio-erreproduzitzailea maneiatzeko botoiekin jakinarazpen bat erakusten du. + Jakinarazpenen egilea + Tokiko harpidetzak + Hobespenak + Instantzia pertsonalizatuak + Kargatu jarioa atzeko planoan + Kargatu harpidetzako jarioa atzeko planoan eta saihestu automatikoki freskatzea. + Erreproduzitu hurrengoa + Nabigazio-barra + Erakutsi jakinarazpen bat korronte berriak erabilgarri daudenean. + Hautatu elementu bat gutxienez + Ezabatu + Joera alternatiboaren diseinua + Berrizendatu erreprodukzio zerrenda + Datu mugikorrak \ No newline at end of file diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 170d53ace..c5fdb9649 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -336,4 +336,6 @@ Muat umpan di latar belakang Muat umpan langganan di latar belakang dan cegah dari memuat secara otomatis. Main berikutnya + Bilah navigasi + Mohon pilih setidaknya satu item \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 51db1c3d4..f51f2dd70 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -329,4 +329,13 @@ Preferenze Istanze personalizzate Riproduci il successivo + Modalità in background + Servizio di Download + Operatore di notifica + Mostra una notifica quando sono disponibili nuove stream. + Carica feed in background + Carica il feed delle iscrizioni in background e impedisci che venga aggiornato automaticamente. + Visualizzazione iscrizioni legacy + Barra di navigazione + Seleziona almeno un elemento \ No newline at end of file diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 47c30b2fa..9fcdfc74e 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -335,4 +335,7 @@ מתפעל התראות לטעון את ערוץ ההזנה של המינוי ברקע ולמנוע את רענונו מחדש אוטומטית. מציג התראה כשתזרימים חדשים זמינים. + לנגן את הבא + סרגל ניווט + נא לבחור פריט אחד לפחות \ No newline at end of file diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index dcce62c24..dca9d5431 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -30,11 +30,11 @@ Wyloguj się Importuj subskrypcje Motyw aplikacji - Serwer napotkał problem. Spróbuj może użyć innej instancji\? + Serwer napotkał problem. Spróbuj użyć innej instancji. Błąd sieci. Coś poszło nie tak. To jest dla konta Piped. - Jakość wideo + Rozdzielczość wideo Zagęszczenie siatki filmów Tu jeszcze nic nie ma. Usuń listę odtwarzania @@ -48,7 +48,7 @@ Nie można pobrać tego wideo. Otwórz w VLC Nazwa użytkownika i hasło nie mogą być puste. - Nie można otworzyć w VLC. Może nie być zainstalowana. + Nie można otworzyć w VLC. Może nie być zainstalowany. Na pewno chcesz usunąć tę listę odtwarzania\? Dodaj do listy odtwarzania Nazwa listy odtwarzania nie może być pusta @@ -109,7 +109,7 @@ Ikona aplikacji YouTube YT Music (Muzyka) - YT Wideoklip + YT Music (Wideo) YT Music (Albumy) YT Music (Listy odtwarzania) Odtwarzanie w tle @@ -335,4 +335,7 @@ Pokazuje powiadomienie podczas pobierania mediów. Załaduj kanał subskrypcji w tle i zapobiegnij jego automatycznemu odświeżaniu. Ładowanie kanału w tle + Odtwórz następne + Pasek nawigacyjny + Proszę wybrać co najmniej jedną pozycję \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 99882834f..484852f13 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -335,4 +335,7 @@ Medya indirirken bildirim gösterir. Bildirim Çalışanı Yeni akışlar mevcut olduğunda bir bildirim gösterir. + Sonrakini oynat + Gezinme çubuğu + Lütfen en az bir öge seçin \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 45e9fdbdb..0f19654ee 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -336,4 +336,6 @@ 后台加载订阅源 后台加载订阅源并防止其自动刷新。 播放下一个 + 请选择至少一个项目 + 导航栏 \ No newline at end of file diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 4bc7072a8..121edb4c7 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -24,6 +24,7 @@ https://api.yt.jae.fi/ https://piped-api.privacy.com.de/ + youtube.com" m.youtube.com" @@ -64,398 +65,6 @@ piped.mint.lgbt" il.ax" - - @string/systemDefault - Afghanistan - Albania - Algeria - Andorra - Angola - Antigua and Barbuda - Argentina - Armenia - Australia - Austria - Azerbaijan - Bahamas - Bahrain - Bangladesh - Barbados - Belarus - Belgium - Belize - Benin - Bhutan - Bolivia (Plurinational State of) - Bosnia and Herzegovina - Botswana - Brazil - Brunei Darussalam - Bulgaria - Burkina Faso - Burundi - Cabo Verde - Cambodia - Cameroon - Canada - Central African Republic - Chad - Chile - China - Colombia - Comoros - Congo - Congo, Democratic Republic of the - Costa Rica - Côte d\'Ivoire - Croatia - Cuba - Cyprus - Czechia - Denmark - Djibouti - Dominica - Dominican Republic - Ecuador - Egypt - El Salvador - Equatorial Guinea - Eritrea - Estonia - Eswatini - Ethiopia - Fiji - Finland - France - Gabon - Gambia - Georgia - Germany - Ghana - Greece - Grenada - Guatemala - Guinea - Guinea-Bissau - Guyana - Haiti - Honduras - Hungary - Iceland - India - Indonesia - Iran (Islamic Republic of) - Iraq - Ireland - Israel - Italy - Jamaica - Japan - Jordan - Kazakhstan - Kenya - Kiribati - Korea (Democratic People\'s Republic of) - Korea, Republic of - Kuwait - Kyrgyzstan - Lao People\'s Democratic Republic - Latvia - Lebanon - Lesotho - Liberia - Libya - Liechtenstein - Lithuania - Luxembourg - Madagascar - Malawi - Malaysia - Maldives - Mali - Malta - Marshall Islands - Mauritania - Mauritius - Mexico - Micronesia (Federated States of) - Moldova, Republic of - Monaco - Mongolia - Montenegro - Morocco - Mozambique - Myanmar - Namibia - Nauru - Nepal - Netherlands - New Zealand - Nicaragua - Niger - Nigeria - North Macedonia - Norway - Oman - Pakistan - Palau - Panama - Papua New Guinea - Paraguay - Peru - Philippines - Poland - Portugal - Qatar - Romania - Russian Federation - Rwanda - Saint Kitts and Nevis - Saint Lucia - Saint Vincent and the Grenadines - Samoa - San Marino - Sao Tome and Principe - Saudi Arabia - Senegal - Serbia - Seychelles - Sierra Leone - Singapore - Slovakia - Slovenia - Solomon Islands - Somalia - South Africa - South Sudan - Spain - Sri Lanka - Sudan - Suriname - Sweden - Switzerland - Syrian Arab Republic - Tajikistan - Tanzania, United Republic of - Thailand - Timor-Leste - Togo - Tonga - Trinidad and Tobago - Tunisia - Turkey - Turkmenistan - Tuvalu - Uganda - Ukraine - United Arab Emirates - United Kingdom of Great Britain and Northern Ireland - United States of America - Uruguay - Uzbekistan - Vanuatu - Venezuela (Bolivarian Republic of) - Viet Nam - Yemen - Zambia - Zimbabwe - - - sys - AF - AL - DZ - AD - AO - AG - AR - AM - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BT - BO - BA - BW - BR - BN - BG - BF - BI - CV - KH - CM - CA - CF - TD - CL - CN - CO - KM - CG - CD - CR - CI - HR - CU - CY - CZ - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - SZ - ET - FJ - FI - FR - GA - GM - GE - DE - GH - GR - GD - GT - GN - GW - GY - HT - HN - HU - IS - IN - ID - IR - IQ - IE - IL - IT - JM - JP - JO - KZ - KE - KI - KP - KR - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MG - MW - MY - MV - ML - MT - MH - MR - MU - MX - FM - MD - MC - MN - ME - MA - MZ - MM - NA - NR - NP - NL - NZ - NI - NE - NG - MK - NO - OM - PK - PW - PA - PG - PY - PE - PH - PL - PT - QA - RO - RU - RW - KN - LC - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SK - SI - SB - SO - ZA - SS - ES - LK - SD - SR - SE - CH - SY - TJ - TZ - TH - TL - TG - TO - TT - TN - TR - TM - TV - UG - UA - AE - GB - US - UY - UZ - VU - VE - VN - YE - ZM - ZW - @string/systemLanguage diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c9e82e5c2..50df12478 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -332,6 +332,7 @@ Play next Navigation bar Please select at least one item + Trending seems to be unavailable for the current region. Please select another in the settings. Download Service diff --git a/app/src/main/res/xml/general_settings.xml b/app/src/main/res/xml/general_settings.xml index dd9e7e7bb..0f3572997 100644 --- a/app/src/main/res/xml/general_settings.xml +++ b/app/src/main/res/xml/general_settings.xml @@ -7,11 +7,8 @@ + app:title="@string/region" />