diff --git a/app/build.gradle b/app/build.gradle index 0d333882..b0f62af9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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' } \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt index 7680abe2..99884f36 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/APIRepository.kt @@ -47,7 +47,7 @@ class APIRepository(val api: MainAPI) { } } - suspend fun getMainPage(): Resource { + suspend fun getMainPage(): Resource { return safeApiCall { api.getMainPage() ?: throw ErrorLoadingException() } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt index f201d6c0..b7521193 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeFragment.kt @@ -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 } } } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt index 10435b59..ff8a63db 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeViewModel.kt @@ -37,8 +37,8 @@ class HomeViewModel : ViewModel() { private val _apiName = MutableLiveData() val apiName: LiveData = _apiName - private val _page = MutableLiveData>() - val page: LiveData> = _page + private val _page = MutableLiveData>() + val page: LiveData> = _page private val _randomItems = MutableLiveData?>(null) val randomItems: LiveData?> = _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 } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt index cea841c1..f6f9b876 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt @@ -357,7 +357,7 @@ class ResultFragment : Fragment() { var currentSubs: HashMap? = 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]) } diff --git a/app/src/main/res/layout/fragment_downloads.xml b/app/src/main/res/layout/fragment_downloads.xml index b29bfb33..1091177f 100644 --- a/app/src/main/res/layout/fragment_downloads.xml +++ b/app/src/main/res/layout/fragment_downloads.xml @@ -135,11 +135,38 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"/> + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 030274d8..b524d4fc 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -11,17 +11,81 @@ + + + + + + + + + + + + + + + + + + + + + - + + + - - + + + + + + + + + + + + + + + + + + + + + android:layout_height="wrap_content" + android:orientation="vertical" + > + + --> - - + \ No newline at end of file diff --git a/app/src/main/res/layout/loading_downloads.xml b/app/src/main/res/layout/loading_downloads.xml new file mode 100644 index 00000000..bcd8df89 --- /dev/null +++ b/app/src/main/res/layout/loading_downloads.xml @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/loading_episode.xml b/app/src/main/res/layout/loading_episode.xml new file mode 100644 index 00000000..062c3975 --- /dev/null +++ b/app/src/main/res/layout/loading_episode.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/loading_line.xml b/app/src/main/res/layout/loading_line.xml new file mode 100644 index 00000000..9d43b4e6 --- /dev/null +++ b/app/src/main/res/layout/loading_line.xml @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/loading_line_short.xml b/app/src/main/res/layout/loading_line_short.xml new file mode 100644 index 00000000..620cf84f --- /dev/null +++ b/app/src/main/res/layout/loading_line_short.xml @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/loading_line_short_center.xml b/app/src/main/res/layout/loading_line_short_center.xml new file mode 100644 index 00000000..49340ab9 --- /dev/null +++ b/app/src/main/res/layout/loading_line_short_center.xml @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/loading_list.xml b/app/src/main/res/layout/loading_list.xml new file mode 100644 index 00000000..29478930 --- /dev/null +++ b/app/src/main/res/layout/loading_list.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/loading_poster.xml b/app/src/main/res/layout/loading_poster.xml new file mode 100644 index 00000000..1248eddc --- /dev/null +++ b/app/src/main/res/layout/loading_poster.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values-pt/strings-pt.xml b/app/src/main/res/values-pt/strings-pt.xml index f1fb3aab..f7b8ffcf 100644 --- a/app/src/main/res/values-pt/strings-pt.xml +++ b/app/src/main/res/values-pt/strings-pt.xml @@ -1,188 +1,296 @@ + Poster - @string/result_poster_img_des - Episode Poster - Main Poster - Next Random - Go back - Change Provider - Preview Background - Velocidade (%.2fx) - Classificado: %.1f - Nova atualização encontrada!\n%s -> %s - (Cheio) %s - CloudStream - Início - Buscar - Downloads - Opções - Buscar… - Sem dados - Mais Opções - Próximo episódio - Gêneros - Compartir - Abrir no Navegador - Saltar Carga - Cargando… - Assistindo - Em espera - Completado - Deixado - Planejando assistir - Nenhuma - Assistir Filme - Stream Torrent - Origems - Subtítulos - Reintentar conexão… - Voltar atrás - Reproduzir episódio - Descàrregar - Descàrregado - Descàrregando - Descàrrega Pausada - Descàrrega Iniciada - Descàrrega Fallida - Descàrrega Cancelada - Descàrrega Terminada - Error Cargando Links - Armazenagem Interno - Dub - Sub - Eliminar Arquivo - Reproduzir Arquivo - Retomar Descàrrega - Pausar Descàrrega - Desativar o relatório automático de erros - Mais info - Esconder - Reproduzir - Info - Filtrar Marcadores - Marcadores - Eliminar - Aplicar - Cancelar - Velocidade do Reproductor - Ajustes de Subtítulos - Color do Texto - Color do Delineado - Color do Fondo - Color da Janela - Tipo de Borda - Elevação de Subtítulo - Fonte - Tamanho da Fonte - Busca usando fornecedores - Busca usando tipos - %d Benenes dadas a os devs - Nenhum Benene dado - Auto-seleção de Idioma - Descàrregar Idiomas - Segure para reinicializar para o padrão - Continuar Assistindo - Eliminar - Mais Info - Uma VPN pode ser necessária para que este provedor funcione corretamente - Este provedor é uma torrent; uma VPN é recomendada - Descripção - Nenhuma Trama Encontrada - Nenhuma Descripção Encontrada - Picture-in-picture - Continua a reprodução em um player em miniatura em cima de outros apps - Botão de redimensionamento do player - Tirar as bordas negras - Subtítulos - Configurações de subtítulos do Player - Modo Eigengravy - Adiciona um botão de velocidade no player - Deslize para buscar para frente - Deslize para a esq. ou dir. para controlar o tempo no player - Deslize para mudar as configurações - Deslize para o lado esq. ou dir. para ajustar brilho ou volume - Duplo toque para buscar para frente - Usar o brilho da sistema - Usar o brilho da sistema em vez de uma sobreposição escura - Buscar - Info - Búsqueda Avançada - Mostra resultados da busca separados por fornecedor - Só envia dados sobre travamentos - Não envia nenhum dado - Mostrar episódios de enchimento para anime - Mostrar actualizações do app - Busca novas actualizações à iniciar - Actualizar à Pré-lançamentos - Busca actualizações pré-lançamento em vez de só lançamentos completos - Github - App light novel por os mesmos devs - Junte-se à Discord - Dar um benene à os devs - Benene dada - Linguagem do App - Este fornecedor não tem suporte para Chromecast - Links Não Encontrados - Link copiado para a prancheta - Reproduzir episódio - Reinicializar para o padrão - Temporada - Sem Temporada - Episódio - Episódios - T - E - Eliminar Arquivo - Eliminar - Pausar - Retomar - Isto apagarà %s permanentemente\nVocê tem certeza? - Em Curso - Concluído - Estado - Ano - Classificação - Duração - Sitio - Sinopsis - Em fila - Não Há Subtítulos - Por Padrão - Livre - Usado - App - Filmes - Séries de TV - Desenhos animados - Anime - Torrent - Erro de origem - Erro remoto - Erro de Renderizador - Erro inesperado do player reproductor - Erro de descàrrega; verifica permissões de armazenamento - Chromecast o Episódio - Chromecast á o Espelho - Assistir no App - Assistir no VLC - Assistir no Navegador - Copiar Link - Auto Descàrrega - Descàrregar Espelho - Recarregar Links - Nenhuma Atualização - Buscar Atualização - Fixar - Mudar Tamanho - Origem - Pular OP - Não mostra de novo - Atualizar - Calidade Preferida - Mostrar Anime Dublado/Subtítulado - Ajustar para a Tela - Esticar - Aumentar + @string/result_poster_img_des + Episode Poster + Main Poster + Next Random + Go back + Change Provider + Preview Background + + + Velocidade (%.2fx) + Classificado: %.1f + Nova atualização encontrada!\n%s -> %s + (Cheio) %s + + CloudStream + Início + Buscar + Downloads + Opções + + Buscar… + Sem dados + Mais Opções + Próximo episódio + Gêneros + Compartir + Abrir no Navegador + Saltar Carga + Cargando… + + Assistindo + Em espera + Completado + Deixado + Planejando assistir + Nenhuma + Assistindo de Novo + + Assistir Filme + Stream Torrent + Origems + Subtítulos + Reintentar conexão… + Voltar Atrás + Assistir Episódio + + Descàrregar + Descàrregado + Descàrregando + Descàrrega Pausada + Descàrrega Iniciada + Descàrrega Fallida + Descàrrega Cancelada + Descàrrega Terminada + + Error Cargando Links + Armazenagem Interno + + Dub + Sub + + Eliminar Arquivo + Reproduzir Arquivo + Retomar Descàrrega + Pausar Descàrrega + + Desativar o relatório automático de erros + Mais info + Esconder + Reproduzir + Info + Filtrar Marcadores + Marcadores + Eliminar + Aplicar + Cancelar + Velocidade do Reproductor + + Ajustes de Subtítulos + Color do Texto + Color do Delineado + Color do Fondo + Color da Janela + Tipo de Borda + Elevação de Subtítulo + Fonte + Tamanho da Fonte + + Busca usando fornecedores + Busca usando tipos + + %d Benenes dadas a os devs + Nenhum Benene dado + + Auto-seleção de Idioma + Descàrregar Idiomas + Segure para reinicializar para o padrão + Continuar Assistindo + + Eliminar + Mais info + + Uma VPN pode ser necessária para que este provedor funcione corretamente + Este provedor é uma torrent; uma VPN é recomendada + + Metadados não são fornecidos pelo site, o carregamento de vídeo pode falhar. + + Descripção + Nenhuma Trama Encontrada + Nenhuma Descripção Encontrada + + Picture-em-picture + Continua a reprodução em um player em miniatura em cima de outros apps + Botão de redimensionamento do player + Tirar as bordas negras + Subtítulos + Configurações de subtítulos do Player + Modo Eigengravy + Adiciona um botão de velocidade no player + Deslize para buscar para frente + Deslize para a esq. ou dir. para controlar o tempo no player + Deslize para mudar as configurações + Deslize para o lado esq. ou dir. para ajustar brilho ou volume + Duplo toque para buscar para frente + Usar o brilho da sistema + Usar o brilho da sistema em vez de uma sobreposição escura + + Buscar + Info + Búsqueda Avançada + Mostra resultados da busca separados por fornecedor + Só envia dados sobre travamentos + Não envia nenhum dado + Mostrar episódios de enchimento para anime + Mostrar actualizações do app + Busca novas actualizações à iniciar + Actualizar à Pré-lançamentos + Busca actualizações pré-lançamento em vez de só lançamentos completos + Github + App light novel por os mesmos devs + Junte-se à Discord + Dar um benene à os devs + Benene dada + + Linguagem do App + + Este fornecedor não tem suporte para Chromecast + Links Não Encontrados + Link copiado para a prancheta + Reproduzir episódio + Reinicializar para o padrão + Desculpe, a aplicação falhou. Um relatório de erro anônimo será enviado para os + desenvolvedores + + + Temporada + Sem Temporada + Episódio + Episódios + T + E + + Eliminar Arquivo + Eliminar + Pausar + Retomar + Isto apagarà %s permanentemente\nVocê tem certeza? + + Em Curso + Concluído + Estado + Ano + Classificação + Duração + Sitio + Sinopsis + + Em fila + Não Há Subtítulos + Por Padrão + + Livre + Usado + App + + + Filmes + Séries de TV + Desenhos animados + Anime + Torrentes + Documentários + + + Filme + Sériado + Desenho animado + Torrent + Documentário + + Erro de origem + Erro remoto + Erro de Renderizador + Erro inesperado do player reproductor + Erro de descàrrega; verifica permissões de armazenamento + + Chromecast o Episódio + Chromecast á o Espelho + Assistir no App + Assistir no VLC + Assistir no Navegador + Copiar Link + Auto Descàrrega + Descàrregar Espelho + Recarregar Links + + Nenhuma Atualização + Buscar Atualização + + Fixar + Mudar Tamanho + Origem + Pular OP + + Não mostra de novo + Atualizar + Calidade Preferida + DNS sobre HTTPS + Útil para contornar blocos do provedor de internet + + Caminho de descarga + + Mostrar Anime Dublado/Subtítulado + + Ajustar para a Tela + Esticar + Aumentar + + Aviso Legal + 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. + + Geral + Idiomas dos Origems + Layout do App + Mídia preferida + + Auto + Layout de TV + Layout de Celular + + Cor Primária + Tema do App + + + Conta + Sair + Autenticar + Mudar de conta + Adicionar conta + + Nenhuma + Normal + Todos + Max + Min + Esboçado + Deprimido + Sombrado + Em Relevo + + Luís argüia à Júlia que «brações, fé, chá, óxido, pôr, zângão» eram palavras do português \ No newline at end of file diff --git a/app/src/main/res/values-ro/strings-ro.xml b/app/src/main/res/values-ro/strings-ro.xml index 365e6a69..a8376b23 100644 --- a/app/src/main/res/values-ro/strings-ro.xml +++ b/app/src/main/res/values-ro/strings-ro.xml @@ -1,188 +1,297 @@ - Poster - @string/result_poster_img_des - Episode Poster - Main Poster - Next Random - Go back - Change Provider - Preview Background - Viteză (%.2fx) - Evaluat: %.1f - Noua actualizare găsită!\n%s -> %s - (Umplut) %s - CloudStream - Principal - Căutare - Descărcări - Opțiuni - Căutare… - Fără date - Mai Multe Opțiuni - Următorul episod - Genuri - Partajare - Deschideți în browser - Săriți încărcarea - Încărcare… - Urmărind - În așteptare - Finalizat - Renunțat - Planificare pentru a urmări - Niciunul - Urmăriți filmul - Stream Torrent - Surse - Subtitrare - Reîncercarea conexiunii… - Întoarce-te - Redă episodul - Descărcare - Descărcat - Descărcând - Descărcare în Pauză - Descărcare Începută - Descărcare Eșuată - Descărcare Anulată - Descărcare Finalizată - Eroare de Încărcare a Linkurilor - Memorie Internă - Dub - Sub - Șterge Fișierul - Redare Fișierul - Continuați Descărcarea - Pauză Descărcare - Dezactivați raportarea automată a erorilor - Mai multe info - Ascunde - Începe - Info - Filtrează Marcajele - Marcajele - Eliminați - Aplicați - Anulați - Viteza de Redare - Opțiuni de Subtitrare - Culoarea Textului - Culoarea Conturului - Culoarea de Fundal - Culoarea Ferestrei - Tipul de Margine - Elevația Subtitrărilor - Fontul - Dimensiunea Fontului - Căutare cu ajutorul furnizorilor - Căutare utilizând tipuri - %d Benenes date la dezvii - Fără Beneni administrați - Auto-selectare Limbă - Descărcați Limbi - Țineți apăsat pentru a reseta la valorile implicite - Continuă să Urmărești - Eliminați - Mai Multe Info - Este posibil să fie necesar un VPN pentru ca acest furnizor să funcționeze corect - Acest furnizor este un torrent, se recomandă un VPN - Descriere - Nici o Parcelă Găsită - Nicio Descriere Găsită - Picture-in-picture - Continuă redarea într-un player în miniatură deasupra altor aplicații - Butonul de Redimensionare a Playerului - Eliminați marginile negre - Subtitrare - Opțiuni de subtitrare a Playerului - Modul Eigengravy - Adaugă un buton de viteză în player - Glisați pentru a căuta - Glisați la stânga sau la dreapta pentru a controla timpul în player - Glisați pentru a ajusta opțiunile - Glisați pe partea stângă sau dreaptă pentru a schimba luminozitatea sau volumul - Atingeți dublu pentru a căuta - Utilizați luminozitatea sistemului - Utilizați luminozitatea sistemului în playerul aplicației în loc de o suprapunere întunecată - Căutare - Info - Căutare Avansată - Afișează rezultatele căutării sortate după furnizor - Trimite numai rapoarte de accident - Nu trimite date - Arată episoade de umplutură anime - Afișați actualizările aplicației - Căutare automată a noilor actualizări la pornire - Actualizare la pre-lansări - Căutați doar actualizări de pre-lansare în loc de versiuni complete - Github - Aplicația light novel de către aceiași dezvii - Alăturați-vă Discord - Dați un benene pentru dezvii - Benene dat - Limba Aplicației - Acest furnizor nu are suport pentru Chromecast - Niciun Link Găsit - Link copiat în clipboard - Redă episodul - Resetarea la valoarea implicită - Sezonul - Fără Sezon - Episodul - Episoade - S - E - Șterge Fișierul - Șterge - Pauză - Continuarea - Acest lucru va șterge definitiv %s\nEști sigur? - În Curs - Încheiat - Status - An - Rating - Durată - Site-ul - Sinopsis - În coadă - Fără Subtitrări - Implicit - Liberă - Utilizată - Aplicație - Filme - Serial TV - Caricaturi - Anime - Torrent - Eroare de sursă - Eroare de telecomandă - Eroare de randare - Eroare neașteptată a playerului - Eroare de descărcare; verificați permisiunile de stocare - Chromecast Acest Episod - Chromecast Acest Oglindă - Redă în Aplicație - Redă în VLC - Redă în Browser - copie Link-ul - Auto-descărcare - Descărcare Oglindă - Reîncărcare Link-uri - Nicio Actualizare Găsită - Verificați dacă există Actualizări - Blocare - Redimensionați - Sursă - Săriți OP - Nu mai apare din nou - Actualizare - Calitatea Preferată - Afișarea Anime-ului Dublat/Subtitrat - Se Potrivesc la Ecran - Întindere - Mărire + + Afiș + @string/result_poster_img_des + Afișul Episodului + Afiș Principal + Următor Aleatoriu + Înapoi + Schimbați furnizorul + Previzualizare fundal + + + Viteză (%.2fx) + Evaluat: %.1f + Noua actualizare găsită!\n%s -> %s + (Umplut) %s + + CloudStream + Principal + Căutare + Descărcări + Opțiuni + + Căutare… + Fără date + Mai Multe Opțiuni + Următorul episod + Genuri + Partajare + Deschideți în browser + Săriți încărcarea + Încărcare… + + Urmărind + În așteptare + Finalizat + Renunțat + Planificare pentru a urmări + Niciunul + ReUrmare + + Urmăriți Filmul + Stream Torrent + Surse + Subtitrare + Reîncercarea conexiunii… + Întoarce-te + Redă episodul + + Descărcare + Descărcat + Descărcând + Descărcare în Pauză + Descărcare Începută + Descărcare Eșuată + Descărcare Anulată + Descărcare Finalizată + + Eroare de Încărcare a Linkurilor + Memorie Internă + + Dub + Sub + + Șterge Fișierul + Redare Fișierul + Continuați Descărcarea + Pauză Descărcare + + Dezactivați raportarea automată a erorilor + Mai multe info + Ascunde + Începe + Info + Filtrează Marcajele + Marcajele + Eliminați + Aplicați + Anulați + Viteza de Redare + + Opțiuni de Subtitrare + Culoarea Textului + Culoarea Conturului + Culoarea de Fundal + Culoarea Ferestrei + Tipul de Margine + Elevația Subtitrărilor + Fontul + Dimensiunea Fontului + + Căutare cu ajutorul furnizorilor + Căutare utilizând tipuri + + %d Benenes date la dezvoltatorilor + Fără Beneni administrați + + Auto-selectare Limbă + Descărcați Limbi + Țineți apăsat pentru a reseta la valorile implicite + Continuă să Urmărești + + Eliminați + Mai Multe Info + + Este posibil să fie necesar un VPN pentru ca acest furnizor să funcționeze corect + Acest furnizor este un torrent, se recomandă un VPN + + Metadatele nu sunt furnizate de site, este posibil ca încărcarea videoclipului să eșueze. + + Descriere + Nici o Parcelă Găsită + Nicio Descriere Găsită + + Picture-in-picture + Continuă redarea într-un player în miniatură deasupra altor aplicații + Butonul de Redimensionare a Playerului + Eliminați marginile negre + Subtitrare + Opțiuni de subtitrare a Playerului + Modul Eigengravy + Adaugă un buton de viteză în player + Glisați pentru a căuta + Glisați la stânga sau la dreapta pentru a controla timpul în player + Glisați pentru a ajusta opțiunile + Glisați pe partea stângă sau dreaptă pentru a schimba luminozitatea sau volumul + Atingeți dublu pentru a căuta + Utilizați luminozitatea sistemului + Utilizați luminozitatea sistemului în playerul aplicației în loc de o suprapunere întunecată + + Căutare + Info + Căutare Avansată + Afișează rezultatele căutării sortate după furnizor + Trimite numai rapoarte de accident + Nu trimite date + Arată episoade de umplutură anime + Afișați actualizările aplicației + Căutare automată a noilor actualizări la pornire + Actualizare la pre-lansări + Căutați doar actualizări de pre-lansare în loc de versiuni complete + Github + Aplicația light novel de către aceiași dezvoltatorilor + Aplicație anime de aceiași dezvoltatorilor + Alăturați-vă Discord + Dați un benene pentru dezvoltatorilor + Benene dat + + Limba Aplicației + + Acest furnizor nu are suport pentru Chromecast + Niciun Link Găsit + Link copiat în clipboard + Redă episodul + Resetarea la valoarea implicită + Ne pare rău, aplicația s-a blocat. Un raport de eroare anonim va fi trimis la + dezvoltatorilor + + + Sezonul + Fără Sezon + Episodul + Episoade + S + E + + Șterge Fișierul + Șterge + Pauză + Continuarea + Acest lucru va șterge definitiv %s\nEști sigur? + + În Curs + Încheiat + Status + An + Rating + Durată + Site-ul + Sinopsis + + În coadă + Fără Subtitrări + Implicit + + Liberă + Utilizată + Aplicație + + + Filme + Serial TV + Caricaturi + Anime + Torrent + Filme Documentare + + + Filmul + Serie + Caricatur + Torrent + Documentar + + Eroare de sursă + Eroare de telecomandă + Eroare de randare + Eroare neașteptată a playerului + Eroare de descărcare; verificați permisiunile de stocare + + Chromecast Acest Episod + Chromecast Acest Oglindă + Redă în Aplicație + Redă în VLC + Redă în Browser + copie Link-ul + Auto-descărcare + Descărcare Oglindă + Reîncărcare Link-uri + + Nicio Actualizare Găsită + Verificați dacă există Actualizări + + Blocare + Redimensionați + Sursă + Săriți OP + + Nu mai apare din nou + Actualizare + Calitatea Preferată + DNS prin HTTPS + Util pentru ocolirea blocurilor ISP + + Calea de descărcare + + Afișarea Anime-ului Dublat/Subtitrat + + Se Potrivesc la Ecran + Întindere + Mărire + + Renunțare de responsabilitate + 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. + + Generală + Limbile Furnizorului + Aranjament-ul Aplicației + Media Preferată + + Auto + Aranjament TV + Aranjament Telefonului + + Culoare primară + Tema Aplicației + + + contul + Ieșire + Conectare + Schimbați contul + Adăugați contul + + Niciunul + Normală + Toate + Max + Min + Contur + Deprimată + Umbră + În relief + + Gheorghe, obezul, a reuşit să obţină jucându-se un flux în Quebec de o mie kilowaţioră \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7a9e4d43..4146520a 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -14,6 +14,7 @@ #e9eaee #9ba0a4 + #DCDCDC #1AFFFFFF #00000000 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index c00bb6d1..e0accac5 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -6,4 +6,10 @@ 0dp 2dp 15dp + + 15dp + 3dp + 15dp + + 2000 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9cc842c7..e1e451ff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -145,7 +145,7 @@ %d Benenes given to devs No Benenes given - Auto Select Language + Auto-Select Language Download Languages Hold to reset to default Continue Watching @@ -169,7 +169,7 @@ Subtitles Player subtitles settings Eigengravy Mode - Adds the speed option in the player + Adds a speed option in the player Swipe to seek Swipe left or right to control time in the videoplayer Swipe to change settings @@ -178,7 +178,7 @@ Tap twice on the right or left side to seek forwards or backwards Use system brightness - Use system brightness in the app player instead of an dark + Use system brightness in the app player instead of a dark overlay @@ -202,7 +202,7 @@ App Language - This provider has no chromecast support + This provider has no Chromecast support No Links Found Link copied to clipboard Play Episode @@ -244,18 +244,18 @@ Movies - TvSeries + TV Series Cartoons Anime - Torrent + Torrents Documentaries - @string/movies + Movie Series Cartoon @string/anime - @string/torrent + Torrent Documentary Source error @@ -320,7 +320,7 @@ Preferred Media Auto - Tv Layout + TV Layout Phone Layout Primary Color @@ -355,8 +355,10 @@ Shadow Raised The quick brown fox jumps over the lazy dog diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8a37a51a..6a7b9518 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -315,7 +315,10 @@ @color/toggle_button_outline wrap_content 45dp - 0dp + 0dp + 0dp + 10dp + 10dp 5dp false