From 44badf8c86cc5c3af8faa8765d49edceac0e8068 Mon Sep 17 00:00:00 2001 From: Akiomi Kamakura Date: Fri, 14 Jul 2023 15:19:25 +0900 Subject: [PATCH 1/3] Update translations for ja --- app/src/main/res/values-ja/strings.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bf1e63a67..25e8c2508 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -164,7 +164,7 @@ 最初に%1$sで表示 常に%1$sに翻訳 %1$sを翻訳しない - never + なし 時間 @@ -459,4 +459,17 @@ センシティブなコンテンツ コンテンツを表示する前に、センシティブなコンテンツであることを示す警告を表示します + 設定 + 常に + Wifiのみ + システム + ライト + ダーク + アプリ設定 + 言語 + テーマ + 自動的に画像/GIFを読み込み + 自動的に動画を再生 + 自動的にURLプレビューを表示 + 画像読み込み From e648970b170112a76168a051fa5a51bb82522a55 Mon Sep 17 00:00:00 2001 From: greenart7c3 <115044884+greenart7c3@users.noreply.github.com> Date: Fri, 14 Jul 2023 05:51:09 -0300 Subject: [PATCH 2/3] fix crash when changing setting in android api < 13 --- .../ui/screen/loggedIn/SettingsScreen.kt | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/SettingsScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/SettingsScreen.kt index 69b18e5ef..83d1ba2d9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/SettingsScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/SettingsScreen.kt @@ -40,7 +40,9 @@ import com.vitorpamplona.amethyst.ui.theme.DoubleVertSpacer import com.vitorpamplona.amethyst.ui.theme.StdPadding import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import org.xmlpull.v1.XmlPullParser import org.xmlpull.v1.XmlPullParserException @@ -80,12 +82,19 @@ fun Context.getLangPreferenceDropdownEntries(): Map { } fun getLanguageIndex(languageEntries: Map): Int { - var languageIndex = languageEntries.values.toTypedArray().indexOf(Locale.current.toLanguageTag()) + val language = LocalPreferences.getPreferredLanguage() + var languageIndex = -1 + if (language.isNotBlank()) { + languageIndex = languageEntries.values.toTypedArray().indexOf(language) + } else { + languageIndex = languageEntries.values.toTypedArray().indexOf(Locale.current.toLanguageTag()) + } if (languageIndex == -1) languageIndex = languageEntries.values.toTypedArray().indexOf(Locale.current.language) if (languageIndex == -1) languageIndex = languageEntries.values.toTypedArray().indexOf("en") return languageIndex } +@OptIn(DelicateCoroutinesApi::class) @Composable fun SettingsScreen( accountViewModel: AccountViewModel, @@ -139,10 +148,13 @@ fun SettingsScreen( placeholder = languageList[languageIndex], options = languageList, onSelect = { - scope.launch(Dispatchers.IO) { - val locale = languageEntries[languageList[it]] - accountViewModel.account.settings.preferredLanguage = locale - LocalPreferences.saveToEncryptedStorage(accountViewModel.account) + GlobalScope.launch(Dispatchers.Main) { + val job = scope.launch(Dispatchers.IO) { + val locale = languageEntries[languageList[it]] + accountViewModel.account.settings.preferredLanguage = locale + LocalPreferences.saveToEncryptedStorage(accountViewModel.account) + } + job.join() val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags(languageEntries[languageList[it]]) AppCompatDelegate.setApplicationLocales(appLocale) } From e83f16f5c5fc53f5ab31c93f3f683537c6fbb218 Mon Sep 17 00:00:00 2001 From: greenart7c3 <115044884+greenart7c3@users.noreply.github.com> Date: Fri, 14 Jul 2023 06:46:30 -0300 Subject: [PATCH 3/3] update pt-br translations --- app/src/main/res/values-pt-rBR/strings.xml | 179 +++++++++++++++++++++ 1 file changed, 179 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d662b8a8a..c4b1fc69c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -23,6 +23,7 @@ Copiar ID da Nota Transmitir Pedir para excluir + Bloquear / Denunciar Bloquear e ocultar usuário Denunciar spam/fraude Denunciar representação @@ -33,6 +34,8 @@ Faça login com uma chave privada para curtir postagens Nenhuma configuração de quantidade de Zap. Pressione e segure para alterar Faça login com uma chave privada para poder enviar Zaps + Faça login com uma chave privada para poder seguir + Faça login com uma chave privada para poder remover seguidores Zaps Contagem de visualizações Impulsionar @@ -121,6 +124,7 @@ Enviar uma mensagem direta Muda os dados do usuário Seguir + Seguir de volta Desbloquear Copiar ID do usuário Desbloquear Usuário @@ -247,5 +251,180 @@ Use sua chave privada para pagar zaps sem sair do app. Qualquer pessoa com acesso à sua chave privada Nostr poderá gastar o saldo da sua carteira. Guarde apenas os fundos que você pode perder e use um retransmissor privado, se possível. O operador de Relay pode ver seus metadados de pagamentos. Wallet Connect Pubkey Wallet Connect Relay + Wallet Connect Secret + Mostrar chave secreta + chave privada nsec / hex Valor em Sats + Postar enquete + Campos obrigatórios: + Destinatários Zap + Descrição da enquete principal... + Opção %s + Descrição da opção de enquete + Campos opcionais: + Zap mínimo + Zap máximo + Consenso + (0–100)% + Fechar depois + dias + Enquete está fechada para novos votos + Valor do Zap + Apenas um voto por usuário é permitido neste tipo de enquete + Procurando o evento %1$s + Adicionar uma mensagem pública + Adicionar uma mensagem privada + Adicionar uma mensagem + Obrigado por todo o seu trabalho! + Criar e adicionar + Os autores de enquetes não podem votar em suas próprias enquetes. + A imagem é a mesma desde o post + A imagem mudou. O autor pode não ter visto a mudança + Adicionar Imagem + Adicionar Video + Adicionar Documento + Adicionar à mensagem + Descrição do conteúdo + Um barco azul em uma praia de areia branca ao pôr do sol + Tipo de Zap + Tipo de Zap para todas as opções + Público + Todos podem ver a transação e a mensagem + Privado + O remetente e o destinatário podem se ver e ler a mensagem + Anônimo + Destinatário e o público não sabem quem enviou o pagamento + Sem Zap + Nenhum traço no Nostr, apenas na Lightning + Servidor de arquivos + LnAddress ou @Usuario + imgur.com - confiável + Imgur pode modificar o arquivo + nostrimg.com - confiável + NostrImg pode modificar o arquivo + nostr.build - confiável + Nostr.build pode modificar o arquivo + nostrfiles.dev - confiável + Nostrfiles.dev pode modificar o arquivo + nostrcheck.me - confiável + nostrcheck.me pode modificar o arquivo + Imgur verificável (NIP-94) + Verifica se o Imgur modificou o arquivo. Novo NIP: outros clientes podem não ver + NostrImg verificável (NIP-94) + Verifica se NostrImg modificou o arquivo. Novo NIP: outros clientes podem não ver + Nostr.build verificável (NIP-94) + Verifica se Nostr.build modificou o arquivo. Novo NIP: outros clientes podem não ver + Nostrfiles.dev verificável (NIP-94) + Verifica se Nostrfiles.dev modificou o arquivo. Novo NIP: outros clientes podem não ver + Verificável Nostrcheck.me (NIP-94) + Verifica se Nostrcheck.me modificou o arquivo. Novo NIP: outros clientes podem não ver + Seus relays (NIP-95) + Os arquivos são hospedados por seus relays. Novo NIP: verifique se eles suportam + Configuração do Tor/Orbot + Conecte-se através da configuração do Orbot + Desconectar do Orbot/Tor? + Seus dados serão transferidos imediatamente na rede regular + Sim + Não + Lista de seguidores + Seguindo + Global + + ## Conecte-se através do Tor com o Orbot + \n\n1. Instale o [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) + \n2. Iniciar Orbot + \n3. No Orbot, verifique a porta Socks. O padrão usa 9050 + \n4. Se necessário altere a porta no Orbot + \n5. Configure a porta Socks nesta tela + \n6. Pressione o botão Ativar para usar o Orbot como proxy + + Porta Socks Orbot + Número de porta inválido + Usar Orbot + Desconectar Tor/Orbot + Mensagens privadas + Notifica você quando chega uma mensagem privada + Zaps Recebidos + Notifica quando alguém te manda um zap + %1$s sats + De %1$s + por %1$s + "Notificar: " + Entrar na conversa + ID do usuário ou grupo + npub, nevent ou hex + Criar + Entrar + Hoje + Aviso de conteúdo + Esta nota contém conteúdo sensível que algumas pessoas podem achar ofensivo ou perturbador + Sempre ocultar conteúdo sensível + Sempre mostrar conteúdo sensível + Sempre mostrar avisos de conteúdo + "Recomenda: " + Filtrar spam de estranhos + Avise quando as postagens tiverem denuncias de seus seguidores + Novo símbolo de reação + Nenhum tipo de reação selecionado. Pressione e segure para alterar + Arrecadação de Zaps + Adiciona uma quantidade alvo de sats para financiar esta postagem. Os clientes podem mostrar isso como uma barra de progresso para incentivar doações + Valor alvo em Sats + Arrecadação de Zaps em %1$s. %2$s sats para meta + Ler do Relay + Enviar para o Relay + Ocorreu um erro ao tentar obter informações do relay de %1$s + Proprietário + Versão + Programa + Contato + NIPs Suportados + Taxas de admissão + URL de pagamentos + Limitações + Países + Línguas + Tags + Política de postagem + Tamanho da mensagem + Assinaturas + Filtros + Comprimento do ID da assinatura + Prefixo mínimo + Máximo de tags de evento + Tamanho do conteúdo + PoW mínimo + Autenticação + Pagamento + Token Cashu + Resgatar + AO VIVO + DESLIGADA + FINALIZADA + AGENDADA + A transmissão ao vivo está offline + Transmissão ao vivo encerrada + Sair exclui todas as suas informações locais. Certifique-se de fazer backup de suas chaves privadas para evitar a perda de sua conta. Você quer continuar? + Tags Seguidas + Relays + Ao vivo + Comunidade + Chats + Postagens Aprovadas + Este grupo não tem uma descrição ou regras. Fale com o proprietário para adicionar + Esta comunidade não tem uma descrição. Fale com o proprietário para adicionar + Conteúdo sensível + Adiciona aviso de conteúdo sensível antes de mostrar este conteúdo + Configurações + Sempre + Somente wifi + Sistema + Claro + Escuro + Preferências do aplicativo + Linguagem + Tema + Carregar imagens/gifs automaticamente + Reproduzir vídeos automaticamente + Mostrar automaticamente a visualização da URL + Carregar imagem