From b84e37bfef9bad84659f17b608c44ade97ce3e49 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 17:33:50 -0300 Subject: [PATCH 1/7] Create strings.xml --- app/src/main/values-pt-rvalues-pt-rBR/strings.xml | 1 + 1 file changed, 1 insertion(+) create mode 100644 app/src/main/values-pt-rvalues-pt-rBR/strings.xml diff --git a/app/src/main/values-pt-rvalues-pt-rBR/strings.xml b/app/src/main/values-pt-rvalues-pt-rBR/strings.xml new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/app/src/main/values-pt-rvalues-pt-rBR/strings.xml @@ -0,0 +1 @@ + From ea502a673788be8c29e5fa054f32d4af916c91b5 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 17:46:32 -0300 Subject: [PATCH 2/7] Delete app/src/main/res/rvalues-pt-rBR/strings.xml --- app/src/main/values-pt-rvalues-pt-rBR/strings.xml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 app/src/main/values-pt-rvalues-pt-rBR/strings.xml diff --git a/app/src/main/values-pt-rvalues-pt-rBR/strings.xml b/app/src/main/values-pt-rvalues-pt-rBR/strings.xml deleted file mode 100644 index 8b1378917..000000000 --- a/app/src/main/values-pt-rvalues-pt-rBR/strings.xml +++ /dev/null @@ -1 +0,0 @@ - From 9914c5eb796174bc5d4eb7399b3840d57b0b6cad Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 18:09:01 -0300 Subject: [PATCH 3/7] Create strings.xml --- app/src/main/res/values-pt-rBR/strings.xml | 1 + 1 file changed, 1 insertion(+) create mode 100644 app/src/main/res/values-pt-rBR/strings.xml diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1 @@ + From 54bceb3d4aa0fa0077404bffaf6a9bc9afc1eb04 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 18:16:29 -0300 Subject: [PATCH 4/7] Add Portuguese translations for app strings Add Brazilian Portuguese translation --- app/src/main/res/values-pt-rBR/strings.xml | 291 +++++++++++++++++++++ 1 file changed, 291 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 8b1378917..3242cb5ee 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1 +1,292 @@ + + PixelPlayerOSS + Alterar nome do aplicativo + Este aplicativo agora é o PixelPlayerOSS. Continue ouvindo! + Não mostrar novamente + Dispensar + Permissão especial necessária + Para editar os metadados das músicas (arquivos .mp3), o PixelPlayerOSS precisa de acesso especial a todos os arquivos. Isso permite modificar diretamente as tags das faixas. Conceda essa permissão na próxima tela para ativar a edição de metadados. + Conceder permissão + Erro + OK + Cancelar + ListenBrainz + Conectar ao ListenBrainz + Cole seu token de usuário para enviar seus registros de audição ao ListenBrainz. Você pode encontrá-lo nas configurações da sua conta em listenbrainz.org. + Token de usuário + Conectar + Não foi possível conectar. Confira seu token e o endereço do servidor e tente novamente. + URL do servidor (opcional) + Deixe em branco para usar listenbrainz.org. Também funciona com servidores próprios compatíveis com a API do ListenBrainz, como o Maloja. + Digite uma URL de servidor válida, como https://maloja.example.com/apis/listenbrainz + Enviando registros de audição para %1$s + Abrir listenbrainz.org + Seu token não é mais válido. Conecte-se novamente para retomar o envio dos registros de audição. As audições que estão na fila serão mantidas. + Conectar novamente + Registrar audições de arquivos locais + Registrar audições do streaming Subsonic + Registrar audições do streaming do Jellyfin + Se o seu servidor já envia registros de audição ao ListenBrainz, desative essa origem aqui para evitar registros duplicados. + Total de audições + Na fila + Registrando audição agora + %1$s — %2$s + Nenhuma música em reprodução no momento + Serviços disponíveis + Importar + Pesquisar + + Letras + Carregando letras… + Letras fornecidas por + https://lrclib.net/ + Letras não encontradas + Deseja pesquisar letras na internet? + Não foi possível encontrar a letra automaticamente. Você pode editar o título ou o artista e tentar pesquisar manualmente. + Não foi possível pesquisar a letra + Não foi possível buscar a letra no servidor remoto + A conexão expirou. Verifique sua conexão com a internet. + Erro de rede. Verifique sua conexão com a internet. + Erro no servidor (código %d). Tente novamente mais tarde. + A busca de letras na internet está desativada nas configurações. + Resultados encontrados: %d + Pesquisa por \"%s\" + Pesquisando letras… + As letras já estão disponíveis. A busca online foi ignorada. + Já foram encontradas letras incorporadas ao arquivo. A busca online foi ignorada. + Já foram encontradas letras locais (.lrc). A busca online foi ignorada. + Mostrar opções de letras + Sempre abrir a seleção de letras em vez de aplicar automaticamente o primeiro resultado + Salvar letra + Escolha qual versão deseja salvar: + Sincronizadas (com marcações de tempo) + Simples (somente texto) + Letra salva com sucesso + Não foi possível salvar a letra + Não há letras disponíveis para salvar + Redefinir letras importadas + + Verificando arquivos de música… + Processando arquivos… + %1$d de %2$d arquivos + Sincronizando biblioteca… + Sincronização concluída + Aguardando… + Sincronizando biblioteca… + Preparando sua biblioteca… + Verificadas %1$d de %2$d músicas + Procurando letras… + Limpando o cache das capas dos álbuns… + Sincronizando fontes na nuvem… + Faixa desconhecida + Artista desconhecido + Álbum desconhecido + Escolher artista + 1 artista + %1$d artistas + Artista principal + Página do artista + Reprodução rápida + Não foi possível abrir esse arquivo de áudio. + Abrir reprodutor completo + Fechar reprodutor + Faixa anterior + Próxima faixa + Reproduzir + Playlist não encontrada. + Disco %d + + + + Aleatório + Reproduzir todas as músicas aleatoriamente + Playlist + + Reprodução aleatória + Última playlist + Não há nenhuma playlist disponível para abrir + + ID de álbum inválido + ID do álbum não encontrado + Erro ao carregar os dados do álbum: %s + Álbum não encontrado + ID de artista inválido + ID do artista não encontrado + Erro ao carregar os dados do artista: %s + Não foi possível encontrar o artista + Nenhuma música válida encontrada para reproduzir + + Widget que se adapta ao próprio tamanho + Barra compacta do reprodutor + Controles completos com reprodução aleatória e repetição + Reprodutor quadrado minimalista + + Não há playlists para compartilhar + Compartilhar playlists + Não foi possível compartilhar: %1$s + Não há playlists para exportar + Falha ao exportar: %1$s + Music/PixelPlayerOSS Exports + Erro desconhecido + + + + Backup inválido: %1$s + Preparando a restauração + Iniciando a tarefa de restauração. + Preparando o backup + Iniciando a tarefa de backup. + Backup restaurado com sucesso + Restauração concluída com alguns problemas não resolvidos. + Não foi possível concluir a restauração: %1$s + Falha ao restaurar: %1$s + Dados exportados com sucesso + Falha ao exportar: %1$s + Dados restaurados com sucesso + Restauração concluída com problemas não resolvidos. Falhas: %1$s + Falha de teste iniciada em Opções do desenvolvedor. Isso é intencional e serve para testar o sistema de relatório de falhas. + + Música não encontrada na lista atual + Não foi possível localizar a música + Nenhuma música encontrada na biblioteca + Reprodução interrompida: %1$s terminou (fim da faixa). + Faixa + Reproduzir em + Este celular + Fones de ouvido com fio + Dispositivo de áudio + Mais dispositivos + Conecte um dispositivo ou alterne entre eles usando o seletor de saída de áudio do sistema + Não há músicas para reproduzir aleatoriamente. + Álbuns selecionados + Nenhuma música reproduzível encontrada nos álbuns selecionados + Nenhuma música reproduzível encontrada nos gêneros selecionados + Gêneros selecionados + Não foi possível adicionar os gêneros selecionados à fila + Somente os primeiros %1$d álbuns foram adicionados à fila + %1$d álbuns adicionados à fila (%2$d músicas) + Não foi possível adicionar os álbuns selecionados à fila + Somente os primeiros %1$d álbuns foram adicionados para reprodução em seguida + %1$d álbuns serão reproduzidos em seguida + Não foi possível adicionar os álbuns selecionados para reprodução em seguida + Somente os primeiros %1$d álbuns foram adicionados à fila + %1$d álbuns adicionados à fila + Não foi possível adicionar os álbuns selecionados à fila + Todas as músicas já estão nos favoritos + Nenhuma música estava nos favoritos + Criando arquivo ZIP… + Não foi possível compartilhar: %1$s + Não é possível excluir a música que está sendo reproduzida + %1$d arquivos excluídos (%2$d ignorados por estarem em reprodução) + %1$d de %2$d arquivos excluídos + Não foi possível excluir os arquivos + Arquivo excluído + Não é possível excluir o arquivo ou ele não foi encontrado + Exclusão cancelada + Permissão negada: não é possível editar arquivos + Permissão negada: não é possível salvar letras + Permissão negada: não é possível editar este arquivo + Metadados atualizados com sucesso + Salvamento interrompido. Uma cópia completa foi preservada, e a música será restaurada mais tarde. + Não foi salvo: a música precisa ser restaurada primeiro. Conceda acesso, libere espaço e tente novamente. + Permita o acesso para restaurar as músicas cujo salvamento foi interrompido antes de ser concluído. + As músicas cujo salvamento foi interrompido foram restauradas + Ainda não foi possível restaurar algumas músicas. O aplicativo tentará novamente mais tarde. + As músicas não foram restauradas. O aplicativo solicitará acesso novamente mais tarde ou quando você tentar editar uma delas. + Atualizando %1$d músicas… + %1$d músicas atualizadas com sucesso! + %1$d músicas atualizadas. Falhas: %2$d + Playlist restaurada + Essas músicas serão excluídas permanentemente do seu dispositivo e não poderão ser recuperadas. + Excluir + + %1$d minutos + Fim da faixa + Temporizador definido para %1$d minutos. + Temporizador cancelado. + Não é possível ativar o fim da faixa: nenhuma música está em reprodução. + Temporizador de fim da faixa desativado: a música mudou de %1$s para %2$s. + A reprodução será interrompida ao fim da faixa. + Faixa anterior + Faixa atual + Temporizador + Temporizador + Fim da faixa atual + Tempo personalizado + Cancelar temporizador + Definir duração personalizada + Quantidade de reproduções: %1$s + 1 vez + Ativar + %1$d%% + v%1$d + %1$s %2$s + + Editar %d músicas + Somente os campos alterados serão atualizados. Deixe os campos vazios para manter os valores atuais. + (Valores diferentes) + (Opcional: deixe em branco para ignorar) + %d músicas atualizadas com sucesso + %1$d de %2$d músicas atualizadas. Não foi possível editar alguns arquivos. + Não foi possível atualizar as músicas + + Edição de capas em lote + Isso substituirá a capa de todas as %d músicas selecionadas + Definir capa para todas + Remover todas as capas + (Várias capas diferentes) + + Não foi possível reproduzir esta faixa. Pulando para a próxima. + Não é possível reproduzir %1$s: este dispositivo não tem um decodificador para %2$s + este formato + Falha ao sincronizar a biblioteca. Puxe a tela para baixo para atualizar e tente novamente. + + Ativado + Desativado + + Velocidade de reprodução + + Faixas duplicadas + Nenhuma faixa duplicada encontrada. + %1$d grupos · %2$d faixas + %1$d cópias + %1$s — %2$s + Encontrar faixas duplicadas + Verificar se há faixas repetidas na sua biblioteca. + + Baixar + Na fila + Baixando… + %1$d%% + Remover download + Tentar novamente + Baixar álbum + Baixar playlist + Remover downloads + Downloads + Gerenciar músicas da nuvem disponíveis offline e o armazenamento + Espaço usado por downloads offline + %1$d concluídos · %2$d no total + Na fila ou em download + Com falha + Concluídos + %1$s · %2$d + Faixa desconhecida + Tamanho baixado · %1$s + Falha no download + Nenhum download offline + As músicas da nuvem que você baixar aparecerão aqui. + Baixar músicas selecionadas da nuvem + Baixar %1$d músicas da nuvem + Pesquisar no MusicBrainz + Procurando gravações correspondentes… + Falha ao consultar o MusicBrainz + Falha na pesquisa do MusicBrainz + Não foi possível salvar os metadados do MusicBrainz + Escolher um resultado do MusicBrainz + Nenhuma gravação adequada foi encontrada. + Confiabilidade da correspondência: %1$d%% + Identificadores do MusicBrainz salvos. O ano que faltava e os nomes genéricos foram preenchidos. + + From f3a8adbc8133f27ae231437ced1e0981b1c81be1 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 19:29:52 -0300 Subject: [PATCH 5/7] Add Brazilian Portuguese to locale configuration --- app/src/main/res/xml/locales_config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml index a0e7241fd..2f33fdcb1 100644 --- a/app/src/main/res/xml/locales_config.xml +++ b/app/src/main/res/xml/locales_config.xml @@ -13,4 +13,5 @@ + From dc6459397399881d40222b9b8d093eb1d9b3ca94 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 19:59:24 -0300 Subject: [PATCH 6/7] Update localeFilters to include Brazilian Portuguese --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 16c4ea195..ccc66ae00 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -55,7 +55,7 @@ android { localeFilters.addAll( listOf( "en", "ar", "de", "es", "fr", "in", - "it", "ko", "nb", "ru", "tr", "zh-rCN", "vi" + "it", "ko", "nb", "pt-rBR", "ru", "tr", "zh-rCN", "vi" ) ) } From 8163007b0ebba4713c51e87610ee08f643dc8228 Mon Sep 17 00:00:00 2001 From: Ada_Lovelace Date: Wed, 11 Nov 2026 20:15:48 -0300 Subject: [PATCH 7/7] Add Portuguese (Brazil) language support --- .../lostf1sh/pixelplayeross/data/preferences/AppLanguage.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/lostf1sh/pixelplayeross/data/preferences/AppLanguage.kt b/app/src/main/java/com/lostf1sh/pixelplayeross/data/preferences/AppLanguage.kt index a013269d2..d2751384e 100644 --- a/app/src/main/java/com/lostf1sh/pixelplayeross/data/preferences/AppLanguage.kt +++ b/app/src/main/java/com/lostf1sh/pixelplayeross/data/preferences/AppLanguage.kt @@ -18,7 +18,8 @@ enum class AppLanguage(val tag: String, @StringRes val labelRes: Int) { RUSSIAN("ru", R.string.setcat_language_russian), TURKISH("tr", R.string.setcat_language_turkish), ZH_RCN("zh-CN", R.string.language_zh_rCN), - VIETNAMESE("vi", R.string.setcat_language_vietnamese); + VIETNAMESE("vi", R.string.setcat_language_vietnamese), + PORTUGUESE_BR("pt-BR", R.string.setcat_language_portuguese_br); companion object { val supportedLanguageTags: Set = entries.map { it.tag }.toSet()