Remove the inbuilt updater

This commit is contained in:
Bnyro 2023-02-16 20:04:23 +01:00
parent dc16223b9a
commit cf37f3bf74
43 changed files with 32 additions and 200 deletions

View File

@ -1,98 +0,0 @@
package com.github.libretube.services
import android.app.DownloadManager
import android.app.Service
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.net.Uri
import android.os.Environment
import android.os.IBinder
import android.widget.Toast
import com.github.libretube.R
import com.github.libretube.helpers.DownloadHelper
import java.io.File
class UpdateService : Service() {
private lateinit var downloadUrl: String
private var downloadId: Long = -1
private lateinit var file: File
private lateinit var downloadManager: DownloadManager
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
downloadUrl = intent?.getStringExtra("downloadUrl")!!
downloadApk(downloadUrl)
return super.onStartCommand(intent, flags, startId)
}
private fun downloadApk(downloadUrl: String) {
file = File(getDownloadDirectory(), "release.apk")
val request: DownloadManager.Request =
DownloadManager.Request(Uri.parse(downloadUrl))
.setTitle(getString(R.string.downloading_apk))
.setDescription("")
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
.setDestinationUri(Uri.fromFile(file))
.setAllowedOverMetered(true)
.setAllowedOverRoaming(true)
downloadManager =
applicationContext.getSystemService(DOWNLOAD_SERVICE) as DownloadManager
downloadId = downloadManager.enqueue(request)
// listener for the download to end
registerReceiver(
onDownloadComplete,
IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)
)
}
private val onDownloadComplete: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1)
if (downloadId == id) {
// install the apk after download finished
val installIntent = Intent(Intent.ACTION_VIEW).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
setDataAndType(
Uri.fromFile(file),
downloadManager.getMimeTypeForDownloadedFile(downloadId)
)
}
try {
startActivity(installIntent)
} catch (e: Exception) {
Toast.makeText(
context,
R.string.downloadsucceeded,
Toast.LENGTH_SHORT
).show()
}
}
}
}
private fun getDownloadDirectory(): File {
val downloadsDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS
)
if (!downloadsDir.canWrite()) return DownloadHelper.getOfflineStorageDir(this)
return downloadsDir
}
override fun onDestroy() {
unregisterReceiver(onDownloadComplete)
super.onDestroy()
}
override fun onBind(p0: Intent?): IBinder? {
TODO("Not yet implemented")
}
}

View File

@ -0,0 +1,28 @@
package com.github.libretube.ui.dialogs
import android.app.Dialog
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import androidx.fragment.app.DialogFragment
import com.github.libretube.R
import com.github.libretube.obj.update.UpdateInfo
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class UpdateAvailableDialog(
private val updateInfo: UpdateInfo
) : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return MaterialAlertDialogBuilder(requireContext())
.setTitle(context?.getString(R.string.update_available, updateInfo.name))
.setMessage(context?.getString(R.string.update_available_text))
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(context?.getString(R.string.okay)) { _, _ ->
val uri = Uri.parse(updateInfo.htmlUrl)
val intent = Intent(Intent.ACTION_VIEW).setData(uri)
startActivity(intent)
}
.show()
}
}

View File

@ -1,51 +0,0 @@
package com.github.libretube.ui.dialogs
import android.app.Dialog
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.DialogFragment
import com.github.libretube.R
import com.github.libretube.obj.update.UpdateInfo
import com.github.libretube.services.UpdateService
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class UpdateDialog(
private val updateInfo: UpdateInfo
) : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return MaterialAlertDialogBuilder(requireContext())
.setTitle(context?.getString(R.string.update_available, updateInfo.name))
.setMessage(context?.getString(R.string.update_now))
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(context?.getString(R.string.okay)) { _, _ ->
val downloadUrl = getDownloadUrl(updateInfo)
Log.i("downloadUrl", downloadUrl.toString())
if (downloadUrl != null) {
val intent = Intent(context, UpdateService::class.java)
intent.putExtra("downloadUrl", downloadUrl)
context?.startService(intent)
} else {
val uri = Uri.parse(updateInfo.htmlUrl)
val intent = Intent(Intent.ACTION_VIEW).setData(uri)
startActivity(intent)
}
}
.show()
}
private fun getDownloadUrl(updateInfo: UpdateInfo): String? {
val supportedArchitectures = Build.SUPPORTED_ABIS
supportedArchitectures.forEach { arch ->
updateInfo.assets.forEach { asset ->
if (asset.name.contains(arch)) {
return asset.browserDownloadUrl
}
}
}
return null
}
}

View File

@ -1407,7 +1407,7 @@ class PlayerFragment : Fragment(R.layout.fragment_player), OnlinePlayerOptions {
// enable exoPlayer controls again
binding.player.useController = true
// set back to protrait mode
// set back to portrait mode
if (viewModel.isFullscreen.value != true) {
with(binding.playerMotionLayout) {
getConstraintSet(R.id.start).constrainHeight(R.id.player, 0)

View File

@ -1,7 +1,6 @@
package com.github.libretube.ui.preferences
import android.os.Bundle
import android.widget.Toast
import androidx.annotation.StringRes
import androidx.fragment.app.Fragment
import androidx.fragment.app.commitNow
@ -11,7 +10,7 @@ import com.github.libretube.R
import com.github.libretube.api.RetrofitInstance
import com.github.libretube.ui.activities.SettingsActivity
import com.github.libretube.ui.base.BasePreferenceFragment
import com.github.libretube.ui.dialogs.UpdateDialog
import com.github.libretube.ui.dialogs.UpdateAvailableDialog
import com.google.android.material.snackbar.Snackbar
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@ -85,14 +84,6 @@ class MainSettings : BasePreferenceFragment() {
// checking for update: yes -> dialog, no -> snackBar
update?.setOnPreferenceClickListener {
if (BuildConfig.DEBUG) {
Toast.makeText(
context,
"Updater is disabled for debug versions!",
Toast.LENGTH_SHORT
).show()
return@setOnPreferenceClickListener true
}
CoroutineScope(Dispatchers.IO).launch {
// check for update
val updateInfo = try {
@ -104,9 +95,9 @@ class MainSettings : BasePreferenceFragment() {
if (BuildConfig.VERSION_NAME != updateInfo.name) {
// show the UpdateAvailableDialog if there's an update available
UpdateDialog(updateInfo).show(
UpdateAvailableDialog(updateInfo).show(
childFragmentManager,
UpdateDialog::class.java.name
UpdateAvailableDialog::class.java.name
)
} else {
// otherwise show the no update available snackBar

View File

@ -241,7 +241,6 @@
<string name="none">لاشيء</string>
<string name="data_saver_mode_summary">تخطي الصور المصغرة والصور الأخرى.</string>
<string name="history_summary">سجل المشاهدة والبحث</string>
<string name="update_now">قم بتثبيت إصدار LibreTube الجديد الآن؟</string>
<string name="seekbar_preview">معاينة الفيديو</string>
<string name="seekbar_preview_summary">إظهار معاينة عند سحب مؤشر التشغيل.</string>
<string name="general">عام</string>

View File

@ -241,7 +241,6 @@
<string name="captions">Altyazılar</string>
<string name="none">Heç biri</string>
<string name="watch_positions_title">Saxlanılmış oynatma mövqeləri</string>
<string name="update_now">Yeni LibreTube versiyası indi quraşdırılsınmı\?</string>
<string name="seekbar_preview">Video önizləməsi</string>
<string name="seekbar_preview_summary">Oynatma göstəricisini sürükləyərkən fotoqrafiya göstər.</string>
<string name="general_summary">Dil və ölkə</string>

View File

@ -117,7 +117,6 @@
<string name="open">Отваряне…</string>
<string name="turnInternetOn">Моля, включете Wi-Fi или мобилни данни, за да се свържете с интернет.</string>
<string name="seekbar_preview">Визуализация на видео</string>
<string name="update_now">Да се инсталира ли,новата версия на LibreTube сега\?</string>
<string name="general_summary">Език и регион</string>
<string name="downloading_apk">Изтегля се APK…</string>
<string name="copied">Копирано</string>

View File

@ -268,7 +268,6 @@
<string name="misc">বিবিধ</string>
<string name="captions">ক্যাপশনগুলো</string>
<string name="none">None</string>
<string name="update_now">লিব্রেটিউবের নতুন ভার্সন ইন্সটল করুন\?</string>
<string name="playerAudioQuality">অডিও কোয়ালিটি</string>
<string name="best_quality">সেরা</string>
<string name="export_subscriptions">সাবস্ক্রিপশনগুলো এক্সপোর্ট করুন</string>

View File

@ -226,7 +226,6 @@
<string name="history_summary">Historie sledování a hledání</string>
<string name="watch_positions_title">Zapamatované pozice přehrávání</string>
<string name="reset_watch_positions">Obnovit</string>
<string name="update_now">Nainstalovat novou verzi LibreTube nyní\?</string>
<string name="general">Obecné</string>
<string name="account">Účet</string>
<string name="never">Nikdy</string>

View File

@ -235,7 +235,6 @@
<string name="system_caption_style">Systemtekst udssende</string>
<string name="captions">Undertekster</string>
<string name="none">Ingen</string>
<string name="update_now">Installér den nye LibreTube-version nu\?</string>
<string name="general">Generel</string>
<string name="general_summary">Sprog og region</string>
<string name="seekbar_preview">Video forhåndsvisning</string>

View File

@ -214,7 +214,6 @@
<string name="legacyIcon">Verlorenes Vermächtnis</string>
<string name="category_filler">Füllungstangente/Witze</string>
<string name="none">Keine</string>
<string name="update_now">Möchtest du die neue LibreTube-Version jetzt installieren\?</string>
<string name="category_filler_description">Für tangentiale Szenen, die nur als Füllmaterial oder für den Humor hinzugefügt wurden und für das Verständnis des Hauptinhalts des Videos nicht erforderlich sind.</string>
<string name="selected">Ausgewählt</string>
<string name="autoRotatePlayer">Automatischer Vollbildmodus</string>

View File

@ -254,7 +254,6 @@
<string name="seekbar_preview_summary">Εμφάνιση ενός στιγμιότυπου όταν σύρετε την ένδειξη αναπαραγωγής.</string>
<string name="playingOnBackground">Αναπαραγωγή στο παρασκήνιο…</string>
<string name="open">Άνοιγμα…</string>
<string name="update_now">Εγκατάσταση της νέας έκδοσης του LibreTube τώρα;</string>
<string name="seekbar_preview">Προεπισκόπηση βίντεο</string>
<string name="caption_settings">Λεζάντες</string>
<string name="worst_quality">Χειρότερη</string>

View File

@ -241,7 +241,6 @@
<string name="system_caption_style">Estilo de subtítulos del sistema</string>
<string name="captions">Subtítulos</string>
<string name="none">Ninguno</string>
<string name="update_now">¿Instalar la nueva versión de LibreTube ahora\?</string>
<string name="seekbar_preview">Vista previa del video</string>
<string name="notifications">Notificaciones</string>
<string name="irreversible">¿Está seguro\? ¡Esto no se puede deshacer!</string>

View File

@ -238,7 +238,6 @@
<string name="reset_watch_positions">Ezabatu posizioa</string>
<string name="system_caption_style">Sistemaren azpitituluen estiloa</string>
<string name="none">Bat ere ez</string>
<string name="update_now">Libretube bertsio berria instalatu nahi duzu orain\?</string>
<string name="seekbar_preview">Bideoaren aurrebista</string>
<string name="seekbar_preview_summary">Aurreikusi bideoa erreprodukzio barra arrastatzean.</string>
<string name="watch_history_summary">Gailuan ikusitako bideoen jarraipena egitea</string>

View File

@ -239,7 +239,6 @@
<string name="none">Aucun</string>
<string name="selected">Sélectionné</string>
<string name="data_saver_mode_summary">Ignorer les miniatures et autres images.</string>
<string name="update_now">Installer la nouvelle version de LibreTube maintenant \?</string>
<string name="never">Jamais</string>
<string name="pure_theme_summary">Thème blanc/noir pur</string>
<string name="seekbar_preview">Aperçu des vidéos</string>

View File

@ -356,7 +356,6 @@
<string name="always">હંમેશા</string>
<string name="watch_history_summary">સ્થાનિક રીતે જોયેલી વિડિયો પર નજર રાખો</string>
<string name="watch_positions_title">યાદ રાખેલ પ્લેબેક સ્થાનો</string>
<string name="update_now">શું હવે નવી LibreTube આવૃત્તિ સ્થાપિત કરવી છે\?</string>
<string name="autoplay_summary">વર્તમાન વિડિઓ પછી આગલી વિડિઓને સ્વતઃ ચલાવો.</string>
<string name="clonePlaylist">ક્લોન પ્લેલીસ્ટ</string>
<string name="deleteAccount_summary">તમારું પાઇપ થયેલ ખાતું કાઢી નાંખો</string>

View File

@ -362,7 +362,6 @@
<string name="system_caption_style">सिस्टम कैप्शन शैली</string>
<string name="captions">कैप्शनज</string>
<string name="none">कोई भी नहीं</string>
<string name="update_now">नया लिब्रेट्यूब संस्करण अभी इंस्टाल करें\?</string>
<string name="seekbar_preview">वीडियो पूर्वावलोकन</string>
<string name="seekbar_preview_summary">प्लेबैक सूचक को खींचते समय एक स्नैपशॉट दिखाएँ।</string>
<string name="general_summary">भाषा और क्षेत्र</string>

View File

@ -261,7 +261,6 @@
<string name="search_history_summary">Keresések megjegyzése</string>
<string name="reset_watch_positions">Visszaállítás</string>
<string name="none">Egyik sem</string>
<string name="update_now">Telepíti most az új LibreTube verziót\?</string>
<string name="watch_history_summary">A megtekintett videók nyomon követése helyben</string>
<string name="watch_positions_title">Lejátszási pozíció megjegyzése</string>
<string name="captions">Feliratok</string>

View File

@ -269,7 +269,6 @@
<string name="system_caption_style">Gaya takarir sistem</string>
<string name="captions">Takarir</string>
<string name="none">Tidak ada</string>
<string name="update_now">Instal versi baru LibreTube sekarang\?</string>
<string name="seekbar_preview">Cuplikan video</string>
<string name="seekbar_preview_summary">Tampilkan cuplikan ketika menggeser indikator pemainan.</string>
<string name="general">Umum</string>

View File

@ -299,7 +299,6 @@
<string name="open_copied">Apri</string>
<string name="reset_watch_positions">Ripristina</string>
<string name="system_caption_style">Stile dei sottotitoli di sistema</string>
<string name="update_now">Installare la nuova versione di LibreTube ora\?</string>
<string name="playerAudioFormat">Formato dell\'audio per il lettore</string>
<string name="playerAudioQuality">Qualità audio</string>
<string name="history_empty">Cronologia vuota.</string>

View File

@ -242,7 +242,6 @@
<string name="none">ללא</string>
<string name="seekbar_preview">תצוגה מקדימה של הסרטון</string>
<string name="seekbar_preview_summary">להציג תמונה מהסרטון בעת גרירת מחוון הנגינה.</string>
<string name="update_now">להתקין את הגרסה החדשה של LibreTube כעת\?</string>
<string name="data_saver_mode_summary">לדלג על תמונות ממוזערות ותמונות אחרות.</string>
<string name="general">כללי</string>
<string name="general_summary">שפה ואזור</string>

View File

@ -233,7 +233,6 @@
<string name="system_caption_style">システムの字幕スタイル</string>
<string name="captions">字幕</string>
<string name="none">なし</string>
<string name="update_now">新しいバージョンのLibreTubeをインストールしますか</string>
<string name="general">一般</string>
<string name="general_summary">言語と地域</string>
<string name="seekbar_preview">動画プレビュー</string>

View File

@ -213,7 +213,6 @@
<string name="change_playback_speed">재생 속도</string>
<string name="require_restart">앱 다시 시작 필요</string>
<string name="require_restart_message">변경사항을 적용하기 위해 앱을 다시 시작하세요.</string>
<string name="update_now">지금 새 LibreTube 버전을 설치하시겠습니까\?</string>
<string name="autoRotatePlayer_summary">장치를 돌리면 전체 화면이 재생됩니다.</string>
<string name="autoRotatePlayer">자동 전체화면</string>
<string name="data_saver_mode">데이터 세이버 모드</string>

View File

@ -130,7 +130,6 @@
<string name="reset_watch_positions">Atstatyti</string>
<string name="system_caption_style">Sistemos subtitrų stilius</string>
<string name="captions">Subtitrai</string>
<string name="update_now">Įdiegti naują LibreTube versiją dabar\?</string>
<string name="downloading_apk">Atsisiunčiamas APK…</string>
<string name="playerAudioFormat">Grotuvo garso formatas</string>
<string name="playerAudioQuality">Garso kokybė</string>

View File

@ -245,7 +245,6 @@
<string name="autoRotatePlayer">Automātiski pāriet pilnekrāna režīmā</string>
<string name="pure_theme">Tīrais motīvs</string>
<string name="system_caption_style">Sistēmas subtitru dizains</string>
<string name="update_now">Vai vēlaties ielādēt jauno LibreTube versiju\?</string>
<string name="playingOnBackground">Atskaņo fonā…</string>
<string name="caption_settings">Subtitri</string>
<string name="downloading_apk">Lejupielādē APK…</string>

View File

@ -263,7 +263,6 @@
<string name="error_occurred">Feil</string>
<string name="share_with_time">Del med starttid</string>
<string name="downloadsucceeded">Nedlastet</string>
<string name="update_now">Installer den nye LibreTube-versjonen nå\?</string>
<string name="selected">Valgte</string>
<string name="autoRotatePlayer_summary">Fullskjerm når enheten ligger.</string>
<string name="no_player_found">Installer et avspillerprogram først.</string>

View File

@ -208,7 +208,6 @@
<string name="watch_history_summary">ସ୍ଥାନୀୟ ଭାବରେ ଦେଖାଯାଇଥିବା ଭିଡିଓଗୁଡିକର ଟ୍ରାକ୍ ରଖନ୍ତୁ</string>
<string name="reset_watch_positions">ପୁନସେଟ୍ କରନ୍ତୁ</string>
<string name="system_caption_style">ସିଷ୍ଟମ୍ କ୍ୟାପସନ୍ ଶଇଳୀ</string>
<string name="update_now">ନୂଆ ସଂସ୍କରଣ ଇଁସ୍ତାଲ କରନ୍ତୁ \?</string>
<string name="seekbar_preview">ଭିଡିଓ ପୂର୍ବାବଲୋକନ</string>
<string name="general">ସାଧାରଣ</string>
<string name="general_summary">ଭାଷା ଓ ଜାଗା</string>

View File

@ -245,7 +245,6 @@
<string name="system_caption_style">ਸਿਸਟਮ ਕੈਪਸ਼ਨ ਸ਼ੈਲੀ</string>
<string name="captions">ਕੈਪਸ਼ਨਾਂ</string>
<string name="none">ਕੋਈ ਨਹੀਂ</string>
<string name="update_now">ਹੁਣੇ ਨਵਾਂ ਲੀਬਰਟਿਊਬ ਸੰਸਕਰਣ ਸਥਾਪਿਤ ਕਰਨਾ ਹੈ\?</string>
<string name="seekbar_preview">ਵੀਡੀਓ ਪ੍ਰੀਵਿਊ</string>
<string name="general">ਜਨਰਲ</string>
<string name="general_summary">ਭਾਸ਼ਾ ਅਤੇ ਖੇਤਰ</string>

View File

@ -306,7 +306,6 @@
<string name="auto_rotation">Automatyczne obracanie</string>
<string name="none">Brak</string>
<string name="history_size">Maksymalny rozmiar historii</string>
<string name="update_now">Zainstalować teraz nową wersję LibreTube\?</string>
<string name="background_mode">Działanie w tle</string>
<string name="share_with_time">Udostępnij z uwzględnieniem czasu</string>
<string name="break_reminder_time">Minuty przed przypomnieniem</string>

View File

@ -253,7 +253,6 @@
<string name="system_caption_style">Estilo de legenda do sistema</string>
<string name="captions">Legendas</string>
<string name="none">Nenhum</string>
<string name="update_now">Instalar nova versão agora\?</string>
<string name="general">Geral</string>
<string name="general_summary">Idioma e região</string>
<string name="seekbar_preview">Pré-visualização de video</string>

View File

@ -260,7 +260,6 @@
<string name="system_caption_style">Estilo do sistema</string>
<string name="captions">Legendas</string>
<string name="none">Nada</string>
<string name="update_now">Instalar agora a nova versão\?</string>
<string name="general">Geral</string>
<string name="general_summary">Idioma e região</string>
<string name="seekbar_preview_summary">Mostrar previsão ao mover o indicador de posição.</string>

View File

@ -239,7 +239,6 @@
<string name="data_saver_mode_summary">Пропускать миниатюры и другие изображения.</string>
<string name="history_summary">История просмотра и поиска</string>
<string name="reset_watch_positions">Сбросить</string>
<string name="update_now">Установить новую версию LibreTube\?</string>
<string name="captions">Субтитры</string>
<string name="general">Общие</string>
<string name="general_summary">Язык и регион</string>

View File

@ -181,7 +181,6 @@
<string name="change_playback_speed">වාදන වේගය</string>
<string name="autoRotatePlayer_summary">උපාංගය හැරවූ විට සම්පූර්ණ තිර වාදනය.</string>
<string name="watch_positions_title">මතක වාදන ස්ථාන</string>
<string name="update_now">නව LibreTube අනුවාදය දැන් පිහිටු වන්නද\?</string>
<string name="general_summary">භාෂාව සහ ප්‍රදේශය</string>
<string name="caption_settings">සිරස්තල</string>
<string name="playerAudioFormat">වාදකය සඳහා ශ්‍රව්‍ය ආකෘතිය</string>

View File

@ -275,7 +275,6 @@
<string name="captions">Titulky</string>
<string name="system_caption_style">Štýl tituliek</string>
<string name="none">Žiadne</string>
<string name="update_now">Nainštalovať novú verziu LibreTube teraz\?</string>
<string name="general">Všeobecné</string>
<string name="general_summary">Jazyk, a región</string>
<string name="hideTrendingPage">Skryť preferovanú stránku</string>

View File

@ -243,7 +243,6 @@
<string name="data_saver_mode_summary">Прескочи сличице и друге слике.</string>
<string name="history_summary">Историја прегледа и претрага</string>
<string name="system_caption_style">Системски стил наслова</string>
<string name="update_now">Да ли желите да ажурирате LibreTube сада\?</string>
<string name="general">Опште</string>
<string name="general_summary">Језик, и регион</string>
<string name="default_subtitle_language">Језик титлова</string>

View File

@ -227,7 +227,6 @@
<string name="none">Hiçbiri</string>
<string name="reset_watch_positions">Sıfırla</string>
<string name="data_saver_mode_summary">Küçük resimleri ve diğer resimleri gösterme.</string>
<string name="update_now">Yeni LibreTube sürümü şimdi yüklensin mi\?</string>
<string name="navLabelVisibility">Etiket görünürlüğü</string>
<string name="always">Her zaman</string>
<string name="selected">Seçilen</string>

View File

@ -328,7 +328,6 @@
<string name="system_caption_style">Системний стиль субтитрів</string>
<string name="captions">Субтитри</string>
<string name="none">Немає</string>
<string name="update_now">Установити нову версію LibreTube зараз\?</string>
<string name="general">Загальні</string>
<string name="instance_frontend_url">URL-адреса сервера</string>
<string name="audio_video_summary">Якість і формат</string>

View File

@ -260,7 +260,6 @@
<string name="system_caption_style">سسٹم کیپشن اسٹائل</string>
<string name="captions">کیپشنز</string>
<string name="none">کوئی نہیں</string>
<string name="update_now">ابھی نیا LibreTube ورژن انسٹال کریں؟</string>
<string name="seekbar_preview">ویڈیو پیش نظارہ</string>
<string name="seekbar_preview_summary">پلے بیک اشارے کو گھسیٹتے وقت اسنیپ شاٹ دکھائیں۔</string>
<string name="general">جنرل</string>

View File

@ -262,7 +262,6 @@
<string name="system_caption_style">Kiểu phụ đề hệ thống</string>
<string name="captions">Phụ đề</string>
<string name="none">Không</string>
<string name="update_now">Cài đặt phiên bản LibreTube mới ngay bây giờ\?</string>
<string name="general">Chung</string>
<string name="playingOnBackground">Đang phát trên nền…</string>
<string name="downloading_apk">Đang tải xuống APK…</string>

View File

@ -240,7 +240,6 @@
<string name="system_caption_style">系统字幕样式</string>
<string name="captions">字幕</string>
<string name="none"></string>
<string name="update_now">立即安装新版本的 LibreTube 吗?</string>
<string name="data_saver_mode_summary">不加载缩略图和其他图像。</string>
<string name="seekbar_preview">视频预览</string>
<string name="seekbar_preview_summary">拖动播放指示器时显示快照。</string>

View File

@ -325,7 +325,6 @@
<string name="reset_watch_positions">重設</string>
<string name="none"></string>
<string name="system_caption_style">系統說明文字樣式</string>
<string name="update_now">現在安裝新版本LibreTube嗎</string>
<string name="playingOnBackground">在背景播放…</string>
<string name="downloading_apk">下載APK…</string>
<string name="playerAudioFormat">播放器的音訊格式</string>

View File

@ -251,7 +251,6 @@
<string name="system_caption_style">System caption style</string>
<string name="captions">Captions</string>
<string name="none">None</string>
<string name="update_now">Install the new LibreTube version now?</string>
<string name="seekbar_preview">Video preview</string>
<string name="seekbar_preview_summary">Show a snapshot when dragging the playback indicator.</string>
<string name="general">General</string>