mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
4b0a3e0c4e
21 changed files with 952 additions and 439 deletions
|
@ -35,8 +35,8 @@ android {
|
|||
minSdkVersion 21
|
||||
targetSdkVersion 31
|
||||
|
||||
versionCode 36
|
||||
versionName "2.4.4"
|
||||
versionCode 37
|
||||
versionName "2.4.5"
|
||||
|
||||
resValue "string", "app_version",
|
||||
"${defaultConfig.versionName}${versionNameSuffix ?: ""}"
|
||||
|
@ -159,4 +159,7 @@ dependencies {
|
|||
|
||||
// debugImplementation because LeakCanary should only run in debug builds.
|
||||
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
|
||||
|
||||
// for shimmer when loading
|
||||
implementation 'com.facebook.shimmer:shimmer:0.5.0'
|
||||
}
|
|
@ -47,7 +47,7 @@ class APIRepository(val api: MainAPI) {
|
|||
}
|
||||
}
|
||||
|
||||
suspend fun getMainPage(): Resource<HomePageResponse> {
|
||||
suspend fun getMainPage(): Resource<HomePageResponse?> {
|
||||
return safeApiCall {
|
||||
api.getMainPage() ?: throw ErrorLoadingException()
|
||||
}
|
||||
|
|
|
@ -248,26 +248,30 @@ class HomeFragment : Fragment() {
|
|||
observe(homeViewModel.page) { data ->
|
||||
when (data) {
|
||||
is Resource.Success -> {
|
||||
home_loading_shimmer?.stopShimmer()
|
||||
|
||||
val d = data.value
|
||||
|
||||
currentHomePage = d
|
||||
(home_master_recycler?.adapter as ParentItemAdapter?)?.items =
|
||||
d.items.mapNotNull {
|
||||
d?.items?.mapNotNull {
|
||||
try {
|
||||
HomePageList(it.name, it.list.filterSearchResponse())
|
||||
} catch (e: Exception) {
|
||||
logError(e)
|
||||
null
|
||||
}
|
||||
}
|
||||
} ?: listOf()
|
||||
|
||||
home_master_recycler?.adapter?.notifyDataSetChanged()
|
||||
|
||||
home_loading.visibility = View.GONE
|
||||
home_loading_error.visibility = View.GONE
|
||||
home_loaded.visibility = View.VISIBLE
|
||||
home_loading?.isVisible = false
|
||||
home_loading_error?.isVisible = false
|
||||
home_loaded?.isVisible = true
|
||||
}
|
||||
is Resource.Failure -> {
|
||||
home_loading_shimmer?.stopShimmer()
|
||||
|
||||
result_error_text.text = data.errorString
|
||||
|
||||
home_reload_connectionerror.setOnClickListener(apiChangeClickListener)
|
||||
|
@ -287,14 +291,15 @@ class HomeFragment : Fragment() {
|
|||
}
|
||||
}
|
||||
|
||||
home_loading.visibility = View.GONE
|
||||
home_loading_error.visibility = View.VISIBLE
|
||||
home_loaded.visibility = View.GONE
|
||||
home_loading?.isVisible = false
|
||||
home_loading_error?.isVisible = true
|
||||
home_loaded?.isVisible = false
|
||||
}
|
||||
is Resource.Loading -> {
|
||||
home_loading.visibility = View.VISIBLE
|
||||
home_loading_error.visibility = View.GONE
|
||||
home_loaded.visibility = View.GONE
|
||||
home_loading_shimmer?.startShimmer()
|
||||
home_loading?.isVisible = true
|
||||
home_loading_error?.isVisible = false
|
||||
home_loaded?.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,8 +37,8 @@ class HomeViewModel : ViewModel() {
|
|||
private val _apiName = MutableLiveData<String>()
|
||||
val apiName: LiveData<String> = _apiName
|
||||
|
||||
private val _page = MutableLiveData<Resource<HomePageResponse>>()
|
||||
val page: LiveData<Resource<HomePageResponse>> = _page
|
||||
private val _page = MutableLiveData<Resource<HomePageResponse?>>()
|
||||
val page: LiveData<Resource<HomePageResponse?>> = _page
|
||||
|
||||
private val _randomItems = MutableLiveData<List<SearchResponse>?>(null)
|
||||
val randomItems: LiveData<List<SearchResponse>?> = _randomItems
|
||||
|
@ -154,7 +154,7 @@ class HomeViewModel : ViewModel() {
|
|||
when (data) {
|
||||
is Resource.Success -> {
|
||||
val home = data.value
|
||||
if (home.items.isNotEmpty()) {
|
||||
if (home?.items?.isNullOrEmpty() == false) {
|
||||
val currentList =
|
||||
home.items.shuffled().filter { !it.list.isNullOrEmpty() }.flatMap { it.list }
|
||||
.distinctBy { it.url }
|
||||
|
|
|
@ -357,7 +357,7 @@ class ResultFragment : Fragment() {
|
|||
var currentSubs: HashMap<String, SubtitleFile>? = null
|
||||
|
||||
val showTitle =
|
||||
episodeClick.data.name ?: getString(R.string.episode_name_format).format(
|
||||
episodeClick.data.name ?: context?.getString(R.string.episode_name_format)?.format(
|
||||
getString(R.string.episode),
|
||||
episodeClick.data.episode
|
||||
)
|
||||
|
@ -801,7 +801,7 @@ class ResultFragment : Fragment() {
|
|||
WatchType.values().map { fab.context.getString(it.stringRes) }.toList(),
|
||||
watchType.ordinal,
|
||||
fab.context.getString(R.string.action_add_to_bookmarks),
|
||||
showApply = true,
|
||||
showApply = false,
|
||||
{}) {
|
||||
viewModel.updateWatchStatus(fab.context, WatchType.values()[it])
|
||||
}
|
||||
|
|
|
@ -135,11 +135,38 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<!--
|
||||
<ProgressBar
|
||||
android:visibility="visible"
|
||||
tools:visibility="gone"
|
||||
android:id="@+id/download_loading"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="50dp" android:layout_height="50dp">
|
||||
</ProgressBar>
|
||||
</ProgressBar>-->
|
||||
|
||||
<com.facebook.shimmer.ShimmerFrameLayout
|
||||
android:id="@+id/download_loading"
|
||||
app:shimmer_base_alpha="0.2"
|
||||
app:shimmer_highlight_alpha="0.3"
|
||||
app:shimmer_duration="@integer/loading_time"
|
||||
app:shimmer_auto_start="true"
|
||||
android:paddingTop="40dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_marginStart="@dimen/loading_margin"
|
||||
android:layout_marginEnd="@dimen/loading_margin"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
<include layout="@layout/loading_downloads"/>
|
||||
</LinearLayout>
|
||||
</com.facebook.shimmer.ShimmerFrameLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -11,17 +11,81 @@
|
|||
|
||||
<FrameLayout
|
||||
android:visibility="gone"
|
||||
tools:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:id="@+id/home_loading"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<ProgressBar
|
||||
android:layout_gravity="center"
|
||||
android:visibility="visible"
|
||||
tools:visibility="visible"
|
||||
android:visibility="gone"
|
||||
tools:visibility="gone"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp">
|
||||
</ProgressBar>
|
||||
<com.facebook.shimmer.ShimmerFrameLayout
|
||||
android:id="@+id/home_loading_shimmer"
|
||||
app:shimmer_base_alpha="0.2"
|
||||
app:shimmer_highlight_alpha="0.3"
|
||||
app:shimmer_duration="@integer/loading_time"
|
||||
app:shimmer_auto_start="true"
|
||||
android:paddingTop="40dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<FrameLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_margin="@dimen/loading_margin"
|
||||
android:layout_gravity="center"
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
android:background="@color/grayShimmer"
|
||||
android:translationX="-164dp"
|
||||
android:layout_width="125dp"
|
||||
android:layout_height="200dp">
|
||||
</androidx.cardview.widget.CardView>
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_margin="@dimen/loading_margin"
|
||||
android:layout_gravity="center"
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
android:background="@color/grayShimmer"
|
||||
android:layout_width="148dp"
|
||||
android:layout_height="234dp">
|
||||
</androidx.cardview.widget.CardView>
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_margin="@dimen/loading_margin"
|
||||
android:layout_gravity="center"
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
android:background="@color/grayShimmer"
|
||||
android:translationX="164dp"
|
||||
android:layout_width="125dp"
|
||||
android:layout_height="200dp">
|
||||
</androidx.cardview.widget.CardView>
|
||||
</FrameLayout>
|
||||
<include layout="@layout/loading_line_short_center"/>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_marginTop="@dimen/result_padding"
|
||||
android:layout_marginStart="@dimen/result_padding"
|
||||
android:layout_marginEnd="@dimen/result_padding"
|
||||
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/loading_list"/>
|
||||
<include layout="@layout/loading_list"/>
|
||||
<include layout="@layout/loading_list"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</com.facebook.shimmer.ShimmerFrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/home_loading_statusbar"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -84,7 +148,7 @@
|
|||
</LinearLayout>
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:background="?attr/primaryBlackBackground"
|
||||
tools:visibility="visible"
|
||||
tools:visibility="gone"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/home_loaded"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -304,6 +368,7 @@
|
|||
</ImageView>
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:paddingHorizontal="5dp"
|
||||
android:clipToPadding="false"
|
||||
|
@ -315,6 +380,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
tools:listitem="@layout/home_result_grid"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -404,7 +470,6 @@
|
|||
android:contentDescription="@string/home_more_info">
|
||||
</ImageView>
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:paddingHorizontal="5dp"
|
||||
android:clipToPadding="false"
|
||||
|
|
|
@ -10,13 +10,59 @@
|
|||
android:focusable="true"
|
||||
>
|
||||
|
||||
<ProgressBar
|
||||
<com.facebook.shimmer.ShimmerFrameLayout
|
||||
tools:visibility="gone"
|
||||
app:shimmer_base_alpha="0.2"
|
||||
app:shimmer_highlight_alpha="0.3"
|
||||
app:shimmer_duration="@integer/loading_time"
|
||||
app:shimmer_auto_start="true"
|
||||
android:paddingTop="40dp"
|
||||
android:id="@+id/result_loading"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_margin="@dimen/result_padding"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:layout_marginBottom="@dimen/loading_margin"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<LinearLayout
|
||||
android:layout_marginStart="@dimen/loading_margin"
|
||||
android:layout_marginEnd="@dimen/loading_margin"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line_short"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView android:layout_width="match_parent" android:layout_height="20dp"
|
||||
tools:ignore="ContentDescription"/>
|
||||
<include layout="@layout/loading_episode"/>
|
||||
<include layout="@layout/loading_episode"/>
|
||||
<include layout="@layout/loading_episode"/>
|
||||
</LinearLayout>
|
||||
</com.facebook.shimmer.ShimmerFrameLayout>
|
||||
<!--<ProgressBar
|
||||
android:visibility="visible"
|
||||
tools:visibility="gone"
|
||||
android:id="@+id/result_loading"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="50dp" android:layout_height="50dp">
|
||||
</ProgressBar>
|
||||
</ProgressBar>-->
|
||||
<LinearLayout
|
||||
android:id="@+id/result_loading_error"
|
||||
|
||||
|
@ -201,9 +247,10 @@
|
|||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
<LinearLayout
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="@dimen/result_padding"
|
||||
android:layout_marginEnd="@dimen/result_padding"
|
||||
android:paddingStart="@dimen/result_padding"
|
||||
android:paddingEnd="@dimen/result_padding"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
|
@ -550,9 +597,8 @@
|
|||
</androidx.core.widget.ContentLoadingProgressBar>
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:descendantFocusability="afterDescendants"
|
||||
|
||||
android:id="@+id/result_episodes"
|
||||
|
||||
android:clipToPadding="false"
|
||||
android:layout_marginTop="0dp"
|
||||
android:paddingBottom="100dp"
|
||||
tools:listitem="@layout/result_episode"
|
||||
|
@ -565,7 +611,28 @@
|
|||
<LinearLayout
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:elevation="0dp"
|
||||
android:textStyle="bold"
|
||||
app:backgroundTint="?attr/primaryGrayBackground"
|
||||
app:tint="?attr/colorPrimary"
|
||||
android:textColor="?attr/colorPrimary"
|
||||
app:iconTint="?attr/colorPrimary"
|
||||
android:layout_margin="16dp"
|
||||
android:id="@+id/result_bookmark_fab"
|
||||
android:layout_gravity="end|bottom"
|
||||
app:icon="@drawable/ic_baseline_bookmark_24"
|
||||
android:textAllCaps="false"
|
||||
android:gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="ContentDescription">
|
||||
</com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton>
|
||||
<fragment
|
||||
app:customCastBackgroundColor="?attr/primaryBlackBackground"
|
||||
app:castControlButtons="@array/cast_mini_controller_control_buttons"
|
||||
|
@ -598,21 +665,5 @@
|
|||
android:foreground="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/search_poster_descript"/>
|
||||
</androidx.cardview.widget.CardView>-->
|
||||
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:elevation="0dp"
|
||||
android:textStyle="bold"
|
||||
app:backgroundTint="?attr/primaryGrayBackground"
|
||||
app:tint="?attr/colorPrimary"
|
||||
android:textColor="?attr/colorPrimary"
|
||||
app:iconTint="?attr/colorPrimary"
|
||||
android:layout_margin="16dp"
|
||||
android:id="@+id/result_bookmark_fab"
|
||||
android:layout_gravity="end|bottom"
|
||||
app:icon="@drawable/ic_baseline_bookmark_24"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="ContentDescription">
|
||||
</com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton>
|
||||
|
||||
</FrameLayout>
|
21
app/src/main/res/layout/loading_downloads.xml
Normal file
21
app/src/main/res/layout/loading_downloads.xml
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
android:paddingBottom="@dimen/loading_margin"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<include layout="@layout/loading_poster"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginStart="15dp"
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginEnd="50dp"
|
||||
android:layout_height="wrap_content">
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line_short"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
37
app/src/main/res/layout/loading_episode.xml
Normal file
37
app/src/main/res/layout/loading_episode.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
android:paddingTop="@dimen/loading_margin"
|
||||
android:paddingBottom="@dimen/loading_margin"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<LinearLayout
|
||||
android:layout_marginBottom="@dimen/loading_margin"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="horizontal"
|
||||
android:layout_height="wrap_content">
|
||||
<!--app:cardCornerRadius="@dimen/roundedImageRadius"-->
|
||||
<androidx.cardview.widget.CardView
|
||||
android:background="@color/grayShimmer"
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
android:layout_width="126dp"
|
||||
android:layout_height="72dp"
|
||||
android:foreground="@drawable/outline_drawable"
|
||||
>
|
||||
</androidx.cardview.widget.CardView>
|
||||
<LinearLayout
|
||||
android:layout_marginStart="15dp"
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginEnd="50dp"
|
||||
android:layout_height="wrap_content">
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line_short"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<include layout="@layout/loading_line"/>
|
||||
<include layout="@layout/loading_line"/>
|
||||
</LinearLayout>
|
11
app/src/main/res/layout/loading_line.xml
Normal file
11
app/src/main/res/layout/loading_line.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/loading_line_height"
|
||||
android:layout_marginBottom="@dimen/loading_margin"
|
||||
android:background="@color/grayShimmer"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
tools:ignore="ContentDescription"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"/>
|
11
app/src/main/res/layout/loading_line_short.xml
Normal file
11
app/src/main/res/layout/loading_line_short.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="@dimen/loading_line_height"
|
||||
android:layout_marginBottom="@dimen/loading_margin"
|
||||
android:background="@color/grayShimmer"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
tools:ignore="ContentDescription"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"/>
|
12
app/src/main/res/layout/loading_line_short_center.xml
Normal file
12
app/src/main/res/layout/loading_line_short_center.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="200dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_height="@dimen/loading_line_height"
|
||||
android:layout_marginBottom="@dimen/loading_margin"
|
||||
android:background="@color/grayShimmer"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
tools:ignore="ContentDescription"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"/>
|
31
app/src/main/res/layout/loading_list.xml
Normal file
31
app/src/main/res/layout/loading_list.xml
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="@dimen/loading_margin"
|
||||
android:paddingBottom="@dimen/loading_margin"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="200dp" android:layout_width="match_parent">
|
||||
<include layout="@layout/loading_line_short"/>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="match_parent" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
<View android:layout_height="wrap_content" android:layout_width="@dimen/loading_margin"/>
|
||||
<include layout="@layout/loading_poster"/>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
10
app/src/main/res/layout/loading_poster.xml
Normal file
10
app/src/main/res/layout/loading_poster.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.cardview.widget.CardView
|
||||
app:cardCornerRadius="@dimen/loading_radius"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="140dp"
|
||||
android:background="@color/grayShimmer"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
tools:ignore="ContentDescription"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"/>
|
|
@ -1,6 +1,7 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<!--Created by The Translator <https://play.google.com/store/apps/details?id=com.sunilpaulmathew.translator>-->
|
||||
|
||||
<!-- IS NOT NEEDED TO TRANSLATE AS THEY ARE ONLY USED FOR SCREEN READERS AND WONT SHOW UP TO NORMAL USERS -->
|
||||
<string name="result_poster_img_des">Poster</string>
|
||||
<string name="search_poster_img_des">@string/result_poster_img_des</string>
|
||||
<string name="episode_poster_img_des">Episode Poster</string>
|
||||
|
@ -9,15 +10,19 @@
|
|||
<string name="go_back_img_des">Go back</string>
|
||||
<string name="home_change_provider_img_des">Change Provider</string>
|
||||
<string name="preview_background_img_des">Preview Background</string>
|
||||
|
||||
<!-- TRANSLATE, BUT DON'T FORGET FORMAT -->
|
||||
<string name="player_speed_text_format" formatted="true">Velocidade (%.2fx)</string>
|
||||
<string name="rated_format" formatted="true">Classificado: %.1f</string>
|
||||
<string name="new_update_format" formatted="true">Nova atualização encontrada!\n%s -> %s</string>
|
||||
<string name="filler_format" formatted="true">(Cheio) %s</string>
|
||||
|
||||
<string name="app_name">CloudStream</string>
|
||||
<string name="title_home">Início</string>
|
||||
<string name="title_search">Buscar</string>
|
||||
<string name="title_downloads">Downloads</string>
|
||||
<string name="title_settings">Opções</string>
|
||||
|
||||
<string name="search_hint">Buscar…</string>
|
||||
<string name="no_data">Sem dados</string>
|
||||
<string name="episode_more_options_des">Mais Opções</string>
|
||||
|
@ -27,19 +32,23 @@
|
|||
<string name="result_open_in_browser">Abrir no Navegador</string>
|
||||
<string name="skip_loading">Saltar Carga</string>
|
||||
<string name="loading_chromecast">Cargando…</string>
|
||||
|
||||
<string name="type_watching">Assistindo</string>
|
||||
<string name="type_on_hold">Em espera</string>
|
||||
<string name="type_completed">Completado</string>
|
||||
<string name="type_dropped">Deixado</string>
|
||||
<string name="type_plan_to_watch">Planejando assistir</string>
|
||||
<string name="type_none">Nenhuma</string>
|
||||
<string name="type_re_watching">Assistindo de Novo</string>
|
||||
|
||||
<string name="play_movie_button">Assistir Filme</string>
|
||||
<string name="play_torrent_button">Stream Torrent</string>
|
||||
<string name="pick_source">Origems</string>
|
||||
<string name="pick_subtitle">Subtítulos</string>
|
||||
<string name="reload_error">Reintentar conexão…</string>
|
||||
<string name="result_go_back">Voltar atrás</string>
|
||||
<string name="play_episode">Reproduzir episódio</string>
|
||||
<string name="result_go_back">Voltar Atrás</string>
|
||||
<string name="play_episode">Assistir Episódio</string>
|
||||
|
||||
<string name="download">Descàrregar</string>
|
||||
<string name="downloaded">Descàrregado</string>
|
||||
<string name="downloading">Descàrregando</string>
|
||||
|
@ -48,14 +57,18 @@
|
|||
<string name="download_failed">Descàrrega Fallida</string>
|
||||
<string name="download_canceled">Descàrrega Cancelada</string>
|
||||
<string name="download_done">Descàrrega Terminada</string>
|
||||
|
||||
<string name="error_loading_links_toast">Error Cargando Links</string>
|
||||
<string name="download_storage_text">Armazenagem Interno</string>
|
||||
|
||||
<string name="app_dubbed_text">Dub</string>
|
||||
<string name="app_subbed_text">Sub</string>
|
||||
|
||||
<string name="popup_delete_file">Eliminar Arquivo</string>
|
||||
<string name="popup_play_file">Reproduzir Arquivo</string>
|
||||
<string name="popup_resume_download">Retomar Descàrrega</string>
|
||||
<string name="popup_pause_download">Pausar Descàrrega</string>
|
||||
|
||||
<string name="pref_disable_acra">Desativar o relatório automático de erros</string>
|
||||
<string name="home_more_info">Mais info</string>
|
||||
<string name="home_expanded_hide">Esconder</string>
|
||||
|
@ -67,6 +80,7 @@
|
|||
<string name="sort_apply">Aplicar</string>
|
||||
<string name="sort_cancel">Cancelar</string>
|
||||
<string name="player_speed">Velocidade do Reproductor</string>
|
||||
|
||||
<string name="subtitles_settings">Ajustes de Subtítulos</string>
|
||||
<string name="subs_text_color">Color do Texto</string>
|
||||
<string name="subs_outline_color">Color do Delineado</string>
|
||||
|
@ -76,22 +90,31 @@
|
|||
<string name="subs_subtitle_elevation">Elevação de Subtítulo</string>
|
||||
<string name="subs_font">Fonte</string>
|
||||
<string name="subs_font_size">Tamanho da Fonte</string>
|
||||
|
||||
<string name="search_provider_text_providers">Busca usando fornecedores</string>
|
||||
<string name="search_provider_text_types">Busca usando tipos</string>
|
||||
|
||||
<string name="benene_count_text">%d Benenes dadas a os devs</string>
|
||||
<string name="benene_count_text_none">Nenhum Benene dado</string>
|
||||
|
||||
<string name="subs_auto_select_language">Auto-seleção de Idioma</string>
|
||||
<string name="subs_download_languages">Descàrregar Idiomas</string>
|
||||
<string name="subs_hold_to_reset_to_default">Segure para reinicializar para o padrão</string>
|
||||
<string name="continue_watching">Continuar Assistindo</string>
|
||||
|
||||
<string name="action_remove_watching">Eliminar</string>
|
||||
<string name="action_open_watching">Mais Info</string>
|
||||
<string name="action_open_watching">Mais info</string>
|
||||
|
||||
<string name="vpn_might_be_needed">Uma VPN pode ser necessária para que este provedor funcione corretamente</string>
|
||||
<string name="vpn_torrent">Este provedor é uma torrent; uma VPN é recomendada</string>
|
||||
|
||||
<string name="provider_info_meta">Metadados não são fornecidos pelo site, o carregamento de vídeo pode falhar.</string>
|
||||
|
||||
<string name="torrent_plot">Descripção</string>
|
||||
<string name="normal_no_plot">Nenhuma Trama Encontrada</string>
|
||||
<string name="torrent_no_plot">Nenhuma Descripção Encontrada</string>
|
||||
<string name="picture_in_picture">Picture-in-picture</string>
|
||||
|
||||
<string name="picture_in_picture">Picture-em-picture</string>
|
||||
<string name="picture_in_picture_des">Continua a reprodução em um player em miniatura em cima de outros apps</string>
|
||||
<string name="player_size_settings">Botão de redimensionamento do player</string>
|
||||
<string name="player_size_settings_des">Tirar as bordas negras</string>
|
||||
|
@ -106,6 +129,7 @@
|
|||
<string name="double_tap_to_seek_settings">Duplo toque para buscar para frente</string>
|
||||
<string name="use_system_brightness_settings">Usar o brilho da sistema</string>
|
||||
<string name="use_system_brightness_settings_des">Usar o brilho da sistema em vez de uma sobreposição escura</string>
|
||||
|
||||
<string name="search">Buscar</string>
|
||||
<string name="settings_info">Info</string>
|
||||
<string name="advanced_search">Búsqueda Avançada</string>
|
||||
|
@ -122,23 +146,31 @@
|
|||
<string name="discord">Junte-se à Discord</string>
|
||||
<string name="benene">Dar um benene à os devs</string>
|
||||
<string name="benene_des">Benene dada</string>
|
||||
|
||||
<string name="app_language">Linguagem do App</string>
|
||||
|
||||
<string name="no_chomecast_support_toast">Este fornecedor não tem suporte para Chromecast</string>
|
||||
<string name="no_links_found_toast">Links Não Encontrados</string>
|
||||
<string name="copy_link_toast">Link copiado para a prancheta</string>
|
||||
<string name="play_episode_toast">Reproduzir episódio</string>
|
||||
<string name="subs_default_reset_toast">Reinicializar para o padrão</string>
|
||||
<string name="acra_report_toast">Desculpe, a aplicação falhou. Um relatório de erro anônimo será enviado para os
|
||||
desenvolvedores
|
||||
</string>
|
||||
|
||||
<string name="season">Temporada</string>
|
||||
<string name="no_season">Sem Temporada</string>
|
||||
<string name="episode">Episódio</string>
|
||||
<string name="episodes">Episódios</string>
|
||||
<string name="season_short">T</string>
|
||||
<string name="episode_short">E</string>
|
||||
|
||||
<string name="delete_file">Eliminar Arquivo</string>
|
||||
<string name="delete">Eliminar</string>
|
||||
<string name="pause">Pausar</string>
|
||||
<string name="resume">Retomar</string>
|
||||
<string name="delete_message">Isto apagarà %s permanentemente\nVocê tem certeza?</string>
|
||||
|
||||
<string name="status_ongoing">Em Curso</string>
|
||||
<string name="status_completed">Concluído</string>
|
||||
<string name="status">Estado</string>
|
||||
|
@ -147,22 +179,36 @@
|
|||
<string name="duration">Duração</string>
|
||||
<string name="site">Sitio</string>
|
||||
<string name="synopsis">Sinopsis</string>
|
||||
|
||||
<string name="queued">Em fila</string>
|
||||
<string name="no_subtitles">Não Há Subtítulos</string>
|
||||
<string name="default_subtitles">Por Padrão</string>
|
||||
|
||||
<string name="free_storage">Livre</string>
|
||||
<string name="used_storage">Usado</string>
|
||||
<string name="app_storage">App</string>
|
||||
|
||||
<!--plural-->
|
||||
<string name="movies">Filmes</string>
|
||||
<string name="tv_series">Séries de TV</string>
|
||||
<string name="cartoons">Desenhos animados</string>
|
||||
<string name="anime">Anime</string>
|
||||
<string name="torrent">Torrent</string>
|
||||
<string name="torrent">Torrentes</string>
|
||||
<string name="documentaries">Documentários</string>
|
||||
|
||||
<!--singular-->
|
||||
<string name="movies_singular">Filme</string>
|
||||
<string name="tv_series_singular">Sériado</string>
|
||||
<string name="cartoons_singular">Desenho animado</string>
|
||||
<string name="torrent_singular">Torrent</string>
|
||||
<string name="documentaries_singular">Documentário</string>
|
||||
|
||||
<string name="source_error">Erro de origem</string>
|
||||
<string name="remote_error">Erro remoto</string>
|
||||
<string name="render_error">Erro de Renderizador</string>
|
||||
<string name="unexpected_error">Erro inesperado do player reproductor</string>
|
||||
<string name="storage_error">Erro de descàrrega; verifica permissões de armazenamento</string>
|
||||
|
||||
<string name="episode_action_chomecast_episode">Chromecast o Episódio</string>
|
||||
<string name="episode_action_chomecast_mirror">Chromecast á o Espelho</string>
|
||||
<string name="episode_action_play_in_app">Assistir no App</string>
|
||||
|
@ -172,17 +218,79 @@
|
|||
<string name="episode_action_auto_download">Auto Descàrrega</string>
|
||||
<string name="episode_action_download_mirror">Descàrregar Espelho</string>
|
||||
<string name="episode_action_reload_links">Recarregar Links</string>
|
||||
|
||||
<string name="no_update_found">Nenhuma Atualização</string>
|
||||
<string name="check_for_update">Buscar Atualização</string>
|
||||
|
||||
<string name="video_lock">Fixar</string>
|
||||
<string name="video_aspect_ratio_resize">Mudar Tamanho</string>
|
||||
<string name="video_source">Origem</string>
|
||||
<string name="video_skip_op">Pular OP</string>
|
||||
|
||||
<string name="dont_show_again">Não mostra de novo</string>
|
||||
<string name="update">Atualizar</string>
|
||||
<string name="watch_quality_pref">Calidade Preferida</string>
|
||||
<string name="dns_pref">DNS sobre HTTPS</string>
|
||||
<string name="dns_pref_summary">Útil para contornar blocos do provedor de internet</string>
|
||||
|
||||
<string name="download_path_pref">Caminho de descarga</string>
|
||||
|
||||
<string name="display_subbed_dubbed_settings">Mostrar Anime Dublado/Subtítulado</string>
|
||||
|
||||
<string name="resize_fit">Ajustar para a Tela</string>
|
||||
<string name="resize_fill">Esticar</string>
|
||||
<string name="resize_zoom">Aumentar</string>
|
||||
|
||||
<string name="legal_notice">Aviso Legal</string>
|
||||
<string name="legal_notice_text" translatable="false">Quaisquer questões legais relativas ao conteúdo desta aplicação
|
||||
devem ser levados em conta com os próprios anfitriões e fornecedores de arquivos, pois não somos afiliados a eles.
|
||||
|
||||
Em caso de violação de direitos autorais, favor contatar diretamente as partes responsáveis ou os sites de streaming.
|
||||
|
||||
O aplicativo é puramente para uso educacional e pessoal.
|
||||
|
||||
O CloudStream 3 não hospeda nenhum conteúdo no aplicativo, e não tem controle sobre qual mídia é colocada ou retirada.
|
||||
O CloudStream 3 funciona como qualquer outro mecanismo de busca, como o Google. O CloudStream 3 não hospeda, não faz upload ou
|
||||
gerenciar qualquer vídeo, filme ou conteúdo. Ele simplesmente rasteja, agrega e exibe links em um conveniente,
|
||||
interface amigável para o usuário.
|
||||
|
||||
Ela apenas raspa sites de terceiros que podem ser acessados publicamente através de qualquer navegador web normal. É o
|
||||
responsabilidade do usuário de evitar qualquer ação que possa violar as leis que regem sua localidade. Utilizar
|
||||
CloudStream 3 por sua própria conta e risco.
|
||||
</string>
|
||||
<string name="general">Geral</string>
|
||||
<string name="provider_lang_settings">Idiomas dos Origems</string>
|
||||
<string name="app_layout">Layout do App</string>
|
||||
<string name="preferred_media_settings">Mídia preferida</string>
|
||||
|
||||
<string name="automatic">Auto</string>
|
||||
<string name="tv_layout">Layout de TV</string>
|
||||
<string name="phone_layout">Layout de Celular</string>
|
||||
|
||||
<string name="primary_color_settings">Cor Primária</string>
|
||||
<string name="app_theme_settings">Tema do App</string>
|
||||
|
||||
<!-- account stuff -->
|
||||
<string name="account">Conta</string>
|
||||
<string name="logout">Sair</string>
|
||||
<string name="login">Autenticar</string>
|
||||
<string name="switch_account">Mudar de conta</string>
|
||||
<string name="add_account">Adicionar conta</string>
|
||||
<!-- ============ -->
|
||||
<string name="none">Nenhuma</string>
|
||||
<string name="normal">Normal</string>
|
||||
<string name="all">Todos</string>
|
||||
<string name="max">Max</string>
|
||||
<string name="min">Min</string>
|
||||
<string name="subtitles_outline">Esboçado</string>
|
||||
<string name="subtitles_depressed">Deprimido</string>
|
||||
<string name="subtitles_shadow">Sombrado</string>
|
||||
<string name="subtitles_raised">Em Relevo</string>
|
||||
<!--
|
||||
Example text (pangram) can optionally be translated; if you do, include all the letters in the alphabet,
|
||||
see:
|
||||
https://en.wikipedia.org/w/index.php?title=Pangram&oldid=225849300
|
||||
https://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog
|
||||
-->
|
||||
<string name="subtitles_example_text">Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português</string>
|
||||
</resources>
|
|
@ -1,23 +1,28 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<!--Created by The Translator <https://play.google.com/store/apps/details?id=com.sunilpaulmathew.translator>-->
|
||||
|
||||
<string name="result_poster_img_des">Poster</string>
|
||||
<!-- IS NOT NEEDED TO TRANSLATE AS THEY ARE ONLY USED FOR SCREEN READERS AND WONT SHOW UP TO NORMAL USERS -->
|
||||
<string name="result_poster_img_des">Afiș</string>
|
||||
<string name="search_poster_img_des">@string/result_poster_img_des</string>
|
||||
<string name="episode_poster_img_des">Episode Poster</string>
|
||||
<string name="home_main_poster_img_des">Main Poster</string>
|
||||
<string name="home_next_random_img_des">Next Random</string>
|
||||
<string name="go_back_img_des">Go back</string>
|
||||
<string name="home_change_provider_img_des">Change Provider</string>
|
||||
<string name="preview_background_img_des">Preview Background</string>
|
||||
<string name="episode_poster_img_des">Afișul Episodului</string>
|
||||
<string name="home_main_poster_img_des">Afiș Principal</string>
|
||||
<string name="home_next_random_img_des">Următor Aleatoriu</string>
|
||||
<string name="go_back_img_des">Înapoi</string>
|
||||
<string name="home_change_provider_img_des">Schimbați furnizorul</string>
|
||||
<string name="preview_background_img_des">Previzualizare fundal</string>
|
||||
|
||||
<!-- TRANSLATE, BUT DON'T FORGET FORMAT -->
|
||||
<string name="player_speed_text_format" formatted="true">Viteză (%.2fx)</string>
|
||||
<string name="rated_format" formatted="true">Evaluat: %.1f</string>
|
||||
<string name="new_update_format" formatted="true">Noua actualizare găsită!\n%s -> %s</string>
|
||||
<string name="filler_format" formatted="true">(Umplut) %s</string>
|
||||
|
||||
<string name="app_name">CloudStream</string>
|
||||
<string name="title_home">Principal</string>
|
||||
<string name="title_search">Căutare</string>
|
||||
<string name="title_downloads">Descărcări</string>
|
||||
<string name="title_settings">Opțiuni</string>
|
||||
|
||||
<string name="search_hint">Căutare…</string>
|
||||
<string name="no_data">Fără date</string>
|
||||
<string name="episode_more_options_des">Mai Multe Opțiuni</string>
|
||||
|
@ -27,19 +32,23 @@
|
|||
<string name="result_open_in_browser">Deschideți în browser</string>
|
||||
<string name="skip_loading">Săriți încărcarea</string>
|
||||
<string name="loading_chromecast">Încărcare…</string>
|
||||
|
||||
<string name="type_watching">Urmărind</string>
|
||||
<string name="type_on_hold">În așteptare</string>
|
||||
<string name="type_completed">Finalizat</string>
|
||||
<string name="type_dropped">Renunțat</string>
|
||||
<string name="type_plan_to_watch">Planificare pentru a urmări</string>
|
||||
<string name="type_none">Niciunul</string>
|
||||
<string name="play_movie_button">Urmăriți filmul</string>
|
||||
<string name="type_re_watching">ReUrmare</string>
|
||||
|
||||
<string name="play_movie_button">Urmăriți Filmul</string>
|
||||
<string name="play_torrent_button">Stream Torrent</string>
|
||||
<string name="pick_source">Surse</string>
|
||||
<string name="pick_subtitle">Subtitrare</string>
|
||||
<string name="reload_error">Reîncercarea conexiunii…</string>
|
||||
<string name="result_go_back">Întoarce-te</string>
|
||||
<string name="play_episode">Redă episodul</string>
|
||||
|
||||
<string name="download">Descărcare</string>
|
||||
<string name="downloaded">Descărcat</string>
|
||||
<string name="downloading">Descărcând</string>
|
||||
|
@ -48,14 +57,18 @@
|
|||
<string name="download_failed">Descărcare Eșuată</string>
|
||||
<string name="download_canceled">Descărcare Anulată</string>
|
||||
<string name="download_done">Descărcare Finalizată</string>
|
||||
|
||||
<string name="error_loading_links_toast">Eroare de Încărcare a Linkurilor</string>
|
||||
<string name="download_storage_text">Memorie Internă</string>
|
||||
|
||||
<string name="app_dubbed_text">Dub</string>
|
||||
<string name="app_subbed_text">Sub</string>
|
||||
|
||||
<string name="popup_delete_file">Șterge Fișierul</string>
|
||||
<string name="popup_play_file">Redare Fișierul</string>
|
||||
<string name="popup_resume_download">Continuați Descărcarea</string>
|
||||
<string name="popup_pause_download">Pauză Descărcare</string>
|
||||
|
||||
<string name="pref_disable_acra">Dezactivați raportarea automată a erorilor</string>
|
||||
<string name="home_more_info">Mai multe info</string>
|
||||
<string name="home_expanded_hide">Ascunde</string>
|
||||
|
@ -67,6 +80,7 @@
|
|||
<string name="sort_apply">Aplicați</string>
|
||||
<string name="sort_cancel">Anulați</string>
|
||||
<string name="player_speed">Viteza de Redare</string>
|
||||
|
||||
<string name="subtitles_settings">Opțiuni de Subtitrare</string>
|
||||
<string name="subs_text_color">Culoarea Textului</string>
|
||||
<string name="subs_outline_color">Culoarea Conturului</string>
|
||||
|
@ -76,21 +90,30 @@
|
|||
<string name="subs_subtitle_elevation">Elevația Subtitrărilor</string>
|
||||
<string name="subs_font">Fontul</string>
|
||||
<string name="subs_font_size">Dimensiunea Fontului</string>
|
||||
|
||||
<string name="search_provider_text_providers">Căutare cu ajutorul furnizorilor</string>
|
||||
<string name="search_provider_text_types">Căutare utilizând tipuri</string>
|
||||
<string name="benene_count_text">%d Benenes date la dezvii</string>
|
||||
|
||||
<string name="benene_count_text">%d Benenes date la dezvoltatorilor</string>
|
||||
<string name="benene_count_text_none">Fără Beneni administrați</string>
|
||||
|
||||
<string name="subs_auto_select_language">Auto-selectare Limbă</string>
|
||||
<string name="subs_download_languages">Descărcați Limbi</string>
|
||||
<string name="subs_hold_to_reset_to_default">Țineți apăsat pentru a reseta la valorile implicite</string>
|
||||
<string name="continue_watching">Continuă să Urmărești</string>
|
||||
|
||||
<string name="action_remove_watching">Eliminați</string>
|
||||
<string name="action_open_watching">Mai Multe Info</string>
|
||||
|
||||
<string name="vpn_might_be_needed">Este posibil să fie necesar un VPN pentru ca acest furnizor să funcționeze corect</string>
|
||||
<string name="vpn_torrent">Acest furnizor este un torrent, se recomandă un VPN</string>
|
||||
|
||||
<string name="provider_info_meta">Metadatele nu sunt furnizate de site, este posibil ca încărcarea videoclipului să eșueze.</string>
|
||||
|
||||
<string name="torrent_plot">Descriere</string>
|
||||
<string name="normal_no_plot">Nici o Parcelă Găsită</string>
|
||||
<string name="torrent_no_plot">Nicio Descriere Găsită</string>
|
||||
|
||||
<string name="picture_in_picture">Picture-in-picture</string>
|
||||
<string name="picture_in_picture_des">Continuă redarea într-un player în miniatură deasupra altor aplicații</string>
|
||||
<string name="player_size_settings">Butonul de Redimensionare a Playerului</string>
|
||||
|
@ -106,6 +129,7 @@
|
|||
<string name="double_tap_to_seek_settings">Atingeți dublu pentru a căuta</string>
|
||||
<string name="use_system_brightness_settings">Utilizați luminozitatea sistemului</string>
|
||||
<string name="use_system_brightness_settings_des">Utilizați luminozitatea sistemului în playerul aplicației în loc de o suprapunere întunecată</string>
|
||||
|
||||
<string name="search">Căutare</string>
|
||||
<string name="settings_info">Info</string>
|
||||
<string name="advanced_search">Căutare Avansată</string>
|
||||
|
@ -118,27 +142,36 @@
|
|||
<string name="uprereleases_settings">Actualizare la pre-lansări</string>
|
||||
<string name="uprereleases_settings_des">Căutați doar actualizări de pre-lansare în loc de versiuni complete</string>
|
||||
<string name="github">Github</string>
|
||||
<string name="lightnovel">Aplicația light novel de către aceiași dezvii</string>
|
||||
<string name="lightnovel">Aplicația light novel de către aceiași dezvoltatorilor</string>
|
||||
<string name="anim">Aplicație anime de aceiași dezvoltatorilor</string>
|
||||
<string name="discord">Alăturați-vă Discord</string>
|
||||
<string name="benene">Dați un benene pentru dezvii</string>
|
||||
<string name="benene">Dați un benene pentru dezvoltatorilor</string>
|
||||
<string name="benene_des">Benene dat</string>
|
||||
|
||||
<string name="app_language">Limba Aplicației</string>
|
||||
|
||||
<string name="no_chomecast_support_toast">Acest furnizor nu are suport pentru Chromecast</string>
|
||||
<string name="no_links_found_toast">Niciun Link Găsit</string>
|
||||
<string name="copy_link_toast">Link copiat în clipboard</string>
|
||||
<string name="play_episode_toast">Redă episodul</string>
|
||||
<string name="subs_default_reset_toast">Resetarea la valoarea implicită</string>
|
||||
<string name="acra_report_toast">Ne pare rău, aplicația s-a blocat. Un raport de eroare anonim va fi trimis la
|
||||
dezvoltatorilor
|
||||
</string>
|
||||
|
||||
<string name="season">Sezonul</string>
|
||||
<string name="no_season">Fără Sezon</string>
|
||||
<string name="episode">Episodul</string>
|
||||
<string name="episodes">Episoade</string>
|
||||
<string name="season_short">S</string>
|
||||
<string name="episode_short">E</string>
|
||||
|
||||
<string name="delete_file">Șterge Fișierul</string>
|
||||
<string name="delete">Șterge</string>
|
||||
<string name="pause">Pauză</string>
|
||||
<string name="resume">Continuarea</string>
|
||||
<string name="delete_message">Acest lucru va șterge definitiv %s\nEști sigur?</string>
|
||||
|
||||
<string name="status_ongoing">În Curs </string>
|
||||
<string name="status_completed">Încheiat</string>
|
||||
<string name="status">Status</string>
|
||||
|
@ -147,22 +180,36 @@
|
|||
<string name="duration">Durată</string>
|
||||
<string name="site">Site-ul</string>
|
||||
<string name="synopsis">Sinopsis</string>
|
||||
|
||||
<string name="queued">În coadă</string>
|
||||
<string name="no_subtitles">Fără Subtitrări</string>
|
||||
<string name="default_subtitles">Implicit</string>
|
||||
|
||||
<string name="free_storage">Liberă</string>
|
||||
<string name="used_storage">Utilizată</string>
|
||||
<string name="app_storage">Aplicație</string>
|
||||
|
||||
<!--plural-->
|
||||
<string name="movies">Filme</string>
|
||||
<string name="tv_series">Serial TV</string>
|
||||
<string name="cartoons">Caricaturi</string>
|
||||
<string name="anime">Anime</string>
|
||||
<string name="torrent">Torrent</string>
|
||||
<string name="documentaries">Filme Documentare</string>
|
||||
|
||||
<!--singular-->
|
||||
<string name="movies_singular">Filmul</string>
|
||||
<string name="tv_series_singular">Serie</string>
|
||||
<string name="cartoons_singular">Caricatur</string>
|
||||
<string name="torrent_singular">Torrent</string>
|
||||
<string name="documentaries_singular">Documentar</string>
|
||||
|
||||
<string name="source_error">Eroare de sursă</string>
|
||||
<string name="remote_error">Eroare de telecomandă</string>
|
||||
<string name="render_error">Eroare de randare</string>
|
||||
<string name="unexpected_error">Eroare neașteptată a playerului</string>
|
||||
<string name="storage_error">Eroare de descărcare; verificați permisiunile de stocare</string>
|
||||
|
||||
<string name="episode_action_chomecast_episode">Chromecast Acest Episod</string>
|
||||
<string name="episode_action_chomecast_mirror">Chromecast Acest Oglindă</string>
|
||||
<string name="episode_action_play_in_app">Redă în Aplicație</string>
|
||||
|
@ -172,17 +219,79 @@
|
|||
<string name="episode_action_auto_download">Auto-descărcare</string>
|
||||
<string name="episode_action_download_mirror">Descărcare Oglindă</string>
|
||||
<string name="episode_action_reload_links">Reîncărcare Link-uri</string>
|
||||
|
||||
<string name="no_update_found">Nicio Actualizare Găsită</string>
|
||||
<string name="check_for_update">Verificați dacă există Actualizări</string>
|
||||
|
||||
<string name="video_lock">Blocare</string>
|
||||
<string name="video_aspect_ratio_resize">Redimensionați</string>
|
||||
<string name="video_source">Sursă</string>
|
||||
<string name="video_skip_op">Săriți OP</string>
|
||||
|
||||
<string name="dont_show_again">Nu mai apare din nou</string>
|
||||
<string name="update">Actualizare</string>
|
||||
<string name="watch_quality_pref">Calitatea Preferată</string>
|
||||
<string name="dns_pref">DNS prin HTTPS</string>
|
||||
<string name="dns_pref_summary">Util pentru ocolirea blocurilor ISP</string>
|
||||
|
||||
<string name="download_path_pref">Calea de descărcare</string>
|
||||
|
||||
<string name="display_subbed_dubbed_settings">Afișarea Anime-ului Dublat/Subtitrat</string>
|
||||
|
||||
<string name="resize_fit">Se Potrivesc la Ecran</string>
|
||||
<string name="resize_fill">Întindere</string>
|
||||
<string name="resize_zoom">Mărire</string>
|
||||
|
||||
<string name="legal_notice">Renunțare de responsabilitate</string>
|
||||
<string name="legal_notice_text">Orice probleme juridice legate de conținutul acestei aplicații
|
||||
ar trebui să fie rezolvate cu gazdele și furnizorii de fișiere, deoarece noi nu suntem afiliați cu aceștia.
|
||||
|
||||
În caz de încălcare a drepturilor de autor, vă rugăm să contactați direct părțile responsabile sau site-urile de streaming.
|
||||
|
||||
Aplicația este destinată exclusiv utilizării educaționale și personale.
|
||||
|
||||
CloudStream 3 nu găzduiește niciun fel de conținut în aplicație și nu are niciun control asupra conținutului media care este pus sau retras.
|
||||
CloudStream 3 funcționează ca orice alt motor de căutare, cum ar fi Google. CloudStream 3 nu găzduiește, nu încarcă sau
|
||||
gestionează niciun videoclip, film sau conținut. Pur și simplu răscolește, agregă și afișează link-uri într-un mod convenabil,
|
||||
interfață convenabilă și ușor de utilizat.
|
||||
|
||||
Pur și simplu, acesta extrage site-urile web ale unor terțe părți care sunt accesibile publicului prin intermediul oricărui browser web obișnuit. Este
|
||||
responsabilitatea utilizatorului de a evita orice acțiune care ar putea încălca legile care guvernează localitatea sa. Utilizați
|
||||
CloudStream 3 pe propriul risc.
|
||||
</string>
|
||||
<string name="general">Generală</string>
|
||||
<string name="provider_lang_settings">Limbile Furnizorului</string>
|
||||
<string name="app_layout">Aranjament-ul Aplicației</string>
|
||||
<string name="preferred_media_settings">Media Preferată</string>
|
||||
|
||||
<string name="automatic">Auto</string>
|
||||
<string name="tv_layout">Aranjament TV</string>
|
||||
<string name="phone_layout">Aranjament Telefonului</string>
|
||||
|
||||
<string name="primary_color_settings">Culoare primară</string>
|
||||
<string name="app_theme_settings">Tema Aplicației</string>
|
||||
|
||||
<!-- account stuff -->
|
||||
<string name="account">contul</string>
|
||||
<string name="logout">Ieșire</string>
|
||||
<string name="login">Conectare</string>
|
||||
<string name="switch_account">Schimbați contul</string>
|
||||
<string name="add_account">Adăugați contul</string>
|
||||
<!-- ============ -->
|
||||
<string name="none">Niciunul</string>
|
||||
<string name="normal">Normală</string>
|
||||
<string name="all">Toate</string>
|
||||
<string name="max">Max</string>
|
||||
<string name="min">Min</string>
|
||||
<string name="subtitles_outline">Contur</string>
|
||||
<string name="subtitles_depressed">Deprimată</string>
|
||||
<string name="subtitles_shadow">Umbră</string>
|
||||
<string name="subtitles_raised">În relief</string>
|
||||
<!--
|
||||
Example text (pangram) can optionally be translated; if you do, include all the letters in the alphabet,
|
||||
see:
|
||||
https://en.wikipedia.org/w/index.php?title=Pangram&oldid=225849300
|
||||
https://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog
|
||||
-->
|
||||
<string name="subtitles_example_text">Gheorghe, obezul, a reuşit să obţină jucându-se un flux în Quebec de o mie kilowaţioră</string>
|
||||
</resources>
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
<color name="textColor">#e9eaee</color> <!--FFF-->
|
||||
<color name="grayTextColor">#9ba0a4</color> <!-- 5e5f62-->
|
||||
<color name="grayShimmer">#DCDCDC</color> <!-- 5e5f62-->
|
||||
|
||||
<color name="searchColorTransparent">#1AFFFFFF</color> <!--DADADA-->
|
||||
<color name="transparent">#00000000</color>
|
||||
|
|
|
@ -6,4 +6,10 @@
|
|||
<dimen name="navbar_height">0dp</dimen>
|
||||
<dimen name="card_corner_radius">2dp</dimen>
|
||||
<dimen name="result_padding">15dp</dimen>
|
||||
|
||||
<dimen name="loading_line_height">15dp</dimen>
|
||||
<dimen name="loading_radius">3dp</dimen>
|
||||
<dimen name="loading_margin">15dp</dimen>
|
||||
|
||||
<integer name="loading_time">2000</integer>
|
||||
</resources>
|
|
@ -145,7 +145,7 @@
|
|||
<string name="benene_count_text">%d Benenes given to devs</string>
|
||||
<string name="benene_count_text_none">No Benenes given</string>
|
||||
|
||||
<string name="subs_auto_select_language">Auto Select Language</string>
|
||||
<string name="subs_auto_select_language">Auto-Select Language</string>
|
||||
<string name="subs_download_languages">Download Languages</string>
|
||||
<string name="subs_hold_to_reset_to_default">Hold to reset to default</string>
|
||||
<string name="continue_watching">Continue Watching</string>
|
||||
|
@ -169,7 +169,7 @@
|
|||
<string name="player_subtitles_settings">Subtitles</string>
|
||||
<string name="player_subtitles_settings_des">Player subtitles settings</string>
|
||||
<string name="eigengraumode_settings">Eigengravy Mode</string>
|
||||
<string name="eigengraumode_settings_des">Adds the speed option in the player</string>
|
||||
<string name="eigengraumode_settings_des">Adds a speed option in the player</string>
|
||||
<string name="swipe_to_seek_settings">Swipe to seek</string>
|
||||
<string name="swipe_to_seek_settings_des">Swipe left or right to control time in the videoplayer</string>
|
||||
<string name="swipe_to_change_settings">Swipe to change settings</string>
|
||||
|
@ -178,7 +178,7 @@
|
|||
<string name="double_tap_to_seek_settings_des">Tap twice on the right or left side to seek forwards or backwards
|
||||
</string>
|
||||
<string name="use_system_brightness_settings">Use system brightness</string>
|
||||
<string name="use_system_brightness_settings_des">Use system brightness in the app player instead of an dark
|
||||
<string name="use_system_brightness_settings_des">Use system brightness in the app player instead of a dark
|
||||
overlay
|
||||
</string>
|
||||
|
||||
|
@ -202,7 +202,7 @@
|
|||
|
||||
<string name="app_language">App Language</string>
|
||||
|
||||
<string name="no_chomecast_support_toast">This provider has no chromecast support</string>
|
||||
<string name="no_chomecast_support_toast">This provider has no Chromecast support</string>
|
||||
<string name="no_links_found_toast">No Links Found</string>
|
||||
<string name="copy_link_toast">Link copied to clipboard</string>
|
||||
<string name="play_episode_toast">Play Episode</string>
|
||||
|
@ -244,18 +244,18 @@
|
|||
|
||||
<!--plural-->
|
||||
<string name="movies">Movies</string>
|
||||
<string name="tv_series">TvSeries</string>
|
||||
<string name="tv_series">TV Series</string>
|
||||
<string name="cartoons">Cartoons</string>
|
||||
<string name="anime">Anime</string>
|
||||
<string name="torrent">Torrent</string>
|
||||
<string name="torrent">Torrents</string>
|
||||
<string name="documentaries">Documentaries</string>
|
||||
|
||||
<!--singular-->
|
||||
<string name="movies_singular">@string/movies</string>
|
||||
<string name="movies_singular">Movie</string>
|
||||
<string name="tv_series_singular">Series</string>
|
||||
<string name="cartoons_singular">Cartoon</string>
|
||||
<string name="anime_singular">@string/anime</string>
|
||||
<string name="torrent_singular">@string/torrent</string>
|
||||
<string name="torrent_singular">Torrent</string>
|
||||
<string name="documentaries_singular">Documentary</string>
|
||||
|
||||
<string name="source_error">Source error</string>
|
||||
|
@ -320,7 +320,7 @@
|
|||
<string name="preferred_media_settings">Preferred Media</string>
|
||||
|
||||
<string name="automatic">Auto</string>
|
||||
<string name="tv_layout">Tv Layout</string>
|
||||
<string name="tv_layout">TV Layout</string>
|
||||
<string name="phone_layout">Phone Layout</string>
|
||||
|
||||
<string name="primary_color_settings">Primary Color</string>
|
||||
|
@ -355,8 +355,10 @@
|
|||
<string name="subtitles_shadow">Shadow</string>
|
||||
<string name="subtitles_raised">Raised</string>
|
||||
<!--
|
||||
Example text does not need to be translated and if you do translate include all the letters in the alphabet,
|
||||
see https://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog
|
||||
Example text (pangram) can optionally be translated; if you do, include all the letters in the alphabet,
|
||||
see:
|
||||
https://en.wikipedia.org/w/index.php?title=Pangram&oldid=225849300
|
||||
https://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog
|
||||
-->
|
||||
<string name="subtitles_example_text">The quick brown fox jumps over the lazy dog</string>
|
||||
</resources>
|
||||
|
|
|
@ -315,7 +315,10 @@
|
|||
<item name="strokeColor">@color/toggle_button_outline</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">45dp</item>
|
||||
<item name="android:padding">0dp</item>
|
||||
<item name="android:paddingTop">0dp</item>
|
||||
<item name="android:paddingBottom">0dp</item>
|
||||
<item name="android:paddingStart">10dp</item>
|
||||
<item name="android:paddingEnd">10dp</item>
|
||||
<!--<item name="android:layout_marginStart">10dp</item>-->
|
||||
<item name="android:layout_marginEnd">5dp</item>
|
||||
<item name="textAllCaps">false</item>
|
||||
|
|
Loading…
Reference in a new issue