Merge branch 'libre-tube:master' into master

This commit is contained in:
XelXen 2022-09-24 17:51:04 +05:30 committed by GitHub
commit 18ffd4eb69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 194 additions and 441 deletions

View File

@ -0,0 +1,6 @@
package com.github.libretube.obj
data class Country(
val name: String,
val code: String
)

View File

@ -1,11 +1,13 @@
package com.github.libretube.ui.fragments package com.github.libretube.ui.fragments
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import android.widget.Toast.makeText
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager 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.constants.PreferenceKeys
import com.github.libretube.databinding.FragmentHomeBinding import com.github.libretube.databinding.FragmentHomeBinding
import com.github.libretube.extensions.TAG 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.ChannelAdapter
import com.github.libretube.ui.adapters.TrendingAdapter import com.github.libretube.ui.adapters.TrendingAdapter
import com.github.libretube.ui.base.BaseFragment import com.github.libretube.ui.base.BaseFragment
@ -79,6 +83,26 @@ class HomeFragment : BaseFragment() {
} }
runOnUiThread { runOnUiThread {
binding.progressBar.visibility = View.GONE 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 ( if (
PreferenceHelper.getBoolean( PreferenceHelper.getBoolean(
PreferenceKeys.ALTERNATIVE_TRENDING_LAYOUT, PreferenceKeys.ALTERNATIVE_TRENDING_LAYOUT,

View File

@ -11,6 +11,7 @@ import com.github.libretube.ui.activities.SettingsActivity
import com.github.libretube.ui.base.BasePreferenceFragment import com.github.libretube.ui.base.BasePreferenceFragment
import com.github.libretube.ui.dialogs.NavBarOptionsDialog import com.github.libretube.ui.dialogs.NavBarOptionsDialog
import com.github.libretube.ui.dialogs.RequireRestartDialog import com.github.libretube.ui.dialogs.RequireRestartDialog
import com.github.libretube.util.LocaleHelper
import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.PreferenceHelper
class GeneralSettings : BasePreferenceFragment() { class GeneralSettings : BasePreferenceFragment() {
@ -28,6 +29,9 @@ class GeneralSettings : BasePreferenceFragment() {
true true
} }
val region = findPreference<ListPreference>("region")
region?.let { setupRegionPref(it) }
val autoRotation = findPreference<SwitchPreferenceCompat>(PreferenceKeys.AUTO_ROTATION) val autoRotation = findPreference<SwitchPreferenceCompat>(PreferenceKeys.AUTO_ROTATION)
autoRotation?.setOnPreferenceChangeListener { _, _ -> autoRotation?.setOnPreferenceChangeListener { _, _ ->
val restartDialog = RequireRestartDialog() val restartDialog = RequireRestartDialog()
@ -57,4 +61,21 @@ class GeneralSettings : BasePreferenceFragment() {
true 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<ListPreference> {
it.entry
}
}
} }

View File

@ -8,6 +8,7 @@ import com.github.libretube.R
import com.github.libretube.constants.PreferenceKeys import com.github.libretube.constants.PreferenceKeys
import com.github.libretube.ui.activities.SettingsActivity import com.github.libretube.ui.activities.SettingsActivity
import com.github.libretube.ui.base.BasePreferenceFragment import com.github.libretube.ui.base.BasePreferenceFragment
import com.github.libretube.util.LocaleHelper
import com.github.libretube.util.PreferenceHelper import com.github.libretube.util.PreferenceHelper
import java.util.* import java.util.*
@ -36,24 +37,24 @@ class PlayerSettings : BasePreferenceFragment() {
} }
val defaultSubtitle = findPreference<ListPreference>(PreferenceKeys.DEFAULT_SUBTITLE) val defaultSubtitle = findPreference<ListPreference>(PreferenceKeys.DEFAULT_SUBTITLE)
val locales: Array<Locale> = Locale.getAvailableLocales() defaultSubtitle?.let { setupSubtitlePref(it) }
val localeNames = ArrayList<String>() }
val localeCodes = ArrayList<String>()
localeNames.add(context?.getString(R.string.none)!!) private fun setupSubtitlePref(preference: ListPreference) {
localeCodes.add("") val locales = LocaleHelper.getAvailableLocales()
val localeNames = locales.map { it.name }
.toMutableList()
localeNames.add(0, requireContext().getString(R.string.none))
locales.forEach { val localeCodes = locales.map { it.code }
if (!localeNames.contains(it.getDisplayLanguage())) { .toMutableList()
localeNames.add(it.getDisplayLanguage()) localeCodes.add(0, "")
localeCodes.add(it.language)
} preference.entries = localeNames.toTypedArray()
} preference.entryValues = localeCodes.toTypedArray()
defaultSubtitle?.entries = localeNames.toTypedArray() preference.summaryProvider =
defaultSubtitle?.entryValues = localeCodes.toTypedArray() Preference.SummaryProvider<ListPreference> {
defaultSubtitle?.summaryProvider = it.entry
Preference.SummaryProvider<ListPreference> { preference ->
preference.entry
} }
} }
} }

View File

@ -4,6 +4,7 @@ import android.content.Context
import android.os.Build import android.os.Build
import android.telephony.TelephonyManager import android.telephony.TelephonyManager
import com.github.libretube.constants.PreferenceKeys import com.github.libretube.constants.PreferenceKeys
import com.github.libretube.obj.Country
import java.util.* import java.util.*
object LocaleHelper { object LocaleHelper {
@ -33,11 +34,7 @@ object LocaleHelper {
val res = context.resources val res = context.resources
val dm = res.displayMetrics val dm = res.displayMetrics
val conf = res.configuration val conf = res.configuration
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { conf.setLocale(locale)
conf.setLocale(locale)
} else {
conf.locale = locale
}
res.updateConfiguration(conf, dm) res.updateConfiguration(conf, dm)
} }
@ -81,10 +78,46 @@ object LocaleHelper {
private fun detectLocaleCountry(context: Context): String? { private fun detectLocaleCountry(context: Context): String? {
try { 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) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
} }
return null return null
} }
fun getAvailableCountries(): List<Country> {
val isoCountries = Locale.getISOCountries()
val countries = mutableListOf<Country>()
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<Country> {
val availableLocales: Array<Locale> = Locale.getAvailableLocales()
val locales = mutableListOf<Country>()
availableLocales.forEach { locale ->
if (locales.filter { it.code == locale.language }.isEmpty()) {
locales.add(
Country(
locale.displayLanguage,
locale.language
)
)
}
}
return locales
}
} }

View File

@ -335,4 +335,7 @@
<string name="push_channel_description">يظهر إشعارًا عند توفر تدفقات جديدة.</string> <string name="push_channel_description">يظهر إشعارًا عند توفر تدفقات جديدة.</string>
<string name="save_feed">تحميل التغذية في الخلفية</string> <string name="save_feed">تحميل التغذية في الخلفية</string>
<string name="save_feed_summary">قم بتحميل خلاصة الاشتراك في الخلفية وامنعها من التحديث التلقائي.</string> <string name="save_feed_summary">قم بتحميل خلاصة الاشتراك في الخلفية وامنعها من التحديث التلقائي.</string>
<string name="play_next">تشغيل التالي</string>
<string name="navigation_bar">شريط التنقل</string>
<string name="select_at_least_one">يرجى اختيار عنصر واحد على الأقل</string>
</resources> </resources>

View File

@ -336,4 +336,6 @@
<string name="push_channel_description">Yeni yayımlar mövcud olduqda bildiriş göstərir.</string> <string name="push_channel_description">Yeni yayımlar mövcud olduqda bildiriş göstərir.</string>
<string name="background_channel_description">Səs oynadıcını idarə etmək üçün düymələri olan bildiriş göstərir.</string> <string name="background_channel_description">Səs oynadıcını idarə etmək üçün düymələri olan bildiriş göstərir.</string>
<string name="play_next">Növbəti oynadın</string> <string name="play_next">Növbəti oynadın</string>
<string name="navigation_bar">Naviqasiya paneli</string>
<string name="select_at_least_one">Ən azı bir element seçin</string>
</resources> </resources>

View File

@ -336,4 +336,6 @@
<string name="save_feed">Načítat zdroj v pozadí</string> <string name="save_feed">Načítat zdroj v pozadí</string>
<string name="save_feed_summary">Načítat zdroj odběrů v pozadí a zabránit jeho automatickému obnovování.</string> <string name="save_feed_summary">Načítat zdroj odběrů v pozadí a zabránit jeho automatickému obnovování.</string>
<string name="play_next">Přehrát jako další</string> <string name="play_next">Přehrát jako další</string>
<string name="navigation_bar">Navigační lišta</string>
<string name="select_at_least_one">Vyberte prosím alespoň jednu položku</string>
</resources> </resources>

View File

@ -92,9 +92,9 @@
<string name="category_sponsor_description">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.</string> <string name="category_sponsor_description">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.</string>
<string name="sponsorblock_state">Activado</string> <string name="sponsorblock_state">Activado</string>
<string name="category_segments">Segmentos</string> <string name="category_segments">Segmentos</string>
<string name="category_selfpromo_description">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.</string> <string name="category_selfpromo_description">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.</string>
<string name="category_interaction">Recordatorio de interacción (me gusta y suscríbete)</string> <string name="category_interaction">Recordatorio de interacción (me gusta y suscribirse)</string>
<string name="category_interaction_description">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.</string> <string name="category_interaction_description">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.</string>
<string name="category_selfpromo">No remunerado/Autopromoción</string> <string name="category_selfpromo">No remunerado/Autopromoción</string>
<string name="category_intro">Intermedio/Animación de entrada</string> <string name="category_intro">Intermedio/Animación de entrada</string>
<string name="category_outro">Tarjetas finales y créditos</string> <string name="category_outro">Tarjetas finales y créditos</string>
@ -110,7 +110,7 @@
<string name="oledTheme">Negro</string> <string name="oledTheme">Negro</string>
<string name="material_you">Tu Material</string> <string name="material_you">Tu Material</string>
<string name="app_icon">Icono</string> <string name="app_icon">Icono</string>
<string name="piped">Piped</string> <string name="piped">Hilo</string>
<string name="youtube">YouTube</string> <string name="youtube">YouTube</string>
<string name="sponsorblock_notifications">Notificaciones</string> <string name="sponsorblock_notifications">Notificaciones</string>
<string name="enabled">Activado</string> <string name="enabled">Activado</string>
@ -264,7 +264,7 @@
<string name="playingOnBackground">Reproduciendo en segundo plano…</string> <string name="playingOnBackground">Reproduciendo en segundo plano…</string>
<string name="caption_settings">Subtítulos</string> <string name="caption_settings">Subtítulos</string>
<string name="best_quality">Mejor</string> <string name="best_quality">Mejor</string>
<string name="worst_quality">Peor</string> <string name="worst_quality">Peor calidad</string>
<string name="default_subtitle_language">Idioma subtítulo</string> <string name="default_subtitle_language">Idioma subtítulo</string>
<string name="notify_new_streams">Norificaciones para nuevos directos</string> <string name="notify_new_streams">Norificaciones para nuevos directos</string>
<string name="checking_frequency">Comprobando todo …</string> <string name="checking_frequency">Comprobando todo …</string>
@ -307,7 +307,7 @@
<string name="add_to_queue">Añadir a la cola</string> <string name="add_to_queue">Añadir a la cola</string>
<string name="misc">Miscelánea</string> <string name="misc">Miscelánea</string>
<string name="break_reminder">Recordatorio de pausa</string> <string name="break_reminder">Recordatorio de pausa</string>
<string name="yt_shorts">Shorts</string> <string name="yt_shorts">Vídeos Cortos</string>
<string name="no_subtitles_available">No hay subtítulos disponibles</string> <string name="no_subtitles_available">No hay subtítulos disponibles</string>
<string name="player_resize_mode">Modo de redimensión</string> <string name="player_resize_mode">Modo de redimensión</string>
<string name="maximum_image_cache">Tamaño máximo de la caché de imágenes</string> <string name="maximum_image_cache">Tamaño máximo de la caché de imágenes</string>
@ -330,4 +330,12 @@
<string name="sb_skip_manual_summary">No omita segmentos automáticamente, siempre pregunte antes.</string> <string name="sb_skip_manual_summary">No omita segmentos automáticamente, siempre pregunte antes.</string>
<string name="push_channel_description">Muestra una notificación cuando haya nuevos flujos disponibles.</string> <string name="push_channel_description">Muestra una notificación cuando haya nuevos flujos disponibles.</string>
<string name="background_channel_description">Mostrar una notificación con botones para controlar el reproductor de audio.</string> <string name="background_channel_description">Mostrar una notificación con botones para controlar el reproductor de audio.</string>
<string name="local_subscriptions">Suscripciones locales</string>
<string name="preferences">Preferencias</string>
<string name="backup_customInstances">Instancias personalizadas</string>
<string name="save_feed">Cargar los feed en segundo plano</string>
<string name="save_feed_summary">Cargar el feed de suscripción en segundo plano y evitar que se actualice automáticamente.</string>
<string name="play_next">Reproducir el siguiente</string>
<string name="navigation_bar">Barra de navegación</string>
<string name="select_at_least_one">Por favor, seleccione al menos un artículo</string>
</resources> </resources>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="cancel">Ezeztatu</string> <string name="cancel">Utzi</string>
<string name="startpage">Hasiera</string> <string name="startpage">Hasiera</string>
<string name="subscriptions">Harpidetzak</string> <string name="subscriptions">Harpidetzak</string>
<string name="library">Liburutegia</string> <string name="library">Liburutegia</string>
@ -44,7 +44,7 @@
<string name="grid">Lauki-sare zutabea</string> <string name="grid">Lauki-sare zutabea</string>
<string name="emptyList">Ezer hemen.</string> <string name="emptyList">Ezer hemen.</string>
<string name="deletePlaylist">Ezabatu erreprodukzio zerrenda</string> <string name="deletePlaylist">Ezabatu erreprodukzio zerrenda</string>
<string name="areYouSure">Erreprodukzio zerrenda ezabatu\?</string> <string name="areYouSure">Erreprodukzio zerrenda ezabatu nahi duzu\?</string>
<string name="playlistCreated">Erreprodukzio zerrenda sortua.</string> <string name="playlistCreated">Erreprodukzio zerrenda sortua.</string>
<string name="playlistName">Erreprodukzio zerrendaren izena</string> <string name="playlistName">Erreprodukzio zerrendaren izena</string>
<string name="addToPlaylist">Gehitu erreprodukzio zerrendara</string> <string name="addToPlaylist">Gehitu erreprodukzio zerrendara</string>
@ -96,14 +96,14 @@
<string name="disabled">Itzalita</string> <string name="disabled">Itzalita</string>
<string name="piped">Piped</string> <string name="piped">Piped</string>
<string name="youtube">YouTube</string> <string name="youtube">YouTube</string>
<string name="playOnBackground">Abiarazi atzeko planoan</string> <string name="playOnBackground">Erreproduzitu atzeko planoan</string>
<string name="update_available">%1$s bertsioa eskuragarri dago</string> <string name="update_available">%1$s bertsioa eskuragarri dago</string>
<string name="update_available_text">GitHub-era joan deskargatzeko\?</string> <string name="update_available_text">GitHub-era joan deskargatzeko\?</string>
<string name="category_outro">Amaierako txartelak eta kredituak</string> <string name="category_outro">Amaierako txartelak eta kredituak</string>
<string name="video_format">Bideo formatua</string> <string name="video_format">Bideo formatua</string>
<string name="video_format_summary">Audioa eta bideoa deskargatzen badira, fitxategi bihurtzea.</string> <string name="video_format_summary">Audioa eta bideoa deskargatzen badira, fitxategi bihurtzea.</string>
<string name="download_directory">Deskargatu hona</string> <string name="download_directory">Deskargatu hona</string>
<string name="download_directory_summary">Deskargatutako multimedia gordetzen den lekua</string> <string name="download_directory_summary">Deskargatutako multimedia gordetzen den lekua.</string>
<string name="app_uptodate">Azken bertsioa da hau.</string> <string name="app_uptodate">Azken bertsioa da hau.</string>
<string name="no_update_available">Azken bertsioa erabiltzen ari zara.</string> <string name="no_update_available">Azken bertsioa erabiltzen ari zara.</string>
<string name="advanced">Aurreratua</string> <string name="advanced">Aurreratua</string>
@ -131,9 +131,9 @@
<string name="unsubscribe">Kendu harpidetza</string> <string name="unsubscribe">Kendu harpidetza</string>
<string name="loggedout">Saioa itxita.</string> <string name="loggedout">Saioa itxita.</string>
<string name="empty">Erabiltzaile izena eta pasahitza sartu behar dituzu.</string> <string name="empty">Erabiltzaile izena eta pasahitza sartu behar dituzu.</string>
<string name="createPlaylist">Erreprodukzio zerrenda sortu</string> <string name="createPlaylist">Sortu erreprodukzio zerrenda</string>
<string name="choose_filter">Hautatu bilaketa filtroa</string> <string name="choose_filter">Hautatu bilaketa filtroa</string>
<string name="emptyPlaylistName">Erreprodukzio zerrendak ezin du hutsik egon</string> <string name="emptyPlaylistName">Erreprodukzio zerrendaren izenak ezin du hutsik egon</string>
<string name="fail">Akatsa :(</string> <string name="fail">Akatsa :(</string>
<string name="systemLanguage">Sistema</string> <string name="systemLanguage">Sistema</string>
<string name="retry">Saiatu berriro</string> <string name="retry">Saiatu berriro</string>
@ -142,9 +142,9 @@
<string name="search_history">Bilaketen historia</string> <string name="search_history">Bilaketen historia</string>
<string name="playlists">Erreprodukzio zerrendak</string> <string name="playlists">Erreprodukzio zerrendak</string>
<string name="category_sponsor">Babeslea</string> <string name="category_sponsor">Babeslea</string>
<string name="segment_skipped">Alde batera utzitako zatiak</string> <string name="segment_skipped">Saltatutako zatiak</string>
<string name="sponsorblock_state">Piztuta</string> <string name="sponsorblock_state">Piztuta</string>
<string name="category_segments">Segmentuak</string> <string name="category_segments">Zatiak</string>
<string name="downloads">Deskargak</string> <string name="downloads">Deskargak</string>
<string name="app_behavior">Portaera</string> <string name="app_behavior">Portaera</string>
<string name="appearance">Itxura</string> <string name="appearance">Itxura</string>
@ -153,7 +153,7 @@
<string name="donate">Dohaintza</string> <string name="donate">Dohaintza</string>
<string name="update_summary">Klik egin aplikazioa eguneratuta dagoen jakiteko.</string> <string name="update_summary">Klik egin aplikazioa eguneratuta dagoen jakiteko.</string>
<string name="live">Zuzenean</string> <string name="live">Zuzenean</string>
<string name="playback_speed">Erreprodukzio-abiadura</string> <string name="playback_speed">Erreprodukzio abiadura</string>
<string name="authors">Egileak</string> <string name="authors">Egileak</string>
<string name="internal_storage">Barne biltegiratzea</string> <string name="internal_storage">Barne biltegiratzea</string>
<string name="customInstance_summary">Gehitu…</string> <string name="customInstance_summary">Gehitu…</string>
@ -172,7 +172,7 @@
<string name="hide_chapters">Ezkutatu kapituluak</string> <string name="hide_chapters">Ezkutatu kapituluak</string>
<string name="category_music_offtopic">Musika: Musikarik gabeko atala</string> <string name="category_music_offtopic">Musika: Musikarik gabeko atala</string>
<string name="category_preview">Aurrebista</string> <string name="category_preview">Aurrebista</string>
<string name="category_preview_description">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.</string> <string name="category_preview_description">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.</string>
<string name="buffering_goal_summary">Bideoak aurrez kargatzen diren segundo kopuru maximoa.</string> <string name="buffering_goal_summary">Bideoak aurrez kargatzen diren segundo kopuru maximoa.</string>
<string name="category_filler">Betegarria/Txisteak</string> <string name="category_filler">Betegarria/Txisteak</string>
<string name="category_filler_description">Bideoaren eduki nagusia ulertzeko beharrezkoak ez diren betegarrirako edo umorerako soilik gehitutako eszenak dira.</string> <string name="category_filler_description">Bideoaren eduki nagusia ulertzeko beharrezkoak ez diren betegarrirako edo umorerako soilik gehitutako eszenak dira.</string>
@ -196,7 +196,7 @@
<string name="pauseOnScreenOff_summary">Pantaila itzalita dagoenean, erreproduzitzailea gelditu.</string> <string name="pauseOnScreenOff_summary">Pantaila itzalita dagoenean, erreproduzitzailea gelditu.</string>
<string name="autoplay_summary">Erreproduzitu automatikoki hurrengo bideoa unekoa amaitzen denean.</string> <string name="autoplay_summary">Erreproduzitu automatikoki hurrengo bideoa unekoa amaitzen denean.</string>
<string name="pauseOnScreenOff">Automatikoki gelditzea</string> <string name="pauseOnScreenOff">Automatikoki gelditzea</string>
<string name="clonePlaylist">Klonatu erreprodukzio-zerrenda</string> <string name="clonePlaylist">Klonatu erreprodukzio zerrenda</string>
<string name="deleteAccount">Ezabatu kontua</string> <string name="deleteAccount">Ezabatu kontua</string>
<string name="deleteAccount_summary">Ezabatu zure Piped kontua</string> <string name="deleteAccount_summary">Ezabatu zure Piped kontua</string>
<string name="account">Kontua</string> <string name="account">Kontua</string>
@ -245,7 +245,7 @@
<string name="none">Bat ere ez</string> <string name="none">Bat ere ez</string>
<string name="update_now">Libretube bertsio berria instalatu nahi duzu orain\?</string> <string name="update_now">Libretube bertsio berria instalatu nahi duzu orain\?</string>
<string name="seekbar_preview">Bideoaren aurrebista</string> <string name="seekbar_preview">Bideoaren aurrebista</string>
<string name="seekbar_preview_summary">Aurreikusi bideoa erreprodukzio-barran arrastatzean.</string> <string name="seekbar_preview_summary">Aurreikusi bideoa erreprodukzio barra arrastatzean.</string>
<string name="watch_history_summary">Gailuan ikusitako bideoen jarraipena egitea</string> <string name="watch_history_summary">Gailuan ikusitako bideoen jarraipena egitea</string>
<string name="watch_positions_title">Gogoratu erreprodukzioen posizioak</string> <string name="watch_positions_title">Gogoratu erreprodukzioen posizioak</string>
<string name="captions">Azpitituluak</string> <string name="captions">Azpitituluak</string>
@ -296,7 +296,7 @@
<string name="break_reminder">Atsedenaren abisua</string> <string name="break_reminder">Atsedenaren abisua</string>
<string name="already_spent_time">Dagoeneko %1$s minutu eman dituzu aplikazioan, atseden hartzeko ordua da.</string> <string name="already_spent_time">Dagoeneko %1$s minutu eman dituzu aplikazioan, atseden hartzeko ordua da.</string>
<string name="yt_shorts">Motzak</string> <string name="yt_shorts">Motzak</string>
<string name="break_reminder_time">Gogorarazi minutu batzuk lehenago</string> <string name="break_reminder_time">Gogorarazi ondorengo minutuak igarotzean</string>
<string name="legacy_subscriptions">Harpidetza zaharren ikuspegia</string> <string name="legacy_subscriptions">Harpidetza zaharren ikuspegia</string>
<string name="device_info">Gailuaren informazioa</string> <string name="device_info">Gailuaren informazioa</string>
<string name="no_subtitles_available">Ez dago azpititulurik erabilgarri</string> <string name="no_subtitles_available">Ez dago azpititulurik erabilgarri</string>
@ -314,4 +314,28 @@
<string name="open_copied">Ireki</string> <string name="open_copied">Ireki</string>
<string name="picture_in_picture">Irudia irudian</string> <string name="picture_in_picture">Irudia irudian</string>
<string name="audio_video_summary">Kalitatea ea formatua</string> <string name="audio_video_summary">Kalitatea ea formatua</string>
<string name="new_videos_badge">Bideo berrien adierazlea</string>
<string name="new_videos_badge_summary">Erakutsi bereizgarri bat bideo berrien kopuruarekin, baldin badaude.</string>
<string name="wifi">Wi-Fi</string>
<string name="skip_segment">Saltatu zatia</string>
<string name="sb_skip_manual">Saltatu eskuz</string>
<string name="sb_skip_manual_summary">Ez saltatu segmentuak automatikoki, galdetu beti aurretik.</string>
<string name="download_channel_name">Deskarga zerbitzua</string>
<string name="download_channel_description">Multimedia deskargatzean jakinarazpen bat erakusten du.</string>
<string name="background_channel_name">Atzeko planoko modua</string>
<string name="background_channel_description">Audio-erreproduzitzailea maneiatzeko botoiekin jakinarazpen bat erakusten du.</string>
<string name="push_channel_name">Jakinarazpenen egilea</string>
<string name="local_subscriptions">Tokiko harpidetzak</string>
<string name="preferences">Hobespenak</string>
<string name="backup_customInstances">Instantzia pertsonalizatuak</string>
<string name="save_feed">Kargatu jarioa atzeko planoan</string>
<string name="save_feed_summary">Kargatu harpidetzako jarioa atzeko planoan eta saihestu automatikoki freskatzea.</string>
<string name="play_next">Erreproduzitu hurrengoa</string>
<string name="navigation_bar">Nabigazio-barra</string>
<string name="push_channel_description">Erakutsi jakinarazpen bat korronte berriak erabilgarri daudenean.</string>
<string name="select_at_least_one">Hautatu elementu bat gutxienez</string>
<string name="delete">Ezabatu</string>
<string name="trending_layout">Joera alternatiboaren diseinua</string>
<string name="renamePlaylist">Berrizendatu erreprodukzio zerrenda</string>
<string name="mobile_data">Datu mugikorrak</string>
</resources> </resources>

View File

@ -336,4 +336,6 @@
<string name="save_feed">Muat umpan di latar belakang</string> <string name="save_feed">Muat umpan di latar belakang</string>
<string name="save_feed_summary">Muat umpan langganan di latar belakang dan cegah dari memuat secara otomatis.</string> <string name="save_feed_summary">Muat umpan langganan di latar belakang dan cegah dari memuat secara otomatis.</string>
<string name="play_next">Main berikutnya</string> <string name="play_next">Main berikutnya</string>
<string name="navigation_bar">Bilah navigasi</string>
<string name="select_at_least_one">Mohon pilih setidaknya satu item</string>
</resources> </resources>

View File

@ -329,4 +329,13 @@
<string name="preferences">Preferenze</string> <string name="preferences">Preferenze</string>
<string name="backup_customInstances">Istanze personalizzate</string> <string name="backup_customInstances">Istanze personalizzate</string>
<string name="play_next">Riproduci il successivo</string> <string name="play_next">Riproduci il successivo</string>
<string name="background_channel_name">Modalità in background</string>
<string name="download_channel_name">Servizio di Download</string>
<string name="push_channel_name">Operatore di notifica</string>
<string name="push_channel_description">Mostra una notifica quando sono disponibili nuove stream.</string>
<string name="save_feed">Carica feed in background</string>
<string name="save_feed_summary">Carica il feed delle iscrizioni in background e impedisci che venga aggiornato automaticamente.</string>
<string name="legacy_subscriptions">Visualizzazione iscrizioni legacy</string>
<string name="navigation_bar">Barra di navigazione</string>
<string name="select_at_least_one">Seleziona almeno un elemento</string>
</resources> </resources>

View File

@ -335,4 +335,7 @@
<string name="push_channel_name">מתפעל התראות</string> <string name="push_channel_name">מתפעל התראות</string>
<string name="save_feed_summary">לטעון את ערוץ ההזנה של המינוי ברקע ולמנוע את רענונו מחדש אוטומטית.</string> <string name="save_feed_summary">לטעון את ערוץ ההזנה של המינוי ברקע ולמנוע את רענונו מחדש אוטומטית.</string>
<string name="push_channel_description">מציג התראה כשתזרימים חדשים זמינים.</string> <string name="push_channel_description">מציג התראה כשתזרימים חדשים זמינים.</string>
<string name="play_next">לנגן את הבא</string>
<string name="navigation_bar">סרגל ניווט</string>
<string name="select_at_least_one">נא לבחור פריט אחד לפחות</string>
</resources> </resources>

View File

@ -30,11 +30,11 @@
<string name="logout">Wyloguj się</string> <string name="logout">Wyloguj się</string>
<string name="import_from_yt">Importuj subskrypcje</string> <string name="import_from_yt">Importuj subskrypcje</string>
<string name="app_theme">Motyw aplikacji</string> <string name="app_theme">Motyw aplikacji</string>
<string name="server_error">Serwer napotkał problem. Spróbuj może użyć innej instancji\?</string> <string name="server_error">Serwer napotkał problem. Spróbuj użyć innej instancji.</string>
<string name="unknown_error">Błąd sieci.</string> <string name="unknown_error">Błąd sieci.</string>
<string name="error">Coś poszło nie tak.</string> <string name="error">Coś poszło nie tak.</string>
<string name="notgmail">To jest dla konta Piped.</string> <string name="notgmail">To jest dla konta Piped.</string>
<string name="defres">Jakość wideo</string> <string name="defres">Rozdzielczość wideo</string>
<string name="grid">Zagęszczenie siatki filmów</string> <string name="grid">Zagęszczenie siatki filmów</string>
<string name="emptyList">Tu jeszcze nic nie ma.</string> <string name="emptyList">Tu jeszcze nic nie ma.</string>
<string name="deletePlaylist">Usuń listę odtwarzania</string> <string name="deletePlaylist">Usuń listę odtwarzania</string>
@ -48,7 +48,7 @@
<string name="cannotDownload">Nie można pobrać tego wideo.</string> <string name="cannotDownload">Nie można pobrać tego wideo.</string>
<string name="vlc">Otwórz w VLC</string> <string name="vlc">Otwórz w VLC</string>
<string name="empty">Nazwa użytkownika i hasło nie mogą być puste.</string> <string name="empty">Nazwa użytkownika i hasło nie mogą być puste.</string>
<string name="vlcerror">Nie można otworzyć w VLC. Może nie być zainstalowana.</string> <string name="vlcerror">Nie można otworzyć w VLC. Może nie być zainstalowany.</string>
<string name="areYouSure">Na pewno chcesz usunąć tę listę odtwarzania\?</string> <string name="areYouSure">Na pewno chcesz usunąć tę listę odtwarzania\?</string>
<string name="addToPlaylist">Dodaj do listy odtwarzania</string> <string name="addToPlaylist">Dodaj do listy odtwarzania</string>
<string name="emptyPlaylistName">Nazwa listy odtwarzania nie może być pusta</string> <string name="emptyPlaylistName">Nazwa listy odtwarzania nie może być pusta</string>
@ -109,7 +109,7 @@
<string name="app_icon">Ikona aplikacji</string> <string name="app_icon">Ikona aplikacji</string>
<string name="youtube">YouTube</string> <string name="youtube">YouTube</string>
<string name="music_songs">YT Music (Muzyka)</string> <string name="music_songs">YT Music (Muzyka)</string>
<string name="music_videos">YT Wideoklip</string> <string name="music_videos">YT Music (Wideo)</string>
<string name="music_albums">YT Music (Albumy)</string> <string name="music_albums">YT Music (Albumy)</string>
<string name="music_playlists">YT Music (Listy odtwarzania)</string> <string name="music_playlists">YT Music (Listy odtwarzania)</string>
<string name="playOnBackground">Odtwarzanie w tle</string> <string name="playOnBackground">Odtwarzanie w tle</string>
@ -335,4 +335,7 @@
<string name="download_channel_description">Pokazuje powiadomienie podczas pobierania mediów.</string> <string name="download_channel_description">Pokazuje powiadomienie podczas pobierania mediów.</string>
<string name="save_feed_summary">Załaduj kanał subskrypcji w tle i zapobiegnij jego automatycznemu odświeżaniu.</string> <string name="save_feed_summary">Załaduj kanał subskrypcji w tle i zapobiegnij jego automatycznemu odświeżaniu.</string>
<string name="save_feed">Ładowanie kanału w tle</string> <string name="save_feed">Ładowanie kanału w tle</string>
<string name="play_next">Odtwórz następne</string>
<string name="navigation_bar">Pasek nawigacyjny</string>
<string name="select_at_least_one">Proszę wybrać co najmniej jedną pozycję</string>
</resources> </resources>

View File

@ -335,4 +335,7 @@
<string name="download_channel_description">Medya indirirken bildirim gösterir.</string> <string name="download_channel_description">Medya indirirken bildirim gösterir.</string>
<string name="push_channel_name">Bildirim Çalışanı</string> <string name="push_channel_name">Bildirim Çalışanı</string>
<string name="push_channel_description">Yeni akışlar mevcut olduğunda bir bildirim gösterir.</string> <string name="push_channel_description">Yeni akışlar mevcut olduğunda bir bildirim gösterir.</string>
<string name="play_next">Sonrakini oynat</string>
<string name="navigation_bar">Gezinme çubuğu</string>
<string name="select_at_least_one">Lütfen en az bir öge seçin</string>
</resources> </resources>

View File

@ -336,4 +336,6 @@
<string name="save_feed">后台加载订阅源</string> <string name="save_feed">后台加载订阅源</string>
<string name="save_feed_summary">后台加载订阅源并防止其自动刷新。</string> <string name="save_feed_summary">后台加载订阅源并防止其自动刷新。</string>
<string name="play_next">播放下一个</string> <string name="play_next">播放下一个</string>
<string name="select_at_least_one">请选择至少一个项目</string>
<string name="navigation_bar">导航栏</string>
</resources> </resources>

View File

@ -24,6 +24,7 @@
<item>https://api.yt.jae.fi/</item> <item>https://api.yt.jae.fi/</item>
<item>https://piped-api.privacy.com.de/</item> <item>https://piped-api.privacy.com.de/</item>
</string-array> </string-array>
<string-array name="shareHostsList"> <string-array name="shareHostsList">
<item>youtube.com"</item> <item>youtube.com"</item>
<item>m.youtube.com"</item> <item>m.youtube.com"</item>
@ -64,398 +65,6 @@
<item>piped.mint.lgbt"</item> <item>piped.mint.lgbt"</item>
<item>il.ax"</item> <item>il.ax"</item>
</string-array> </string-array>
<string-array name="regions">
<item>@string/systemDefault</item>
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>Andorra</item>
<item>Angola</item>
<item>Antigua and Barbuda</item>
<item>Argentina</item>
<item>Armenia</item>
<item>Australia</item>
<item>Austria</item>
<item>Azerbaijan</item>
<item>Bahamas</item>
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
<item>Bhutan</item>
<item>Bolivia (Plurinational State of)</item>
<item>Bosnia and Herzegovina</item>
<item>Botswana</item>
<item>Brazil</item>
<item>Brunei Darussalam</item>
<item>Bulgaria</item>
<item>Burkina Faso</item>
<item>Burundi</item>
<item>Cabo Verde</item>
<item>Cambodia</item>
<item>Cameroon</item>
<item>Canada</item>
<item>Central African Republic</item>
<item>Chad</item>
<item>Chile</item>
<item>China</item>
<item>Colombia</item>
<item>Comoros</item>
<item>Congo</item>
<item>Congo, Democratic Republic of the</item>
<item>Costa Rica</item>
<item>Côte d\'Ivoire</item>
<item>Croatia</item>
<item>Cuba</item>
<item>Cyprus</item>
<item>Czechia</item>
<item>Denmark</item>
<item>Djibouti</item>
<item>Dominica</item>
<item>Dominican Republic</item>
<item>Ecuador</item>
<item>Egypt</item>
<item>El Salvador</item>
<item>Equatorial Guinea</item>
<item>Eritrea</item>
<item>Estonia</item>
<item>Eswatini</item>
<item>Ethiopia</item>
<item>Fiji</item>
<item>Finland</item>
<item>France</item>
<item>Gabon</item>
<item>Gambia</item>
<item>Georgia</item>
<item>Germany</item>
<item>Ghana</item>
<item>Greece</item>
<item>Grenada</item>
<item>Guatemala</item>
<item>Guinea</item>
<item>Guinea-Bissau</item>
<item>Guyana</item>
<item>Haiti</item>
<item>Honduras</item>
<item>Hungary</item>
<item>Iceland</item>
<item>India</item>
<item>Indonesia</item>
<item>Iran (Islamic Republic of)</item>
<item>Iraq</item>
<item>Ireland</item>
<item>Israel</item>
<item>Italy</item>
<item>Jamaica</item>
<item>Japan</item>
<item>Jordan</item>
<item>Kazakhstan</item>
<item>Kenya</item>
<item>Kiribati</item>
<item>Korea (Democratic People\'s Republic of)</item>
<item>Korea, Republic of</item>
<item>Kuwait</item>
<item>Kyrgyzstan</item>
<item>Lao People\'s Democratic Republic</item>
<item>Latvia</item>
<item>Lebanon</item>
<item>Lesotho</item>
<item>Liberia</item>
<item>Libya</item>
<item>Liechtenstein</item>
<item>Lithuania</item>
<item>Luxembourg</item>
<item>Madagascar</item>
<item>Malawi</item>
<item>Malaysia</item>
<item>Maldives</item>
<item>Mali</item>
<item>Malta</item>
<item>Marshall Islands</item>
<item>Mauritania</item>
<item>Mauritius</item>
<item>Mexico</item>
<item>Micronesia (Federated States of)</item>
<item>Moldova, Republic of</item>
<item>Monaco</item>
<item>Mongolia</item>
<item>Montenegro</item>
<item>Morocco</item>
<item>Mozambique</item>
<item>Myanmar</item>
<item>Namibia</item>
<item>Nauru</item>
<item>Nepal</item>
<item>Netherlands</item>
<item>New Zealand</item>
<item>Nicaragua</item>
<item>Niger</item>
<item>Nigeria</item>
<item>North Macedonia</item>
<item>Norway</item>
<item>Oman</item>
<item>Pakistan</item>
<item>Palau</item>
<item>Panama</item>
<item>Papua New Guinea</item>
<item>Paraguay</item>
<item>Peru</item>
<item>Philippines</item>
<item>Poland</item>
<item>Portugal</item>
<item>Qatar</item>
<item>Romania</item>
<item>Russian Federation</item>
<item>Rwanda</item>
<item>Saint Kitts and Nevis</item>
<item>Saint Lucia</item>
<item>Saint Vincent and the Grenadines</item>
<item>Samoa</item>
<item>San Marino</item>
<item>Sao Tome and Principe</item>
<item>Saudi Arabia</item>
<item>Senegal</item>
<item>Serbia</item>
<item>Seychelles</item>
<item>Sierra Leone</item>
<item>Singapore</item>
<item>Slovakia</item>
<item>Slovenia</item>
<item>Solomon Islands</item>
<item>Somalia</item>
<item>South Africa</item>
<item>South Sudan</item>
<item>Spain</item>
<item>Sri Lanka</item>
<item>Sudan</item>
<item>Suriname</item>
<item>Sweden</item>
<item>Switzerland</item>
<item>Syrian Arab Republic</item>
<item>Tajikistan</item>
<item>Tanzania, United Republic of</item>
<item>Thailand</item>
<item>Timor-Leste</item>
<item>Togo</item>
<item>Tonga</item>
<item>Trinidad and Tobago</item>
<item>Tunisia</item>
<item>Turkey</item>
<item>Turkmenistan</item>
<item>Tuvalu</item>
<item>Uganda</item>
<item>Ukraine</item>
<item>United Arab Emirates</item>
<item>United Kingdom of Great Britain and Northern Ireland</item>
<item>United States of America</item>
<item>Uruguay</item>
<item>Uzbekistan</item>
<item>Vanuatu</item>
<item>Venezuela (Bolivarian Republic of)</item>
<item>Viet Nam</item>
<item>Yemen</item>
<item>Zambia</item>
<item>Zimbabwe</item>
</string-array>
<string-array name="regionsValue">
<item>sys</item>
<item>AF</item>
<item>AL</item>
<item>DZ</item>
<item>AD</item>
<item>AO</item>
<item>AG</item>
<item>AR</item>
<item>AM</item>
<item>AU</item>
<item>AT</item>
<item>AZ</item>
<item>BS</item>
<item>BH</item>
<item>BD</item>
<item>BB</item>
<item>BY</item>
<item>BE</item>
<item>BZ</item>
<item>BJ</item>
<item>BT</item>
<item>BO</item>
<item>BA</item>
<item>BW</item>
<item>BR</item>
<item>BN</item>
<item>BG</item>
<item>BF</item>
<item>BI</item>
<item>CV</item>
<item>KH</item>
<item>CM</item>
<item>CA</item>
<item>CF</item>
<item>TD</item>
<item>CL</item>
<item>CN</item>
<item>CO</item>
<item>KM</item>
<item>CG</item>
<item>CD</item>
<item>CR</item>
<item>CI</item>
<item>HR</item>
<item>CU</item>
<item>CY</item>
<item>CZ</item>
<item>DK</item>
<item>DJ</item>
<item>DM</item>
<item>DO</item>
<item>EC</item>
<item>EG</item>
<item>SV</item>
<item>GQ</item>
<item>ER</item>
<item>EE</item>
<item>SZ</item>
<item>ET</item>
<item>FJ</item>
<item>FI</item>
<item>FR</item>
<item>GA</item>
<item>GM</item>
<item>GE</item>
<item>DE</item>
<item>GH</item>
<item>GR</item>
<item>GD</item>
<item>GT</item>
<item>GN</item>
<item>GW</item>
<item>GY</item>
<item>HT</item>
<item>HN</item>
<item>HU</item>
<item>IS</item>
<item>IN</item>
<item>ID</item>
<item>IR</item>
<item>IQ</item>
<item>IE</item>
<item>IL</item>
<item>IT</item>
<item>JM</item>
<item>JP</item>
<item>JO</item>
<item>KZ</item>
<item>KE</item>
<item>KI</item>
<item>KP</item>
<item>KR</item>
<item>KW</item>
<item>KG</item>
<item>LA</item>
<item>LV</item>
<item>LB</item>
<item>LS</item>
<item>LR</item>
<item>LY</item>
<item>LI</item>
<item>LT</item>
<item>LU</item>
<item>MG</item>
<item>MW</item>
<item>MY</item>
<item>MV</item>
<item>ML</item>
<item>MT</item>
<item>MH</item>
<item>MR</item>
<item>MU</item>
<item>MX</item>
<item>FM</item>
<item>MD</item>
<item>MC</item>
<item>MN</item>
<item>ME</item>
<item>MA</item>
<item>MZ</item>
<item>MM</item>
<item>NA</item>
<item>NR</item>
<item>NP</item>
<item>NL</item>
<item>NZ</item>
<item>NI</item>
<item>NE</item>
<item>NG</item>
<item>MK</item>
<item>NO</item>
<item>OM</item>
<item>PK</item>
<item>PW</item>
<item>PA</item>
<item>PG</item>
<item>PY</item>
<item>PE</item>
<item>PH</item>
<item>PL</item>
<item>PT</item>
<item>QA</item>
<item>RO</item>
<item>RU</item>
<item>RW</item>
<item>KN</item>
<item>LC</item>
<item>VC</item>
<item>WS</item>
<item>SM</item>
<item>ST</item>
<item>SA</item>
<item>SN</item>
<item>RS</item>
<item>SC</item>
<item>SL</item>
<item>SG</item>
<item>SK</item>
<item>SI</item>
<item>SB</item>
<item>SO</item>
<item>ZA</item>
<item>SS</item>
<item>ES</item>
<item>LK</item>
<item>SD</item>
<item>SR</item>
<item>SE</item>
<item>CH</item>
<item>SY</item>
<item>TJ</item>
<item>TZ</item>
<item>TH</item>
<item>TL</item>
<item>TG</item>
<item>TO</item>
<item>TT</item>
<item>TN</item>
<item>TR</item>
<item>TM</item>
<item>TV</item>
<item>UG</item>
<item>UA</item>
<item>AE</item>
<item>GB</item>
<item>US</item>
<item>UY</item>
<item>UZ</item>
<item>VU</item>
<item>VE</item>
<item>VN</item>
<item>YE</item>
<item>ZM</item>
<item>ZW</item>
</string-array>
<string-array name="languages"> <string-array name="languages">
<item>@string/systemLanguage</item> <item>@string/systemLanguage</item>

View File

@ -332,6 +332,7 @@
<string name="play_next">Play next</string> <string name="play_next">Play next</string>
<string name="navigation_bar">Navigation bar</string> <string name="navigation_bar">Navigation bar</string>
<string name="select_at_least_one">Please select at least one item</string> <string name="select_at_least_one">Please select at least one item</string>
<string name="change_region">Trending seems to be unavailable for the current region. Please select another in the settings.</string>
<!-- Notification channel strings --> <!-- Notification channel strings -->
<string name="download_channel_name">Download Service</string> <string name="download_channel_name">Download Service</string>

View File

@ -7,11 +7,8 @@
<ListPreference <ListPreference
android:icon="@drawable/ic_region" android:icon="@drawable/ic_region"
app:defaultValue="sys" app:defaultValue="sys"
app:entries="@array/regions"
app:entryValues="@array/regionsValue"
app:key="region" app:key="region"
app:title="@string/region" app:title="@string/region" />
app:useSimpleSummaryProvider="true" />
<ListPreference <ListPreference
android:icon="@drawable/ic_translate" android:icon="@drawable/ic_translate"