forked from recloudstream/cloudstream
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
0ebc12e29b
20 changed files with 549 additions and 30 deletions
13
.github/workflows/update_locales.yml
vendored
13
.github/workflows/update_locales.yml
vendored
|
@ -15,14 +15,23 @@ jobs:
|
||||||
create:
|
create:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Generate access token
|
||||||
|
id: generate_token
|
||||||
|
uses: tibdex/github-app-token@v1
|
||||||
|
with:
|
||||||
|
app_id: ${{ secrets.GH_APP_ID }}
|
||||||
|
private_key: ${{ secrets.GH_APP_KEY }}
|
||||||
|
repository: "recloudstream/cloudstream"
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
token: ${{ steps.generate_token.outputs.token }}
|
||||||
- name: Edit files
|
- name: Edit files
|
||||||
run: |
|
run: |
|
||||||
python3 .github/locales.py
|
python3 .github/locales.py
|
||||||
- name: Commit to the repo
|
- name: Commit to the repo
|
||||||
run: |
|
run: |
|
||||||
git config user.name "GitHub Actions"
|
git config --local user.email "111277985+recloudstream[bot]@users.noreply.github.com"
|
||||||
git config user.email "actions@github.com"
|
git config --local user.name "recloudstream[bot]"
|
||||||
git add .
|
git add .
|
||||||
# "echo" returns true so the build succeeds, even if no changed files
|
# "echo" returns true so the build succeeds, even if no changed files
|
||||||
git commit -m 'update list of locales' || echo
|
git commit -m 'update list of locales' || echo
|
||||||
|
|
|
@ -18,6 +18,7 @@ import androidx.core.view.isGone
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.lifecycle.*
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||||
|
@ -48,6 +49,8 @@ import com.lagradost.cloudstream3.utils.AppUtils.addProgramsToContinueWatching
|
||||||
import com.lagradost.cloudstream3.utils.AppUtils.isRecyclerScrollable
|
import com.lagradost.cloudstream3.utils.AppUtils.isRecyclerScrollable
|
||||||
import com.lagradost.cloudstream3.utils.AppUtils.loadResult
|
import com.lagradost.cloudstream3.utils.AppUtils.loadResult
|
||||||
import com.lagradost.cloudstream3.utils.AppUtils.loadSearchResult
|
import com.lagradost.cloudstream3.utils.AppUtils.loadSearchResult
|
||||||
|
import com.lagradost.cloudstream3.utils.AppUtils.ownHide
|
||||||
|
import com.lagradost.cloudstream3.utils.AppUtils.ownShow
|
||||||
import com.lagradost.cloudstream3.utils.Coroutines.ioSafe
|
import com.lagradost.cloudstream3.utils.Coroutines.ioSafe
|
||||||
import com.lagradost.cloudstream3.utils.DataStore.getKey
|
import com.lagradost.cloudstream3.utils.DataStore.getKey
|
||||||
import com.lagradost.cloudstream3.utils.DataStore.setKey
|
import com.lagradost.cloudstream3.utils.DataStore.setKey
|
||||||
|
@ -104,26 +107,32 @@ class HomeFragment : Fragment() {
|
||||||
|
|
||||||
val errorProfilePic = errorProfilePics.random()
|
val errorProfilePic = errorProfilePics.random()
|
||||||
|
|
||||||
fun Activity.loadHomepageList(
|
//fun Activity.loadHomepageList(
|
||||||
item: HomePageList,
|
// item: HomePageList,
|
||||||
deleteCallback: (() -> Unit)? = null,
|
// deleteCallback: (() -> Unit)? = null,
|
||||||
) {
|
//) {
|
||||||
loadHomepageList(
|
// loadHomepageList(
|
||||||
expand = HomeViewModel.ExpandableHomepageList(item, 1, false),
|
// expand = HomeViewModel.ExpandableHomepageList(item, 1, false),
|
||||||
deleteCallback = deleteCallback,
|
// deleteCallback = deleteCallback,
|
||||||
expandCallback = null
|
// expandCallback = null
|
||||||
)
|
// )
|
||||||
}
|
//}
|
||||||
|
|
||||||
|
// returns a BottomSheetDialog that will be hidden with OwnHidden upon hide, and must be saved to be able call ownShow in onCreateView
|
||||||
fun Activity.loadHomepageList(
|
fun Activity.loadHomepageList(
|
||||||
expand: HomeViewModel.ExpandableHomepageList,
|
expand: HomeViewModel.ExpandableHomepageList,
|
||||||
deleteCallback: (() -> Unit)? = null,
|
deleteCallback: (() -> Unit)? = null,
|
||||||
expandCallback: (suspend (String) -> HomeViewModel.ExpandableHomepageList?)? = null
|
expandCallback: (suspend (String) -> HomeViewModel.ExpandableHomepageList?)? = null,
|
||||||
) {
|
dismissCallback : (() -> Unit),
|
||||||
|
): BottomSheetDialog {
|
||||||
val context = this
|
val context = this
|
||||||
val bottomSheetDialogBuilder = BottomSheetDialog(context)
|
val bottomSheetDialogBuilder = BottomSheetDialog(context)
|
||||||
|
|
||||||
bottomSheetDialogBuilder.setContentView(R.layout.home_episodes_expanded)
|
bottomSheetDialogBuilder.setContentView(R.layout.home_episodes_expanded)
|
||||||
val title = bottomSheetDialogBuilder.findViewById<TextView>(R.id.home_expanded_text)!!
|
val title = bottomSheetDialogBuilder.findViewById<TextView>(R.id.home_expanded_text)!!
|
||||||
|
|
||||||
|
//title.findViewTreeLifecycleOwner().lifecycle.addObserver()
|
||||||
|
|
||||||
val item = expand.list
|
val item = expand.list
|
||||||
title.text = item.name
|
title.text = item.name
|
||||||
val recycle =
|
val recycle =
|
||||||
|
@ -131,6 +140,23 @@ class HomeFragment : Fragment() {
|
||||||
val titleHolder =
|
val titleHolder =
|
||||||
bottomSheetDialogBuilder.findViewById<FrameLayout>(R.id.home_expanded_drag_down)!!
|
bottomSheetDialogBuilder.findViewById<FrameLayout>(R.id.home_expanded_drag_down)!!
|
||||||
|
|
||||||
|
// main {
|
||||||
|
//(bottomSheetDialogBuilder.ownerActivity as androidx.fragment.app.FragmentActivity?)?.supportFragmentManager?.fragments?.lastOrNull()?.viewLifecycleOwner?.apply {
|
||||||
|
// println("GOT LIFE: lifecycle $this")
|
||||||
|
// this.lifecycle.addObserver(object : DefaultLifecycleObserver {
|
||||||
|
// override fun onResume(owner: LifecycleOwner) {
|
||||||
|
// super.onResume(owner)
|
||||||
|
// println("onResume!!!!")
|
||||||
|
// bottomSheetDialogBuilder?.ownShow()
|
||||||
|
// }
|
||||||
|
|
||||||
|
// override fun onStop(owner: LifecycleOwner) {
|
||||||
|
// super.onStop(owner)
|
||||||
|
// bottomSheetDialogBuilder?.ownHide()
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
//}
|
||||||
|
// }
|
||||||
val delete = bottomSheetDialogBuilder.home_expanded_delete
|
val delete = bottomSheetDialogBuilder.home_expanded_delete
|
||||||
delete.isGone = deleteCallback == null
|
delete.isGone = deleteCallback == null
|
||||||
if (deleteCallback != null) {
|
if (deleteCallback != null) {
|
||||||
|
@ -175,7 +201,8 @@ class HomeFragment : Fragment() {
|
||||||
recycle.adapter = SearchAdapter(item.list.toMutableList(), recycle) { callback ->
|
recycle.adapter = SearchAdapter(item.list.toMutableList(), recycle) { callback ->
|
||||||
handleSearchClickCallback(this, callback)
|
handleSearchClickCallback(this, callback)
|
||||||
if (callback.action == SEARCH_ACTION_LOAD || callback.action == SEARCH_ACTION_PLAY_FILE) {
|
if (callback.action == SEARCH_ACTION_LOAD || callback.action == SEARCH_ACTION_PLAY_FILE) {
|
||||||
bottomSheetDialogBuilder.dismissSafe(this)
|
bottomSheetDialogBuilder.ownHide() // we hide here because we want to resume it later
|
||||||
|
//bottomSheetDialogBuilder.dismissSafe(this)
|
||||||
}
|
}
|
||||||
}.apply {
|
}.apply {
|
||||||
hasNext = expand.hasNext
|
hasNext = expand.hasNext
|
||||||
|
@ -216,12 +243,14 @@ class HomeFragment : Fragment() {
|
||||||
configEvent += spanListener
|
configEvent += spanListener
|
||||||
|
|
||||||
bottomSheetDialogBuilder.setOnDismissListener {
|
bottomSheetDialogBuilder.setOnDismissListener {
|
||||||
|
dismissCallback.invoke()
|
||||||
configEvent -= spanListener
|
configEvent -= spanListener
|
||||||
}
|
}
|
||||||
|
|
||||||
//(recycle.adapter as SearchAdapter).notifyDataSetChanged()
|
//(recycle.adapter as SearchAdapter).notifyDataSetChanged()
|
||||||
|
|
||||||
bottomSheetDialogBuilder.show()
|
bottomSheetDialogBuilder.show()
|
||||||
|
return bottomSheetDialogBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getPairList(
|
fun getPairList(
|
||||||
|
@ -399,6 +428,7 @@ class HomeFragment : Fragment() {
|
||||||
): View? {
|
): View? {
|
||||||
//homeViewModel =
|
//homeViewModel =
|
||||||
// ViewModelProvider(this).get(HomeViewModel::class.java)
|
// ViewModelProvider(this).get(HomeViewModel::class.java)
|
||||||
|
bottomSheetDialog?.ownShow()
|
||||||
val layout =
|
val layout =
|
||||||
if (isTvSettings()) R.layout.fragment_home_tv else R.layout.fragment_home
|
if (isTvSettings()) R.layout.fragment_home_tv else R.layout.fragment_home
|
||||||
return inflater.inflate(layout, container, false)
|
return inflater.inflate(layout, container, false)
|
||||||
|
@ -480,6 +510,8 @@ class HomeFragment : Fragment() {
|
||||||
private var currentApiName: String? = null
|
private var currentApiName: String? = null
|
||||||
private var toggleRandomButton = false
|
private var toggleRandomButton = false
|
||||||
|
|
||||||
|
private var bottomSheetDialog: BottomSheetDialog? = null
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
@ -626,8 +658,10 @@ class HomeFragment : Fragment() {
|
||||||
HomeParentItemAdapterPreview(mutableListOf(), { callback ->
|
HomeParentItemAdapterPreview(mutableListOf(), { callback ->
|
||||||
homeHandleSearch(callback)
|
homeHandleSearch(callback)
|
||||||
}, { item ->
|
}, { item ->
|
||||||
activity?.loadHomepageList(item, expandCallback = {
|
bottomSheetDialog = activity?.loadHomepageList(item, expandCallback = {
|
||||||
homeViewModel.expandAndReturn(it)
|
homeViewModel.expandAndReturn(it)
|
||||||
|
}, dismissCallback = {
|
||||||
|
bottomSheetDialog = null
|
||||||
})
|
})
|
||||||
}, { name ->
|
}, { name ->
|
||||||
homeViewModel.expand(name)
|
homeViewModel.expand(name)
|
||||||
|
|
|
@ -15,6 +15,7 @@ import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
import com.lagradost.cloudstream3.APIHolder.filterProviderByPreferredMedia
|
import com.lagradost.cloudstream3.APIHolder.filterProviderByPreferredMedia
|
||||||
import com.lagradost.cloudstream3.APIHolder.filterSearchResultByFilmQuality
|
import com.lagradost.cloudstream3.APIHolder.filterSearchResultByFilmQuality
|
||||||
import com.lagradost.cloudstream3.APIHolder.getApiFromNameNull
|
import com.lagradost.cloudstream3.APIHolder.getApiFromNameNull
|
||||||
|
@ -30,6 +31,7 @@ import com.lagradost.cloudstream3.ui.search.SearchAdapter
|
||||||
import com.lagradost.cloudstream3.ui.search.SearchClickCallback
|
import com.lagradost.cloudstream3.ui.search.SearchClickCallback
|
||||||
import com.lagradost.cloudstream3.ui.search.SearchHelper
|
import com.lagradost.cloudstream3.ui.search.SearchHelper
|
||||||
import com.lagradost.cloudstream3.ui.search.SearchViewModel
|
import com.lagradost.cloudstream3.ui.search.SearchViewModel
|
||||||
|
import com.lagradost.cloudstream3.utils.AppUtils.ownShow
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper
|
import com.lagradost.cloudstream3.utils.UIHelper
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper.fixPaddingStatusbar
|
import com.lagradost.cloudstream3.utils.UIHelper.fixPaddingStatusbar
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper.getSpanCount
|
import com.lagradost.cloudstream3.utils.UIHelper.getSpanCount
|
||||||
|
@ -71,6 +73,8 @@ class QuickSearchFragment : Fragment() {
|
||||||
private var providers: Set<String>? = null
|
private var providers: Set<String>? = null
|
||||||
private lateinit var searchViewModel: SearchViewModel
|
private lateinit var searchViewModel: SearchViewModel
|
||||||
|
|
||||||
|
private var bottomSheetDialog: BottomSheetDialog? = null
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
|
@ -80,7 +84,7 @@ class QuickSearchFragment : Fragment() {
|
||||||
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE
|
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE
|
||||||
)
|
)
|
||||||
searchViewModel = ViewModelProvider(this)[SearchViewModel::class.java]
|
searchViewModel = ViewModelProvider(this)[SearchViewModel::class.java]
|
||||||
|
bottomSheetDialog?.ownShow()
|
||||||
return inflater.inflate(R.layout.quick_search, container, false)
|
return inflater.inflate(R.layout.quick_search, container, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +160,9 @@ class QuickSearchFragment : Fragment() {
|
||||||
// else -> SearchHelper.handleSearchClickCallback(activity, callback)
|
// else -> SearchHelper.handleSearchClickCallback(activity, callback)
|
||||||
//}
|
//}
|
||||||
}, { item ->
|
}, { item ->
|
||||||
activity?.loadHomepageList(item)
|
bottomSheetDialog = activity?.loadHomepageList(item, dismissCallback = {
|
||||||
|
bottomSheetDialog = null
|
||||||
|
})
|
||||||
})
|
})
|
||||||
quick_search_master_recycler?.layoutManager = GridLayoutManager(context, 1)
|
quick_search_master_recycler?.layoutManager = GridLayoutManager(context, 1)
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@ import com.lagradost.cloudstream3.ui.home.HomeFragment.Companion.updateChips
|
||||||
import com.lagradost.cloudstream3.ui.home.ParentItemAdapter
|
import com.lagradost.cloudstream3.ui.home.ParentItemAdapter
|
||||||
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings
|
||||||
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
||||||
|
import com.lagradost.cloudstream3.utils.AppUtils.ownShow
|
||||||
import com.lagradost.cloudstream3.utils.Coroutines.main
|
import com.lagradost.cloudstream3.utils.Coroutines.main
|
||||||
import com.lagradost.cloudstream3.utils.DataStore.getKey
|
import com.lagradost.cloudstream3.utils.DataStore.getKey
|
||||||
import com.lagradost.cloudstream3.utils.DataStore.setKey
|
import com.lagradost.cloudstream3.utils.DataStore.setKey
|
||||||
|
@ -85,6 +86,7 @@ class SearchFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private val searchViewModel: SearchViewModel by activityViewModels()
|
private val searchViewModel: SearchViewModel by activityViewModels()
|
||||||
|
private var bottomSheetDialog: BottomSheetDialog? = null
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
|
@ -94,6 +96,7 @@ class SearchFragment : Fragment() {
|
||||||
activity?.window?.setSoftInputMode(
|
activity?.window?.setSoftInputMode(
|
||||||
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE
|
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE
|
||||||
)
|
)
|
||||||
|
bottomSheetDialog?.ownShow()
|
||||||
return inflater.inflate(
|
return inflater.inflate(
|
||||||
if (isTvSettings()) R.layout.fragment_search_tv else R.layout.fragment_search,
|
if (isTvSettings()) R.layout.fragment_search_tv else R.layout.fragment_search,
|
||||||
container,
|
container,
|
||||||
|
@ -473,7 +476,9 @@ class SearchFragment : Fragment() {
|
||||||
ParentItemAdapter(mutableListOf(), { callback ->
|
ParentItemAdapter(mutableListOf(), { callback ->
|
||||||
SearchHelper.handleSearchClickCallback(activity, callback)
|
SearchHelper.handleSearchClickCallback(activity, callback)
|
||||||
}, { item ->
|
}, { item ->
|
||||||
activity?.loadHomepageList(item)
|
bottomSheetDialog = activity?.loadHomepageList(item, dismissCallback = {
|
||||||
|
bottomSheetDialog = null
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
val historyAdapter = SearchHistoryAdaptor(mutableListOf()) { click ->
|
val historyAdapter = SearchHistoryAdaptor(mutableListOf()) { click ->
|
||||||
|
|
|
@ -64,7 +64,9 @@ val appLanguages = arrayListOf(
|
||||||
Triple("", "German", "de"),
|
Triple("", "German", "de"),
|
||||||
Triple("", "Greek", "el"),
|
Triple("", "Greek", "el"),
|
||||||
Triple("", "English", "en"),
|
Triple("", "English", "en"),
|
||||||
|
Triple("", "Esperanto", "eo"),
|
||||||
Triple("", "Spanish", "es"),
|
Triple("", "Spanish", "es"),
|
||||||
|
Triple("", "Farsi", "fa"),
|
||||||
Triple("", "French", "fr"),
|
Triple("", "French", "fr"),
|
||||||
Triple("", "Hindi", "hi"),
|
Triple("", "Hindi", "hi"),
|
||||||
Triple("", "Croatian", "hr"),
|
Triple("", "Croatian", "hr"),
|
||||||
|
|
|
@ -13,9 +13,7 @@ import android.media.tv.TvContract.Channels.COLUMN_INTERNAL_PROVIDER_ID
|
||||||
import android.net.ConnectivityManager
|
import android.net.ConnectivityManager
|
||||||
import android.net.NetworkCapabilities
|
import android.net.NetworkCapabilities
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.*
|
||||||
import android.os.Environment
|
|
||||||
import android.os.ParcelFileDescriptor
|
|
||||||
import android.provider.MediaStore
|
import android.provider.MediaStore
|
||||||
import android.text.Spanned
|
import android.text.Spanned
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
@ -40,6 +38,7 @@ import com.google.android.gms.cast.framework.CastState
|
||||||
import com.google.android.gms.common.ConnectionResult
|
import com.google.android.gms.common.ConnectionResult
|
||||||
import com.google.android.gms.common.GoogleApiAvailability
|
import com.google.android.gms.common.GoogleApiAvailability
|
||||||
import com.google.android.gms.common.wrappers.Wrappers
|
import com.google.android.gms.common.wrappers.Wrappers
|
||||||
|
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||||
import com.lagradost.cloudstream3.*
|
import com.lagradost.cloudstream3.*
|
||||||
import com.lagradost.cloudstream3.CommonActivity.showToast
|
import com.lagradost.cloudstream3.CommonActivity.showToast
|
||||||
import com.lagradost.cloudstream3.MainActivity.Companion.afterRepositoryLoadedEvent
|
import com.lagradost.cloudstream3.MainActivity.Companion.afterRepositoryLoadedEvent
|
||||||
|
@ -79,6 +78,19 @@ object AppUtils {
|
||||||
return if (layoutManager == null || adapter == null) false else layoutManager.findLastCompletelyVisibleItemPosition() < adapter.itemCount - 7 // bit more than 1 to make it more seamless
|
return if (layoutManager == null || adapter == null) false else layoutManager.findLastCompletelyVisibleItemPosition() < adapter.itemCount - 7 // bit more than 1 to make it more seamless
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun BottomSheetDialog?.ownHide() {
|
||||||
|
this?.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun BottomSheetDialog?.ownShow() {
|
||||||
|
// the reason for this is because show has a shitty animation we don't want
|
||||||
|
this?.window?.setWindowAnimations(-1)
|
||||||
|
this?.show()
|
||||||
|
Handler(Looper.getMainLooper()).postDelayed({
|
||||||
|
this?.window?.setWindowAnimations(R.style.Animation_Design_BottomSheetDialog)
|
||||||
|
},200)
|
||||||
|
}
|
||||||
|
|
||||||
//fun Context.deleteFavorite(data: SearchResponse) {
|
//fun Context.deleteFavorite(data: SearchResponse) {
|
||||||
// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return
|
// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) return
|
||||||
// normalSafeApiCall {
|
// normalSafeApiCall {
|
||||||
|
|
|
@ -530,4 +530,6 @@
|
||||||
<string name="pref_category_ui_features">المميزات</string>
|
<string name="pref_category_ui_features">المميزات</string>
|
||||||
<string name="pref_category_looks">المظهر</string>
|
<string name="pref_category_looks">المظهر</string>
|
||||||
<string name="play_trailer_button">تشغيل المقطع الدعائي</string>
|
<string name="play_trailer_button">تشغيل المقطع الدعائي</string>
|
||||||
|
<string name="delayed_update_notice">سيتم تحديث التطبيق عند الخروج</string>
|
||||||
|
<string name="update_started">بدأ التحديث</string>
|
||||||
</resources>
|
</resources>
|
|
@ -410,7 +410,7 @@
|
||||||
<string name="delete_repository">Repository löschen</string>
|
<string name="delete_repository">Repository löschen</string>
|
||||||
<string name="setup_extensions_subtext">Lade eine Liste der Websiten herunter, welche du verwenden möchtest</string>
|
<string name="setup_extensions_subtext">Lade eine Liste der Websiten herunter, welche du verwenden möchtest</string>
|
||||||
<string name="plugins_downloaded" formatted="true">Heruntergeladen: %d</string>
|
<string name="plugins_downloaded" formatted="true">Heruntergeladen: %d</string>
|
||||||
<string name="plugins_disabled" formatted="true">Heruntergeladen: %d</string>
|
<string name="plugins_disabled" formatted="true">Deaktiviert: %d</string>
|
||||||
<string name="plugins_not_downloaded" formatted="true">Nicht heruntergeladen: %d</string>
|
<string name="plugins_not_downloaded" formatted="true">Nicht heruntergeladen: %d</string>
|
||||||
<string name="blank_repo_message">CloudStream hat standardmäßig keine Websites installiert. Websites müssen aus Repositories installiert werden.
|
<string name="blank_repo_message">CloudStream hat standardmäßig keine Websites installiert. Websites müssen aus Repositories installiert werden.
|
||||||
\n
|
\n
|
||||||
|
@ -427,7 +427,7 @@
|
||||||
<string name="video_tracks">Videospuren</string>
|
<string name="video_tracks">Videospuren</string>
|
||||||
<string name="apply_on_restart">Bei Neustart anwenden</string>
|
<string name="apply_on_restart">Bei Neustart anwenden</string>
|
||||||
<string name="safe_mode_title">Abgesicherter Modus aktiviert</string>
|
<string name="safe_mode_title">Abgesicherter Modus aktiviert</string>
|
||||||
<string name="safe_mode_description">Ein nicht behebbarer Absturz ist aufgetreten, und wir haben automatisch alle Erweiterungen deaktiviert, damit du die Erweiterung finden und entfernen kannst, die das Problem verursacht.</string>
|
<string name="safe_mode_description">Alle Erweiterungen wurden aufgrund eines Absturzes deaktiviert, damit Sie diejenige finden können, die Probleme verursacht.</string>
|
||||||
<string name="safe_mode_crash_info">Absturzinfo ansehen</string>
|
<string name="safe_mode_crash_info">Absturzinfo ansehen</string>
|
||||||
<string name="extension_rating" formatted="true">Bewertung: %s</string>
|
<string name="extension_rating" formatted="true">Bewertung: %s</string>
|
||||||
<string name="extension_description">Beschreibung</string>
|
<string name="extension_description">Beschreibung</string>
|
||||||
|
@ -476,7 +476,7 @@
|
||||||
<string name="pref_category_looks">Aussehen</string>
|
<string name="pref_category_looks">Aussehen</string>
|
||||||
<string name="pref_category_ui_features">Funktionen</string>
|
<string name="pref_category_ui_features">Funktionen</string>
|
||||||
<string name="plugins_updated" formatted="true">%d Plugins aktualisiert</string>
|
<string name="plugins_updated" formatted="true">%d Plugins aktualisiert</string>
|
||||||
<string name="action_mark_as_watched">Als beobachtet markieren</string>
|
<string name="action_mark_as_watched">Als gesehen markieren</string>
|
||||||
<string name="confirm_exit_dialog">Sind Sie sicher, dass Sie die App beenden möchten\?</string>
|
<string name="confirm_exit_dialog">Sind Sie sicher, dass Sie die App beenden möchten\?</string>
|
||||||
<string name="yes">Ja</string>
|
<string name="yes">Ja</string>
|
||||||
<string name="no">Nein</string>
|
<string name="no">Nein</string>
|
||||||
|
@ -485,4 +485,6 @@
|
||||||
<string name="update_notification_failed">Konnte die neue Version der App nicht installieren</string>
|
<string name="update_notification_failed">Konnte die neue Version der App nicht installieren</string>
|
||||||
<string name="apk_installer_legacy">Legacy</string>
|
<string name="apk_installer_legacy">Legacy</string>
|
||||||
<string name="apk_installer_package_installer">PackageInstaller</string>
|
<string name="apk_installer_package_installer">PackageInstaller</string>
|
||||||
|
<string name="update_started">Aktualisierung gestartet</string>
|
||||||
|
<string name="delayed_update_notice">Die Anwendung wird beim Beenden aktualisiert</string>
|
||||||
</resources>
|
</resources>
|
81
app/src/main/res/values-eo/strings.xml
Normal file
81
app/src/main/res/values-eo/strings.xml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="go_back_img_des">Reen</string>
|
||||||
|
<string name="title_home">Hejmo</string>
|
||||||
|
<string name="title_downloads">Elŝutoj</string>
|
||||||
|
<string name="go_back">Reen</string>
|
||||||
|
<string name="pick_source">Fontoj</string>
|
||||||
|
<string name="sort_apply">Efektivigi</string>
|
||||||
|
<string name="sort_save">Konservi</string>
|
||||||
|
<string name="subs_font_size">Tipara grando</string>
|
||||||
|
<string name="action_remove_watching">Forigi</string>
|
||||||
|
<string name="episodes">Epizodoj</string>
|
||||||
|
<string name="episode_short">E</string>
|
||||||
|
<string name="go_forward_30">+30</string>
|
||||||
|
<string name="year">Jaro</string>
|
||||||
|
<string name="sync_score_format" formatted="true">%d / 10</string>
|
||||||
|
<string name="sync_total_episodes_none">/\?\?</string>
|
||||||
|
<string name="sync_total_episodes_some" formatted="true">/%d</string>
|
||||||
|
<string name="extension_language">Lingvo</string>
|
||||||
|
<string name="extension_size">Grando</string>
|
||||||
|
<string name="extension_authors">Aŭtoroj</string>
|
||||||
|
<string name="extension_description">Priskribo</string>
|
||||||
|
<string name="extension_version">Versio</string>
|
||||||
|
<string name="extension_status">Stato</string>
|
||||||
|
<string name="sort_cancel">Nuligi</string>
|
||||||
|
<string name="sort_clear">Forviŝi</string>
|
||||||
|
<string name="yes">Jes</string>
|
||||||
|
<string name="no">Ne</string>
|
||||||
|
<string name="history">Historio</string>
|
||||||
|
<string name="title_search">Serĉi</string>
|
||||||
|
<string name="result_poster_img_des">Afiŝo</string>
|
||||||
|
<string name="play_movie_button">Spekti filmon</string>
|
||||||
|
<string name="home_play">Spekti</string>
|
||||||
|
<string name="home_info">Informoj</string>
|
||||||
|
<string name="sort_copy">Kopii</string>
|
||||||
|
<string name="sort_close">Fermi</string>
|
||||||
|
<string name="subs_font">Tiparo</string>
|
||||||
|
<string name="subs_download_languages">Elŝuti lingvojn</string>
|
||||||
|
<string name="subs_auto_select_language">Aŭtomate elekti lingvon</string>
|
||||||
|
<string name="subs_text_color">Teksta koloro</string>
|
||||||
|
<string name="action_remove_from_bookmarks">Forigi</string>
|
||||||
|
<string name="settings_info">Informoj</string>
|
||||||
|
<string name="season_short">S</string>
|
||||||
|
<string name="status">Stato</string>
|
||||||
|
<string name="source_error">Fonta eraro</string>
|
||||||
|
<string name="login">Saluti</string>
|
||||||
|
<string name="account">konto</string>
|
||||||
|
<string name="subs_window_color">Fenestra koloro</string>
|
||||||
|
<string name="title_settings">Agordoj</string>
|
||||||
|
<string name="result_tags">Ĝenroj</string>
|
||||||
|
<string name="all_languages_preference">Ĉiuj lingvoj</string>
|
||||||
|
<string name="search">Serĉi</string>
|
||||||
|
<string name="category_account">Kontoj</string>
|
||||||
|
<string name="github">GitHub</string>
|
||||||
|
<string name="season">Sezono</string>
|
||||||
|
<string name="episode">Epizodo</string>
|
||||||
|
<string name="asian_drama_singular">Azia dramo</string>
|
||||||
|
<string name="asian_drama">Aziaj dramoj</string>
|
||||||
|
<string name="tv_series_singular">Serio</string>
|
||||||
|
<string name="tv_series">Televidaj serioj</string>
|
||||||
|
<string name="go_back_30">−30</string>
|
||||||
|
<string name="movies_singular">Filmo</string>
|
||||||
|
<string name="movies">Filmoj</string>
|
||||||
|
<string name="others">Aliaj</string>
|
||||||
|
<string name="quality_blueray">Blu-radia</string>
|
||||||
|
<string name="title">Titolo</string>
|
||||||
|
<string name="none">Nenio</string>
|
||||||
|
<string name="logout">Adiaŭi</string>
|
||||||
|
<string name="show_title">Titolo</string>
|
||||||
|
<string name="video_source">Fonto</string>
|
||||||
|
<string name="example_lang_name">Lingvokodo (eo)</string>
|
||||||
|
<string name="example_password">pasvorto123</string>
|
||||||
|
<string name="example_username">MiaSalutNomo</string>
|
||||||
|
<string name="example_email">saluton@mondo.com</string>
|
||||||
|
<string name="example_ip">127.0.0.1</string>
|
||||||
|
<string name="example_site_name">MiaRetejo</string>
|
||||||
|
<string name="example_site_url">ekzemplo.com</string>
|
||||||
|
<string name="player_speed_text_format" formatted="true">Rapido (%.2fx)</string>
|
||||||
|
<string name="search_hint">Serĉi…</string>
|
||||||
|
<string name="download">Elŝuti</string>
|
||||||
|
</resources>
|
|
@ -485,4 +485,6 @@
|
||||||
<string name="skip_type_intro">Intro</string>
|
<string name="skip_type_intro">Intro</string>
|
||||||
<string name="enable_skip_op_from_database_des">Muestrar botones emergentes para saltar apertura/finalización del video</string>
|
<string name="enable_skip_op_from_database_des">Muestrar botones emergentes para saltar apertura/finalización del video</string>
|
||||||
<string name="yes">Si</string>
|
<string name="yes">Si</string>
|
||||||
|
<string name="delayed_update_notice">La aplicación se actualizará al salir</string>
|
||||||
|
<string name="update_started">Actualización iniciada</string>
|
||||||
</resources>
|
</resources>
|
22
app/src/main/res/values-fa/strings.xml
Normal file
22
app/src/main/res/values-fa/strings.xml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string name="delete">حذف</string>
|
||||||
|
<string name="pause">مکث</string>
|
||||||
|
<string name="queued">در صف</string>
|
||||||
|
<string name="download">بارگیری</string>
|
||||||
|
<string name="download_failed">بارگیری ناموفق بود</string>
|
||||||
|
<string name="search">جستوجو</string>
|
||||||
|
<string name="resize_fit">اندازهکردن</string>
|
||||||
|
<string name="resize_fill">پر کردن</string>
|
||||||
|
<string name="resize_zoom">بزرگنمایی</string>
|
||||||
|
<string name="all">همه</string>
|
||||||
|
<string name="tracks">قطعهها</string>
|
||||||
|
<string name="status">وضعیت</string>
|
||||||
|
<string name="loading">درحال بارگیری…</string>
|
||||||
|
<string name="show_title">عنوان منبع</string>
|
||||||
|
<string name="logout">خروج</string>
|
||||||
|
<string name="login">ورود</string>
|
||||||
|
<string name="none">هیچکدام</string>
|
||||||
|
<string name="title">عنوان</string>
|
||||||
|
<string name="history">تاریخچه</string>
|
||||||
|
</resources>
|
|
@ -526,4 +526,6 @@
|
||||||
<string name="skip_type_op">Otvaranje</string>
|
<string name="skip_type_op">Otvaranje</string>
|
||||||
<string name="apk_installer_package_installer">PackageInstaller</string>
|
<string name="apk_installer_package_installer">PackageInstaller</string>
|
||||||
<string name="season_format">%s %d%s</string>
|
<string name="season_format">%s %d%s</string>
|
||||||
|
<string name="update_started">Aktualiziranje započeto</string>
|
||||||
|
<string name="delayed_update_notice">Program če se aktualizirati tijekom zatvaranja programa</string>
|
||||||
</resources>
|
</resources>
|
|
@ -27,5 +27,238 @@
|
||||||
<string name="resize_zoom">Nagyítás</string>
|
<string name="resize_zoom">Nagyítás</string>
|
||||||
<string name="all">Összes</string>
|
<string name="all">Összes</string>
|
||||||
<string name="tracks">Zeneszámok</string>
|
<string name="tracks">Zeneszámok</string>
|
||||||
<string name="home_next_random_img_des">Következő random</string>
|
<string name="home_next_random_img_des">Következő véletlenszerű</string>
|
||||||
|
<string name="logout">Kijelentkezés</string>
|
||||||
|
<string name="login">Bejelentkezés</string>
|
||||||
|
<string name="none">Semmi</string>
|
||||||
|
<string name="title">Cím</string>
|
||||||
|
<string name="loading">Betöltés…</string>
|
||||||
|
<string name="status">Állapot</string>
|
||||||
|
<string name="show_title">Forrás címe</string>
|
||||||
|
<string name="history">Előzmények</string>
|
||||||
|
<string name="eigengraumode_settings">Eigengravy mód</string>
|
||||||
|
<string name="subs_subtitle_elevation">Felirat magassága</string>
|
||||||
|
<string name="download_started">Letöltés elkezdve</string>
|
||||||
|
<string name="normal_no_plot">Nem található cselekmény</string>
|
||||||
|
<string name="continue_watching">Lejátszás folytatása</string>
|
||||||
|
<string name="filler" formatted="true">Filler</string>
|
||||||
|
<string name="play_with_app_name">Lejátszás CloudStreamel</string>
|
||||||
|
<string name="title_home">Kezdőlap</string>
|
||||||
|
<string name="title_search">Keresés</string>
|
||||||
|
<string name="title_downloads">Letöltések</string>
|
||||||
|
<string name="title_settings">Beállítások</string>
|
||||||
|
<string name="search_hint">Keresés…</string>
|
||||||
|
<string name="search_hint_site" formatted="true">Keresés %s…</string>
|
||||||
|
<string name="no_data">Nincs adat</string>
|
||||||
|
<string name="episode_more_options_des">Több opció</string>
|
||||||
|
<string name="next_episode">Következő epizód</string>
|
||||||
|
<string name="result_tags">Műfajok</string>
|
||||||
|
<string name="result_share">Megosztás</string>
|
||||||
|
<string name="result_open_in_browser">Megnyitás böngészőben</string>
|
||||||
|
<string name="skip_loading">Betöltés kihagyása</string>
|
||||||
|
<string name="result_poster_img_des">Poster</string>
|
||||||
|
<string name="search_poster_img_des">\@string/result_poster_img_des</string>
|
||||||
|
<string name="type_watching">Nézés</string>
|
||||||
|
<string name="type_completed">Befejezve</string>
|
||||||
|
<string name="type_plan_to_watch">Később megnézés</string>
|
||||||
|
<string name="type_none">Nincs</string>
|
||||||
|
<string name="type_re_watching">Újranézés</string>
|
||||||
|
<string name="play_movie_button">Film lejátszása</string>
|
||||||
|
<string name="play_trailer_button">Előzetes lejátszása</string>
|
||||||
|
<string name="play_livestream_button">Élőadás lejátszása</string>
|
||||||
|
<string name="play_torrent_button">Torrent streamelése</string>
|
||||||
|
<string name="pick_source">Források</string>
|
||||||
|
<string name="pick_subtitle">Feliratok</string>
|
||||||
|
<string name="go_back">Vissza</string>
|
||||||
|
<string name="download_done">Letöltés kész</string>
|
||||||
|
<string name="stream">Stream</string>
|
||||||
|
<string name="error_loading_links_toast">Hiba a linkek betöltésekor</string>
|
||||||
|
<string name="download_storage_text">Belső tárhely</string>
|
||||||
|
<string name="app_dubbed_text">Dub</string>
|
||||||
|
<string name="app_subbed_text">Sub</string>
|
||||||
|
<string name="popup_delete_file">Fájl törlése</string>
|
||||||
|
<string name="popup_play_file">Fájl lejátszása</string>
|
||||||
|
<string name="popup_resume_download">Letöltés folytatása</string>
|
||||||
|
<string name="popup_pause_download">Letöltés szüneteltetése</string>
|
||||||
|
<string name="pref_disable_acra">Automatikus hibajelentés kikapcsolása</string>
|
||||||
|
<string name="home_more_info">Több információ</string>
|
||||||
|
<string name="home_expanded_hide">Elrejtés</string>
|
||||||
|
<string name="home_play">Lejátszás</string>
|
||||||
|
<string name="home_info">Információ</string>
|
||||||
|
<string name="filter_bookmarks">Könyvjelző szűrése</string>
|
||||||
|
<string name="error_bookmarks_text">Könyvjelzők</string>
|
||||||
|
<string name="action_remove_from_bookmarks">Eltávolítás</string>
|
||||||
|
<string name="action_add_to_bookmarks">Megtekintés állapotának beállítása</string>
|
||||||
|
<string name="sort_apply">Alkalmazás</string>
|
||||||
|
<string name="sort_cancel">Mégse</string>
|
||||||
|
<string name="sort_copy">Másolás</string>
|
||||||
|
<string name="sort_close">Bezárás</string>
|
||||||
|
<string name="sort_clear">Törlés</string>
|
||||||
|
<string name="sort_save">Mentés</string>
|
||||||
|
<string name="player_speed">Lejátszás sebessége</string>
|
||||||
|
<string name="subtitles_settings">Felirat beállítások</string>
|
||||||
|
<string name="subs_text_color">Szövegszín</string>
|
||||||
|
<string name="subs_outline_color">Körvonal szín</string>
|
||||||
|
<string name="subs_background_color">Háttér szín</string>
|
||||||
|
<string name="subs_window_color">Ablak szín</string>
|
||||||
|
<string name="subs_edge_type">Edge típus</string>
|
||||||
|
<string name="subs_font">Betűtípus</string>
|
||||||
|
<string name="search_provider_text_types">Keresés típusok szerint</string>
|
||||||
|
<string name="search_provider_text_providers">Keresés szolgáltatók szerint</string>
|
||||||
|
<string name="benene_count_text">%d Banán a fejlesztőknek</string>
|
||||||
|
<string name="subs_download_languages">Nyelvek letöltése</string>
|
||||||
|
<string name="subs_hold_to_reset_to_default">Tartsa lenyomva az alapértelmezett érték visszaállításához</string>
|
||||||
|
<string name="subs_import_text" formatted="true">Betűtípusok importálása %s</string>
|
||||||
|
<string name="action_remove_watching">Eltávolítás</string>
|
||||||
|
<string name="action_open_watching">Több információ</string>
|
||||||
|
<string name="action_open_play">\@string/home_play</string>
|
||||||
|
<string name="vpn_might_be_needed">VPN szükséges lehet ehhez a szolgáltató megfelelő működéséhez</string>
|
||||||
|
<string name="vpn_torrent">Ez a szolgáltató torrent, VPN ajánlott</string>
|
||||||
|
<string name="torrent_plot">Leírás</string>
|
||||||
|
<string name="torrent_no_plot">Nem található leírás</string>
|
||||||
|
<string name="show_log_cat">Logcat megjelenítése 🐈</string>
|
||||||
|
<string name="picture_in_picture">Kép-a-képben</string>
|
||||||
|
<string name="picture_in_picture_des">Folytatja a lejátszást egy miniatűr lejátszóban, más alkalmazások mellett</string>
|
||||||
|
<string name="player_size_settings">Lejátszó átméretezése gomb</string>
|
||||||
|
<string name="player_size_settings_des">Fekete szegélyek eltávolítása</string>
|
||||||
|
<string name="player_subtitles_settings">Feliratok</string>
|
||||||
|
<string name="player_subtitles_settings_des">Lejátszó feliratok beállításai</string>
|
||||||
|
<string name="chromecast_subtitles_settings">Chromecast Feliratok</string>
|
||||||
|
<string name="chromecast_subtitles_settings_des">Chromecast feliratok beállításai</string>
|
||||||
|
<string name="eigengraumode_settings_des">Sebességbeállítást ad hozzá a lejátszóhoz</string>
|
||||||
|
<string name="play_episode">Epizód lejátszása</string>
|
||||||
|
<string name="downloaded">Letöltve</string>
|
||||||
|
<string name="download_paused">Letöltés szüneteltetve</string>
|
||||||
|
<string name="download_canceled">Letöltés megszakítva</string>
|
||||||
|
<string name="downloading">Letöltés</string>
|
||||||
|
<string name="subs_font_size">Betűtípus mérete</string>
|
||||||
|
<string name="subs_subtitle_languages">Felirat nyelve</string>
|
||||||
|
<string name="provider_info_meta">A metaadatokat a webhely nem biztosítja, a videó betöltése sikertelen lesz, ha nem létezik a webhelyen.</string>
|
||||||
|
<string name="subs_auto_select_language">Nyelv automatikus kiválasztása</string>
|
||||||
|
<string name="category_updates">Frissítések és biztonsági mentés</string>
|
||||||
|
<string name="advanced_search">Speciális keresés</string>
|
||||||
|
<string name="show_fillers_settings">Filler epizódok mutatása animéknél</string>
|
||||||
|
<string name="show_trailers_settings">Előzetesek megjelenítése</string>
|
||||||
|
<string name="redo_setup_process">Telepítési folyamat megismétlése</string>
|
||||||
|
<string name="anim">Anime applikáció ugyanazoktól a fejlesztőktől</string>
|
||||||
|
<string name="lightnovel">Light novel applikáció ugyanazoktól a fejlesztőktől</string>
|
||||||
|
<string name="app_language">Alkalmazás nyelve</string>
|
||||||
|
<string name="episode">Epizód</string>
|
||||||
|
<string name="episodes">Epizódok</string>
|
||||||
|
<string name="season_short">Év</string>
|
||||||
|
<string name="movies_singular">Film</string>
|
||||||
|
<string name="episodes_range">%d-%d</string>
|
||||||
|
<string name="episode_format" formatted="true">%d %s</string>
|
||||||
|
<string name="episode_short">Ep</string>
|
||||||
|
<string name="no_episodes_found">Nem található epizód</string>
|
||||||
|
<string name="delete_file">Fájl törlése</string>
|
||||||
|
<string name="resume_time_left" formatted="true">%dp
|
||||||
|
\nhátra</string>
|
||||||
|
<string name="duration">Időtartam</string>
|
||||||
|
<string name="free_storage">Elérhető</string>
|
||||||
|
<string name="used_storage">Használatban</string>
|
||||||
|
<string name="app_storage">Alkalmazás</string>
|
||||||
|
<string name="status_completed">Befejezve</string>
|
||||||
|
<string name="rating">Értékelés</string>
|
||||||
|
<string name="cartoons">Rajzfilmek</string>
|
||||||
|
<string name="livestreams">Élőadások</string>
|
||||||
|
<string name="default_subtitles">Alapértelmezett</string>
|
||||||
|
<string name="movies">Filmek</string>
|
||||||
|
<string name="tv_series">TV sorozat</string>
|
||||||
|
<string name="anime">Anime</string>
|
||||||
|
<string name="torrent">Torrentek</string>
|
||||||
|
<string name="asian_drama">Ázsiai drámák</string>
|
||||||
|
<string name="documentaries">Dokumentumfilmek</string>
|
||||||
|
<string name="ova">OVA</string>
|
||||||
|
<string name="others">Egyebek</string>
|
||||||
|
<string name="tv_series_singular">Sorozat</string>
|
||||||
|
<string name="anime_singular">\@string/anime</string>
|
||||||
|
<string name="source_error">Forráshiba</string>
|
||||||
|
<string name="nsfw">NSFW</string>
|
||||||
|
<string name="cartoons_singular">Rajzfilm</string>
|
||||||
|
<string name="ova_singular">\@string/ova</string>
|
||||||
|
<string name="live_singular">Élőadás</string>
|
||||||
|
<string name="nsfw_singular">NSFW</string>
|
||||||
|
<string name="other_singular">Videó</string>
|
||||||
|
<string name="torrent_singular">Torrent</string>
|
||||||
|
<string name="documentaries_singular">Dokumentumfilm</string>
|
||||||
|
<string name="asian_drama_singular">Ázsiai dráma</string>
|
||||||
|
<string name="episode_action_reload_links">Linkek újratöltése</string>
|
||||||
|
<string name="episode_action_copy_link">Link másolás</string>
|
||||||
|
<string name="episode_action_download_mirror">Link letöltés</string>
|
||||||
|
<string name="episode_action_auto_download">Automatikus letöltés</string>
|
||||||
|
<string name="backup_success">Adatok eltárolva</string>
|
||||||
|
<string name="backup_failed_error_format">Hiba a biztonsági mentés során %s</string>
|
||||||
|
<string name="category_account">Fiókok</string>
|
||||||
|
<string name="advanced_search_des">Szolgáltatás szerinti keresés eredmények</string>
|
||||||
|
<string name="bug_report_settings_on">Nem küld adatokat</string>
|
||||||
|
<string name="kitsu_settings">Poszterek megjelenítése Kitsu-ról</string>
|
||||||
|
<string name="pref_filter_search_quality">Kiválasztott videóminőségek elrejtése keresési eredményekbe</string>
|
||||||
|
<string name="automatic_plugin_updates">Automatikus bővítményfrissítések</string>
|
||||||
|
<string name="automatic_plugin_download">Bővítmények automatikus letöltése</string>
|
||||||
|
<string name="automatic_plugin_download_summary">Automatikusan telepíti az összes még nem telepített bővítményt a hozzáadott tárolókból.</string>
|
||||||
|
<string name="updates_settings">Alkalmazás frissítések megjelenítése</string>
|
||||||
|
<string name="updates_settings_des">Automatikusan keressen új frissítéseket indításkor</string>
|
||||||
|
<string name="uprereleases_settings">Frissítés az előzetes kiadásokhoz (prerelease)</string>
|
||||||
|
<string name="uprereleases_settings_des">Csak előzetesen kiadott frissítések (prerelease) keresése a teljes kiadások helyett</string>
|
||||||
|
<string name="github">Github</string>
|
||||||
|
<string name="discord">Csatlakozz a Discordhoz</string>
|
||||||
|
<string name="benene">Adj Banánt a fejlesztőknek</string>
|
||||||
|
<string name="no_chromecast_support_toast">Ez a szolgáltató nem támogatja a Chromecast-ot</string>
|
||||||
|
<string name="no_links_found_toast">Nem található link</string>
|
||||||
|
<string name="copy_link_toast">A link vágólapra másolva</string>
|
||||||
|
<string name="play_episode_toast">Epizód lejátszása</string>
|
||||||
|
<string name="subs_default_reset_toast">Alapértelmezett értékre visszaállítása</string>
|
||||||
|
<string name="acra_report_toast">Az alkalmazás összeomlott. Egy névtelen hibabejelentés küldünk a fejlesztőknek</string>
|
||||||
|
<string name="season">Évad</string>
|
||||||
|
<string name="season_format">%s %d%s</string>
|
||||||
|
<string name="no_season">Nincs évad</string>
|
||||||
|
<string name="go_forward_30">+30</string>
|
||||||
|
<string name="delete_message" formatted="true">Ezzel véglegesen törli a %s
|
||||||
|
\nBiztosan törli\?</string>
|
||||||
|
<string name="status_ongoing">Folyamatban levő</string>
|
||||||
|
<string name="year">Év</string>
|
||||||
|
<string name="site">Webhely</string>
|
||||||
|
<string name="synopsis">Szinopszis</string>
|
||||||
|
<string name="no_subtitles">Nincsenek feliratok</string>
|
||||||
|
<string name="remote_error">Távoli hiba</string>
|
||||||
|
<string name="render_error">Render hiba</string>
|
||||||
|
<string name="unexpected_error">Váratlan lejátszó hiba</string>
|
||||||
|
<string name="storage_error">Letöltés hiba, ellenőrízze a tárolási engedélyeket</string>
|
||||||
|
<string name="episode_action_chromecast_episode">Chromecast epizód</string>
|
||||||
|
<string name="episode_action_chromecast_mirror">Chromecast link</string>
|
||||||
|
<string name="episode_action_play_in_app">Lejátszás az alkalmazásban</string>
|
||||||
|
<string name="episode_action_play_in_format">Lejátszás %s</string>
|
||||||
|
<string name="episode_action_play_in_browser">Lejátszás böngészőben</string>
|
||||||
|
<string name="episode_action_download_subtitle">Feliratok letöltése</string>
|
||||||
|
<string name="reload_error">Újracsatlakozás…</string>
|
||||||
|
<string name="swipe_to_seek_settings_des">Swipe balra vagy jobbra a videólejátszóban az idő vezérléséhez</string>
|
||||||
|
<string name="swipe_to_change_settings">Csúsztassa ujját a beállítások módosításához</string>
|
||||||
|
<string name="swipe_to_change_settings_des">Csúsztassa az újját bal vagy jobb oldalon a fényerő vagy hangerő megváltoztatásához</string>
|
||||||
|
<string name="backup_settings">Biztonsági mentés</string>
|
||||||
|
<string name="benene_count_text_none">0 Banán a fejlesztőknek</string>
|
||||||
|
<string name="swipe_to_seek_settings">Swipe to seek</string>
|
||||||
|
<string name="autoplay_next_settings">Következő epizód automatikus lejátszása</string>
|
||||||
|
<string name="autoplay_next_settings_des">Következő epizód lejátszása amikor az aktuális epizód véget ér</string>
|
||||||
|
<string name="double_tap_to_seek_settings">Dupla koppintás to seek</string>
|
||||||
|
<string name="double_tap_to_pause_settings">Dupla koppintás a szüneteltetéshez</string>
|
||||||
|
<string name="double_tap_to_seek_amount_settings">Player seek amount</string>
|
||||||
|
<string name="double_tap_to_seek_settings_des">Koppintson kétszer a jobb vagy bal oldalra az előre vagy hátra ugráshoz</string>
|
||||||
|
<string name="double_tap_to_pause_settings_des">Koppintson középre a szüneteltetéshez</string>
|
||||||
|
<string name="use_system_brightness_settings">Rendszer fényerejének használata</string>
|
||||||
|
<string name="use_system_brightness_settings_des">Rendszer fényerejének használata az appban a sötét átfedés helyett</string>
|
||||||
|
<string name="episode_sync_settings">Előrehaladás frissítése</string>
|
||||||
|
<string name="episode_sync_settings_des">Automatikusan szinkronizálja az aktuális epizód előrehaladását</string>
|
||||||
|
<string name="restore_settings">Adatok visszaállítása a biztonsági mentésből</string>
|
||||||
|
<string name="restore_success">Biztonsági mentés betöltve</string>
|
||||||
|
<string name="settings_info">Információ</string>
|
||||||
|
<string name="resume">Folytatás</string>
|
||||||
|
<string name="go_back_30">-30</string>
|
||||||
|
<string name="update_started">Frissítés elkezdődött</string>
|
||||||
|
<string name="restore_failed_format" formatted="true">Nem sikerült visszaállítani az adatok a fájlból %s</string>
|
||||||
|
<string name="backup_failed">Tárolási engedélyek hiányoznak. Kérjük próbálja újra.</string>
|
||||||
|
<string name="bug_report_settings_off">Csak összeomlásokról küld adatokat</string>
|
||||||
|
<string name="apk_installer_settings">APK Telepítő</string>
|
||||||
|
<string name="apk_installer_settings_des">Egyes telefonok nem támogatják az új csomag telepítőt. Ha a frissítések nem települnek, próbálja meg a régi opciót.</string>
|
||||||
|
<string name="benene_des">Banán adva</string>
|
||||||
</resources>
|
</resources>
|
|
@ -504,4 +504,6 @@
|
||||||
<string name="pref_category_defaults">Predefiniti</string>
|
<string name="pref_category_defaults">Predefiniti</string>
|
||||||
<string name="pref_category_looks">Aspetto</string>
|
<string name="pref_category_looks">Aspetto</string>
|
||||||
<string name="pref_category_ui_features">Funzionalità</string>
|
<string name="pref_category_ui_features">Funzionalità</string>
|
||||||
|
<string name="delayed_update_notice">L\'app verrà aggiornata all\'uscita</string>
|
||||||
|
<string name="update_started">Aggiornamento avviato</string>
|
||||||
</resources>
|
</resources>
|
|
@ -122,4 +122,11 @@
|
||||||
<string name="no">לא</string>
|
<string name="no">לא</string>
|
||||||
<string name="yes">כן</string>
|
<string name="yes">כן</string>
|
||||||
<string name="action_mark_as_watched">סימון כנצפה</string>
|
<string name="action_mark_as_watched">סימון כנצפה</string>
|
||||||
|
<string name="status">סטטוס</string>
|
||||||
|
<string name="logout">התנתק</string>
|
||||||
|
<string name="login">התחברות</string>
|
||||||
|
<string name="show_title">כותרת</string>
|
||||||
|
<string name="none">אין</string>
|
||||||
|
<string name="all">הכל</string>
|
||||||
|
<string name="title">כותרת</string>
|
||||||
</resources>
|
</resources>
|
|
@ -294,7 +294,7 @@
|
||||||
<string name="login_format" formatted="true">%s %s</string>
|
<string name="login_format" formatted="true">%s %s</string>
|
||||||
<string name="account">konto</string>
|
<string name="account">konto</string>
|
||||||
<string name="logout">Wyloguj się</string>
|
<string name="logout">Wyloguj się</string>
|
||||||
<string name="login">Logowanie</string>
|
<string name="login">Zaloguj się</string>
|
||||||
<string name="switch_account">Przełącz konto</string>
|
<string name="switch_account">Przełącz konto</string>
|
||||||
<string name="add_account">Dodaj konto</string>
|
<string name="add_account">Dodaj konto</string>
|
||||||
<string name="create_account">Utwórz konto</string>
|
<string name="create_account">Utwórz konto</string>
|
||||||
|
@ -308,7 +308,7 @@
|
||||||
<!-- ============ -->
|
<!-- ============ -->
|
||||||
<string name="none">Brak</string>
|
<string name="none">Brak</string>
|
||||||
<string name="normal">Normalne</string>
|
<string name="normal">Normalne</string>
|
||||||
<string name="all">Wszystkie</string>
|
<string name="all">Wszystko</string>
|
||||||
<string name="max">Maks</string>
|
<string name="max">Maks</string>
|
||||||
<string name="min">Min</string>
|
<string name="min">Min</string>
|
||||||
<string name="subtitles_outline">Kontur</string>
|
<string name="subtitles_outline">Kontur</string>
|
||||||
|
@ -485,4 +485,6 @@
|
||||||
<string name="pref_category_player_layout">Układ</string>
|
<string name="pref_category_player_layout">Układ</string>
|
||||||
<string name="pref_category_looks">Wygląd</string>
|
<string name="pref_category_looks">Wygląd</string>
|
||||||
<string name="play_trailer_button">Odtwórz zwiastun</string>
|
<string name="play_trailer_button">Odtwórz zwiastun</string>
|
||||||
|
<string name="delayed_update_notice">Aplikacja zostanie zaktualizowana po wyjściu</string>
|
||||||
|
<string name="update_started">Aktualizacja rozpoczęta</string>
|
||||||
</resources>
|
</resources>
|
|
@ -14,4 +14,12 @@
|
||||||
<string name="delete">Удалить</string>
|
<string name="delete">Удалить</string>
|
||||||
<string name="all">Всё</string>
|
<string name="all">Всё</string>
|
||||||
<string name="pause">Пауза</string>
|
<string name="pause">Пауза</string>
|
||||||
|
<string name="cast_format" formatted="true">В ролях: %s</string>
|
||||||
|
<string name="show_title">Название источника</string>
|
||||||
|
<string name="login">Вход</string>
|
||||||
|
<string name="none">Нет</string>
|
||||||
|
<string name="title">Название</string>
|
||||||
|
<string name="loading">Загрузка…</string>
|
||||||
|
<string name="status">Статус</string>
|
||||||
|
<string name="logout">Выйти</string>
|
||||||
</resources>
|
</resources>
|
|
@ -281,4 +281,89 @@
|
||||||
<string name="limit_title_rez">Videospelarens upplösning</string>
|
<string name="limit_title_rez">Videospelarens upplösning</string>
|
||||||
<string name="history">Historik</string>
|
<string name="history">Historik</string>
|
||||||
<string name="action_mark_as_watched">Markera som sedd</string>
|
<string name="action_mark_as_watched">Markera som sedd</string>
|
||||||
|
<string name="chromecast_subtitles_settings_des">Inställningar för Chromecast-undertexter</string>
|
||||||
|
<string name="tv_layout">TV-layout</string>
|
||||||
|
<string name="create_account">Skapa konto</string>
|
||||||
|
<string name="sync_score_format" formatted="true">%d / 10</string>
|
||||||
|
<string name="sync_total_episodes_none">/\?\?</string>
|
||||||
|
<string name="sync_total_episodes_some" formatted="true">/%d</string>
|
||||||
|
<string name="subtitle_offset_extra_hint_later_format">Använd detta om undertexterna visas %d ms för tidigt</string>
|
||||||
|
<string name="quality_hd">HD</string>
|
||||||
|
<string name="quality_sd">SD</string>
|
||||||
|
<string name="quality_uhd">UHD</string>
|
||||||
|
<string name="resolution_and_title">Upplösning och titel</string>
|
||||||
|
<string name="error">Fel</string>
|
||||||
|
<string name="referer">Referer</string>
|
||||||
|
<string name="next">Nästa</string>
|
||||||
|
<string name="subtitle_offset_hint">1000 ms</string>
|
||||||
|
<string name="add_site_summary">Lägga till en klon av en befintlig webbplats med en annan webbadress.</string>
|
||||||
|
<string name="error_invalid_id">Ogiltigt ID</string>
|
||||||
|
<string name="error_invalid_url">Ogiltig webbadress</string>
|
||||||
|
<string name="video_ram_description">Orsakar krascher om inställningen är för hög på enheter med lågt minne, t.ex. Android TV.</string>
|
||||||
|
<string name="video_disk_description">Orsakar problem om inställningen är för hög på enheter med lågt lagringsutrymme, t.ex. Android TV.</string>
|
||||||
|
<string name="remove_site_pref">Ta bort webbplats</string>
|
||||||
|
<string name="add_site_pref">Klona webbplats</string>
|
||||||
|
<string name="phone_layout">Telefonlayout</string>
|
||||||
|
<string name="primary_color_settings">Primärfärg</string>
|
||||||
|
<string name="example_username">Användarnamn</string>
|
||||||
|
<string name="example_email">namn@email.se</string>
|
||||||
|
<string name="example_ip">127.0.0.1</string>
|
||||||
|
<string name="home_source">Källa</string>
|
||||||
|
<string name="home_random">Slumpmässig</string>
|
||||||
|
<string name="coming_soon">Kommer snart…</string>
|
||||||
|
<string name="subtitles_filter_lang">Filtrera efter föredraget språk</string>
|
||||||
|
<string name="crash_reporting_title">Kraschrapportering</string>
|
||||||
|
<string name="authenticated_user_fail" formatted="true">Kunde inte logga in på %s</string>
|
||||||
|
<string name="pref_category_looks">Utseende</string>
|
||||||
|
<string name="category_ui">Layout</string>
|
||||||
|
<string name="quality_4k">4K</string>
|
||||||
|
<string name="app_layout_subtext">Ändra appens utseende så att den passar din enhet</string>
|
||||||
|
<string name="cast_format" formatted="true">Skådespelare: %s</string>
|
||||||
|
<string name="play_livestream_button">Spela Livestream</string>
|
||||||
|
<string name="login_format" formatted="true">%s %s</string>
|
||||||
|
<string name="subtitle_offset_extra_hint_none_format">Ingen undertextfördröjning</string>
|
||||||
|
<string name="pref_category_player_features">Spelarfunktioner</string>
|
||||||
|
<string name="trailer">Trailer</string>
|
||||||
|
<string name="app_layout">Applayout</string>
|
||||||
|
<string name="pref_category_ui_features">Funktioner</string>
|
||||||
|
<string name="example_site_url">exempel.se</string>
|
||||||
|
<string name="example_lang_name">Språkkod (en)</string>
|
||||||
|
<string name="video_buffer_disk_settings">Videocache på disken</string>
|
||||||
|
<string name="video_buffer_clear_settings">Rensa video- och bildcache</string>
|
||||||
|
<string name="pref_category_links">Länkar</string>
|
||||||
|
<string name="pref_category_app_updates">Appuppdateringar</string>
|
||||||
|
<string name="pref_category_player_layout">Layout</string>
|
||||||
|
<string name="title">Titel</string>
|
||||||
|
<string name="skip_setup">Hoppa över installationen</string>
|
||||||
|
<string name="setup_done">Klar</string>
|
||||||
|
<string name="extensions">Tillägg</string>
|
||||||
|
<string name="sort_clear">Rensa</string>
|
||||||
|
<string name="live_singular">Direktsändning</string>
|
||||||
|
<string name="limit_title">Max tecken i videospelartiteln</string>
|
||||||
|
<string name="video_buffer_size_settings">Videobuffertstorlek</string>
|
||||||
|
<string name="video_buffer_length_settings">Videobuffertlängd</string>
|
||||||
|
<string name="legal_notice">Ansvarsfriskrivning</string>
|
||||||
|
<string name="pref_category_extensions">Tillägg</string>
|
||||||
|
<string name="pref_category_cache">Cache</string>
|
||||||
|
<string name="pref_category_backup">Säkerhetskopiering</string>
|
||||||
|
<string name="pref_category_subtitles">Undertexter</string>
|
||||||
|
<string name="enable_nsfw_on_providers">Aktivera NSFW på sidor som stöds</string>
|
||||||
|
<string name="subtitles_encoding">Undertextkodning</string>
|
||||||
|
<string name="example_password">lösenord123</string>
|
||||||
|
<string name="subtitle_offset_title">Fördröjning av undertexter</string>
|
||||||
|
<string name="subtitle_offset_extra_hint_before_format">Använd detta om undertexterna visas %d ms för sent</string>
|
||||||
|
<string name="player_load_subtitles">Importera från fil</string>
|
||||||
|
<string name="player_load_subtitles_online">Importera från Internet</string>
|
||||||
|
<string name="downloaded_file">Nedladdad fil</string>
|
||||||
|
<string name="quality_ts">TS</string>
|
||||||
|
<string name="quality_tc">TC</string>
|
||||||
|
<string name="quality_dvd">DVD</string>
|
||||||
|
<string name="quality_hdr">HDR</string>
|
||||||
|
<string name="quality_sdr">SDR</string>
|
||||||
|
<string name="resolution">Upplösning</string>
|
||||||
|
<string name="error_invalid_data">Ogiltig data</string>
|
||||||
|
<string name="subtitles_remove_captions">Ta bort dold textning från undertexter</string>
|
||||||
|
<string name="provider_languages_tip">Titta på videor på dessa språk</string>
|
||||||
|
<string name="previous">Föregående</string>
|
||||||
|
<string name="tracks">Spår</string>
|
||||||
</resources>
|
</resources>
|
|
@ -549,4 +549,6 @@
|
||||||
<string name="pref_category_player_features">播放器功能</string>
|
<string name="pref_category_player_features">播放器功能</string>
|
||||||
<string name="pref_category_actions">行为</string>
|
<string name="pref_category_actions">行为</string>
|
||||||
<string name="pref_category_looks">外观</string>
|
<string name="pref_category_looks">外观</string>
|
||||||
|
<string name="update_started">更新开始</string>
|
||||||
|
<string name="delayed_update_notice">应用退出后将会更新</string>
|
||||||
</resources>
|
</resources>
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--https://newbedev.com/concatenate-multiple-strings-in-xml--><resources>
|
<!--https://newbedev.com/concatenate-multiple-strings-in-xml-->
|
||||||
|
<resources>
|
||||||
<!-- KEYS DON'T TRANSLATE -->
|
<!-- KEYS DON'T TRANSLATE -->
|
||||||
<string name="search_providers_list_key" translatable="false">search_providers_list</string>
|
<string name="search_providers_list_key" translatable="false">search_providers_list</string>
|
||||||
<string name="locale_key" translatable="false">app_locale</string>
|
<string name="locale_key" translatable="false">app_locale</string>
|
||||||
|
|
Loading…
Reference in a new issue