diff --git a/locales/pt_BR/LC_MESSAGES/Pomodoro.po b/locales/pt_BR/LC_MESSAGES/Pomodoro.po index b4291e53..0650f80c 100644 --- a/locales/pt_BR/LC_MESSAGES/Pomodoro.po +++ b/locales/pt_BR/LC_MESSAGES/Pomodoro.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -31,18 +31,18 @@ msgctxt "timer|stage:focus|name" msgid "FOCUS" msgstr "FOCO" -#: src/modules/pomodoro/timer.py:160 +#: src/modules/pomodoro/timer.py:164 #, possible-python-brace-format msgctxt "timer|webhook|name" msgid "{bot_name} Pomodoro" msgstr "{bot_name} Pomodoro" -#: src/modules/pomodoro/timer.py:164 +#: src/modules/pomodoro/timer.py:168 msgctxt "timer|webhook|audit_reason" msgid "Pomodoro Notifications" msgstr "Notificações do Pomodoro" -#: src/modules/pomodoro/timer.py:175 +#: src/modules/pomodoro/timer.py:179 msgctxt "timer|webhook|error:insufficient_permissions" msgid "" "I require the `MANAGE_WEBHOOKS` permission to send pomodoro notifications " @@ -51,13 +51,18 @@ msgstr "" "Eu preciso de permissão ˋMANAGE_WEBHOOKSˋ para enviar notificações do " "pomodoro aqui!" -#: src/modules/pomodoro/timer.py:234 +#: src/modules/pomodoro/timer.py:238 #, possible-python-brace-format msgctxt "timer|default_base_name" msgid "Timer {pattern}" msgstr "Temporizador {pattern}" -#: src/modules/pomodoro/timer.py:408 +#: src/modules/pomodoro/timer.py:413 +msgctxt "timer|disconnect|audit_reason" +msgid "Disconnecting inactive member from timer." +msgstr "" + +#: src/modules/pomodoro/timer.py:425 #, possible-python-brace-format msgctxt "timer|kicked_message" msgid "" @@ -76,14 +81,22 @@ msgstr[2] "" "{mentions} foram removidas de {channel} pois elas estavam inativas! Se " "lembre de apertar {tick} para registrar sua presença em todos os ciclos." -#: src/modules/pomodoro/timer.py:501 +#: src/modules/pomodoro/timer.py:438 +#, possible-python-brace-format +msgctxt "timer|kick_failed" +msgid "" +"**Warning!** Timer {channel} is configured to disconnect on inactivity, but " +"I lack the 'Move Members' permission to do this!" +msgstr "" + +#: src/modules/pomodoro/timer.py:537 #, possible-python-brace-format msgctxt "timer|status|stage:focus|statusline" msgid "{channel} is now in **FOCUS**! Good luck, **BREAK** starts {timestamp}" msgstr "" "{channel} agora esta em **FOCO**! Boa sorte, **PAUSA** começa em {timestamp}" -#: src/modules/pomodoro/timer.py:506 +#: src/modules/pomodoro/timer.py:542 #, possible-python-brace-format msgctxt "timer|status|stage:break|statusline" msgid "" @@ -92,7 +105,7 @@ msgstr "" "{channel} está agora em **PAUSA**! Tire um descanso, o **FOCO** começa em " "{timestamp}" -#: src/modules/pomodoro/timer.py:538 +#: src/modules/pomodoro/timer.py:574 #, possible-python-brace-format msgctxt "timer|status|warningline" msgid "" @@ -102,38 +115,38 @@ msgstr "" "**Atenção:** {mentions}, por favor, aperte {tick} para evitar ser removido " "no próximo estágio." -#: src/modules/pomodoro/timer.py:557 +#: src/modules/pomodoro/timer.py:593 #, possible-python-brace-format msgctxt "timer|status|stopped:auto" msgid "Timer stopped! Join {channel} to start the timer." msgstr "Temporizador parado! Entre {channel} para iniciar o timer." -#: src/modules/pomodoro/timer.py:562 +#: src/modules/pomodoro/timer.py:598 msgctxt "timer|status|stopped:manual" msgid "Timer stopped! Press `Start` to restart the timer." msgstr "Temporizador parado! Pressione ˋStartˋ para reiniciar o temporizador." -#: src/modules/pomodoro/settingui.py:39 +#: src/modules/pomodoro/settingui.py:40 msgctxt "ui:timer_config|menu:channels|placeholder" msgid "Select Pomodoro Notification Channel" msgstr "Selecione o Canal de Notificações do Pomodoro" -#: src/modules/pomodoro/settingui.py:47 +#: src/modules/pomodoro/settingui.py:48 msgctxt "ui:timer_config|embed|title" msgid "Timer Configuration Panel" msgstr "Painel de Configurações do Pomodoro" -#: src/modules/pomodoro/settingui.py:81 +#: src/modules/pomodoro/settingui.py:82 msgctxt "dash:pomodoro|title" -msgid "Pomodoro Configuration ({commands[configure pomodoro]})" -msgstr "Configurações do Pomodoro ({commands[configure pomodoro]})" +msgid "Pomodoro Configuration ({commands[config pomodoro]})" +msgstr "" -#: src/modules/pomodoro/settingui.py:85 +#: src/modules/pomodoro/settingui.py:86 msgctxt "dash:stats|dropdown|placeholder" msgid "Pomodoro Timer Panel" msgstr "Painel do Temporizador Pomodoro" -#: src/modules/pomodoro/cog.py:96 +#: src/modules/pomodoro/cog.py:116 msgctxt "cmd_check:ready|failed" msgid "" "I am currently restarting! The Pomodoro timers will be unavailable until I " @@ -142,29 +155,29 @@ msgstr "" "Eu estou reiniciando! O temporizador Pomodoro estará inacessível enquanto eu" " reinicio. Agradeço por sua paciência!" -#: src/modules/pomodoro/cog.py:336 +#: src/modules/pomodoro/cog.py:401 msgctxt "cmd:timer" msgid "timer" msgstr "temporizador" -#: src/modules/pomodoro/cog.py:337 +#: src/modules/pomodoro/cog.py:402 msgctxt "cmd:timer|desc" msgid "Show your current (or selected) pomodoro timer." msgstr "Mostra o seu temporizador Pomodoro atual (ou o selecionado)." -#: src/modules/pomodoro/cog.py:340 +#: src/modules/pomodoro/cog.py:405 msgctxt "cmd:timer|param:channel" msgid "timer_channel" msgstr "temporizador_canal" -#: src/modules/pomodoro/cog.py:345 +#: src/modules/pomodoro/cog.py:410 msgctxt "cmd:timer|param:channel|desc" msgid "Select a timer to display (by selecting the timer voice channel)" msgstr "" "Selecione um temporizador a mostrar (selecionando a sala correspondente a " "ele)." -#: src/modules/pomodoro/cog.py:367 src/modules/pomodoro/cog.py:438 +#: src/modules/pomodoro/cog.py:432 src/modules/pomodoro/cog.py:503 #, possible-python-brace-format msgctxt "cmd:timer|error:no_timers|desc" msgid "" @@ -174,7 +187,7 @@ msgstr "" "**Este servidor não tem nenhum temporizador Pomodoro configurado!**\n" "Peça que um administrador crie um, e configure usando {create_cmd}. Ou você pode alugar uma sala usando {room_cmd} e criar o seu próprio temporizador! " -#: src/modules/pomodoro/cog.py:381 +#: src/modules/pomodoro/cog.py:446 #, possible-python-brace-format msgctxt "cmd:timer|error:no_channel|desc" msgid "" @@ -184,7 +197,7 @@ msgstr "" "**Eu não sei qual temporizador devo monstrar a você.**\n" "Você não selecionou nenhum temporizador, e também não está em um canal que tenha um. Use {timers_cmd} para ver a lista de temporizadores disponíveis no servidor." -#: src/modules/pomodoro/cog.py:394 +#: src/modules/pomodoro/cog.py:459 #, possible-python-brace-format msgctxt "cmd:timer|error:no_timer_in_channel" msgid "" @@ -194,17 +207,17 @@ msgstr "" "O canal {channel} não é um canal usado com o temporizador pomodoro.\n" "Use {timers_cmd} para visualizar a lista de temporizadores disponíveis no servidor." -#: src/modules/pomodoro/cog.py:411 +#: src/modules/pomodoro/cog.py:476 msgctxt "cmd:timers" msgid "timers" msgstr "temporizadores" -#: src/modules/pomodoro/cog.py:412 +#: src/modules/pomodoro/cog.py:477 msgctxt "cmd:timers|desc" msgid "List the available pomodoro timer rooms." msgstr "Mostra a lista salas com temporizadores pomodoro." -#: src/modules/pomodoro/cog.py:451 +#: src/modules/pomodoro/cog.py:516 #, possible-python-brace-format msgctxt "cmd:timer|error:no_visible_timers|desc" msgid "" @@ -214,13 +227,13 @@ msgstr "" "**Não há temporizadores pomodoro disponíveis!**\n" "Peça que um administrador crie e configure um novo temporizador através de {create_cmd}, ou alugue uma sala particular com {room_cmd}, e crie o seu próprio!" -#: src/modules/pomodoro/cog.py:464 +#: src/modules/pomodoro/cog.py:529 #, possible-python-brace-format msgctxt "cmd:timers|embed:timer_list|title" msgid "Pomodoro Timer Rooms in **{guild}**" msgstr "Salas de Temporizadores Pomodoro em **{guild}**" -#: src/modules/pomodoro/cog.py:473 +#: src/modules/pomodoro/cog.py:538 #, possible-python-brace-format msgctxt "cmd:timers|status:stopped_auto" msgid "" @@ -230,7 +243,7 @@ msgstr "" "Temporizador ˋ{pattern}ˋ está parado por falta de membros!\n" "Entre em {channel} para recomeçá-lo." -#: src/modules/pomodoro/cog.py:479 +#: src/modules/pomodoro/cog.py:544 #, possible-python-brace-format msgctxt "cmd:timers|status:stopped_manual" msgid "" @@ -240,7 +253,7 @@ msgstr "" "Temporizador ˋ{pattern}ˋ está parado, com ˋ{members}ˋ membros!\n" "Entre em {channel} e clique em ˋIniciarˋ para começá-lo!" -#: src/modules/pomodoro/cog.py:486 +#: src/modules/pomodoro/cog.py:551 #, possible-python-brace-format msgctxt "cmd:timers|status:running_focus" msgid "" @@ -250,7 +263,7 @@ msgstr "" "Temporizador ˋ{pattern}ˋ está ativo, com ˋ{members}ˋ membros!\n" "Agora, no estágio **Foco**. A pausa começa em {timestamp}" -#: src/modules/pomodoro/cog.py:492 +#: src/modules/pomodoro/cog.py:557 #, possible-python-brace-format msgctxt "cmd:timers|status:running_break" msgid "" @@ -260,48 +273,48 @@ msgstr "" "Temporizador ˋ{pattern}ˋ está ativo, com ˋ{members}ˋ membros!\n" "Agora, no estágio **Pausa**. O estágio de Foco começa em {timestamp}" -#: src/modules/pomodoro/cog.py:506 +#: src/modules/pomodoro/cog.py:571 msgctxt "cmd:pomodoro" msgid "pomodoro" msgstr "pomodoro" -#: src/modules/pomodoro/cog.py:507 +#: src/modules/pomodoro/cog.py:572 msgctxt "cmd:pomodoro|desc" msgid "Create and configure pomodoro timer rooms." msgstr "Crie e configure salas com temporizadores pomodoro." -#: src/modules/pomodoro/cog.py:514 +#: src/modules/pomodoro/cog.py:579 msgctxt "cmd:pomodoro_create" msgid "create" msgstr "criar" -#: src/modules/pomodoro/cog.py:517 +#: src/modules/pomodoro/cog.py:582 msgctxt "cmd:pomodoro_create|desc" msgid "Create a new Pomodoro timer. Requires manage channel permissions." msgstr "" "Crie um novo Temporizador Pomodoro. É necessário ter permissão de gerenciar " "canais." -#: src/modules/pomodoro/cog.py:521 +#: src/modules/pomodoro/cog.py:586 msgctxt "cmd:pomodoro_create|param:channel" msgid "timer_channel" msgstr "canal_do_temporizador" -#: src/modules/pomodoro/cog.py:527 +#: src/modules/pomodoro/cog.py:592 msgctxt "cmd:pomodoro_create|param:channel|desc" msgid "" "Voice channel to create the timer in. (Defaults to your current channel, or " "makes a new one.)" msgstr "" -"Canal de voz em que será criado o temporizador. (Por padrão, será seu canal " -"atual, ou escolha um outro)" +"Canal de voz no qual será criado o temporizador. (Por padrão será seu canal " +"atual, ou escolha outro)" -#: src/modules/pomodoro/cog.py:572 +#: src/modules/pomodoro/cog.py:637 msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms|title" msgid "Could not create pomodoro voice channel!" msgstr "Não pude criar o canal de voz dedicado ao Pomodoro!" -#: src/modules/pomodoro/cog.py:576 +#: src/modules/pomodoro/cog.py:641 msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms" msgid "" "No `timer_channel` was provided, and you lack the 'Manage Channels` " @@ -310,12 +323,12 @@ msgstr "" "Nenhum ˋtemporizador_canalˋ foi indicado, e me falta permissão de 'Gerenciar" " Canais', necessária para que eu possa criar uma sala para o temporizador." -#: src/modules/pomodoro/cog.py:587 +#: src/modules/pomodoro/cog.py:652 msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|title" msgid "Could not create pomodoro voice channel!" msgstr "Não pude criar um canal de voz para o Pomodoro!" -#: src/modules/pomodoro/cog.py:591 +#: src/modules/pomodoro/cog.py:656 msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|desc" msgid "" "No `timer_channel` was provided, and I lack the 'Manage Channels' permission" @@ -324,22 +337,22 @@ msgstr "" "Nenhum ˋtemporizador_canalˋ foi indicado, e me falta permissão de 'Gerenciar" " Canais', necessária para que eu possa criar um novo canal de voz." -#: src/modules/pomodoro/cog.py:602 +#: src/modules/pomodoro/cog.py:667 msgctxt "cmd:pomodoro_create|new_channel|default_name" msgid "Timer" msgstr "Temporizador" -#: src/modules/pomodoro/cog.py:606 +#: src/modules/pomodoro/cog.py:671 msgctxt "cmd:pomodoro_create|new_channel|audit_reason" msgid "Creating Pomodoro Voice Channel" msgstr "Criando um Canal de Voz com Temporizador Pomodoro" -#: src/modules/pomodoro/cog.py:615 +#: src/modules/pomodoro/cog.py:680 msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|title" msgid "Could not create pomodoro voice channel!" msgstr "Não pude criar o canal de voz com o temporizador pomodoro!" -#: src/modules/pomodoro/cog.py:619 +#: src/modules/pomodoro/cog.py:684 msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|desc" msgid "" "Failed to create a new pomodoro voice channel due to an unknown Discord " @@ -350,7 +363,7 @@ msgstr "" "favor, tente criar o canal manualmente, e o atribua ao Pomodoro atravéz do " "item ˋtemporizador_canalˋ deste comando. " -#: src/modules/pomodoro/cog.py:636 +#: src/modules/pomodoro/cog.py:701 #, possible-python-brace-format msgctxt "cmd:pomodoro_create|add_timer|error:timer_exists" msgid "A timer already exists in {channel}! Reconfigure it with {edit_cmd}." @@ -358,7 +371,7 @@ msgstr "" "Já há um temporizador em {channel}! Edite suas configurações através de " "{edit_cmd}." -#: src/modules/pomodoro/cog.py:650 +#: src/modules/pomodoro/cog.py:715 #, possible-python-brace-format msgctxt "cmd:pomodoro_create|add_timer|error:your_insufficient_perms" msgid "" @@ -368,39 +381,39 @@ msgstr "" "Você precisa ter permissão de 'Gerenciar Canal' em {channel} para que possa " "adicionar um temporizador lá." -#: src/modules/pomodoro/cog.py:699 +#: src/modules/pomodoro/cog.py:764 msgctxt "cmd:pomodoro_create|response:success|content" msgid "Timer created successfully! Use the panel below to reconfigure." msgstr "" "Temporizador criado com sucesso! Use o painel abaixo para reconfigurá-lo." -#: src/modules/pomodoro/cog.py:705 +#: src/modules/pomodoro/cog.py:770 msgctxt "cmd:pomodoro_destroy" msgid "destroy" msgstr "desativar" -#: src/modules/pomodoro/cog.py:708 +#: src/modules/pomodoro/cog.py:773 msgctxt "cmd:pomodoro_destroy|desc" msgid "Remove a pomodoro timer from a voice channel." msgstr "Remova um Temporizador Pomodoro de um canal de voz." -#: src/modules/pomodoro/cog.py:712 +#: src/modules/pomodoro/cog.py:777 msgctxt "cmd:pomodoro_destroy|param:channel" msgid "timer_channel" msgstr "canal_do_temporizador" -#: src/modules/pomodoro/cog.py:715 +#: src/modules/pomodoro/cog.py:780 msgctxt "cmd:pomodoro_destroy|param:channel" msgid "Select a timer voice channel to remove the timer from." msgstr "" "Selecione um canal com Temporizador Pomodoro para remover o cronômetro dele." -#: src/modules/pomodoro/cog.py:733 +#: src/modules/pomodoro/cog.py:798 msgctxt "cmd:pomodoro_destroy|error:no_timer" msgid "This channel doesn't have an attached pomodoro timer!" msgstr "Este canal não tem um temporizador Pomodoro." -#: src/modules/pomodoro/cog.py:746 +#: src/modules/pomodoro/cog.py:811 msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|owned" msgid "" "You need to be an administrator or own this channel to remove this timer!" @@ -408,7 +421,7 @@ msgstr "" "Você precisa ser um administrador, ou dono do seu próprio canal, para " "remover este temporizador." -#: src/modules/pomodoro/cog.py:755 +#: src/modules/pomodoro/cog.py:820 #, possible-python-brace-format msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|notowned" msgid "" @@ -418,40 +431,40 @@ msgstr "" "Você precisa ter permissão de 'Gerenciar Canais' em {channel} para remover o" " temporizador." -#: src/modules/pomodoro/cog.py:766 +#: src/modules/pomodoro/cog.py:831 #, possible-python-brace-format msgctxt "cmd:pomdoro_destroy|response:success|description" msgid "Timer successfully removed from {channel}." msgstr "O temporizador foi removido de {channel} com sucesso." -#: src/modules/pomodoro/cog.py:772 +#: src/modules/pomodoro/cog.py:837 msgctxt "cmd:pomodoro_edit" msgid "edit" msgstr "editar" -#: src/modules/pomodoro/cog.py:775 +#: src/modules/pomodoro/cog.py:840 msgctxt "cmd:pomodoro_edit|desc" msgid "Reconfigure a pomodoro timer." msgstr "Edite a configuração de um Temporizador Pomodoro." -#: src/modules/pomodoro/cog.py:779 +#: src/modules/pomodoro/cog.py:844 msgctxt "cmd:pomodoro_edit|param:channel" msgid "timer_channel" msgstr "canal_do_temporizador" -#: src/modules/pomodoro/cog.py:785 +#: src/modules/pomodoro/cog.py:850 msgctxt "cmd:pomodoro_edit|param:channel|desc" msgid "Select a timer voice channel to reconfigure." msgstr "" "Selecione um canal de voz com Temporizador Pomodoro para editar a " "configuração." -#: src/modules/pomodoro/cog.py:826 +#: src/modules/pomodoro/cog.py:891 msgctxt "cmd:pomodoro_edit|error:no_timer" msgid "This channel doesn't have an attached pomodoro timer to edit!" msgstr "Este canal não possui um temporizador Pomodoro para ser editado!" -#: src/modules/pomodoro/cog.py:839 +#: src/modules/pomodoro/cog.py:904 msgctxt "cmd:pomodoro_edit|error:insufficient_perms|role:other" msgid "" "Insufficient permissions to modifiy this timer!\n" @@ -460,20 +473,20 @@ msgstr "" "Você não possui permissões suficientes para modificar este temporizador!\n" "Você precisa ser um administrador do servidor, dono deste canal, ou ter um cargo que gerencie temporizadores." -#: src/modules/pomodoro/cog.py:860 +#: src/modules/pomodoro/cog.py:925 msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:admin" msgid "You need to be a guild admin to modify this option!" msgstr "" "Você precisa ser um administrador do servidor para modificar esta opção." -#: src/modules/pomodoro/cog.py:865 +#: src/modules/pomodoro/cog.py:930 msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:owner" msgid "You need to be a channel owner or guild admin to modify this option!" msgstr "" "Você precisa ser o dono de canal ou administrador do servidor para modificar" " esta opção!" -#: src/modules/pomodoro/cog.py:870 +#: src/modules/pomodoro/cog.py:935 msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:manager" msgid "" "You need to be a guild admin or have the manager role to modify this option!" @@ -481,12 +494,12 @@ msgstr "" "Você precisa ser um administrador do servidor ou ter um cargo que te permita" " modificar esta opção!" -#: src/modules/pomodoro/cog.py:906 +#: src/modules/pomodoro/cog.py:971 msgctxt "cmd:configure_pomodoro" msgid "pomodoro" msgstr "pomodoro" -#: src/modules/pomodoro/cog.py:907 +#: src/modules/pomodoro/cog.py:972 msgctxt "cmd:configure_pomodoro|desc" msgid "Configure Pomodoro Timer System" msgstr "Configure o Sistema de Temporizador Pomodoro" @@ -562,7 +575,7 @@ msgid "" "timer." msgstr "" "Número de ciclos Foco+Pausa que um membro pode deixar de marcar presença sem" -" que seja retirado do canal." +" ser retirado do canal." #: src/modules/pomodoro/options.py:90 msgctxt "timerset:inactivity_threshold|desc" @@ -604,8 +617,8 @@ msgstr "alertas_sonoros" msgctxt "timerset:voice_alerts|desc" msgid "Whether to join the voice channel and announce focus and break stages." msgstr "" -"Se devo entrar no canal do temporizador para emitir um alerta sonoro das " -"mudanças de estágio entre foco, e pausa." +"Se devo entrar no canal do pomodoro para anunciar as mudanças de estágio " +"entre foco e pausa." #: src/modules/pomodoro/options.py:162 msgctxt "timerset:base_name" @@ -634,9 +647,8 @@ msgid "" "Auto-updating voice channel name, accepting {remaining}, {name}, {pattern}, " "and {stage} keys." msgstr "" -"Configuração de atualização automática do nome do canal. Use o nome do canal" -" intercalado com as chaves {remaining}, {name}, {pattern} e {stage} para " -"formar o nome adequado. " +"Mudança automática do nome do canal. Intercale o nome com {remaining}, " +"{name}, {pattern} e {stage}. " #: src/modules/pomodoro/options.py:191 #, possible-python-brace-format @@ -696,17 +708,17 @@ msgctxt "timerset:break_length|desc" msgid "Please enter a positive number of minutes." msgstr "Por favor, preencha um número positivo de minutos." -#: src/modules/pomodoro/settings.py:19 +#: src/modules/pomodoro/settings.py:21 msgctxt "guildset:pomodoro_channel" msgid "pomodoro_channel" msgstr "canal_pomodoro" -#: src/modules/pomodoro/settings.py:22 +#: src/modules/pomodoro/settings.py:24 msgctxt "guildset:pomodoro_channel|desc" msgid "Default central notification channel for pomodoro timers." msgstr "Canal padrão de notificações do temporizador pomodoro." -#: src/modules/pomodoro/settings.py:26 +#: src/modules/pomodoro/settings.py:28 msgctxt "guildset:pomodoro_channel|long_desc" msgid "" "Pomodoro timers which do not have a custom notification channel set will " @@ -718,17 +730,17 @@ msgstr "" "temporizador pomodoro irá enviar as notificações no próprio canal em que o " "temporizador está." -#: src/modules/pomodoro/settings.py:33 +#: src/modules/pomodoro/settings.py:35 msgctxt "guildset:pomodoro_channel|formatted|notset" msgid "Not Set (Will use timer voice channel.)" msgstr "Não Configurado (Irá usar o canal em que está o temporizador)." -#: src/modules/pomodoro/settings.py:37 +#: src/modules/pomodoro/settings.py:39 msgctxt "guildset:pomodoro_channel|accepts" msgid "Timer notification channel name or id." msgstr "Nome ou ID do canal para enviar as notificações do temporizador." -#: src/modules/pomodoro/settings.py:51 +#: src/modules/pomodoro/settings.py:53 #, possible-python-brace-format msgctxt "guildset:pomodoro_channel|set_response|set" msgid "Pomodoro timer notifications will now default to {channel}" @@ -736,14 +748,14 @@ msgstr "" "As notificações do Pomodoro irão, a partir de agora, ser enviadas para " "{channel}." -#: src/modules/pomodoro/settings.py:56 +#: src/modules/pomodoro/settings.py:58 msgctxt "guildset:pomodoro_channel|set_response|unset" msgid "Pomodoro timer notifications will now default to their voice channel." msgstr "" "As notificações do Pomodoro irão, a partir de agora, ser enviada para o " "próprio canal em que está o temporizador." -#: src/modules/pomodoro/settings.py:66 +#: src/modules/pomodoro/settings.py:68 #, possible-python-brace-format msgctxt "guildset:pomdoro_channel|set_using" msgid "{cmd} or channel selector below." @@ -873,33 +885,33 @@ msgctxt "ui:timer_options|menu:voice_channel|placeholder" msgid "Set Voice Channel" msgstr "Configurar Canal de Voz" -#: src/modules/pomodoro/ui/config.py:159 +#: src/modules/pomodoro/ui/config.py:157 msgctxt "ui:timer_options|menu:notification_channel|placeholder" msgid "Set Notification Channel" msgstr "Configurar Canal de Notificações" -#: src/modules/pomodoro/ui/config.py:174 +#: src/modules/pomodoro/ui/config.py:172 msgctxt "ui:timer_options|menu:manager_role|placeholder" msgid "Set Manager Role" msgstr "Configurar Cargo de Gerenciador" -#: src/modules/pomodoro/ui/config.py:183 +#: src/modules/pomodoro/ui/config.py:181 #, possible-python-brace-format msgctxt "ui:timer_options|embed|title" msgid "Timer Control Panel for {channel}" msgstr "Painel de Controle do Temporizador em {channel}" -#: src/modules/pomodoro/ui/config.py:190 +#: src/modules/pomodoro/ui/config.py:188 msgctxt "ui:timer_options|embed|footer" msgid "Hover over the option names to view descriptions." msgstr "Passe o mouse sobre o nome para ver as descrições." -#: src/modules/pomodoro/ui/config.py:202 +#: src/modules/pomodoro/ui/config.py:200 msgctxt "ui:timer_options|embed|field:pattern|name" msgid "Pattern" msgstr "Padrão" -#: src/modules/pomodoro/ui/config.py:205 +#: src/modules/pomodoro/ui/config.py:203 #, possible-python-brace-format msgctxt "ui:timer_options|embed|field:pattern|value" msgid "" @@ -909,12 +921,12 @@ msgstr "" "**ˋ{focus_len} minutosˋ** Foco\n" "**ˋ{break_len} minutosˋ** Pausa" -#: src/modules/pomodoro/ui/config.py:216 +#: src/modules/pomodoro/ui/config.py:214 msgctxt "ui:timer_options|embed|field:channel_name|name" msgid "Channel Name Preview" msgstr "Prévia do Nome do Canal" -#: src/modules/pomodoro/ui/config.py:220 +#: src/modules/pomodoro/ui/config.py:218 #, possible-python-brace-format msgctxt "ui:timer_options|embed|field:channel_name|value" msgid "" @@ -924,17 +936,17 @@ msgstr "" "**ˋ{name}ˋ**\n" "(O nome do canal atual talvez não corresponda exatamente devido a limites de taxa)." -#: src/modules/pomodoro/ui/config.py:230 +#: src/modules/pomodoro/ui/config.py:228 msgctxt "ui:timer_options|embed|field:issues|name" msgid "Issues" msgstr "Problemas" -#: src/modules/pomodoro/ui/config.py:248 +#: src/modules/pomodoro/ui/config.py:246 msgctxt "ui:timer_options|issue:no_voice_channel" msgid "The configured voice channel does not exist! Please update it below." msgstr "O canal de voz configurado não existe! Por favor atualize ele abaixo." -#: src/modules/pomodoro/ui/config.py:259 +#: src/modules/pomodoro/ui/config.py:257 #, possible-python-brace-format msgctxt "ui:timer_options|issue:cannot_speak" msgid "" @@ -943,7 +955,7 @@ msgstr "" "Os alertas de voz estão ativados, mas eu não tenho permissão para falar em " "{channel}. " -#: src/modules/pomodoro/ui/config.py:266 +#: src/modules/pomodoro/ui/config.py:264 #, possible-python-brace-format msgctxt "ui:timer_options|issue:cannot_change_name" msgid "" @@ -952,12 +964,12 @@ msgstr "" "Eu não posso atualizar o nome do {channel}! (É preciso permissão de " "ˋGERENCIAR_CANAISˋ)" -#: src/modules/pomodoro/ui/config.py:277 +#: src/modules/pomodoro/ui/config.py:275 msgctxt "ui:timer_options|issue:notif_channel_dne" msgid "Configured notification channel does not exist!" msgstr "O canal de notificações configurado não existe!" -#: src/modules/pomodoro/ui/config.py:286 +#: src/modules/pomodoro/ui/config.py:284 #, possible-python-brace-format msgctxt "ui:timer_options|issue:notif_channel_write" msgid "" @@ -967,7 +979,7 @@ msgstr "" "Eu não pude anexar os arquivos (ˋANEXAR_ARQUIVOSˋ), ou enviar as integrações" " (ˋINSERIR_LINKSˋ) em {channel}" -#: src/modules/pomodoro/ui/config.py:294 +#: src/modules/pomodoro/ui/config.py:292 #, possible-python-brace-format msgctxt "ui:timer_options|issues:cannot_make_webhooks" msgid "" diff --git a/locales/pt_BR/LC_MESSAGES/babel.po b/locales/pt_BR/LC_MESSAGES/babel.po index f560d88f..4ac3e3d8 100644 --- a/locales/pt_BR/LC_MESSAGES/babel.po +++ b/locales/pt_BR/LC_MESSAGES/babel.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -23,22 +23,22 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/babel/settingui.py:40 +#: src/babel/settingui.py:41 msgctxt "ui:locale_config|button:force|label" msgid "Toggle Force" msgstr "Forçar alteração" -#: src/babel/settingui.py:49 +#: src/babel/settingui.py:50 msgctxt "ui:locale_config|embed|title" msgid "Language Configuration Panel" msgstr "Painel de Configuração de Idioma" -#: src/babel/settingui.py:83 +#: src/babel/settingui.py:84 msgctxt "dash:locale|title" -msgid "Server Language Configuration ({commands[configure language]})" -msgstr "Configuração de Idioma do Servidor ({commands[configure language]})" +msgid "Server Language Configuration ({commands[config language]})" +msgstr "" -#: src/babel/settingui.py:87 +#: src/babel/settingui.py:88 msgctxt "dash:locale|dropdown|placeholder" msgid "Server Language Panel" msgstr "Painel de Idioma do Servidor" @@ -53,7 +53,7 @@ msgctxt "cmd:configure_language|desc" msgid "Configure the default language I will use in this server." msgstr "Configurar o idioma padrão que usarei neste servidor." -#: src/babel/cog.py:147 +#: src/babel/cog.py:145 #, possible-python-brace-format msgctxt "cmd:configure_language|error" msgid "" @@ -61,37 +61,37 @@ msgid "" msgstr "" "Você não pode habilitar `{force_setting}` sem ter um idioma configurado!" -#: src/babel/cog.py:167 +#: src/babel/cog.py:165 msgctxt "cmd:configure_language|success" msgid "Language settings updated!" msgstr "Configurações de idioma atualizadas!" -#: src/babel/cog.py:183 +#: src/babel/cog.py:181 msgctxt "cmd:userconfig_language" msgid "language" msgstr "idioma" -#: src/babel/cog.py:186 +#: src/babel/cog.py:184 msgctxt "cmd:userconfig_language|desc" msgid "Set your preferred interaction language." msgstr "Defina o seu idioma de interação preferido." -#: src/babel/cog.py:190 +#: src/babel/cog.py:188 msgctxt "cmd:userconfig_language|param:language" msgid "language" msgstr "idioma" -#: src/babel/cog.py:195 +#: src/babel/cog.py:193 msgctxt "cmd:userconfig_language|param:language|desc" msgid "Which language do you want me to respond in?" msgstr "Em qual idioma você deseja que eu responda?" -#: src/babel/cog.py:211 +#: src/babel/cog.py:209 msgctxt "cmd:userconfig_language|button:reset|label" msgid "Reset" msgstr "Redefinir" -#: src/babel/cog.py:252 +#: src/babel/cog.py:250 #, possible-python-brace-format msgctxt "acmpl:language|no_match" msgid "No supported languages matching {partial}" @@ -109,38 +109,38 @@ msgctxt "utils|short_months" msgid "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" msgstr "Jan,Fev,Mar,Abr,Mai,Jun,Jul,Ago,Set,Out,Nov,Dez" -#: src/babel/settings.py:23 +#: src/babel/settings.py:25 msgctxt "settype:locale|accepts" msgid "Enter a supported language (e.g. 'en-GB')." msgstr "Digite um idioma compatível (por exemplo, 'pt-BR')." -#: src/babel/settings.py:34 +#: src/babel/settings.py:36 msgctxt "settype:locale|summary_table|field:supported|key" msgid "Supported" msgstr "Suportado" -#: src/babel/settings.py:44 +#: src/babel/settings.py:46 msgctxt "settype:locale|formatted:unset" msgid "Unset" msgstr "Não definido" -#: src/babel/settings.py:60 +#: src/babel/settings.py:62 #, possible-python-brace-format msgctxt "settype:locale|error" msgid "Sorry, we do not support the language `{lang}` at this time!" msgstr "Desculpe, no momento não oferecemos suporte para o idioma `{lang}`!" -#: src/babel/settings.py:75 +#: src/babel/settings.py:77 msgctxt "userset:locale" msgid "language" msgstr "idioma" -#: src/babel/settings.py:76 +#: src/babel/settings.py:78 msgctxt "userset:locale|desc" msgid "Your preferred language for interacting with me." msgstr "O seu idioma preferido para interagir comigo." -#: src/babel/settings.py:79 +#: src/babel/settings.py:81 msgctxt "userset:locale|long_desc" msgid "" "The language you would prefer me to respond to commands and interactions in." @@ -150,32 +150,32 @@ msgstr "" "servidores podem ser configurados para substituir essa configuração pelo seu" " próprio idioma." -#: src/babel/settings.py:90 +#: src/babel/settings.py:92 msgctxt "userset:locale|response" msgid "You have unset your language." msgstr "Você removeu o seu idioma." -#: src/babel/settings.py:92 +#: src/babel/settings.py:94 #, possible-python-brace-format msgctxt "userset:locale|response" msgid "You have set your language to {lang}." msgstr "Você definiu o seu idioma como {lang}." -#: src/babel/settings.py:110 +#: src/babel/settings.py:113 msgctxt "guildset:force_locale" msgid "force_language" msgstr "obrigar_idioma" -#: src/babel/settings.py:112 +#: src/babel/settings.py:115 msgctxt "guildset:force_locale|desc" msgid "" "Whether to force all members to use the configured guild language when " "interacting with me." msgstr "" -"Defina se deseja obrigar todos os membros a usar o idioma configurado do " -"servidor ao interagir comigo." +"Se deseja forçar aos membros a utilizarem o idioma do próprio servidor " +"quando interagirem comigo." -#: src/babel/settings.py:115 +#: src/babel/settings.py:118 msgctxt "guildset:force_locale|long_desc" msgid "" "When enabled, commands in this guild will always use the configured guild " @@ -185,37 +185,37 @@ msgstr "" "configurado do servidor, independentemente do idioma pessoal configurado " "pelo membro." -#: src/babel/settings.py:119 +#: src/babel/settings.py:122 msgctxt "guildset:force_locale|output" msgid "Enabled (members will be forced to use the server language)" msgstr "Ativado (membros serão obrigados a usar o idioma do servidor)" -#: src/babel/settings.py:120 +#: src/babel/settings.py:123 msgctxt "guildset:force_locale|output" msgid "Disabled (members may set their own language)" msgstr "Desativado (membros podem definir seu próprio idioma)" -#: src/babel/settings.py:134 +#: src/babel/settings.py:137 msgctxt "guildset:force_locale|response" msgid "I will always use the set language in this server." msgstr "Sempre vou usar o idioma configurado neste servidor." -#: src/babel/settings.py:139 +#: src/babel/settings.py:142 msgctxt "guildset:force_locale|response" msgid "I will now allow the members to set their own language here." msgstr "Agora eu vou permitir que membros definam seu próprio idioma aqui." -#: src/babel/settings.py:156 +#: src/babel/settings.py:160 msgctxt "guildset:locale" msgid "language" msgstr "idioma" -#: src/babel/settings.py:157 +#: src/babel/settings.py:161 msgctxt "guildset:locale|desc" msgid "Your preferred language for interacting with me." msgstr "Sua opção de idioma para interagir comigo." -#: src/babel/settings.py:160 +#: src/babel/settings.py:164 msgctxt "guildset:locale|long_desc" msgid "" "The default language to use for responses and interactions in this server. " @@ -226,12 +226,12 @@ msgstr "" "configuração de idioma do membro vai se sobrepor ao idioma padrão nos " "comandos que ele/ela usar, a não ser que `force_language` esteja ativado." -#: src/babel/settings.py:172 +#: src/babel/settings.py:176 msgctxt "guildset:locale|response" msgid "You have unset the guild language." msgstr "Você desfez a configuração de idioma da comunidade." -#: src/babel/settings.py:174 +#: src/babel/settings.py:178 #, possible-python-brace-format msgctxt "guildset:locale|response" msgid "You have set the guild language to {lang}." diff --git a/locales/pt_BR/LC_MESSAGES/config.po b/locales/pt_BR/LC_MESSAGES/config.po index 48a8e8e3..41463eb4 100644 --- a/locales/pt_BR/LC_MESSAGES/config.po +++ b/locales/pt_BR/LC_MESSAGES/config.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -22,71 +22,130 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/config/general.py:41 +#: src/modules/config/settingui.py:56 +msgctxt "ui:general_config|menu:event_log|placeholder" +msgid "Select Event Log" +msgstr "" + +#: src/modules/config/settingui.py:64 +msgctxt "ui:general_config|embed:title" +msgid "General Configuration" +msgstr "" + +#: src/modules/config/settingui.py:99 +msgctxt "dash:general|title" +msgid "General Configuration ({commands[config general]})" +msgstr "" + +#: src/modules/config/settingui.py:103 +msgctxt "dash:general|option|name" +msgid "General Configuration Panel" +msgstr "" + +#: src/modules/config/cog.py:56 src/modules/config/general.py:52 +msgctxt "cmd:configure_general" +msgid "general" +msgstr "geral" + +#: src/modules/config/cog.py:57 src/modules/config/general.py:53 +msgctxt "cmd:configure_general|desc" +msgid "General configuration panel" +msgstr "Painel de configuração geral" + +#: src/modules/config/general.py:91 +msgctxt "cmd:configure_general|parse_failure:timezone" +msgid "Could not set the timezone!" +msgstr "Não foi possível configurar o fuso horário!" + +#: src/modules/config/general.py:112 +msgctxt "cmd:configure_general|success" +msgid "Settings Updated!" +msgstr "Configurações atualizadas!" + +#: src/modules/config/general.py:127 +msgctxt "cmd:configure_general|panel|title" +msgid "General Configuration Panel" +msgstr "Painel de Configuração Geral" + +#: src/modules/config/dashboard.py:99 +#, possible-python-brace-format +msgctxt "ui:dashboard|title" +msgid "Guild Dashboard (Page {page}/{total})" +msgstr "Painel do Servidor (Página {page}/{total})" + +#: src/modules/config/dashboard.py:110 +msgctxt "ui:dashboard|footer" +msgid "Hover over setting names for a brief description" +msgstr "" +"Posicione o mouse sobre as configurações para uma breve descrição da função." + +#: src/modules/config/dashboard.py:173 +msgctxt "ui:dashboard|menu:config|placeholder" +msgid "Open Configuration Panel" +msgstr "Abrir Painel de Configuração" + +#: src/modules/config/settings.py:33 msgctxt "guildset:timezone" msgid "timezone" -msgstr "fuso horário" +msgstr "" -#: src/modules/config/general.py:44 +#: src/modules/config/settings.py:36 msgctxt "guildset:timezone|desc" msgid "Guild timezone for statistics display." -msgstr "Fuso horário da comunidade para exibição das estatísticas." +msgstr "" -#: src/modules/config/general.py:48 +#: src/modules/config/settings.py:40 msgctxt "guildset:timezone|long_desc" msgid "" "Guild-wide timezone. Used to determine start of the day for the " "leaderboards, and as the default statistics timezone for members who have " "not set one." msgstr "" -"Fuso horário para a comunidade inteira. Usado para definir o início do dia " -"para as classificações e como fuso horário padrão para estatísticas no caso " -"de membros que não tenham um fuso configurado." -#: src/modules/config/general.py:62 +#: src/modules/config/settings.py:54 #, possible-python-brace-format msgctxt "guildset:timezone|response" msgid "The guild timezone has been set to `{timezone}`." -msgstr "O fuso horário da comunidade foi definido como `{timezone}`." - -#: src/modules/config/general.py:94 -msgctxt "cmd:configure_general" -msgid "general" -msgstr "geral" - -#: src/modules/config/general.py:95 -msgctxt "cmd:configure_general|desc" -msgid "General configuration panel" -msgstr "Painel de configuração geral" - -#: src/modules/config/general.py:129 -msgctxt "cmd:configure_general|parse_failure:timezone" -msgid "Could not set the timezone!" -msgstr "Não foi possível configurar o fuso horário!" - -#: src/modules/config/general.py:150 -msgctxt "cmd:configure_general|success" -msgid "Settings Updated!" -msgstr "Configurações atualizadas!" - -#: src/modules/config/general.py:165 -msgctxt "cmd:configure_general|panel|title" -msgid "General Configuration Panel" -msgstr "Painel de Configuração Geral" - -#: src/modules/config/dashboard.py:98 -#, possible-python-brace-format -msgctxt "ui:dashboard|title" -msgid "Guild Dashboard (Page {page}/{total})" -msgstr "Painel do Servidor (Página {page}/{total})" - -#: src/modules/config/dashboard.py:109 -msgctxt "ui:dashboard|footer" -msgid "Hover over setting names for a brief description" msgstr "" -"Posicione o mouse sobre as configurações para uma breve descrição da função." -#: src/modules/config/dashboard.py:172 -msgctxt "ui:dashboard|menu:config|placeholder" -msgid "Open Configuration Panel" -msgstr "Abrir Painel de Configuração" +#: src/modules/config/settings.py:66 +msgctxt "guildset:eventlog" +msgid "event_log" +msgstr "" + +#: src/modules/config/settings.py:69 +msgctxt "guildset:eventlog|desc" +msgid "" +"My audit log channel where I send server actions and events (e.g. rankgs and" +" expiring roles)." +msgstr "" + +#: src/modules/config/settings.py:73 +msgctxt "guildset:eventlog|long_desc" +msgid "" +"If configured, I will log most significant actions taken or events which occur through my interface, into this channel. Logged events include, for example:\n" +"- Member voice activity\n" +"- Roles equipped and expiring from rolemenus\n" +"- Privated rooms rented and expiring\n" +"- Activity ranks earned\n" +"I must have the 'Manage Webhooks' permission in this channel." +msgstr "" + +#: src/modules/config/settings.py:95 +#, possible-python-brace-format +msgctxt "guildset:eventlog|check_value|error:perms|perm:manage_webhooks" +msgid "" +"Cannot set {channel} as an event log! I lack the 'Manage Webhooks' " +"permission there." +msgstr "" + +#: src/modules/config/settings.py:106 +#, possible-python-brace-format +msgctxt "guildset:eventlog|response|set" +msgid "Events will now be logged to {channel}" +msgstr "" + +#: src/modules/config/settings.py:111 +msgctxt "guildset:eventlog|response|unset" +msgid "Guild events will no longer be logged." +msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/economy.po b/locales/pt_BR/LC_MESSAGES/economy.po index 874eab4b..7fe608d7 100644 --- a/locales/pt_BR/LC_MESSAGES/economy.po +++ b/locales/pt_BR/LC_MESSAGES/economy.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -23,94 +23,94 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/economy/settingui.py:33 +#: src/modules/economy/settingui.py:34 msgctxt "ui:economy_config|embed|title" msgid "Economy Configuration Panel" -msgstr "Painel de Configuração do Sistema Financeiro" +msgstr "Painel de Configuração do Financeiro" -#: src/modules/economy/settingui.py:68 +#: src/modules/economy/settingui.py:67 msgctxt "dash:economy|title" -msgid "Economy Configuration ({commands[configure economy]})" -msgstr "Configuração do Sistema Financeiro ({commands[configure economy]})" +msgid "Economy Configuration ({commands[config economy]})" +msgstr "" -#: src/modules/economy/settingui.py:72 +#: src/modules/economy/settingui.py:71 msgctxt "dash:economy|dropdown|placeholder" msgid "Economy Panel" msgstr "Painel do Financeiro" #. ----- Economy group commands ----- -#: src/modules/economy/cog.py:86 +#: src/modules/economy/cog.py:87 msgctxt "cmd:economy" msgid "economy" msgstr "financeiro" -#: src/modules/economy/cog.py:92 +#: src/modules/economy/cog.py:93 msgctxt "cmd:economy_balance" msgid "balance" msgstr "saldo" -#: src/modules/economy/cog.py:95 +#: src/modules/economy/cog.py:96 msgctxt "cmd:economy_balance|desc" msgid "Display or modify LionCoin balance for members and roles." msgstr "Exiba ou modifique o saldo de LionCoin para membros e cargos." -#: src/modules/economy/cog.py:99 +#: src/modules/economy/cog.py:100 msgctxt "cmd:economy_balance|param:target" msgid "target" msgstr "selecionar" -#: src/modules/economy/cog.py:100 +#: src/modules/economy/cog.py:101 msgctxt "cmd:economy_balance|param:add" msgid "add" msgstr "adicionar" -#: src/modules/economy/cog.py:101 +#: src/modules/economy/cog.py:102 msgctxt "cmd:economy_balance|param:set" msgid "set" msgstr "definir" -#: src/modules/economy/cog.py:106 +#: src/modules/economy/cog.py:107 msgctxt "cmd:economy_balance|param:target|desc" msgid "" "Target user or role to view or update. Use @everyone to update the entire " "guild." msgstr "" -"Selecione um usuário ou cargo para visualizar ou atualizar. Use @todos para " -"atualizar a comunidade inteira." +"Usuário, ou cargo, para visualizar ou atualizar. Use @everyone para " +"atualizar todos do servidor." -#: src/modules/economy/cog.py:110 +#: src/modules/economy/cog.py:111 msgctxt "cmd:economy_balance|param:add|desc" msgid "" "Number of LionCoins to add to the target member's balance. May be negative " "to remove." msgstr "" -"Quantidade de LionCoins a ser adicionada ao saldo do membro selecionado. " -"Pode ser negativo para subtrair do saldo." +"Quantidade de LionCoins adicionar ao saldo do membro. Pode ser negativo, " +"para subtrair do saldo." -#: src/modules/economy/cog.py:114 +#: src/modules/economy/cog.py:115 msgctxt "cmd:economy_balance|param:set|set" msgid "New balance to set the target's balance to." msgstr "Novo saldo a ser definido para o selecionado." -#: src/modules/economy/cog.py:152 +#: src/modules/economy/cog.py:153 #, possible-python-brace-format msgctxt "cmd:economy_balance|error:no_target" msgid "" "There are no valid members in {role.mention}! It has a total of `0` LC." msgstr "Não há membros válidos em {role.mention}! O total é de `0` LC." -#: src/modules/economy/cog.py:163 +#: src/modules/economy/cog.py:164 msgctxt "cmd:economy_balance|error:target_is_bot" msgid "Bots cannot have coin balances!" msgstr "Bots não podem ter saldos de moedas!" -#: src/modules/economy/cog.py:174 +#: src/modules/economy/cog.py:175 msgctxt "cmd:economy_balance|error:args" msgid "You cannot simultaneously `set` and `add` member balances!" msgstr "" "Você não pode `definir` e `adicionar` saldos de membro simultaneamente!" -#: src/modules/economy/cog.py:223 +#: src/modules/economy/cog.py:224 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success|affected" msgid "One user was affected." @@ -119,7 +119,7 @@ msgstr[0] "Um usuário foi afetado." msgstr[1] "**{count}** usuários foram afetados." msgstr[2] "**{count}** usuários foram afetados." -#: src/modules/economy/cog.py:229 +#: src/modules/economy/cog.py:230 #, possible-python-brace-format msgctxt "cmd:economy_balance|confirm|affected" msgid "One user will be affected." @@ -128,27 +128,27 @@ msgstr[0] "Um usuário será afetado." msgstr[1] "**{count}** usuários serão afetados." msgstr[2] "**{count}** usuários serão afetados." -#: src/modules/economy/cog.py:236 +#: src/modules/economy/cog.py:237 msgctxt "cmd:economy_balance|confirm|button:confirm" msgid "Yes, adjust balances" msgstr "Sim, ajuste os saldos" -#: src/modules/economy/cog.py:240 +#: src/modules/economy/cog.py:241 msgctxt "cmd:economy_balance|confirm|button:cancel" msgid "No, cancel" msgstr "Não, cancelar" -#: src/modules/economy/cog.py:247 +#: src/modules/economy/cog.py:248 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_set|desc" msgid "" "All members of **{guild_name}** have had their balance set to " "{coin_emoji}**{amount}**." msgstr "" -"Todos os membros de **{guild_name}** tiveram seu saldo definido para " +"Todos os membros de **{guild_name}** tiveram o saldo definido para " "{coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:256 +#: src/modules/economy/cog.py:257 #, possible-python-brace-format msgctxt "cmd:economy_balance|confirm_set|desc" msgid "" @@ -157,7 +157,7 @@ msgstr "" "Tem certeza que deseja ajustar o saldo de todos para " "{coin_emoji}**{amount}**?" -#: src/modules/economy/cog.py:264 +#: src/modules/economy/cog.py:265 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_set|desc" msgid "" @@ -167,23 +167,34 @@ msgstr "" "Todos os membros {role_mention} tiveram seus saldos definidos para " "{coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:273 +#: src/modules/economy/cog.py:274 #, possible-python-brace-format msgctxt "cmd:economy_balance|confirm_set|desc" msgid "" "Are you sure you want to set the balance of everyone with {role_mention} to " "{coin_emoji}**{amount}**?" msgstr "" -"Você tem certeza que quer definir o saldo de todos com o cargo " -"{role_mention} para {coin_emoji}**{amount}**?" +"Tem certeza que quer definir o saldo de todos com o cargo {role_mention} " +"para {coin_emoji}**{amount}**?" -#: src/modules/economy/cog.py:290 +#: src/modules/economy/cog.py:291 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_set|desc" msgid "{user_mention} now has a balance of {coin_emoji}**{amount}**." msgstr "{user_mention} agora tem o saldo de {coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:306 +#: src/modules/economy/cog.py:305 +msgctxt "eventlog|event:economy_set|title" +msgid "Moderator Set Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:309 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} set {target}'s balance to {amount}." +msgstr "" + +#: src/modules/economy/cog.py:321 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_add|desc" msgid "" @@ -191,15 +202,14 @@ msgid "" msgstr "" "Todos os membros de **{guild_name}** receberam {coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:315 +#: src/modules/economy/cog.py:330 #, possible-python-brace-format msgctxt "cmd:economy_balance|confirm_add|desc" msgid "Are you sure you want to add **{amount}** to everyone's balance?" msgstr "" -"Você tem certeza que deseja adicionar **{amount}** para o saldo de todo " -"mundo?" +"Tem certeza que deseja adicionar **{amount}** para o saldo de todo mundo?" -#: src/modules/economy/cog.py:323 +#: src/modules/economy/cog.py:338 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_add|desc" msgid "" @@ -207,17 +217,17 @@ msgid "" msgstr "" "Todos os membros de {role_mention} receberam {coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:332 +#: src/modules/economy/cog.py:347 #, possible-python-brace-format msgctxt "cmd:economy_balance|confirm_add|desc" msgid "" "Are you sure you want to add {coin_emoji}**{amount}** to everyone in " "{role_mention}?" msgstr "" -"Você tem certeza que quer adicionar {coin_emoji}**{amount}** para todos em " +"Tem certeza que quer adicionar {coin_emoji}**{amount}** para todos em " "{role_mention}?" -#: src/modules/economy/cog.py:354 +#: src/modules/economy/cog.py:369 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:success_add|desc" msgid "" @@ -227,91 +237,102 @@ msgstr "" "{user_mention} recebeu {coin_emoji}**{amount}**, e agora tem um saldo de " "{coin_emoji}**{new_amount}**." -#: src/modules/economy/cog.py:365 +#: src/modules/economy/cog.py:380 +msgctxt "eventlog|event:economy_add|title" +msgid "Moderator Modified Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:384 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} added {amount} to {target}'s balance." +msgstr "" + +#: src/modules/economy/cog.py:394 msgctxt "cmd:economy_balance|embed:success|title" msgid "Account successfully updated." msgid_plural "Accounts successfully updated." msgstr[0] "A conta foi atualizada com sucesso!" msgstr[1] "As contas foram atualizadas com sucesso!" -msgstr[2] "As contas foram atualizadas com sucesso!" +msgstr[2] "Contas atualizadas com sucesso!" -#: src/modules/economy/cog.py:409 +#: src/modules/economy/cog.py:438 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|author" msgid "Balance sheet for {name}" msgstr "Extrato de saldos de {name}" -#: src/modules/economy/cog.py:415 +#: src/modules/economy/cog.py:444 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|header" msgid "This server has a total balance of {coin_emoji}**{total}**." msgstr "Este servidor tem um saldo total de {coin_emoji}**{total}**." -#: src/modules/economy/cog.py:423 +#: src/modules/economy/cog.py:452 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|header" msgid "" "{role_mention} has `{count}` members with non-zero balance, with a total " "balance of {coin_emoji}**{total}**." msgstr "" -"{role_mention} tem ˋ{count}ˋ membros com saldo diferente de zero, com um " +"{role_mention} tem ˋ{count}ˋ membros com saldo diferente de zero, e um " "saldo total de {coin_emoji}**{total}**." -#: src/modules/economy/cog.py:435 +#: src/modules/economy/cog.py:464 msgctxt "cmd:economy_balance|embed:role_lb|row_format" msgid "`[{pos:>{numwidth}}]` | `{coins:>{coinwidth}} LC` | {mention}" msgstr "`[{pos:>{numwidth}}]` | `{coins:>{coinwidth}} LC` | {mention}" -#: src/modules/economy/cog.py:463 +#: src/modules/economy/cog.py:492 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|footer" msgid "Page {page}/{total}" msgstr "Página {page}/{total}" -#: src/modules/economy/cog.py:473 +#: src/modules/economy/cog.py:502 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|header" msgid "This server has a total balance of {coin_emoji}**0**." msgstr "Este servidor tem o saldo total de {coin_emoji}**0**." -#: src/modules/economy/cog.py:480 +#: src/modules/economy/cog.py:509 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|header" msgid "The role {role_mention} has a total balance of {coin_emoji}**0**." msgstr "O cargo {role_mention} tem o saldo total de {coin_emoji}**0**." -#: src/modules/economy/cog.py:500 +#: src/modules/economy/cog.py:529 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:single|desc" msgid "{mention} currently owns {coin_emoji} {coins}." -msgstr "{mention} possui atualmente {coins_emoji} {coins}." +msgstr "{mention} tem atualmente {coins_emoji} {coins}." -#: src/modules/economy/cog.py:510 +#: src/modules/economy/cog.py:539 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:single|author" msgid "Balance statement for {user}" -msgstr "Extrato de saldo para {user}" +msgstr "Extrato financeiro de {user}" -#: src/modules/economy/cog.py:519 +#: src/modules/economy/cog.py:548 msgctxt "cmd:economy_reset" msgid "reset" msgstr "resetar" -#: src/modules/economy/cog.py:522 +#: src/modules/economy/cog.py:551 msgctxt "cmd:economy_reset|desc" msgid "" "Reset the coin balance for a target user or role. (See also \"economy " "balance\".)" msgstr "" -"Resetar o saldo de moedas de um determinado cargo, ou usuário. (Veja também " -"o \"balanço do financeiro\")." +"Reseta o saldo de moedas de um cargo, ou usuário. (Veja também o \"saldo " +"financeiro\")." -#: src/modules/economy/cog.py:526 +#: src/modules/economy/cog.py:555 msgctxt "cmd:economy_reset|param:target" msgid "target" msgstr "alvo" -#: src/modules/economy/cog.py:531 +#: src/modules/economy/cog.py:560 msgctxt "cmd:economy_reset|param:target|desc" msgid "" "Target user or role to view or update. Use @everyone to reset the entire " @@ -320,63 +341,63 @@ msgstr "" "Usuário alvo, ou cargo, para ver ou alterar. Use @everyone para resetar " "todos os membros." -#: src/modules/economy/cog.py:558 +#: src/modules/economy/cog.py:587 #, possible-python-brace-format msgctxt "cmd:economy_reset|confirm:reset_guild|desc" msgid "" "Are you sure you want to reset the coin balance for everyone in **{guild_name}**?\n" "*This is not reversible!*" msgstr "" -"Você tem certeza que deseja resetar o saldo de moedas de todos de **{guild_name}**?\n" -"*Isto não será reversível!*" +"Tem certeza que deseja resetar o saldo de moedas de todos de **{guild_name}**?\n" +"*Isto não é reversível!*" -#: src/modules/economy/cog.py:566 +#: src/modules/economy/cog.py:595 msgctxt "cmd:economy_reset|confirm:reset_guild|button:confirm" msgid "Yes, reset the economy" msgstr "Sim, resetar o sistema de saldos." -#: src/modules/economy/cog.py:570 +#: src/modules/economy/cog.py:599 msgctxt "cmd:economy_reset|confirm:reset_guild|button:cancel" msgid "Cancel reset" msgstr "Cancelar a ação de resetar." -#: src/modules/economy/cog.py:586 +#: src/modules/economy/cog.py:615 #, possible-python-brace-format msgctxt "cmd:economy_reset|embed:success_guild|desc" msgid "" "Everyone in **{guild_name}** has had their balance reset to " "{coin_emoji}**{amount}**." msgstr "" -"Todos em **{guild_name}** tiveram seu saldo atualizado para " +"Todos em **{guild_name}** tiveram o saldo atualizado para " "{coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:603 +#: src/modules/economy/cog.py:632 #, possible-python-brace-format msgctxt "cmd:economy_reset|error:no_target|desc" msgid "The role {mention} has no members to reset!" msgstr "O cargo {mention} não possui membros para resetar." -#: src/modules/economy/cog.py:613 +#: src/modules/economy/cog.py:642 #, possible-python-brace-format msgctxt "cmd:economy_reset|confirm:reset_role|desc" msgid "" "Are you sure you want to reset the balance for everyone in {mention}?\n" "**{count}** members will be affected." msgstr "" -"Você tem certeza que quer resetar o saldo de todo mundo em {mention}?\n" +"Tem certeza que quer resetar o saldo de todo mundo em {mention}?\n" "**{count}** membros serão afetados por isto." -#: src/modules/economy/cog.py:622 +#: src/modules/economy/cog.py:651 msgctxt "cmd:economy_reset|confirm:reset_role|button:confirm" msgid "Yes, complete economy reset" msgstr "Sim, restar completamente o sistema financeiro." -#: src/modules/economy/cog.py:626 +#: src/modules/economy/cog.py:655 msgctxt "cmd:economy_reset|confirm:reset_role|button:cancel" msgid "Cancel" msgstr "Cancelar" -#: src/modules/economy/cog.py:643 +#: src/modules/economy/cog.py:672 #, possible-python-brace-format msgctxt "cmd:economy_reset|embed:success_role|desc" msgid "" @@ -386,59 +407,59 @@ msgstr "" "Todos em {role_mention} tiveram seus saldos atualizados para " "{coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:665 +#: src/modules/economy/cog.py:694 #, possible-python-brace-format msgctxt "cmd:economy_reset|embed:success_user|desc" msgid "{mention}'s balance has been reset to {coin_emoji}**{amount}**." msgstr "O saldo de {mention} foi atualizado para {coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:675 +#: src/modules/economy/cog.py:704 msgctxt "cmd:send" msgid "send" msgstr "enviar" -#: src/modules/economy/cog.py:678 +#: src/modules/economy/cog.py:707 msgctxt "cmd:send|desc" msgid "Gift the target user a certain number of LionCoins." -msgstr "Presenteie um determinado usuário com um certo valor em LionCoins." +msgstr "Presenteie um usuário com um certo valor em LionCoins." -#: src/modules/economy/cog.py:682 +#: src/modules/economy/cog.py:711 msgctxt "cmd:send|param:target" msgid "target" msgstr "alvo" -#: src/modules/economy/cog.py:683 +#: src/modules/economy/cog.py:712 msgctxt "cmd:send|param:amount" msgid "amount" msgstr "quantidade" -#: src/modules/economy/cog.py:684 +#: src/modules/economy/cog.py:713 msgctxt "cmd:send|param:note" msgid "note" msgstr "nota" -#: src/modules/economy/cog.py:687 +#: src/modules/economy/cog.py:716 msgctxt "cmd:send|param:target|desc" msgid "User to send the gift to" -msgstr "Usuário que será presenteado" +msgstr "Usuário a ser presenteado" -#: src/modules/economy/cog.py:688 +#: src/modules/economy/cog.py:717 msgctxt "cmd:send|param:amount|desc" msgid "Number of coins to send" msgstr "Número de moedas a enviar" -#: src/modules/economy/cog.py:689 +#: src/modules/economy/cog.py:718 msgctxt "cmd:send|param:note|desc" msgid "Optional note to add to the gift." -msgstr "Bilhete opicional para enviar juntamente com o presente." +msgstr "Recado opicional a enviar com o presente." -#: src/modules/economy/cog.py:713 +#: src/modules/economy/cog.py:742 msgctxt "cmd:send|error:not_allowed" msgid "Sorry, this server has disabled LionCoin transfers!" msgstr "" "Desculpe, este servidor desabilitou o sistema de tansferências de LionCoins!" -#: src/modules/economy/cog.py:722 +#: src/modules/economy/cog.py:751 msgctxt "cmd:send|error:sending-to-self" msgid "" "What is this, tax evasion?\n" @@ -447,7 +468,7 @@ msgstr "" "O que é isto? Tentativa de sonegação de impostos? Vou chamar uma Seita de Auditores!\n" "(Você não pode enviar moedas para você mesmo.)" -#: src/modules/economy/cog.py:732 +#: src/modules/economy/cog.py:761 msgctxt "cmd:send|error:sending-to-leo" msgid "" "I appreciate it, but you need it more than I do!\n" @@ -456,7 +477,7 @@ msgstr "" "Eu adoraria ser agraciado, mas você precisa disto mais do que eu!\n" "(Você não pode enviar moedas aos bots.)" -#: src/modules/economy/cog.py:742 +#: src/modules/economy/cog.py:771 #, possible-python-brace-format msgctxt "cmd:send|error:sending-to-bot" msgid "" @@ -466,7 +487,7 @@ msgstr "" "{target} agradece a gentileza, mas recusou. Deve estar com moedas sobrando e não precisa de {coin}.\n" "(Você não pode enviar moedas para os bots) " -#: src/modules/economy/cog.py:770 +#: src/modules/economy/cog.py:799 #, possible-python-brace-format msgctxt "cmd:send|error:insufficient" msgid "" @@ -476,19 +497,30 @@ msgstr "" "Você não tem LionCoins suficientes para fazer isto!\n" "ˋSaldo Atual:ˋ {coin_emoji}{balance}" -#: src/modules/economy/cog.py:791 +#: src/modules/economy/cog.py:816 +msgctxt "eventlog|event:send|title" +msgid "Coins Transferred" +msgstr "" + +#: src/modules/economy/cog.py:820 +#, possible-python-brace-format +msgctxt "eventlog|event:send|desc" +msgid "{source} gifted {amount} to {target}" +msgstr "" + +#: src/modules/economy/cog.py:833 #, possible-python-brace-format msgctxt "cmd:send|embed:gift|title" msgid "{user} sent you a gift!" msgstr "{user} te enviou um presente!" -#: src/modules/economy/cog.py:795 +#: src/modules/economy/cog.py:837 #, possible-python-brace-format msgctxt "cmd:send|embed:gift|desc" msgid "{mention} sent you {coin_emoji}**{amount}**." msgstr "{mention} te enviou {coin_emoji}**{amount}**." -#: src/modules/economy/cog.py:820 +#: src/modules/economy/cog.py:862 #, possible-python-brace-format msgctxt "cmd:send|embed:ack|desc" msgid "" @@ -497,7 +529,7 @@ msgid "" msgstr "" "**{coin_emoji}{amount}** foi retirado do seu saldo e enviado a {mention}!" -#: src/modules/economy/cog.py:830 +#: src/modules/economy/cog.py:872 msgctxt "cmd:send|embed:ack|desc|error:unreachable" msgid "" "Unfortunately, I was not able to message the recipient. Perhaps they have me" @@ -506,61 +538,60 @@ msgstr "" "Infelizmente, eu não estou habilitado para receber mensagens. Será que eles " "me bloquearam?" -#: src/modules/economy/cog.py:842 +#: src/modules/economy/cog.py:884 msgctxt "cmd:configure_economy" msgid "economy" msgstr "financeiro" -#: src/modules/economy/cog.py:845 +#: src/modules/economy/cog.py:887 msgctxt "cmd:configure_economy|desc" msgid "Configure LionCoin Economy" msgstr "Configure o Sistema Financeiro de LionCoin" -#: src/modules/economy/settings.py:35 +#: src/modules/economy/settings.py:38 msgctxt "guildset:coins_per_xp" msgid "coins_per_100xp" -msgstr "moedas_cada_100xp" +msgstr "moedas_cada_100exp" -#: src/modules/economy/settings.py:38 +#: src/modules/economy/settings.py:41 msgctxt "guildset:coins_per_xp|desc" msgid "How many LionCoins to reward members per 100 XP they earn." -msgstr "Quantas LionCoins recompensar a cada 100 XP que eles ganharem. " +msgstr "Quantas LionCoins recompensar a cada 100 EXP que eles ganharem. " -#: src/modules/economy/settings.py:42 +#: src/modules/economy/settings.py:45 msgctxt "guildset:coins_per_xp|long_desc" msgid "" "Members will be rewarded with this many LionCoins for every 100 XP they " "earn." msgstr "" -"Os membros serão recompensados com esta quantidade de LionCoins para cada " -"100 XP que ganharem." +"Os membros receberão esta quantidade de LionCoins para cada 100 XP que " +"ganharem." -#: src/modules/economy/settings.py:46 +#: src/modules/economy/settings.py:49 msgctxt "guildset:coins_per_xp|long_desc" msgid "The number of coins to reward per 100 XP." msgstr "O número de moedas a recompensar por 100 xp." -#: src/modules/economy/settings.py:59 +#: src/modules/economy/settings.py:62 #, possible-python-brace-format msgctxt "guildset:coins_per_xp|set_response" msgid "" "For every **100** XP they earn, members will now be given " "{coin}**{amount}**." msgstr "" -"Para cada **100** XP acumuladas, os membros irão ser pagos " -"{coin}**{amount}**." +"Para cada **100** EXP acumuladas, os membros receberão {coin}**{amount}**." -#: src/modules/economy/settings.py:70 +#: src/modules/economy/settings.py:74 msgctxt "guildset:allow_transfers" msgid "allow_transfers" msgstr "permitir_transferências" -#: src/modules/economy/settings.py:73 +#: src/modules/economy/settings.py:77 msgctxt "guildset:allow_transfers|desc" msgid "Whether to allow members to transfer LionCoins to each other." -msgstr "Se permitir aos membros transferir LionCoins entre eles." +msgstr "Se permitido aos membros transferirem LionCoins entre eles." -#: src/modules/economy/settings.py:77 +#: src/modules/economy/settings.py:81 msgctxt "guildset:allow_transfers|long_desc" msgid "" "If disabled, members will not be able to transfer LionCoins to each other." @@ -568,27 +599,55 @@ msgstr "" "Caso desabilitado, os membros não estarão permitidos a transferir LionCoins " "entre eles." -#: src/modules/economy/settings.py:85 +#: src/modules/economy/settings.py:89 msgctxt "guildset:allow_transfers|outputs:true" msgid "Enabled (Coin transfers allowed.)" msgstr "Habilitado (Transferência de moedas permitida)." -#: src/modules/economy/settings.py:86 +#: src/modules/economy/settings.py:90 msgctxt "guildset:allow_transfers|outputs:false" msgid "Disabled (Coin transfers not allowed.)" msgstr "Desabilitado (Transferência de moedas não permitida)." -#: src/modules/economy/settings.py:102 +#: src/modules/economy/settings.py:106 #, possible-python-brace-format msgctxt "guildset:allow_transfers|set_response|set:true" msgid "Members will now be able to use {send_cmd} to transfer {coin}" msgstr "" "Membros estarão permitidos a usar {send_cmd} para transferência de {coin}" -#: src/modules/economy/settings.py:107 +#: src/modules/economy/settings.py:111 #, possible-python-brace-format msgctxt "guildset:allow_transfers|set_response|set:false" msgid "Members will not be able to use {send_cmd} to transfer {coin}" msgstr "" "Membros não estarão permitidos a usar {send_cmd} para transferência de " "{coin}" + +#: src/modules/economy/settings.py:123 +msgctxt "guildset:starting_funds" +msgid "starting_funds" +msgstr "" + +#: src/modules/economy/settings.py:126 +msgctxt "guildset:starting_funds|desc" +msgid "How many LionCoins should a member start with." +msgstr "" + +#: src/modules/economy/settings.py:130 +msgctxt "guildset:starting_funds|long_desc" +msgid "" +"Members will be given this number of coins when they first interact with me," +" or first join the server." +msgstr "" + +#: src/modules/economy/settings.py:134 +msgctxt "guildset:starting_funds|accepts" +msgid "Number of coins to give to new members." +msgstr "" + +#: src/modules/economy/settings.py:146 +#, possible-python-brace-format +msgctxt "guildset:starting_funds|set_response" +msgid "New members will now start with {amount}" +msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/lion-core.po b/locales/pt_BR/LC_MESSAGES/lion-core.po index 00978efb..0e9999d5 100644 --- a/locales/pt_BR/LC_MESSAGES/lion-core.po +++ b/locales/pt_BR/LC_MESSAGES/lion-core.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,6 +21,79 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +#: src/core/lion_guild.py:31 +msgctxt "eventlog|field:start|name" +msgid "Start" +msgstr "" + +#: src/core/lion_guild.py:36 +msgctxt "eventlog|field:expiry|name" +msgid "Expires" +msgstr "" + +#: src/core/lion_guild.py:41 +msgctxt "eventlog|field:roles_given|name" +msgid "Roles Given" +msgstr "" + +#: src/core/lion_guild.py:46 +msgctxt "eventlog|field:roles_given|name" +msgid "Roles Taken" +msgstr "" + +#: src/core/lion_guild.py:51 +msgctxt "eventlog|field:coins_earned|name" +msgid "Coins Earned" +msgstr "" + +#: src/core/lion_guild.py:56 +msgctxt "eventlog|field:price|name" +msgid "Price" +msgstr "" + +#: src/core/lion_guild.py:61 +msgctxt "eventlog|field:balance|name" +msgid "Balance" +msgstr "" + +#: src/core/lion_guild.py:66 +msgctxt "eventlog|field:refund|name" +msgid "Coins Refunded" +msgstr "" + +#: src/core/lion_guild.py:71 +msgctxt "eventlog|field:memberid|name" +msgid "Member" +msgstr "" + +#: src/core/lion_guild.py:76 +msgctxt "eventlog|field:channelid|name" +msgid "Channel" +msgstr "" + +#: src/core/lion_guild.py:208 +msgctxt "eventlog|error:manage_webhooks" +msgid "" +"This channel is configured as an event log, but I am missing the 'Manage " +"Webhooks' permission here." +msgstr "" + +#: src/core/lion_guild.py:220 +#, possible-python-brace-format +msgctxt "eventlog|create|name" +msgid "{bot_name} Event Log" +msgstr "" + +#: src/core/lion_guild.py:224 +msgctxt "eventlog|create|audit_reason" +msgid "Creating event log webhook" +msgstr "" + +#: src/core/lion_guild.py:342 +msgctxt "eventlog|field:errors|name" +msgid "Errors" +msgstr "" + #: src/core/setting_types.py:31 msgctxt "settype:coin|accepts" msgid "A positive integral number of coins." diff --git a/locales/pt_BR/LC_MESSAGES/member_admin.po b/locales/pt_BR/LC_MESSAGES/member_admin.po index 3eaa208a..7e472a40 100644 --- a/locales/pt_BR/LC_MESSAGES/member_admin.po +++ b/locales/pt_BR/LC_MESSAGES/member_admin.po @@ -5,15 +5,16 @@ # # Translators: # Bruno Evangelista De Oliveira, 2023 +# Interitio, 2023 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" -"Last-Translator: Bruno Evangelista De Oliveira, 2023\n" +"Last-Translator: Interitio, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,93 +22,181 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/member_admin/settingui.py:57 +#: src/modules/member_admin/settingui.py:58 msgctxt "ui:memberadmin|menu:greetch|placeholder" msgid "Select Greeting Channel" msgstr "Selecione o Canal de Saudações" -#: src/modules/member_admin/settingui.py:86 +#: src/modules/member_admin/settingui.py:88 msgctxt "ui:memberadmin|menu:autoroles|placeholder" msgid "Select Autoroles" msgstr "Selecione os Cargos Automáticos" -#: src/modules/member_admin/settingui.py:115 +#: src/modules/member_admin/settingui.py:118 msgctxt "ui:memberadmin|menu:bot_autoroles|placeholder" msgid "Select Bot Autoroles" msgstr "Selecione os Cargos Automáticos de Bot" -#: src/modules/member_admin/settingui.py:156 +#: src/modules/member_admin/settingui.py:160 msgctxt "ui:member_admin|button:greet_msg|label" msgid "Greeting Msg" msgstr "Mensagem de Saudação" -#: src/modules/member_admin/settingui.py:205 +#: src/modules/member_admin/settingui.py:210 msgctxt "ui:memberadmin|button:return_msg|label" msgid "Returning Msg" msgstr "Mensagem Retornando" -#: src/modules/member_admin/settingui.py:213 +#: src/modules/member_admin/settingui.py:218 msgctxt "ui:memberadmin|embed|title" msgid "Greetings and Initial Roles Panel" msgstr "Painel de Saudações e Cargos Iniciais" -#: src/modules/member_admin/settingui.py:257 +#: src/modules/member_admin/settingui.py:262 msgctxt "dash:member_admin|title" -msgid "Greetings and Initial Roles ({commands[configure welcome]})" -msgstr "Cargos Iniciais de Saudação ({commands[configure welcome]})" +msgid "Greetings and Initial Roles ({commands[config welcome]})" +msgstr "" -#: src/modules/member_admin/settingui.py:261 +#: src/modules/member_admin/settingui.py:266 msgctxt "dash:member_admin|dropdown|placeholder" msgid "Greetings and Initial Roles Panel" msgstr "Painel de Boas Vindas com Cargos Iniciais " -#: src/modules/member_admin/settingui.py:281 +#: src/modules/member_admin/settingui.py:286 msgctxt "dash:member_admin|section:greeting_messages|name" -msgid "Greeting Messages ({commands[configure welcome]})" -msgstr "Mensagens de Saudação ({commands[configure welcome]})" +msgid "Greeting Messages ({commands[admin config welcome]})" +msgstr "" -#: src/modules/member_admin/settingui.py:292 +#: src/modules/member_admin/settingui.py:297 msgctxt "dash:member_admin|section:initial_roles|name" -msgid "Initial Roles ({commands[configure welcome]})" -msgstr "Cargos Iniciais ({commands[configure welcome]})" +msgid "Initial Roles ({commands[admin config welcome]})" +msgstr "" -#: src/modules/member_admin/cog.py:239 +#: src/modules/member_admin/cog.py:33 +msgctxt "cmd:admin_data|param:data_type|choice:voice_leaderboard" +msgid "Voice Leaderboard" +msgstr "" + +#: src/modules/member_admin/cog.py:34 +msgctxt "cmd:admin_data|param:data_type|choice:msg_leaderboard" +msgid "Message Leaderboard" +msgstr "" + +#: src/modules/member_admin/cog.py:35 +msgctxt "cmd:admin_data|param:data_type|choice:xp_leaderboard" +msgid "XP Leaderboard" +msgstr "" + +#: src/modules/member_admin/cog.py:36 +msgctxt "cmd:admin_data|param:data_type|choice:rolemenu_equip" +msgid "Rolemenu Roles Equipped" +msgstr "" + +#: src/modules/member_admin/cog.py:37 +msgctxt "cmd:admin_data|param:data_type|choice:transactions" +msgid "Economy Transactions (Incomplete)" +msgstr "" + +#: src/modules/member_admin/cog.py:38 +msgctxt "cmd:admin_data|param:data_type|choice:balances" +msgid "Economy Balances" +msgstr "" + +#: src/modules/member_admin/cog.py:39 +msgctxt "cmd:admin_data|param:data_type|choice:voice_sessions" +msgid "Voice Sessions" +msgstr "" + +#: src/modules/member_admin/cog.py:155 +msgctxt "eventlog|event:welcome|title" +msgid "New Member Joined" +msgstr "" + +#: src/modules/member_admin/cog.py:159 +#, possible-python-brace-format +msgctxt "eventlog|event:welcome|desc" +msgid "{member} joined the server for the first time." +msgstr "" + +#: src/modules/member_admin/cog.py:243 +msgctxt "eventlog|event:returning|title" +msgid "Member Rejoined" +msgstr "" + +#: src/modules/member_admin/cog.py:247 +#, possible-python-brace-format +msgctxt "eventlog|event:returning|desc" +msgid "{member} rejoined the server." +msgstr "" + +#: src/modules/member_admin/cog.py:256 +msgctxt "eventlog|event:returning|field:first_joined" +msgid "First Joined" +msgstr "" + +#: src/modules/member_admin/cog.py:263 +msgctxt "eventlog|event:returning|field:last_seen" +msgid "Last Seen" +msgstr "" + +#: src/modules/member_admin/cog.py:311 +msgctxt "eventlog|event:left|title" +msgid "Member Left" +msgstr "" + +#: src/modules/member_admin/cog.py:315 +#, possible-python-brace-format +msgctxt "eventlog|event:left|desc" +msgid "{member} left the server." +msgstr "" + +#: src/modules/member_admin/cog.py:323 +msgctxt "eventlog|event:left|field:stored_roles" +msgid "Stored Roles" +msgstr "" + +#: src/modules/member_admin/cog.py:330 +msgctxt "eventlog|event:left|field:first_joined" +msgid "First Joined" +msgstr "" + +#: src/modules/member_admin/cog.py:368 msgctxt "cmd:resetmember" msgid "resetmember" -msgstr "ResetarMembro" +msgstr "resetarmembro" -#: src/modules/member_admin/cog.py:242 +#: src/modules/member_admin/cog.py:371 msgctxt "cmd:resetmember|desc" msgid "Reset (server-associated) member data for the target member or user." msgstr "" "Resetar dados (associados a este servidor) de membro para determinado " "usuário ou membro." -#: src/modules/member_admin/cog.py:246 +#: src/modules/member_admin/cog.py:375 msgctxt "cmd:resetmember|param:target" msgid "member_to_reset" msgstr "membro_a_resetar" -#: src/modules/member_admin/cog.py:247 +#: src/modules/member_admin/cog.py:376 msgctxt "cmd:resetmember|param:saved_roles" msgid "saved_roles" msgstr "cargos_salvos" -#: src/modules/member_admin/cog.py:252 +#: src/modules/member_admin/cog.py:381 msgctxt "cmd:resetmember|param:target|desc" msgid "Choose the member (current or past) you want to reset." msgstr "Escolha o membro(atual ou passado) que você quer resetar." -#: src/modules/member_admin/cog.py:256 +#: src/modules/member_admin/cog.py:385 msgctxt "cmd:resetmember|param:saved_roles|desc" msgid "" "Clear the saved roles for this member, so their past roles are not restored " "on rejoin." msgstr "" -"Limpar os cargos salvos deste membro, então os cargos passados não serão " -"restaurados novamente caso retorne." +"Limpar os cargos salvos deste membro. Assim, os cargos não serão restaurados" +" caso ele retorne." -#: src/modules/member_admin/cog.py:283 +#: src/modules/member_admin/cog.py:411 #, possible-python-brace-format msgctxt "cmd:resetmember|reset:saved_roles|success" msgid "" @@ -117,67 +206,149 @@ msgstr "" "Os cargos salvos de {target} foram resetados. Eles não irão recuperar os " "cargos caso retornem." -#: src/modules/member_admin/cog.py:291 +#: src/modules/member_admin/cog.py:419 msgctxt "cmd:resetmember|error:nothing_to_do" msgid "No reset operation selected, nothing to do." msgstr "Nenhuma operação de resetar foi selecionada. Não tenho o que fazer." -#: src/modules/member_admin/cog.py:307 +#: src/modules/member_admin/cog.py:425 +msgctxt "cmd:admin_data" +msgid "data" +msgstr "" + +#: src/modules/member_admin/cog.py:428 +msgctxt "cmd:admin_data|desc" +msgid "Download various raw data for external analysis and backup." +msgstr "" + +#: src/modules/member_admin/cog.py:432 +msgctxt "cmd:admin_data|param:data_type" +msgid "type" +msgstr "" + +#: src/modules/member_admin/cog.py:433 +msgctxt "cmd:admin_data|param:target" +msgid "target" +msgstr "" + +#: src/modules/member_admin/cog.py:434 +msgctxt "cmd:admin_data|param:start" +msgid "after" +msgstr "" + +#: src/modules/member_admin/cog.py:435 +msgctxt "cmd:admin_data|param:end" +msgid "before" +msgstr "" + +#: src/modules/member_admin/cog.py:436 +msgctxt "cmd:admin_data|param:limit" +msgid "limit" +msgstr "" + +#: src/modules/member_admin/cog.py:441 +msgctxt "cmd:admin_data|param:data_type|desc" +msgid "Select the type of data you want to download" +msgstr "" + +#: src/modules/member_admin/cog.py:445 +msgctxt "cmd:admin_data|param:target|desc" +msgid "Filter the data by selecting a user or role" +msgstr "" + +#: src/modules/member_admin/cog.py:449 +msgctxt "cmd:admin_data|param:start|desc" +msgid "" +"Retrieve records created after this date and time in server timezone (YYYY-" +"MM-DD HH:MM)" +msgstr "" + +#: src/modules/member_admin/cog.py:453 +msgctxt "cmd:admin_data|param:end|desc" +msgid "" +"Retrieve records created before this date and time in server timezone (YYYY-" +"MM-DD HH:MM)" +msgstr "" + +#: src/modules/member_admin/cog.py:457 +msgctxt "cmd:admin_data|param:limit|desc" +msgid "Maximum number of records to retrieve." +msgstr "" + +#: src/modules/member_admin/cog.py:586 +msgctxt "cmd:admin_data|error:ratelimited" +msgid "" +"Too many requests! Please wait a few minutes before using this command " +"again." +msgstr "" + +#: src/modules/member_admin/cog.py:603 +msgctxt "cmd:admin_data|error:no_results" +msgid "Your query had no results! Try relaxing your filters." +msgstr "" + +#: src/modules/member_admin/cog.py:627 +#, possible-python-brace-format +msgctxt "cmd:admin_data|acmpl:time|error:parse" +msgid "Cannot parse \"{partial}\" as a time. Try the format YYYY-MM-DD HH:MM" +msgstr "" + +#: src/modules/member_admin/cog.py:643 msgctxt "cmd:configure_welcome" msgid "welcome" -msgstr "bem vindo" +msgstr "bem_vindo" -#: src/modules/member_admin/cog.py:310 +#: src/modules/member_admin/cog.py:646 msgctxt "cmd:configure_welcome|desc" msgid "Configure new member greetings and roles." msgstr "Configure as saudações e cargos do novo membro." -#: src/modules/member_admin/settings.py:20 +#: src/modules/member_admin/settings.py:21 msgctxt "guildset:greeting_message|formatkey:mention" msgid "Mention the new member." msgstr "Mencione o novo membro." -#: src/modules/member_admin/settings.py:22 +#: src/modules/member_admin/settings.py:23 msgctxt "guildset:greeting_message|formatkey:user_name" msgid "Display name of the new member." msgstr "Mostrar o nome do novo membro." -#: src/modules/member_admin/settings.py:24 +#: src/modules/member_admin/settings.py:25 msgctxt "guildset:greeting_message|formatkey:user_avatar" msgid "Avatar url of the new member." msgstr "Link do avatar do novo membro." -#: src/modules/member_admin/settings.py:26 +#: src/modules/member_admin/settings.py:27 msgctxt "guildset:greeting_message|formatkey:guild_name" msgid "Name of this server." msgstr "Nome deste servidor." -#: src/modules/member_admin/settings.py:28 +#: src/modules/member_admin/settings.py:29 msgctxt "guildset:greeting_message|formatkey:guild_icon" msgid "Server icon url." msgstr "Link do ícone do servidor." -#: src/modules/member_admin/settings.py:30 +#: src/modules/member_admin/settings.py:31 msgctxt "guildset:greeting_message|formatkey:studying_count" msgid "Number of current voice channel members." msgstr "Número atual de membros de canais de voz." -#: src/modules/member_admin/settings.py:32 +#: src/modules/member_admin/settings.py:33 msgctxt "guildset:greeting_message|formatkey:member_count" msgid "Number of members in the server." msgstr "Número de membros neste servidor." -#: src/modules/member_admin/settings.py:40 +#: src/modules/member_admin/settings.py:42 msgctxt "guildset:greeting_channel" msgid "welcome_channel" msgstr "canal_de_boas_vindas" -#: src/modules/member_admin/settings.py:43 +#: src/modules/member_admin/settings.py:45 msgctxt "guildset:greeting_channel|desc" msgid "Channel in which to welcome new members to the server." msgstr "Canal em que será recebido o novo membro no servidor." -#: src/modules/member_admin/settings.py:47 +#: src/modules/member_admin/settings.py:49 msgctxt "guildset:greeting_channel|long_desc" msgid "" "New members will be sent the configured `welcome_message` in this channel, " @@ -188,40 +359,40 @@ msgstr "" "que estão voltando após um tempo fora, receberão ˋmensagem_de_retornoˋ. " "Desative para que a mensagem seja enviada por Mensagem Direta. " -#: src/modules/member_admin/settings.py:53 +#: src/modules/member_admin/settings.py:55 msgctxt "guildset:greeting_channel|accepts" msgid "Name or id of the greeting channel, or 0 for DM." msgstr "Nome ou ID do canal de boas vindas. Ou 0 para Mensagens Diretas." -#: src/modules/member_admin/settings.py:67 +#: src/modules/member_admin/settings.py:70 msgctxt "guildset:greeting_channel|set_response:unset" msgid "Welcome messages will now be sent via direct message." msgstr "Mensagens de boas vindas serão enviadas por Mensagem Direta." -#: src/modules/member_admin/settings.py:72 +#: src/modules/member_admin/settings.py:75 #, possible-python-brace-format msgctxt "guildset:greeting_channel|set_response:set" msgid "Welcome messages will now be sent to {channel}" msgstr "Mensagens de boas vindas serão enviadas para {channel}" -#: src/modules/member_admin/settings.py:84 +#: src/modules/member_admin/settings.py:87 msgctxt "guildset:greeting_channel|formmatted:unset" msgid "Direct Message" msgstr "Mensagem Direta" -#: src/modules/member_admin/settings.py:91 +#: src/modules/member_admin/settings.py:95 msgctxt "guildset:greeting_message" msgid "welcome_message" msgstr "mensagem_de_boas_vindas" -#: src/modules/member_admin/settings.py:95 +#: src/modules/member_admin/settings.py:99 msgctxt "guildset:greeting_message|desc" msgid "Custom message used to greet new members when they join the server." msgstr "" "Mensagem personalizada usada para saudar novos membros quando eles entram no" " servidor." -#: src/modules/member_admin/settings.py:99 +#: src/modules/member_admin/settings.py:103 msgctxt "guildset:greeting_message|long_desc" msgid "" "When set, this message will be sent to the `welcome_channel` when a *new* " @@ -231,12 +402,12 @@ msgstr "" "sempre que um *novo* membro entrar no servidor. Se não configurado, nenhuma " "mensagem será enviada." -#: src/modules/member_admin/settings.py:104 +#: src/modules/member_admin/settings.py:108 msgctxt "guildset:greeting_message|accepts" msgid "JSON formatted greeting message data" msgstr "Mensagem de boas vindas formatada como dados JSON" -#: src/modules/member_admin/settings.py:108 +#: src/modules/member_admin/settings.py:112 msgctxt "guildset:greeting_message|default" msgid "" "\n" @@ -267,38 +438,38 @@ msgstr "" " }\n" " " -#: src/modules/member_admin/settings.py:136 +#: src/modules/member_admin/settings.py:140 msgctxt "guildset:greeting_message|set_response:unset" msgid "Welcome message unset! New members will not be greeted." msgstr "" "Mensagem de boas vindas desabilitada! Novos membros não receberão saudações." -#: src/modules/member_admin/settings.py:141 +#: src/modules/member_admin/settings.py:145 msgctxt "guildset:greeting_message|set_response:set" msgid "The welcome message has been updated." msgstr "A mensagem de boas vindas foi atualizada." -#: src/modules/member_admin/settings.py:153 +#: src/modules/member_admin/settings.py:157 msgctxt "guildset:greeting_message|formmatted:unset" msgid "Not set, members will not be welcomed." msgstr "Não configurado. Membros não receberão boas vindas." -#: src/modules/member_admin/settings.py:200 +#: src/modules/member_admin/settings.py:204 msgctxt "guildset:greeting_message|embed_field|formatkeys|explanation" msgid "The following placeholders will be substituted with their values." msgstr "Os seguintes espaços serão substituídos por seus valores." -#: src/modules/member_admin/settings.py:203 +#: src/modules/member_admin/settings.py:207 msgctxt "guildset:greeting_message|embed_field|formatkeys|name" msgid "Placeholders" msgstr "Espaços reservados" -#: src/modules/member_admin/settings.py:213 +#: src/modules/member_admin/settings.py:218 msgctxt "guildset:returning_message" msgid "returning_message" msgstr "mensagem_de_retorno" -#: src/modules/member_admin/settings.py:217 +#: src/modules/member_admin/settings.py:222 msgctxt "guildset:returning_message|desc" msgid "" "Custom message used to greet returning members when they rejoin the server." @@ -306,7 +477,7 @@ msgstr "" "Mensagem personalizada de boas vindas usada quando um membro que saiu voltar" " a entrar no servidor." -#: src/modules/member_admin/settings.py:221 +#: src/modules/member_admin/settings.py:226 msgctxt "guildset:returning_message|long_desc" msgid "" "When set, this message will be sent to the `welcome_channel` when a member " @@ -316,12 +487,12 @@ msgstr "" " assim que um membro *voltar a entrar* no servidor. Se não for configurada, " "nenhuma mensagem será enviada." -#: src/modules/member_admin/settings.py:226 +#: src/modules/member_admin/settings.py:231 msgctxt "guildset:returning_message|accepts" msgid "JSON formatted returning message data" msgstr "Mensagem de retorno em formato de dados JSON." -#: src/modules/member_admin/settings.py:230 +#: src/modules/member_admin/settings.py:235 msgctxt "guildset:returning_message|default" msgid "" "\n" @@ -346,53 +517,53 @@ msgstr "" " }\n" " " -#: src/modules/member_admin/settings.py:247 +#: src/modules/member_admin/settings.py:252 msgctxt "guildset:returning_message|formatkey:last_time" msgid "Unix timestamp of the last time the member was seen in the server." msgstr "Data/hora que o membro havia sido visto pela última vez." -#: src/modules/member_admin/settings.py:258 +#: src/modules/member_admin/settings.py:263 msgctxt "guildset:returning_message|set_response:unset" msgid "Returning member greeting unset! Will use `welcome_message` if set." msgstr "" "Mensagem para saudar membros que retornam não foi configurada! Usaremos " "ˋmensagem_de_boas_vindasˋ se configurada. " -#: src/modules/member_admin/settings.py:263 +#: src/modules/member_admin/settings.py:268 msgctxt "guildset:greeting_message|set_response:set" msgid "The returning member greeting has been updated." msgstr "" "A mensagem de saudação ao membro que estiver retornarnando foi atualizada." -#: src/modules/member_admin/settings.py:275 +#: src/modules/member_admin/settings.py:280 msgctxt "guildset:greeting_message|formmatted:unset" msgid "Not set, will use the `welcome_message` if set." msgstr "" "Não foi configurada. Usarei a ˋmensagem_de_boas_vindasˋ se esta estiver." -#: src/modules/member_admin/settings.py:325 +#: src/modules/member_admin/settings.py:330 msgctxt "guildset:returning_message|embed_field|formatkeys|explanation" msgid "In *addition* to the placeholders supported by `welcome_message`" msgstr "" "Em *adição* aos espaços reservados, suportados pela ˋmensagem_de_boasvindasˋ" -#: src/modules/member_admin/settings.py:328 +#: src/modules/member_admin/settings.py:333 msgctxt "guildset:returning_message|embed_field|formatkeys|" msgid "Placeholders" msgstr "Espaços reservados" -#: src/modules/member_admin/settings.py:339 +#: src/modules/member_admin/settings.py:345 msgctxt "guildset:autoroles" msgid "autoroles" msgstr "cargos_automáticos" -#: src/modules/member_admin/settings.py:343 +#: src/modules/member_admin/settings.py:349 msgctxt "guildset:autoroles|desc" msgid "Roles given to new members when they join the server." msgstr "" "Cargos a serem designados aos novos membros quando entrarem no servidor." -#: src/modules/member_admin/settings.py:347 +#: src/modules/member_admin/settings.py:353 msgctxt "guildset:autoroles|long_desc" msgid "" "These roles will be given when a member joins the server. If " @@ -403,33 +574,33 @@ msgstr "" "ˋcargo_persistenteˋ esteja ativado, estes cargos *não* serão dados para um " "membro que retorne ao servidor." -#: src/modules/member_admin/settings.py:361 +#: src/modules/member_admin/settings.py:368 msgctxt "guildset:bot_autoroles" msgid "bot_autoroles" msgstr "cargos_automáticos_bots" -#: src/modules/member_admin/settings.py:365 +#: src/modules/member_admin/settings.py:372 msgctxt "guildset:bot_autoroles|desc" msgid "Roles given to new bots when they join the server." msgstr "Cargos dados aos novos bots quando entrarem ao servidor." -#: src/modules/member_admin/settings.py:369 +#: src/modules/member_admin/settings.py:376 msgctxt "guildset:bot_autoroles|long_desc" msgid "These roles will be given when a bot joins the server." msgstr "Estes cargos serão dados quando um bot entrar no servidor." -#: src/modules/member_admin/settings.py:382 +#: src/modules/member_admin/settings.py:390 msgctxt "guildset:role_persistence" msgid "role_persistence" msgstr "cargo_persistente" -#: src/modules/member_admin/settings.py:385 +#: src/modules/member_admin/settings.py:393 msgctxt "guildset:role_persistence|desc" msgid "Whether member roles should be restored on rejoin." msgstr "" "Definir se os cargos de um membro devem ser restaurados em seu retorno. " -#: src/modules/member_admin/settings.py:389 +#: src/modules/member_admin/settings.py:397 msgctxt "guildset:role_persistence|long_desc" msgid "" "If enabled, member roles will be stored when they leave the server, and then" @@ -441,13 +612,13 @@ msgstr "" "cargos_automáticos). Perceba que talvez isto entre em confilto com outros " "bots que também configurem cargos de boas vindas." -#: src/modules/member_admin/settings.py:405 +#: src/modules/member_admin/settings.py:413 msgctxt "guildset:role_persistence|set_response:off" msgid "Roles will not be restored when members rejoin." msgstr "" "Os cargos não serão restaurados no retorno de antigos membros ao servidor." -#: src/modules/member_admin/settings.py:410 +#: src/modules/member_admin/settings.py:418 msgctxt "guildset:greeting_message|set_response:on" msgid "Roles will now be restored when members rejoin." msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/meta.po b/locales/pt_BR/LC_MESSAGES/meta.po index 75d2f96e..fac4cd58 100644 --- a/locales/pt_BR/LC_MESSAGES/meta.po +++ b/locales/pt_BR/LC_MESSAGES/meta.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,16 +21,246 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/meta/cog.py:23 +#: src/modules/meta/cog.py:40 msgctxt "cmd:help" msgid "help" msgstr "ajuda" -#: src/modules/meta/cog.py:26 +#: src/modules/meta/cog.py:43 msgctxt "cmd:help|desc" msgid "See a brief summary of my commands and features." msgstr "Veja um breve sumário dos meus comandos e ferramentas." +#: src/modules/meta/cog.py:65 +#, possible-python-brace-format +msgctxt "new_guild_join_message|desc" +msgid "" +"Thank you for inviting me to your community!\n" +"Get started by typing {help_cmd} to see my commands, and {dash_cmd} to view and set up my configuration options!\n" +"\n" +"If you need any help configuring me, or would like to suggest a feature, report a bug, and stay updated, make sure to join our main support server by [clicking here]({support})." +msgstr "" + +#: src/modules/meta/cog.py:89 +msgctxt "new_guild_join_message|name" +msgid "Hello everyone! My name is Leo, the LionBot!" +msgstr "" + +#: src/modules/meta/cog.py:104 +msgctxt "cmd:invite" +msgid "invite" +msgstr "" + +#: src/modules/meta/cog.py:107 +msgctxt "cmd:invite|desc" +msgid "Invite LionBot to your own server." +msgstr "" + +#: src/modules/meta/cog.py:117 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|desc" +msgid "[Click here]({invite_link}) to add me to your server." +msgstr "" + +#: src/modules/meta/cog.py:125 +msgctxt "cmd:invite|embed|field:tips|name" +msgid "Setup Tips" +msgstr "" + +#: src/modules/meta/cog.py:129 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|field:tips|value" +msgid "" +"Remember to check out {help_cmd} for the important command list, including the admin page which displays the hidden admin-level configuration commands like {dashboard}!\n" +"Also, if you have any issues or questions, you can join our [support server]({support_link}) to talk to our friendly support team!" +msgstr "" + +#: src/modules/meta/cog.py:144 +msgctxt "cmd:support" +msgid "support" +msgstr "" + +#: src/modules/meta/cog.py:147 +msgctxt "cmd:support|desc" +msgid "Have an issue or a question? Speak to my friendly support team here." +msgstr "" + +#: src/modules/meta/cog.py:155 +#, possible-python-brace-format +msgctxt "cmd:support|response" +msgid "" +"Speak to my friendly support team by joining this server and making a ticket in the support channel!\n" +"{support_link}" +msgstr "" + +#: src/modules/meta/cog.py:163 +msgctxt "cmd:nerd" +msgid "nerd" +msgstr "" + +#: src/modules/meta/cog.py:166 +msgctxt "cmd:nerd|desc" +msgid "View hidden details and statistics about me ('nerd statistics')" +msgstr "" + +#: src/modules/meta/cog.py:179 +msgctxt "cmd:nerd|title" +msgid "Nerd Statistics" +msgstr "" + +#: src/modules/meta/cog.py:202 +msgctxt "cmd:nerd|field:currently|name" +msgid "Currently" +msgstr "" + +#: src/modules/meta/cog.py:205 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:currently|value" +msgid "`{people}` people active in `{rooms}` rooms of `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:221 +msgctxt "cmd:nerd|field:recorded|name" +msgid "Recorded" +msgstr "" + +#: src/modules/meta/cog.py:224 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:recorded|value" +msgid "" +"`{hours}` voice hours from `{users}` people across `{sessions}` sessions." +msgstr "" + +#: src/modules/meta/cog.py:238 +msgctxt "cmd:nerd|field:registered|name" +msgid "Registered" +msgstr "" + +#: src/modules/meta/cog.py:241 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:registered|value" +msgid "`{users}` users and `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:255 +msgctxt "cmd:nerd|field:tasks|name" +msgid "Tasks" +msgstr "" + +#: src/modules/meta/cog.py:258 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:tasks|value" +msgid "`{tasks}` tasks completed out of `{total}`." +msgstr "" + +#: src/modules/meta/cog.py:271 +msgctxt "cmd:nerd|field:timers|name" +msgid "Timers" +msgstr "" + +#: src/modules/meta/cog.py:274 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:timers|value" +msgid "`{timers}` timers running across `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:283 +msgctxt "cmd:nerd|section:bot_stats|name" +msgid "Bot Stats" +msgstr "" + +#: src/modules/meta/cog.py:293 +msgctxt "cmd:nerd|field:shard|name" +msgid "Shard" +msgstr "" + +#: src/modules/meta/cog.py:296 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:shard|value" +msgid "`{shard_number}` of `{shard_count}`" +msgstr "" + +#: src/modules/meta/cog.py:302 +msgctxt "cmd:nerd|field:guilds|name" +msgid "Guilds" +msgstr "" + +#: src/modules/meta/cog.py:305 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:guilds|value" +msgid "`{guilds}` guilds with `{count}` total members." +msgstr "" + +#: src/modules/meta/cog.py:315 +msgctxt "cmd:nerd|field:version|name" +msgid "Leo Version" +msgstr "" + +#: src/modules/meta/cog.py:318 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:version|value" +msgid "`v{version}`, last updated {timestamp} from `{reason}`." +msgstr "" + +#: src/modules/meta/cog.py:330 +msgctxt "cmd:nerd|field:py_version|name" +msgid "Py Version" +msgstr "" + +#: src/modules/meta/cog.py:333 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:py_version|value" +msgid "`{py_version}` running discord.py `{dpy_version}`" +msgstr "" + +#: src/modules/meta/cog.py:341 +msgctxt "cmd:nerd|section:process_section|name" +msgid "Process" +msgstr "" + +#: src/modules/meta/cog.py:351 +msgctxt "cmd:nerd|field:handling|name" +msgid "Handling" +msgstr "" + +#: src/modules/meta/cog.py:354 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:handling|name" +msgid "`{events}` active commands and events." +msgstr "" + +#: src/modules/meta/cog.py:362 +msgctxt "cmd:nerd|field:working|name" +msgid "Working On" +msgstr "" + +#: src/modules/meta/cog.py:365 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:working|value" +msgid "`{tasks}` background tasks." +msgstr "" + +#: src/modules/meta/cog.py:371 +msgctxt "cmd:nerd|field:objects|name" +msgid "Objects" +msgstr "" + +#: src/modules/meta/cog.py:374 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:objects|value" +msgid "`{objects}` loaded in memory." +msgstr "" + +#: src/modules/meta/cog.py:384 +msgctxt "cmd:nerd|field:uptime|name" +msgid "Uptime" +msgstr "" + +#: src/modules/meta/cog.py:390 +msgctxt "cmd:nerd|section:shard_section|name" +msgid "Shard Statistics" +msgstr "" + #: src/modules/meta/help_sections.py:40 #, possible-python-brace-format msgctxt "helptext|level:member|mode:study" @@ -101,7 +331,7 @@ msgid "" "\n" " Use {cmd_dashboard} to see an overview of the server configuration, and quickly jump to the feature configuration panels to modify settings.\n" "\n" -" Configuration panels are also accessible directly through the `/configure` commands and most features may be configured through these commands.\n" +" Most settings may also be directly set through the `/config` and `/admin config` commands, depending on whether the settings require moderator (manage server) or admin level permissions, respectively.\n" "\n" " Other relevant commands for guild configuration below:\n" " `/editshop`: Add/Edit/Remove colour roles from the {coin} shop.\n" @@ -111,18 +341,6 @@ msgid "" " `/economy balance`: Display and modify LionCoin balance for members and roles.\n" " " msgstr "" -"\n" -" Use {cmd_dashboard} para ver um panorama geral das configurações do servidor, e ir direto ao painel de configuração uma funcionalidade que você queira.\n" -"\n" -" Os Paineis de Configuração também são facilmente acessados através do comando `/configurar` assim como a maioria das funcionalidades também podem, através destes comandos.\n" -"\n" -" Outros comandos relevantes para a configuração da comunidade, são os seguintes:\n" -" `/editarloja`: Adiciona/Edita/Remove cargos coloridos através de {coin} da loja.\n" -" `/niveis`: Adiciona/Edita/Atualiza/Remove níveis de atividade.\n" -" `/pomodoro`: Adiciona/Edita/Remove Temporizadores Pomodoro de canais de voz.\n" -" `/menucargo`: Autoriza os membros a adicionar cargos personalizados através por mensagens.\n" -" `/financeiro saldo`: Modifica ou mostra o saldo de LionCoins dos membros e cargos.\n" -" " #: src/modules/meta/help_sections.py:112 msgctxt "helptext|level:member|title" diff --git a/locales/pt_BR/LC_MESSAGES/moderation.po b/locales/pt_BR/LC_MESSAGES/moderation.po index b4cd2e50..678cf3d3 100644 --- a/locales/pt_BR/LC_MESSAGES/moderation.po +++ b/locales/pt_BR/LC_MESSAGES/moderation.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -22,74 +22,477 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/moderation/settingui.py:53 +#: src/modules/moderation/settingui.py:55 msgctxt "ui:moderation_config|menu:ticket_log|placeholder" msgid "Select Ticket Log" msgstr "Selecione o Registro de Logs" -#: src/modules/moderation/settingui.py:78 +#: src/modules/moderation/settingui.py:81 msgctxt "ui:moderation_config|menu:alert_channel|placeholder" msgid "Select Alert Channel" msgstr "Selecione o Canal de Alertas" -#: src/modules/moderation/settingui.py:103 +#: src/modules/moderation/settingui.py:107 msgctxt "ui:moderation_config|menu:modrole|placeholder" msgid "Select Moderator Role" msgstr "Selecione o cargo de Moderador" -#: src/modules/moderation/settingui.py:111 +#: src/modules/moderation/settingui.py:133 +msgctxt "ui:moderation_config|menu:adminrole|placeholder" +msgid "Select Admin Role" +msgstr "" + +#: src/modules/moderation/settingui.py:141 msgctxt "ui:moderation_config|embed|title" msgid "Moderation Configuration Panel" msgstr "Painel de Configuração da Moderação" -#: src/modules/moderation/settingui.py:150 +#: src/modules/moderation/settingui.py:182 msgctxt "dash:moderation|title" -msgid "Moderation Settings ({commands[configure moderation]})" -msgstr "Configurações de Moderação ({commands[configure moderation]})" +msgid "Moderation Settings ({commands[admin config moderation]})" +msgstr "" -#: src/modules/moderation/settingui.py:154 +#: src/modules/moderation/settingui.py:186 msgctxt "dash:moderation|dropdown|placeholder" msgid "Moderation Panel" msgstr "Painel de Moderação" -#: src/modules/moderation/cog.py:136 +#: src/modules/moderation/cog.py:135 +msgctxt "cmd:modnote" +msgid "modnote" +msgstr "" + +#: src/modules/moderation/cog.py:138 +msgctxt "cmd:modnote|desc" +msgid "Add a note to the target member's moderation record." +msgstr "" + +#: src/modules/moderation/cog.py:142 +msgctxt "cmd:modnote|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:143 +msgctxt "cmd:modnote|param:note" +msgid "note" +msgstr "" + +#: src/modules/moderation/cog.py:148 +msgctxt "cmd:modnote|param:target|desc" +msgid "Target member or user to add a note to." +msgstr "" + +#: src/modules/moderation/cog.py:152 +msgctxt "cmd:modnote|param:note|desc" +msgid "Contents of the note." +msgstr "" + +#: src/modules/moderation/cog.py:177 +msgctxt "cmd:modnote|modal:enter_note|title" +msgid "Moderation Note" +msgstr "" + +#: src/modules/moderation/cog.py:182 +msgctxt "cmd:modnote|modal:enter_note|field|label" +msgid "Note Content" +msgstr "" + +#: src/modules/moderation/cog.py:215 +#, possible-python-brace-format +msgctxt "cmd:modnote|embed:success|desc" +msgid "Moderation note created as [Ticket #{ticket}]({jump_link})" +msgstr "" + +#: src/modules/moderation/cog.py:225 +msgctxt "cmd:warning" +msgid "warning" +msgstr "" + +#: src/modules/moderation/cog.py:228 +msgctxt "cmd:warning|desc" +msgid "" +"Warn a member for a misdemeanour, and add it to their moderation record." +msgstr "" + +#: src/modules/moderation/cog.py:232 +msgctxt "cmd:warning|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:233 +msgctxt "cmd:warning|param:reason" +msgid "reason" +msgstr "" + +#: src/modules/moderation/cog.py:238 +msgctxt "cmd:warning|param:target|desc" +msgid "Target member to warn." +msgstr "" + +#: src/modules/moderation/cog.py:242 +msgctxt "cmd:warning|param:reason|desc" +msgid "The reason why you are warning this member." +msgstr "" + +#: src/modules/moderation/cog.py:262 +msgctxt "cmd:warning|modal:reason|title" +msgid "Moderation Warning" +msgstr "" + +#: src/modules/moderation/cog.py:267 +msgctxt "cmd:warning|modal:reason|field|label" +msgid "Reason for the warning (visible to user)." +msgstr "" + +#: src/modules/moderation/cog.py:298 +msgctxt "cmd:warning|embed:user_alert|title" +msgid "You have received a warning!" +msgstr "" + +#: src/modules/moderation/cog.py:305 +msgctxt "cmd:warning|embed:user_alert|field:note|name" +msgid "Note" +msgstr "" + +#: src/modules/moderation/cog.py:309 +msgctxt "cmd:warning|embed:user_alert|field:note|value" +msgid "" +"*Warnings appear in your moderation history. Continuing failure to comply " +"with server rules and moderator directions may result in more severe action." +msgstr "" + +#: src/modules/moderation/cog.py:327 +#, possible-python-brace-format +msgctxt "cmd:warning|embed:success|line:count" +msgid "This their first warning." +msgid_plural "They have recieved **`{count}`** warnings." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/moderation/cog.py:336 +#, possible-python-brace-format +msgctxt "cmd:warning|embed:success|desc" +msgid "[Ticket #{ticket}]({jump_link}) {user} has been warned." +msgstr "" + +#: src/modules/moderation/cog.py:347 +msgctxt "cmd:warning|embed:success|field:no_alert|name" +msgid "Note" +msgstr "" + +#: src/modules/moderation/cog.py:351 +msgctxt "cmd:warning|embed:success|field:no_alert|value" +msgid "*Could not deliver warning to the target.*" +msgstr "" + +#: src/modules/moderation/cog.py:358 +msgctxt "cmd:pardon" +msgid "pardon" +msgstr "" + +#: src/modules/moderation/cog.py:361 +msgctxt "cmd:pardon|desc" +msgid "Pardon moderation tickets to mark them as no longer in effect." +msgstr "" + +#: src/modules/moderation/cog.py:367 +msgctxt "cmd:pardon|param:ticketids" +msgid "tickets" +msgstr "" + +#: src/modules/moderation/cog.py:371 +msgctxt "cmd:pardon|param:reason" +msgid "reason" +msgstr "" + +#: src/modules/moderation/cog.py:377 +msgctxt "cmd:pardon|param:ticketids|desc" +msgid "Comma separated list of ticket numbers to pardon." +msgstr "" + +#: src/modules/moderation/cog.py:381 +msgctxt "cmd:pardon|param:reason" +msgid "Why these tickets are being pardoned." +msgstr "" + +#: src/modules/moderation/cog.py:402 +msgctxt "cmd:pardon|modal:reason|title" +msgid "Pardon Tickets" +msgstr "" + +#: src/modules/moderation/cog.py:407 +msgctxt "cmd:pardon|modal:reason|field|label" +msgid "Why are you pardoning these tickets?" +msgstr "" + +#: src/modules/moderation/cog.py:435 +msgctxt "cmd:pardon|error:parse_ticketids" +msgid "" +"Could not parse provided tickets as a list of ticket ids! Please enter " +"tickets as a comma separated list of ticket numbers, for example `1, 2, 3`." +msgstr "" + +#: src/modules/moderation/cog.py:449 +msgctxt "cmd:pardon|error:no_matching" +msgid "No matching moderation tickets found to pardon!" +msgstr "" + +#: src/modules/moderation/cog.py:469 +#, possible-python-brace-format +msgctxt "cmd:pardon|embed:success|title" +msgid "Ticket {ticketstr} has been pardoned." +msgid_plural "" +"The following tickets have been pardoned:\n" +"{ticketstr}" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/moderation/cog.py:478 +msgctxt "cmd:tickets" +msgid "tickets" +msgstr "" + +#: src/modules/moderation/cog.py:481 +msgctxt "cmd:tickets|desc" +msgid "View moderation tickets in this server." +msgstr "" + +#: src/modules/moderation/cog.py:485 +msgctxt "cmd:tickets|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:486 +msgctxt "cmd:tickets|param:type" +msgid "type" +msgstr "" + +#: src/modules/moderation/cog.py:487 +msgctxt "cmd:tickets|param:state" +msgid "ticket_state" +msgstr "" + +#: src/modules/moderation/cog.py:488 +msgctxt "cmd:tickets|param:pardoned" +msgid "include_pardoned" +msgstr "" + +#: src/modules/moderation/cog.py:489 +msgctxt "cmd:tickets|param:moderator" +msgid "acting_moderator" +msgstr "" + +#: src/modules/moderation/cog.py:490 +msgctxt "cmd:tickets|param:after" +msgid "after" +msgstr "" + +#: src/modules/moderation/cog.py:491 +msgctxt "cmd:tickets|param:before" +msgid "before" +msgstr "" + +#: src/modules/moderation/cog.py:496 +msgctxt "cmd:tickets|param:target|desc" +msgid "Filter by tickets acting on a given user." +msgstr "" + +#: src/modules/moderation/cog.py:500 +msgctxt "cmd:tickets|param:type|desc" +msgid "Filter by ticket type." +msgstr "" + +#: src/modules/moderation/cog.py:504 +msgctxt "cmd:tickets|param:state|desc" +msgid "Filter by ticket state." +msgstr "" + +#: src/modules/moderation/cog.py:508 +msgctxt "cmd:tickets|param:pardoned|desc" +msgid "Whether to only show active tickets, or also include pardoned." +msgstr "" + +#: src/modules/moderation/cog.py:512 +msgctxt "cmd:tickets|param:moderator|desc" +msgid "Filter by moderator responsible for the ticket." +msgstr "" + +#: src/modules/moderation/cog.py:516 +msgctxt "cmd:tickets|param:after|desc" +msgid "Only show tickets after this date (YYY-MM-DD HH:MM)" +msgstr "" + +#: src/modules/moderation/cog.py:520 +msgctxt "cmd:tickets|param:before|desc" +msgid "Only show tickets before this date (YYY-MM-DD HH:MM)" +msgstr "" + +#: src/modules/moderation/cog.py:582 msgctxt "cmd:configure_moderation" msgid "moderation" msgstr "moderação" -#: src/modules/moderation/cog.py:139 +#: src/modules/moderation/cog.py:585 msgctxt "cmd:configure_moderation|desc" msgid "Configure general moderation settings." msgstr "Configurações gerais de moderação." -#: src/modules/moderation/ticket.py:147 +#: src/modules/moderation/ticketui.py:62 +msgctxt "ticketfilter|field:after|name" +msgid "Created After" +msgstr "" + +#: src/modules/moderation/ticketui.py:70 +msgctxt "ticketfilter|field:before|name" +msgid "Created Before" +msgstr "" + +#: src/modules/moderation/ticketui.py:78 +msgctxt "ticketfilter|field:targetids|name" +msgid "Targets" +msgstr "" + +#: src/modules/moderation/ticketui.py:86 +msgctxt "ticketfilter|field:moderatorids|name" +msgid "Moderators" +msgstr "" + +#: src/modules/moderation/ticketui.py:94 +msgctxt "ticketfilter|field:types|name" +msgid "Ticket Types" +msgstr "" + +#: src/modules/moderation/ticketui.py:102 +msgctxt "ticketfilter|field:states|name" +msgid "Ticket States" +msgstr "" + +#: src/modules/moderation/ticketui.py:179 +msgctxt "ui:tickets|button:edit_filter|label" +msgid "Edit Filters" +msgstr "" + +#: src/modules/moderation/ticketui.py:199 +msgctxt "ui:tickets|button:select_ticket|label" +msgid "Select Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:215 +msgctxt "ui:tickets|button:pardon|error:no_tickets" +msgid "Not tickets matching the given criterial! Nothing to pardon." +msgstr "" + +#: src/modules/moderation/ticketui.py:221 +msgctxt "ui:tickets|button:pardon|modal:reason|title" +msgid "Pardon Tickets" +msgstr "" + +#: src/modules/moderation/ticketui.py:226 +msgctxt "ui:tickets|button:pardon|modal:reason|field|label" +msgid "Why are you pardoning these tickets?" +msgstr "" + +#: src/modules/moderation/ticketui.py:252 +msgctxt "ui:tickets|button:pardon|label" +msgid "Pardon All" +msgstr "" + +#: src/modules/moderation/ticketui.py:273 +msgctxt "ui:tickets|menu:filter_type|placeholder" +msgid "Select Ticket Types" +msgstr "" + +#: src/modules/moderation/ticketui.py:309 +msgctxt "ui:tickets|menu:filter_state|placeholder" +msgid "Select Ticket States" +msgstr "" + +#: src/modules/moderation/ticketui.py:346 +msgctxt "ui:tickets|menu:filter_target|placeholder" +msgid "Select Ticket Targets" +msgstr "" + +#: src/modules/moderation/ticketui.py:371 +msgctxt "ui:tickets|menu:tickets|placeholder" +msgid "Select Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:402 +msgctxt "ui:tickets|button:jump|input:title" +msgid "Jump to page" +msgstr "" + +#: src/modules/moderation/ticketui.py:406 +msgctxt "ui:tickets|button:jump|input:question" +msgid "Page number to jump to" +msgstr "" + +#: src/modules/moderation/ticketui.py:417 +msgctxt "ui:tickets|button:jump|error:invalid_page" +msgid "Invalid page number, please try again!" +msgstr "" + +#: src/modules/moderation/ticketui.py:496 +#, possible-python-brace-format +msgctxt "ui:tickets|embed|title" +msgid "Moderation Tickets in {guild}" +msgstr "" + +#: src/modules/moderation/ticketui.py:506 +msgctxt "ui:tickets|embed|desc:no_tickets" +msgid "No tickets matching the given criteria!" +msgstr "" + +#: src/modules/moderation/ticketui.py:515 +msgctxt "ui:tickets|embed|field:filters|name" +msgid "Filters" +msgstr "" + +#: src/modules/moderation/ticketui.py:603 +msgctxt "ui:ticket|button:pardon|modal:reason|title" +msgid "Pardon Moderation Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:608 +msgctxt "ui:ticket|button:pardon|modal:reason|field|label" +msgid "Why are you pardoning this ticket?" +msgstr "" + +#: src/modules/moderation/ticketui.py:632 +msgctxt "ui:ticket|button:pardon|label" +msgid "Pardon" +msgstr "" + +#: src/modules/moderation/ticket.py:148 #, possible-python-brace-format msgctxt "ticket|title:auto" msgid "Ticket #{ticketid} | {state} | {type}[Auto] | {name}" msgstr "Ticket #{ticketid} | {state} | {type}[Auto] | {name}" -#: src/modules/moderation/ticket.py:152 +#: src/modules/moderation/ticket.py:153 #, possible-python-brace-format msgctxt "ticket|title:manual" msgid "Ticket #{ticketid} | {state} | {type} | {name}" msgstr "Registro #{ticketid} | {state} | {type} | {name}" -#: src/modules/moderation/ticket.py:168 +#: src/modules/moderation/ticket.py:169 msgctxt "ticket|field:target|name" msgid "Target" msgstr "Alvo" -#: src/modules/moderation/ticket.py:173 +#: src/modules/moderation/ticket.py:174 msgctxt "ticket|field:moderator|name" msgid "Moderator" msgstr "Moderador" -#: src/modules/moderation/ticket.py:180 +#: src/modules/moderation/ticket.py:181 msgctxt "ticket|field:expiry|mode:expiring|name" msgid "Expires At" msgstr "Expira em" -#: src/modules/moderation/ticket.py:183 +#: src/modules/moderation/ticket.py:184 #, possible-python-brace-format msgctxt "ticket|field:expiry|mode:expiring|value" msgid "" @@ -99,66 +502,64 @@ msgstr "" "{timestamp}\n" "Duração: `{duration}`" -#: src/modules/moderation/ticket.py:191 +#: src/modules/moderation/ticket.py:192 msgctxt "ticket|field:expiry|mode:expired|name" msgid "Expired" msgstr "Expirado" -#: src/modules/moderation/ticket.py:194 +#: src/modules/moderation/ticket.py:195 #, possible-python-brace-format msgctxt "ticket|field:expiry|mode:expired|value" msgid "{timestamp}" msgstr "{timestamp}" -#: src/modules/moderation/ticket.py:201 +#: src/modules/moderation/ticket.py:202 msgctxt "ticket|field:expiry|mode:open|name" msgid "Expiry" msgstr "Fim" -#: src/modules/moderation/ticket.py:204 +#: src/modules/moderation/ticket.py:205 #, possible-python-brace-format msgctxt "ticket|field:expiry|mode:open|value" msgid "{timestamp}" msgstr "{timestamp}" -#: src/modules/moderation/ticket.py:212 +#: src/modules/moderation/ticket.py:213 msgctxt "ticket|field:context|name" msgid "Context" msgstr "Contexto" -#: src/modules/moderation/ticket.py:219 +#: src/modules/moderation/ticket.py:220 msgctxt "ticket|field:notes|name" msgid "Notes" msgstr "Notas" -#: src/modules/moderation/ticket.py:226 +#: src/modules/moderation/ticket.py:227 msgctxt "ticket|field:pardoned|name" msgid "Pardoned" msgstr "Perdoado" -#: src/modules/moderation/ticket.py:229 +#: src/modules/moderation/ticket.py:230 #, possible-python-brace-format msgctxt "ticket|field:pardoned|value" msgid "" -"Pardoned by <&{moderator}> at {timestamp}.\n" +"Pardoned by <@{moderator}> at {timestamp}.\n" "{reason}" msgstr "" -"Perdoado por <&{moderator}> em {timestamp}.\n" -"{reason}" -#: src/modules/moderation/settings.py:20 +#: src/modules/moderation/settings.py:22 msgctxt "guildset:ticket_log" msgid "ticket_log" msgstr "registro_de_logs" -#: src/modules/moderation/settings.py:23 +#: src/modules/moderation/settings.py:25 msgctxt "guildset:ticket_log|desc" msgid "Private moderation log to send tickets and moderation events." msgstr "" "Lugar privado, da moderação, para onde enviar registro de tickets e eventos " "da moderação." -#: src/modules/moderation/settings.py:27 +#: src/modules/moderation/settings.py:29 msgctxt "guildset:ticket_log|long_desc" msgid "" "Warnings, notes, video blacklists, and other moderation events will be " @@ -167,40 +568,40 @@ msgstr "" "Avisos, notas, inscritos na lista negra, e outros eventos da moderação serão" " postados em tíckets numerados de acordo com o contexto deste registro." -#: src/modules/moderation/settings.py:32 +#: src/modules/moderation/settings.py:34 msgctxt "guildset:ticket_log|accepts" msgid "Ticket channel name or id." msgstr "Nome, ou ID, do canal de tickets." -#: src/modules/moderation/settings.py:46 +#: src/modules/moderation/settings.py:48 #, possible-python-brace-format msgctxt "guildset:ticket_log|set_response:set" msgid "Moderation tickets will be sent to {channel}" msgstr "Tickets de moderação serão enviados para {channel}" -#: src/modules/moderation/settings.py:51 +#: src/modules/moderation/settings.py:53 msgctxt "guildset:ticket_log|set_response:unset" msgid "Moderation tickets will not be logged to a channel." msgstr "Os tickets de moderação não serão registrados em um canal." -#: src/modules/moderation/settings.py:63 +#: src/modules/moderation/settings.py:65 msgctxt "guildset:ticket_log|formatted:unset" msgid "Not Set." msgstr "Não configurado." -#: src/modules/moderation/settings.py:70 +#: src/modules/moderation/settings.py:73 msgctxt "guildset:alert_channel" msgid "alert_channel" msgstr "canal_alertas" -#: src/modules/moderation/settings.py:73 +#: src/modules/moderation/settings.py:76 msgctxt "guildset:alert_channel|desc" msgid "Moderation notification channel for members with DMs disabled." msgstr "" "Canal para o envio de notificações e avisos a membros com mensagem direta " "desabilitada." -#: src/modules/moderation/settings.py:77 +#: src/modules/moderation/settings.py:80 msgctxt "guildset:alert_channel|long_desc" msgid "" "When I need to send a member a moderation-related notification (e.g. asking " @@ -213,71 +614,111 @@ msgstr "" "enviar por mensagem direta. Caso esta mensagem direta falhe, eu irei " "mencionar o usuário neste canal." -#: src/modules/moderation/settings.py:84 +#: src/modules/moderation/settings.py:87 msgctxt "guildset:alert_channel|accepts" msgid "Alert channel name or id." msgstr "Nome, ou ID, do canal de alertas." -#: src/modules/moderation/settings.py:99 +#: src/modules/moderation/settings.py:102 #, possible-python-brace-format msgctxt "guildset:alert_channel|set_response:set" msgid "Moderation alerts will be sent to {channel}" msgstr "Alertas de moderação serão enviados para {channel}" -#: src/modules/moderation/settings.py:104 +#: src/modules/moderation/settings.py:107 msgctxt "guildset:alert_channel|set_response:unset" msgid "Moderation alerts will be ignored if the member cannot be reached." msgstr "" "Alertas de moderação serão ignorados, caso o membro não puder ser contatado." -#: src/modules/moderation/settings.py:116 +#: src/modules/moderation/settings.py:119 msgctxt "guildset:alert_channel|formatted:unset" msgid "Not Set (Only alert via direct message.)" msgstr "Não configurado (somente alertar via mensagem direta)" -#: src/modules/moderation/settings.py:123 +#: src/modules/moderation/settings.py:127 msgctxt "guildset:mod_role" msgid "mod_role" msgstr "cargo_moderador" -#: src/modules/moderation/settings.py:126 +#: src/modules/moderation/settings.py:130 msgctxt "guildset:mod_role|desc" msgid "" -"Guild role permitted to view configuration and perform moderation tasks." +"Server role permitted to perform moderation and minor bot configuration." msgstr "" -"Cargos com permissão para administrar comunidade, ver a configuração e " -"realizar tarefas de moderação." -#: src/modules/moderation/settings.py:130 +#: src/modules/moderation/settings.py:134 msgctxt "guildset:mod_role|long_desc" msgid "" -"Members with the set role will be able to access my configuration panels, " -"and perform some moderation tasks, such as setting up pomodoro timers. " -"Moderators cannot reconfigure most bot configuration, or perform operations " -"they do not already have permission for in Discord." +"Members with the moderator role are considered moderators, and are permitted to use moderator commands, such as viewing and pardoning moderation tickets, creating moderation notes, and performing minor reconfiguration through the `/config` command.\n" +"Moderators are never permitted to perform actions (such as giving roles) that they do not already have the Discord permissions for.\n" +"Members with the 'Manage Guild' permission are always considered moderators." msgstr "" -"Membros com o cargo configurado estarão autorizados a acessar meus painéis " -"de configuração, e realizar algumas tarefas, como criar Temporizadores " -"Pomodoro. Os moderadores não podem reconfigurar todos os comandos do bot, ou" -" o fazer algo que não entre as permissões do seu cargo no Discord." -#: src/modules/moderation/settings.py:137 +#: src/modules/moderation/settings.py:145 msgctxt "guildset:mod_role|accepts" msgid "Moderation role name or id." msgstr "Nome, ou ID, do cargo de moderador." -#: src/modules/moderation/settings.py:151 +#: src/modules/moderation/settings.py:159 #, possible-python-brace-format msgctxt "guildset:mod_role|set_response:set" -msgid "Members with the {role} will be considered moderators." -msgstr "Membros com o cargo {role} serão considerados moderadores." +msgid "" +"Members with {role} will be considered moderators. You may need to grant " +"them access to view moderation commands via the server integration settings." +msgstr "" -#: src/modules/moderation/settings.py:156 +#: src/modules/moderation/settings.py:166 msgctxt "guildset:mod_role|set_response:unset" -msgid "No members will be given moderation privileges." -msgstr "Nenhum membro ganhará privilégios de moderação." +msgid "" +"Only members with the 'Manage Guild' permission will be considered " +"moderators." +msgstr "" -#: src/modules/moderation/settings.py:168 +#: src/modules/moderation/settings.py:178 msgctxt "guildset:mod_role|formatted:unset" msgid "Not Set." msgstr "Não Configurado." + +#: src/modules/moderation/settings.py:186 +msgctxt "guildset:admin_role" +msgid "admin_role" +msgstr "" + +#: src/modules/moderation/settings.py:189 +msgctxt "guildset:admin_role|desc" +msgid "" +"Server role allowing access to all administrator level functionality in Leo." +msgstr "" + +#: src/modules/moderation/settings.py:193 +msgctxt "guildset:admin_role|long_desc" +msgid "" +"Members with this role are considered to be server administrators, allowing " +"them to use all of my interfaces and commands, except for managing roles " +"that are above them in the role hierachy. This setting allows giving members" +" administrator-level permissions over my systems, without actually giving " +"the members admin server permissions. Note that the role will also need to " +"be given permission to see the commands through the Discord server " +"integrations interface." +msgstr "" + +#: src/modules/moderation/settings.py:203 +msgctxt "guildset:admin_role|accepts" +msgid "Admin role name or id." +msgstr "" + +#: src/modules/moderation/settings.py:216 +#, possible-python-brace-format +msgctxt "guildset:admin_role|set_response:set" +msgid "" +"Members with {role} will now be considered admins, and have access to my " +"full interface." +msgstr "" + +#: src/modules/moderation/settings.py:221 +msgctxt "guildset:admin_role|set_response:unset" +msgid "" +"The admin role has been unset. Only members with administrator permissions " +"will be considered admins." +msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/monthly-gui.po b/locales/pt_BR/LC_MESSAGES/monthly-gui.po index 08cc5ac3..358cae9c 100644 --- a/locales/pt_BR/LC_MESSAGES/monthly-gui.po +++ b/locales/pt_BR/LC_MESSAGES/monthly-gui.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-13 08:47+0300\n" +"POT-Creation-Date: 2023-10-01 16:01+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -148,22 +148,40 @@ msgstr "Média Diária:" #: src/gui/cards/monthly.py:320 #, possible-python-brace-format -msgctxt "ui:monthlystats|stats:daily_average|value" +msgctxt "skin:monthlystats|mode:study|stats:daily_average|value" msgid "{count} hours" -msgstr "{count} horas" +msgstr "" #: src/gui/cards/monthly.py:324 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|stats:daily_average|value" +msgid "{count} hours" +msgstr "" + +#: src/gui/cards/monthly.py:328 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|stats:daily_average|value" +msgid "{count} msgs" +msgstr "" + +#: src/gui/cards/monthly.py:332 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:anki|stats:daily_average|value" +msgid "{count} cards" +msgstr "" + +#: src/gui/cards/monthly.py:342 msgctxt "ui:monthlystats|stats:days_active|key" msgid "Days Active:" msgstr "Dias Ativos:" -#: src/gui/cards/monthly.py:328 +#: src/gui/cards/monthly.py:346 #, possible-python-brace-format msgctxt "ui:monthlystats|stats:days_active|value" msgid "{count} days" msgstr "{count} dias" -#: src/gui/cards/monthly.py:341 +#: src/gui/cards/monthly.py:359 #, possible-python-brace-format msgctxt "skin:monthlystats|footer" msgid "Monthly Statistics • As of {day} {month} • {name} {discrim}" diff --git a/locales/pt_BR/LC_MESSAGES/ranks.po b/locales/pt_BR/LC_MESSAGES/ranks.po index b1452979..19e5c52d 100644 --- a/locales/pt_BR/LC_MESSAGES/ranks.po +++ b/locales/pt_BR/LC_MESSAGES/ranks.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -36,26 +36,97 @@ msgctxt "cmd:configure_ranks|param:rank_type|choice:message" msgid "Message" msgstr "Conversa" -#: src/modules/ranks/cog.py:495 +#: src/modules/ranks/cog.py:351 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_check|error:remove_failed" +msgid "Failed to remove old rank roles: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:375 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_check|error:add_failed" +msgid "Failed to add new rank role: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:380 +msgctxt "eventlog|event:rank_check|error:add_impossible" +msgid "" +"Could not assign new activity rank role. Lacking permissions or invalid " +"role." +msgstr "" + +#: src/modules/ranks/cog.py:386 +msgctxt "eventlog|event:rank_check|error:permissions" +msgid "" +"Could not update activity rank roles, I lack the 'Manage Roles' permission." +msgstr "" + +#: src/modules/ranks/cog.py:398 +msgctxt "eventlog|event:rank_check|name" +msgid "Member Activity Rank Roles Updated" +msgstr "" + +#: src/modules/ranks/cog.py:478 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|error:remove_failed" +msgid "Failed to remove old rank roles: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:502 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|error:add_failed" +msgid "Failed to add new rank role: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:507 +msgctxt "eventlog|event:new_rank|error:add_impossible" +msgid "" +"Could not assign new activity rank role. Lacking permissions or invalid " +"role." +msgstr "" + +#: src/modules/ranks/cog.py:513 +msgctxt "eventlog|event:new_rank|error:permissions" +msgid "" +"Could not update activity rank roles, I lack the 'Manage Roles' permission." +msgstr "" + +#: src/modules/ranks/cog.py:548 +msgctxt "eventlog|event:new_rank|error:notify_failed" +msgid "Could not notify member." +msgstr "" + +#: src/modules/ranks/cog.py:555 +msgctxt "eventlog|event:new_rank|name" +msgid "Member Achieved Activity rank" +msgstr "" + +#: src/modules/ranks/cog.py:559 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|desc" +msgid "{member} earned the new activity rank {rank}" +msgstr "" + +#: src/modules/ranks/cog.py:587 msgctxt "event:rank_update|embed:notify" msgid "New Activity Rank Attained!" msgstr "Novo Nível de Classificação Alcançado!" -#: src/modules/ranks/cog.py:601 +#: src/modules/ranks/cog.py:692 msgctxt "rank_refresh|error:cannot_chunk|desc" msgid "Could not retrieve member list from Discord. Please try again later." msgstr "" "Não pude recuperar a lista de membros do Discord. Por favor, tente novamente" " mais tarde." -#: src/modules/ranks/cog.py:614 +#: src/modules/ranks/cog.py:705 msgctxt "rank_refresh|error:roles_dne|desc" msgid "Some ranks have invalid or deleted roles! Please remove them first." msgstr "" "Algumas classificações estão com cargos inválidos ou deletados. Por favor, " "remova-os primeiro." -#: src/modules/ranks/cog.py:624 +#: src/modules/ranks/cog.py:715 #, possible-python-brace-format msgctxt "rank_refresh|error:unassignable_roles|desc" msgid "" @@ -65,18 +136,18 @@ msgstr "" "E não tenho permissões suficientes para designar os seguintes cargo(s):\n" "{roles}" -#: src/modules/ranks/cog.py:694 +#: src/modules/ranks/cog.py:785 msgctxt "rank_refresh|remove_roles|audit" msgid "Removing invalid rank role." msgstr "Removendo o cargo de nível inválido." -#: src/modules/ranks/cog.py:708 +#: src/modules/ranks/cog.py:799 #, possible-python-brace-format msgctxt "rank_refresh|remove_roles|small_error" msgid "*Could not remove ranks from {member}*" msgstr "*Não consegui remover os Níveis de Classificação de {member}*" -#: src/modules/ranks/cog.py:715 +#: src/modules/ranks/cog.py:806 msgctxt "rank_refresh|remove_roles|error:too_many_issues" msgid "" "Too many issues occurred while removing ranks! Please check my permissions " @@ -86,18 +157,18 @@ msgstr "" "verifique se tenho permissões suficientes e tente novamente em alguns " "minutos." -#: src/modules/ranks/cog.py:729 +#: src/modules/ranks/cog.py:820 msgctxt "rank_refresh|add_roles|audit" msgid "Adding rank role from refresh" msgstr "Atribuindo os cargos de acordo com a classificação" -#: src/modules/ranks/cog.py:743 +#: src/modules/ranks/cog.py:834 #, possible-python-brace-format msgctxt "rank_refresh|add_roles|small_error" msgid "*Could not add {role} to {member}*" msgstr "*Não pude adicionar {role} ao {member}*" -#: src/modules/ranks/cog.py:750 +#: src/modules/ranks/cog.py:841 msgctxt "rank_refresh|add_roles|error:too_many_issues" msgid "" "Too many issues occurred while adding ranks! Please check my permissions and" @@ -106,23 +177,37 @@ msgstr "" "Muitos problemas ocorreram enquanto eu adicionava os níveis! Por favor, " "verifique minhas permissões e tente novamente em alguns minutos." +#: src/modules/ranks/cog.py:869 +msgctxt "eventlog|event:rank_refresh|name" +msgid "Activity Ranks Refreshed" +msgstr "" + +#: src/modules/ranks/cog.py:873 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_refresh|desc" +msgid "" +"{actor} refresh member activity ranks.\n" +"**`{removed}`** invalid rank roles removed.\n" +"**`{added}`** new rank roles added." +msgstr "" + #. ---------- Commands ---------- -#: src/modules/ranks/cog.py:775 +#: src/modules/ranks/cog.py:884 msgctxt "cmd:ranks" msgid "ranks" msgstr "níveis" -#: src/modules/ranks/cog.py:807 +#: src/modules/ranks/cog.py:916 msgctxt "cmd:configure_ranks" msgid "ranks" msgstr "níveis" -#: src/modules/ranks/cog.py:808 +#: src/modules/ranks/cog.py:917 msgctxt "cmd:configure_ranks|desc" msgid "Configure Activity Ranks" msgstr "Configure os Níveis de Atividade" -#: src/modules/ranks/cog.py:868 +#: src/modules/ranks/cog.py:976 #, possible-python-brace-format msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|withdm_withchannel" @@ -133,14 +218,14 @@ msgstr "" "As atualizações de níveis de classificação serão enviados por " "**mensagem_direta** quando possível, ou em outro caso {channel}." -#: src/modules/ranks/cog.py:874 +#: src/modules/ranks/cog.py:982 msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|withdm_nochannel" msgid "Rank update notifications will be sent via **direct message**." msgstr "" "As atualizações da classificação será enviada por **mensagem_direta**." -#: src/modules/ranks/cog.py:880 +#: src/modules/ranks/cog.py:988 #, possible-python-brace-format msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|nodm_withchannel" @@ -148,7 +233,7 @@ msgid "Rank update notifications will be sent to {channel}." msgstr "" "Atualização dos níveis das categorias serão enviadas para o {channel}." -#: src/modules/ranks/cog.py:885 +#: src/modules/ranks/cog.py:993 msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|nodm_nochannel" msgid "Members will not be notified when their activity rank updates." @@ -209,66 +294,66 @@ msgctxt "formatstring:rank_message|key:requires" msgid "{rank_requires}" msgstr "{rank_requires}" -#: src/modules/ranks/settings.py:26 +#: src/modules/ranks/settings.py:27 msgctxt "guildset:rank_type|output:voice" msgid "`Voice`" msgstr "ˋVozˋ" -#: src/modules/ranks/settings.py:27 +#: src/modules/ranks/settings.py:28 msgctxt "guildset:rank_type|output:xp" msgid "`Exp`" msgstr "ˋExpˋ" -#: src/modules/ranks/settings.py:28 +#: src/modules/ranks/settings.py:29 msgctxt "guildset:rank_type|output:message" msgid "`Messages`" msgstr "ˋMensagensˋ" -#: src/modules/ranks/settings.py:31 +#: src/modules/ranks/settings.py:32 msgctxt "guildset:rank_type|input_format:voice" msgid "Voice" msgstr "Voz" -#: src/modules/ranks/settings.py:32 +#: src/modules/ranks/settings.py:33 msgctxt "guildset:rank_type|input_format:xp" msgid "Exp" msgstr "Exp" -#: src/modules/ranks/settings.py:33 +#: src/modules/ranks/settings.py:34 msgctxt "guildset:rank_type|input_format:message" msgid "Messages" msgstr "Mensagens" -#: src/modules/ranks/settings.py:36 +#: src/modules/ranks/settings.py:37 msgctxt "guildset:rank_type|input_pattern:voice" msgid "voice|study" msgstr "voz|estudos" -#: src/modules/ranks/settings.py:37 +#: src/modules/ranks/settings.py:38 msgctxt "guildset:rank_type|input_pattern:voice" msgid "text|message|messages" msgstr "texto|mensagem|mensagens" -#: src/modules/ranks/settings.py:38 +#: src/modules/ranks/settings.py:39 msgctxt "guildset:rank_type|input_pattern:xp" msgid "xp|exp|experience" msgstr "xp|exp|experiência" -#: src/modules/ranks/settings.py:45 +#: src/modules/ranks/settings.py:47 msgctxt "guildset:rank_type" msgid "rank_type" msgstr "tipo_de_rank" -#: src/modules/ranks/settings.py:48 +#: src/modules/ranks/settings.py:50 msgctxt "guildset:rank_type|desc" msgid "" "The type of statistic (messages | xp | voice hours) used to determine " "activity ranks." msgstr "" -"O tipo de estatística (mensagens | xp | horas em chamada) que será usada " -"para determinar o ranking de atividades." +"O tipo de estatística (mensagens | xp | horas em chamada) utilizada para o " +"ranking de atividades." -#: src/modules/ranks/settings.py:52 +#: src/modules/ranks/settings.py:54 msgctxt "guildset:rank_type|long_desc" msgid "" "Which statistic is used to reward activity ranks.\n" @@ -277,46 +362,46 @@ msgstr "" "Qual tipo de estatística é utilizada para recompensar os níveis de atividade.\n" "ˋVozˋ é o número de horas ativas em um canal de voz habilitado a contabilizar. ˋExpˋ é uma pontuação de experiência, obtida por uma ponderação entre as atividades com mensagens. ˋMensagemˋ é uma sintagem símples do número de mensagens enviadas." -#: src/modules/ranks/settings.py:59 +#: src/modules/ranks/settings.py:61 msgctxt "guildset:rank_type|accepts" msgid "Voice/Exp/Messages" msgstr "Voz/Exp/Mensagens" -#: src/modules/ranks/settings.py:71 +#: src/modules/ranks/settings.py:73 msgctxt "guildset:rank_type|set_response|type:voice" msgid "Members will be awarded activity ranks based on `Voice Activity`." msgstr "" "Os membros serão recompensados com base nos níveis de ˋAtividade de Vozˋ." -#: src/modules/ranks/settings.py:76 +#: src/modules/ranks/settings.py:78 msgctxt "guildset:rank_type|set_response|type:messages" msgid "Members will be awarded activity ranks based on `Messages Sent`." msgstr "Os membros acumularão com base nos níveis de ˋMensagens Enviadasˋ." -#: src/modules/ranks/settings.py:81 +#: src/modules/ranks/settings.py:83 msgctxt "guildset:rank_type|set_response|type:xp" msgid "Members will be awarded activity ranks based on `Message XP Earned`." msgstr "" "Os membros acumularão com base nos níveis de ˋExp de Mensagens Acumuladosˋ." -#: src/modules/ranks/settings.py:91 +#: src/modules/ranks/settings.py:93 #, possible-python-brace-format msgctxt "guildset:rank_channel|set_using" msgid "{cmd} or option menu below." msgstr "{cmd} ou escolha uma opção no menu abaixo." -#: src/modules/ranks/settings.py:103 +#: src/modules/ranks/settings.py:106 msgctxt "guildset:rank_channel" msgid "rank_channel" msgstr "canal_do_rank" -#: src/modules/ranks/settings.py:106 +#: src/modules/ranks/settings.py:109 msgctxt "guildset:rank_channel|desc" msgid "The channel in which to send rank update notifications." msgstr "" "Canal para enviar as atualizações dos níveis classificatórios do rank." -#: src/modules/ranks/settings.py:110 +#: src/modules/ranks/settings.py:113 msgctxt "guildset:rank_channel|long_desc" msgid "" "Whenever a user advances a rank, a congratulatory message will be sent in " @@ -329,18 +414,18 @@ msgstr "" "configurado ˋmd_niveisˋ como habilitado, este canal somente servirá quando o" " usuário optou por não receber mensagem direta de não amigos." -#: src/modules/ranks/settings.py:116 +#: src/modules/ranks/settings.py:119 msgctxt "guildset:rank_channel|accepts" msgid "Rank notification channel name or id." msgstr "Nome, ou ID, do canal de notificação dos níveis classificatórios." -#: src/modules/ranks/settings.py:128 +#: src/modules/ranks/settings.py:131 #, possible-python-brace-format msgctxt "guildset:rank_channel|set_response|set" msgid "Rank update messages will be sent to {channel}." msgstr "Atualizações de classificação serão enviadas para {channel}." -#: src/modules/ranks/settings.py:133 +#: src/modules/ranks/settings.py:136 msgctxt "guildset:rank_channel|set_response|unset" msgid "" "Rank update messages will be ignored or sent via DM (if `dm_ranks` is " @@ -349,18 +434,18 @@ msgstr "" "Atualizações de classificação serão ignoradas ou enviadas por Mensagem " "Direta (se ˋmd_niveisˋ estiver habilitado)" -#: src/modules/ranks/settings.py:143 +#: src/modules/ranks/settings.py:146 #, possible-python-brace-format msgctxt "guildset:rank_channel|set_using" msgid "{cmd} or channel selector below." msgstr "{cmd} ou selecione o canal listado abaixo." -#: src/modules/ranks/settings.py:153 +#: src/modules/ranks/settings.py:157 msgctxt "guildset:dm_ranks" msgid "dm_ranks" msgstr "md_niveis" -#: src/modules/ranks/settings.py:156 +#: src/modules/ranks/settings.py:160 msgctxt "guildset:dm_ranks|desc" msgid "" "Whether to send rank advancement notifications through direct messages." @@ -368,7 +453,7 @@ msgstr "" "Se devo enviar a progressão nos níveis classificatórios através de mensagens" " diretas." -#: src/modules/ranks/settings.py:160 +#: src/modules/ranks/settings.py:164 msgctxt "guildset:dm_ranks|long_desc" msgid "" "If enabled, congratulatory messages for rank advancement will be direct " @@ -379,14 +464,14 @@ msgstr "" "classificatório serão enviadas por mensagem direta ao usuário. Ao invés de " "serem enviadas ao ˋcanal_do_rankˋ." -#: src/modules/ranks/settings.py:174 +#: src/modules/ranks/settings.py:178 msgctxt "guildset:dm_ranks|response:true" msgid "I will direct message members upon rank advancement." msgstr "" "Eu irei enviar mensagens diretas aos membros sobre atualização dos seus " "níveis classificatórios." -#: src/modules/ranks/settings.py:179 +#: src/modules/ranks/settings.py:183 msgctxt "guildset:dm_ranks|response:false" msgid "I will never direct message members upon rank advancement." msgstr "" @@ -632,92 +717,305 @@ msgctxt "ui:rank_config|button:overview|label" msgid "Edit Ranks" msgstr "Editar Níveis" -#: src/modules/ranks/ui/config.py:82 +#: src/modules/ranks/ui/config.py:83 msgctxt "ui:rank_config|menu:types|placeholder" msgid "Select Statistic Type" msgstr "Selecione o Tipo de Estatística" -#: src/modules/ranks/ui/config.py:90 +#: src/modules/ranks/ui/config.py:91 msgctxt "ui:rank_config|menu:types|option:voice" msgid "Voice Activity" msgstr "Atividade em Canal de Voz" -#: src/modules/ranks/ui/config.py:98 +#: src/modules/ranks/ui/config.py:99 msgctxt "ui:rank_config|menu:types|option:xp" msgid "XP Earned" msgstr "EXP Acumulada" -#: src/modules/ranks/ui/config.py:106 +#: src/modules/ranks/ui/config.py:107 msgctxt "ui:rank_config|menu:types|option:messages" msgid "Messages Sent" msgstr "Mensagens Enviadas" -#: src/modules/ranks/ui/config.py:126 +#: src/modules/ranks/ui/config.py:128 msgctxt "ui:rank_config|menu:channels|placeholder" msgid "Select Rank Notification Channel" msgstr "Selecione o Canal de Notificações dos Níveis de Classificação" -#: src/modules/ranks/ui/config.py:134 +#: src/modules/ranks/ui/config.py:136 msgctxt "ui:rank_config|embed|title" msgid "Ranks Configuration Panel" msgstr "Painel de Configuração dos Níveis de Classificação" -#: src/modules/ranks/ui/config.py:171 +#: src/modules/ranks/ui/config.py:173 msgctxt "dash:rank|title" -msgid "Rank Configuration ({commands[configure ranks]})" +msgid "Rank Configuration ({commands[admin config ranks]})" msgstr "" -"Configuração dos Níveis de Classificação ({commands[configure ranks]})" -#: src/modules/ranks/ui/config.py:175 +#: src/modules/ranks/ui/config.py:177 msgctxt "dash:rank|dropdown|placeholder" msgid "Activity Rank Panel" msgstr "Painel de Classificação dos Membros" -#: src/modules/ranks/ui/overview.py:95 +#: src/modules/ranks/ui/templates.py:20 src/modules/ranks/ui/editor.py:207 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:voice" +msgid "" +"Congratulations {user_mention}!\n" +"For working hard for **{requires}**, you have achieved the rank of **{role_name}** in **{guild_name}**! Keep up the good work." +msgstr "" +"Parabéns, {user_mention}!\n" +"Por ter dado duro por **{requires}**, você atingiu o nível de **{role_name}** em **{guild_name}**! Continue com esse empenho!" + +#: src/modules/ranks/ui/templates.py:27 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:xp" +msgid "" +"Congratulations {user_mention}!\n" +"For earning **{requires}**, you have achieved the guild rank of **{role_name}** in **{guild_name}**!" +msgstr "" + +#: src/modules/ranks/ui/templates.py:34 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:msg" +msgid "" +"Congratulations {user_mention}!\n" +"For sending **{requires}**, you have achieved the guild rank of **{role_name}** in **{guild_name}**!" +msgstr "" + +#: src/modules/ranks/ui/templates.py:47 +msgctxt "rank_autocreate|template|type:study_voice|level:1" +msgid "Voice Level 1 (1h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:55 +msgctxt "rank_autocreate|template|type:study_voice|level:2" +msgid "Voice Level 2 (3h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:63 +msgctxt "rank_autocreate|template|type:study_voice|level:3" +msgid "Voice Level 3 (6h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:71 +msgctxt "rank_autocreate|template|type:study_voice|level:4" +msgid "Voice Level 4 (10h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:79 +msgctxt "rank_autocreate|template|type:study_voice|level:5" +msgid "Voice Level 5 (20h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:87 +msgctxt "rank_autocreate|template|type:study_voice|level:6" +msgid "Voice Level 6 (40h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:95 +msgctxt "rank_autocreate|template|type:study_voice|level:7" +msgid "Voice Level 7 (80h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:106 +msgctxt "rank_autocreate|template|type:general_voice|level:1" +msgid "Voice Level 1 (1h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:114 +msgctxt "rank_autocreate|template|type:general_voice|level:2" +msgid "Voice Level 2 (2h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:122 +msgctxt "rank_autocreate|template|type:general_voice|level:3" +msgid "Voice Level 3 (4h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:130 +msgctxt "rank_autocreate|template|type:general_voice|level:4" +msgid "Voice Level 4 (8h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:138 +msgctxt "rank_autocreate|template|type:general_voice|level:5" +msgid "Voice Level 5 (16h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:146 +msgctxt "rank_autocreate|template|type:general_voice|level:6" +msgid "Voice Level 6 (32h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:154 +msgctxt "rank_autocreate|template|type:general_voice|level:7" +msgid "Voice Level 7 (64h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:169 +msgctxt "rank_autocreate|template|type:xp|level:1" +msgid "XP Level 1 (2000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:177 +msgctxt "rank_autocreate|template|type:xp|level:2" +msgid "XP Level 2 (4000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:185 +msgctxt "rank_autocreate|template|type:xp|level:3" +msgid "XP Level 3 (8000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:193 +msgctxt "rank_autocreate|template|type:xp|level:4" +msgid "XP Level 4 (16000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:201 +msgctxt "rank_autocreate|template|type:xp|level:5" +msgid "XP Level 5 (32000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:209 +msgctxt "rank_autocreate|template|type:xp|level:6" +msgid "XP Level 6 (64000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:217 +msgctxt "rank_autocreate|template|type:xp|level:7" +msgid "XP Level 7 (128000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:232 +msgctxt "rank_autocreate|template|type:msg|level:1" +msgid "Message Level 1 (200)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:240 +msgctxt "rank_autocreate|template|type:msg|level:2" +msgid "Message Level 2 (400)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:248 +msgctxt "rank_autocreate|template|type:msg|level:3" +msgid "Message Level 3 (800)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:256 +msgctxt "rank_autocreate|template|type:msg|level:4" +msgid "Message Level 4 (1600)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:264 +msgctxt "rank_autocreate|template|type:msg|level:5" +msgid "Message Level 5 (3200)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:272 +msgctxt "rank_autocreate|template|type:msg|level:6" +msgid "Message Level 6 (6400)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:280 +msgctxt "rank_autocreate|template|type:msg|level:7" +msgid "Message Level 7 (12800)" +msgstr "" + +#: src/modules/ranks/ui/overview.py:97 +msgctxt "ui:rank_overview|button:auto|error:already_created" +msgid "The rank roles have already been created!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:105 +msgctxt "ui:rank_overview|button:auto|error:my_permissions" +msgid "I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:114 +msgctxt "ui:rank_overview|button:auto|error:invalid_template" +msgid "Unable to determine rank role template!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:137 +msgctxt "ui:rank_overview|button|auto|role_creation|error:forbidden" +msgid "" +"An error occurred while autocreating rank roles!\n" +"I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:145 +msgctxt "ui:rank_overview|button:auto|role_creation|error:unknown" +msgid "" +"An error occurred while autocreating rank roles!\n" +"Please check the server has enough space for new roles and try again." +msgstr "" + +#: src/modules/ranks/ui/overview.py:152 +#, possible-python-brace-format +msgctxt "ui:rank_overview|button:auto|role_creation|success" +msgid "" +"Successfully created the following rank roles:\n" +"{roles}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:162 msgctxt "ui:rank_overview|button:auto|label" msgid "Auto Create" msgstr "Criar Automaticamente" -#: src/modules/ranks/ui/overview.py:110 +#: src/modules/ranks/ui/overview.py:178 msgctxt "ui:rank_overview|button:refresh|label" msgid "Refresh Member Ranks" msgstr "Atualizar Níveis dos Membros" -#: src/modules/ranks/ui/overview.py:122 +#: src/modules/ranks/ui/overview.py:190 msgctxt "ui:rank_overview|button:clear|confirm" msgid "Are you sure you want to **delete all activity ranks** in this server?" msgstr "" "Você tem certeza que quer **apagar todos os Níveis de Atividade** deste " "servidor?" -#: src/modules/ranks/ui/overview.py:127 +#: src/modules/ranks/ui/overview.py:195 msgctxt "ui:rank_overview|button:clear|confirm|button:yes" msgid "Yes, clear ranks" msgstr "Sim, apagar Níveis de Atividade" -#: src/modules/ranks/ui/overview.py:133 +#: src/modules/ranks/ui/overview.py:201 msgctxt "ui:rank_overview|button:clear|confirm|button:no" msgid "Cancel" msgstr "Cancelar" -#: src/modules/ranks/ui/overview.py:149 +#: src/modules/ranks/ui/overview.py:217 msgctxt "ui:rank_overview|button:clear|label" msgid "Clear Ranks" msgstr "Limpar Níveis Classificatórios" -#: src/modules/ranks/ui/overview.py:179 +#: src/modules/ranks/ui/overview.py:231 +msgctxt "ui:rank_overview|button:create|error:my_permissions" +msgid "I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:240 +#, possible-python-brace-format +msgctxt "ui:rank_overview|button:create|success" +msgid "Created a new rank {role}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:257 msgctxt "ui:rank_overview|button:create|label" msgid "Create Rank" msgstr "Criar Níveis Classificatórios" -#: src/modules/ranks/ui/overview.py:222 +#: src/modules/ranks/ui/overview.py:300 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:is_default" msgid "The @everyone role cannot be removed, and cannot be a rank!" msgstr "" "O cargo @everyone não pode ser removido, nem pode ser um cargo de nível de " "classificação." -#: src/modules/ranks/ui/overview.py:227 +#: src/modules/ranks/ui/overview.py:305 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:is_managed" msgid "" "The role is managed by another application or integration, and cannot be a " @@ -726,7 +1024,7 @@ msgstr "" "Este cargo é gerenciado por outra aplicação ou Integração, e não pode ser " "usado para um nível classificatório." -#: src/modules/ranks/ui/overview.py:232 +#: src/modules/ranks/ui/overview.py:310 msgctxt "" "ui:rank_overview|menu:roles|error:not_assignable|suberror:no_permissions" msgid "" @@ -736,7 +1034,7 @@ msgstr "" "Eu não tenho permissão de ˋGERENCIAR_CARGOSˋ neste servidor, então não posso" " gerenciar uma classificação em níveis." -#: src/modules/ranks/ui/overview.py:237 +#: src/modules/ranks/ui/overview.py:315 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:above_me" msgid "" "This role is above my top role in the role hierarchy, so I cannot add or " @@ -745,68 +1043,71 @@ msgstr "" "Este cargo é acima do meu cargo mais elevado, então eu não posso atribuí-lo," " ou removê-lo!" -#: src/modules/ranks/ui/overview.py:243 +#: src/modules/ranks/ui/overview.py:321 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:other" msgid "I am not able to manage the selected role, so it cannot be a rank!" msgstr "" "Eu não estou habilitado para gerenciar o cargo selecionado, então ele não " "poderá ser atribuído como um nível de classificação." -#: src/modules/ranks/ui/overview.py:249 +#: src/modules/ranks/ui/overview.py:327 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|title" msgid "Could not create rank!" msgstr "Não pude criar o nível!" -#: src/modules/ranks/ui/overview.py:273 +#: src/modules/ranks/ui/overview.py:351 msgctxt "ui:rank_overview|menu:roles|placeholder" msgid "Create from role" msgstr "Criar por cargos" -#: src/modules/ranks/ui/overview.py:290 +#: src/modules/ranks/ui/overview.py:368 msgctxt "ui:rank_overview|menu:ranks|placeholder" msgid "View or edit rank" msgstr "Ver ou editar níveis de classificação" -#: src/modules/ranks/ui/overview.py:376 +#: src/modules/ranks/ui/overview.py:454 msgctxt "ui:rank_overview|embed:noranks|desc" -msgid "" -"No activity ranks have been set up!\n" -"Press 'AUTO' to automatically create a standard heirachy of voice | text | xp ranks, or select a role or press Create below!" +msgid "No activity ranks have been set up!" msgstr "" -"Nenhum nível de classificação foi configurado!\n" -"Pressione em 'AUTO' para criar automaticamente um padrão hierárquico de Níveis de Atividade em Canais de Voz | Texto | Exp, ou pressione em Criar para fazê-lo manualmente." -#: src/modules/ranks/ui/overview.py:384 +#: src/modules/ranks/ui/overview.py:459 +msgctxt "ui:rank_overview|embed:noranks|desc|admin_addendum" +msgid "" +"Press 'Auto Create' to automatically create a standard heirachy of ranks.\n" +"To manually create ranks, press 'Create Rank' below, or select a role!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:468 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|title|type:voice" msgid "Voice Ranks in {guild_name}" msgstr "Classificação em Canais de Voz em {guild_name}" -#: src/modules/ranks/ui/overview.py:389 +#: src/modules/ranks/ui/overview.py:473 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|title|type:xp" msgid "XP ranks in {guild_name}" msgstr "Classificação em EXPˋs em {guild_name}" -#: src/modules/ranks/ui/overview.py:394 +#: src/modules/ranks/ui/overview.py:478 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|title|type:message" msgid "Message ranks in {guild_name}" msgstr "Classificação em Mensagens em {guild_name}" -#: src/modules/ranks/ui/overview.py:406 +#: src/modules/ranks/ui/overview.py:490 msgctxt "ui:rank_overview|embed|field:note|name" msgid "Note" msgstr "Nota" -#: src/modules/ranks/ui/overview.py:412 +#: src/modules/ranks/ui/overview.py:496 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|field:note|value:with_season" msgid "Ranks are determined by activity since {timestamp}." msgstr "" "Os níveis são determinados de acordo com a atividade desde {timestamp}." -#: src/modules/ranks/ui/overview.py:419 +#: src/modules/ranks/ui/overview.py:503 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|field:note|value:without_season" msgid "" @@ -816,7 +1117,7 @@ msgstr "" "Os Níveis de Classificação são determinados pela estatística desde o começo da contagem.\n" "Para recompensar Níveis de uma classificação mais antiga, (ex. ter estatísticas de níveis mensalmente/semanalmente/anualmente), use ˋcomeço_estatísticasˋ em {stats_cmd}" -#: src/modules/ranks/ui/overview.py:426 +#: src/modules/ranks/ui/overview.py:510 msgctxt "ui:rank_overview|embed|field:note|value|voice_addendum" msgid "" "Also note that ranks will only be updated when a member leaves a tracked " @@ -947,16 +1248,6 @@ msgstr "" "Mensagem de comemoração enviada ao usuário quando atingir este nível de " "classificação." -#: src/modules/ranks/ui/editor.py:207 -#, possible-python-brace-format -msgctxt "ui:rank_editor|input:message|default|type:voice" -msgid "" -"Congratulations {user_mention}!\n" -"For working hard for **{requires}**, you have achieved the rank of **{role_name}** in **{guild_name}**! Keep up the good work." -msgstr "" -"Parabéns, {user_mention}!\n" -"Por ter dado duro por **{requires}**, você atingiu o nível de **{role_name}** em **{guild_name}**! Continue com esse empenho!" - #: src/modules/ranks/ui/editor.py:262 msgctxt "ui:rank_editor|mode:edit|title" msgid "Rank Editor" diff --git a/locales/pt_BR/LC_MESSAGES/rolemenus.po b/locales/pt_BR/LC_MESSAGES/rolemenus.po index 6086ae13..9d96d8f8 100644 --- a/locales/pt_BR/LC_MESSAGES/rolemenus.po +++ b/locales/pt_BR/LC_MESSAGES/rolemenus.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,27 +21,27 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/rolemenus/cog.py:41 +#: src/modules/rolemenus/cog.py:43 msgctxt "argtype:menu_style|opt:reaction" msgid "Reaction Roles" msgstr "Cargos por Reação" -#: src/modules/rolemenus/cog.py:45 +#: src/modules/rolemenus/cog.py:47 msgctxt "argtype:menu_style|opt:button" msgid "Button Menu" msgstr "Botão do Menu" -#: src/modules/rolemenus/cog.py:49 +#: src/modules/rolemenus/cog.py:51 msgctxt "argtype:menu_style|opt:dropdown" msgid "Dropdown Menu" msgstr "Menu Suspenso" -#: src/modules/rolemenus/cog.py:68 +#: src/modules/rolemenus/cog.py:70 msgctxt "ctxcmd:rolemenu" msgid "Role Menu Editor" msgstr "Editor de Cargos" -#: src/modules/rolemenus/cog.py:81 +#: src/modules/rolemenus/cog.py:83 msgctxt "ctxcmd:rolemenu|error:author_perms" msgid "" "You need the `MANAGE_ROLES` permission in order to manage the server role " @@ -50,7 +50,7 @@ msgstr "" "Você precisa ter permissão ˋGERENCIAR_CARGOSˋ para que possa gerenciar as " "configurações dos cargos." -#: src/modules/rolemenus/cog.py:88 +#: src/modules/rolemenus/cog.py:90 msgctxt "ctxcmd:rolemenus|error:my_perms" msgid "" "I lack the `MANAGE_ROLES` permission required to offer roles from role " @@ -59,12 +59,54 @@ msgstr "" "Está faltando uma permissão de ˋGERENCIAR_CARGOSˋ, necessária para " "disponibilizar o menu de cargos." -#: src/modules/rolemenus/cog.py:300 +#: src/modules/rolemenus/cog.py:333 +msgctxt "eventlog|event:rolemenu_role_expire|error:remove_failed" +msgid "Removed the role, but the member still has the role!!" +msgstr "" + +#: src/modules/rolemenus/cog.py:344 +msgctxt "eventlog|event:rolemenu_role_expire|error:member_gone" +msgid "Member could not be found.. role has been removed from saved roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:350 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|error:no_role" +msgid "Role {role} no longer exists." +msgstr "" + +#: src/modules/rolemenus/cog.py:356 +msgctxt "eventlog|event:rolemenu_role_expire|title" +msgid "Equipped role has expired" +msgstr "" + +#: src/modules/rolemenus/cog.py:360 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|desc" +msgid "{member}'s role {role} has now expired." +msgstr "" + +#: src/modules/rolemenus/cog.py:368 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained From" +msgstr "" + +#: src/modules/rolemenus/cog.py:377 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained At" +msgstr "" + +#: src/modules/rolemenus/cog.py:384 +msgctxt "eventlog|event:rolemenu_role_expire|field:expiry" +msgid "Expiry" +msgstr "" + +#: src/modules/rolemenus/cog.py:419 msgctxt "parse:message_link|suberror:message_dne" msgid "Could not find the linked message, has it been deleted?" msgstr "Não pude encontrar a mensagem referida. Ela foi deletada?" -#: src/modules/rolemenus/cog.py:305 +#: src/modules/rolemenus/cog.py:424 #, possible-python-brace-format msgctxt "parse:message_link|suberror:no_perms" msgid "" @@ -74,13 +116,13 @@ msgstr "" "Permissões insuficientes! Eu preciso de permissões para ˋMESSAGE_HISTORYˋ em" " {channel}." -#: src/modules/rolemenus/cog.py:310 +#: src/modules/rolemenus/cog.py:429 #, possible-python-brace-format msgctxt "parse:message_link|suberror:channel_dne" msgid "The channel `{channelid}` could not be found in this server." msgstr "O canal ˋ{channelid}ˋ não pôde ser encontrado neste servidor." -#: src/modules/rolemenus/cog.py:315 +#: src/modules/rolemenus/cog.py:434 msgctxt "parse:message_link|suberror:malformed_link" msgid "" "Malformed message link. Please copy the link by right clicking the target " @@ -89,7 +131,7 @@ msgstr "" "O link para a mensagem referida está inconsistente. Por favor, copie o link " "clicando com o botão direito do mouse sobre a mensagem." -#: src/modules/rolemenus/cog.py:322 +#: src/modules/rolemenus/cog.py:441 #, possible-python-brace-format msgctxt "parse:message_link|error" msgid "" @@ -99,17 +141,17 @@ msgstr "" "Uma falha ocorreu com o link da mensagem informado.\n" "**ERRO:** {error}" -#: src/modules/rolemenus/cog.py:434 +#: src/modules/rolemenus/cog.py:553 msgctxt "cmd:rolemenus" msgid "rolemenus" msgstr "menucargos" -#: src/modules/rolemenus/cog.py:437 +#: src/modules/rolemenus/cog.py:556 msgctxt "cmd:rolemenus|desc" msgid "View and configure the role menus in this server." msgstr "Veja e configure o menu de cargos neste servidor." -#: src/modules/rolemenus/cog.py:454 +#: src/modules/rolemenus/cog.py:573 msgctxt "cmd:rolemenus|error:author_perms" msgid "" "You need the `MANAGE_ROLES` permission in order to manage the server role " @@ -118,7 +160,7 @@ msgstr "" "Você precisa de permissão para ˋGERENCIAR_CARGOSˋ para que possa gerenciar o" " menu de cargos do servidor." -#: src/modules/rolemenus/cog.py:461 +#: src/modules/rolemenus/cog.py:580 msgctxt "cmd:rolemenus|error:my_perms" msgid "" "I lack the `MANAGE_ROLES` permission required to offer roles from role " @@ -127,99 +169,99 @@ msgstr "" "Não tenho permissão de ˋGERENCIAR_CARGOSˋ, necessária para oferecer um menu " "de cargos." -#: src/modules/rolemenus/cog.py:496 +#: src/modules/rolemenus/cog.py:615 #, possible-python-brace-format msgctxt "acmpl:menus|choice:no_choices|name" msgid "No role menus matching '{partial}'" msgstr "Não há coincidência com o menu de cargos '{partial}'" -#: src/modules/rolemenus/cog.py:515 +#: src/modules/rolemenus/cog.py:634 msgctxt "acmpl:menuroles|param:menu|keyname" msgid "menu" msgstr "menu" -#: src/modules/rolemenus/cog.py:521 +#: src/modules/rolemenus/cog.py:640 msgctxt "acmpl:menuroles|choice:no_menu|name" msgid "Please select a menu first" msgstr "Por favor, primeiramente selecione um menu" -#: src/modules/rolemenus/cog.py:545 +#: src/modules/rolemenus/cog.py:664 #, possible-python-brace-format msgctxt "acmpl:menuroles|choice:invalid_menu|name" msgid "Menu '{name}' does not exist!" msgstr "Menu '{name}' não existe!" -#: src/modules/rolemenus/cog.py:574 +#: src/modules/rolemenus/cog.py:693 #, possible-python-brace-format msgctxt "acmpl:menuroles|choice:no_matching|name" msgid "No roles in this menu matching '{partial}'" msgstr "Nenhum cargo neste menu confere com este '{partial}' " -#: src/modules/rolemenus/cog.py:581 +#: src/modules/rolemenus/cog.py:700 msgctxt "group:rolemenu" msgid "rolemenu" msgstr "menucargo" -#: src/modules/rolemenus/cog.py:584 +#: src/modules/rolemenus/cog.py:703 msgctxt "group:rolemenu|desc" msgid "Base command group for role menu configuration." msgstr "Grupo de comandos base para configuração do menu de cargos. " -#: src/modules/rolemenus/cog.py:593 +#: src/modules/rolemenus/cog.py:712 msgctxt "cmd:rolemenu_create" msgid "newmenu" msgstr "novomenu" -#: src/modules/rolemenus/cog.py:596 +#: src/modules/rolemenus/cog.py:715 msgctxt "cmd:rolemenu_create|desc" msgid "Create a new role menu (optionally using an existing message)" msgstr "" "Crie um novo menu de cargo (opcionalmente, use mensagens já existentes)" -#: src/modules/rolemenus/cog.py:610 +#: src/modules/rolemenus/cog.py:729 msgctxt "cmd:rolemenu_create|param:message" msgid "message_link" msgstr "link_mensagem" -#: src/modules/rolemenus/cog.py:611 +#: src/modules/rolemenus/cog.py:730 msgctxt "cmd:rolemenu_create|param:menu_style" msgid "menu_style" msgstr "estilo_menu" -#: src/modules/rolemenus/cog.py:612 +#: src/modules/rolemenus/cog.py:731 msgctxt "cmd:rolemenu_create|param:remplate" msgid "template" msgstr "modelo" -#: src/modules/rolemenus/cog.py:613 +#: src/modules/rolemenus/cog.py:732 msgctxt "cmd:rolemenu_create|param:rawmessage" msgid "custom_message" msgstr "mensagem_personalizada" -#: src/modules/rolemenus/cog.py:623 +#: src/modules/rolemenus/cog.py:742 msgctxt "cmd:rolemenu_create|param:message|desc" msgid "Link to an existing message to turn it into a (reaction) role menu" msgstr "" "Link de uma mensagem, já existente, para transforma-la em um painel (por " "reação) de cargos." -#: src/modules/rolemenus/cog.py:627 +#: src/modules/rolemenus/cog.py:746 msgctxt "cmd:rolemenu_create|param:menu_style" msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" msgstr "" "Estilo de seleção para este menu (usando botões, menu suspenso, ou reações)" -#: src/modules/rolemenus/cog.py:631 +#: src/modules/rolemenus/cog.py:750 msgctxt "cmd:rolemenu_create|param:template" msgid "Template to use for the menu message body" msgstr "Modelo a usar para o corpo da mensagem do menu" -#: src/modules/rolemenus/cog.py:635 +#: src/modules/rolemenus/cog.py:754 msgctxt "cmd:rolemenu_create|param:rawmessage" msgid "Attach a custom menu message to use" msgstr "Anexe uma mensagem personalizada a usar" -#: src/modules/rolemenus/cog.py:664 +#: src/modules/rolemenus/cog.py:783 msgctxt "cmd:rolemenu_create|error:author_perms" msgid "" "You need the `MANAGE_ROLES` permission in order to create new role menus." @@ -227,7 +269,7 @@ msgstr "" "Você precisa ter permissão para ˋGERENCIAR_CARGOSˋ para que possa criar " "novos menus de cargo." -#: src/modules/rolemenus/cog.py:671 +#: src/modules/rolemenus/cog.py:790 msgctxt "cmd:rolemenu_create|error:my_perms" msgid "" "I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." @@ -235,7 +277,7 @@ msgstr "" "Não tenho permissão de ˋGERENCIAR_CARGOSˋ, necessária para oferecer cargos " "por um menu de cargos." -#: src/modules/rolemenus/cog.py:690 +#: src/modules/rolemenus/cog.py:809 #, possible-python-brace-format msgctxt "cmd:rolemenu_create|error:message_exists" msgid "The message {link} already has a role menu! Use {edit_cmd} to edit it." @@ -243,7 +285,7 @@ msgstr "" "A mensagem {link} já é usada como um menu de cargos! Use {edit_cmd} para " "editá-la." -#: src/modules/rolemenus/cog.py:711 +#: src/modules/rolemenus/cog.py:830 #, possible-python-brace-format msgctxt "cmd:rolemenu_create|error:style_notmine" msgid "" @@ -253,7 +295,7 @@ msgstr "" "Eu não posso criar o ˋ{style}ˋ estilo de um menu, em uma mensagem que não " "foi enviada por mim! (Há uma restrição do Discord). " -#: src/modules/rolemenus/cog.py:718 +#: src/modules/rolemenus/cog.py:837 #, possible-python-brace-format msgctxt "cmd:rolemenu_create|error:rawmessage_notmine" msgid "" @@ -263,7 +305,7 @@ msgstr "" "Não pude aplicar um menu personalizado na mensagem {message}, pois ela não " "pertence a mim! " -#: src/modules/rolemenus/cog.py:727 +#: src/modules/rolemenus/cog.py:846 #, possible-python-brace-format msgctxt "cmd:rolemenu_create|error:template_notmine" msgid "" @@ -273,87 +315,87 @@ msgstr "" "Não pude aplicar um modelo de mensagem à {message} pois ela não pertence a " "mim! " -#: src/modules/rolemenus/cog.py:740 +#: src/modules/rolemenus/cog.py:859 #, possible-python-brace-format msgctxt "cmd:rolemenu_create|error:name_exists" msgid "A rolemenu called `{name}` already exists! Use {edit_cmd} to edit it." msgstr "" "Um cargomenu chamado ˋ{name}ˋ já existe! Use {edit_cmd} para editá-lo." -#: src/modules/rolemenus/cog.py:788 +#: src/modules/rolemenus/cog.py:907 msgctxt "cmd:rolemenu_edit" msgid "editmenu" msgstr "editarmenu" -#: src/modules/rolemenus/cog.py:791 +#: src/modules/rolemenus/cog.py:910 msgctxt "cmd:rolemenu_edit|desc" msgid "Edit an existing role menu." msgstr "Editar um menu de cargos existente." -#: src/modules/rolemenus/cog.py:800 +#: src/modules/rolemenus/cog.py:919 msgctxt "cmd:rolemenu_edit|param:name" msgid "name" msgstr "nome" -#: src/modules/rolemenus/cog.py:801 +#: src/modules/rolemenus/cog.py:920 msgctxt "cmd:rolemenu_edit|param:new_name" msgid "new_name" msgstr "novo_nome" -#: src/modules/rolemenus/cog.py:802 +#: src/modules/rolemenus/cog.py:921 msgctxt "cmd:rolemenu_edit|param:channel" msgid "new_channel" msgstr "novo_canal" -#: src/modules/rolemenus/cog.py:807 +#: src/modules/rolemenus/cog.py:926 msgctxt "cmd:rolemenu_edit|param:menu_style" msgid "menu_style" msgstr "menu_estilo" -#: src/modules/rolemenus/cog.py:808 +#: src/modules/rolemenus/cog.py:927 msgctxt "cmd:rolemenu_edit|param:remplate" msgid "template" msgstr "modelo" -#: src/modules/rolemenus/cog.py:809 +#: src/modules/rolemenus/cog.py:928 msgctxt "cmd:rolemenu_edit|param:rawmessage" msgid "custom_message" msgstr "mensagem_personalizada" -#: src/modules/rolemenus/cog.py:814 +#: src/modules/rolemenus/cog.py:933 msgctxt "cmd:rolemenu_edit|param:name|desc" msgid "Name of the menu to edit" msgstr "Nome do menu a ser editado" -#: src/modules/rolemenus/cog.py:818 +#: src/modules/rolemenus/cog.py:937 msgctxt "cmd:rolemenu_edit|param:channel|desc" msgid "Server channel to move the menu to" msgstr "Canal do servidor para que possa mover o menu" -#: src/modules/rolemenus/cog.py:827 +#: src/modules/rolemenus/cog.py:946 msgctxt "cmd:rolemenu_edit|param:menu_style" msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" msgstr "" "Selecione o estilo de menu (usando botões, reações, ou painel suspenso) " -#: src/modules/rolemenus/cog.py:831 +#: src/modules/rolemenus/cog.py:950 msgctxt "cmd:rolemenu_edit|param:template" msgid "Template to use for the menu message body" msgstr "Modelo a ser usado para no corpo da mensagem " -#: src/modules/rolemenus/cog.py:835 +#: src/modules/rolemenus/cog.py:954 msgctxt "cmd:rolemenu_edit|param:rawmessage" msgid "Attach a custom menu message to use" msgstr "Anexe uma mensagem personalizada a usar no menu" -#: src/modules/rolemenus/cog.py:864 +#: src/modules/rolemenus/cog.py:983 msgctxt "cmd:rolemenu_edit|error:author_perms" msgid "You need the `MANAGE_ROLES` permission in order to edit role menus." msgstr "" "Você precisa ter permissão de ˋGERENCIAR_CARGOSˋ para poder editar menus de " "cargo." -#: src/modules/rolemenus/cog.py:871 +#: src/modules/rolemenus/cog.py:990 msgctxt "cmd:rolemenu_edit|error:my_perms" msgid "" "I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." @@ -361,19 +403,19 @@ msgstr "" "Me falta permissão de ˋGERENCIAR_CARGOSˋ, necessária para que eu possa " "oferecer cargos através dos menus." -#: src/modules/rolemenus/cog.py:894 +#: src/modules/rolemenus/cog.py:1013 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|error:menu_not_found" msgid "This server does not have a role menu called `{name}`!" msgstr "Este servidor não tem um menu de cargos chamado ˋ{name}ˋ!" -#: src/modules/rolemenus/cog.py:914 +#: src/modules/rolemenus/cog.py:1034 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|parse:new_name|error:name_exists" msgid "A role menu with the name **{new_name}** already exists!" msgstr "Um menu de cargos com o nome **{new_name}** já existe!" -#: src/modules/rolemenus/cog.py:951 +#: src/modules/rolemenus/cog.py:1071 msgctxt "cmd:rolemenu_edit|parse:template|error:not_managed" msgid "" "Cannot set a template message for a role menu attached to a message I did " @@ -382,29 +424,52 @@ msgstr "" "Não posso usar o modelo de mensagem para um menu de cargo anexado a uma " "mensagem que eu não enviei." -#: src/modules/rolemenus/cog.py:962 +#: src/modules/rolemenus/cog.py:1082 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|parse:template|success:template" msgid "Now using the `{name}` menu message template." msgstr "Agora usando o modelo ˋ{name}ˋ de mensagem. " -#: src/modules/rolemenus/cog.py:969 +#: src/modules/rolemenus/cog.py:1089 msgctxt "cmd:rolemenu_edit|parse:template|success:custom" msgid "Now using a custom menu message." msgstr "Agora usando uma mensagem personalizada de menu." -#: src/modules/rolemenus/cog.py:986 +#: src/modules/rolemenus/cog.py:1099 +msgctxt "cmd:rolemenu_edit|parse:style|error:not_managed" +msgid "" +"Cannot change the style of a role menu attached to a message I did not send." +msgstr "" + +#: src/modules/rolemenus/cog.py:1109 +msgctxt "cmd:rolemenu_edit|parse:style|error:too_many_reactions" +msgid "Too many roles! Reaction role menus can have at most `20` roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:1119 +msgctxt "cmd:rolemenu_edit|parse:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the reaction role style! Every role needs a distinct emoji " +"first." +msgstr "" + +#: src/modules/rolemenus/cog.py:1126 +msgctxt "cmd:rolemenu_edit|parse:style|success" +msgid "Updated role menu style." +msgstr "" + +#: src/modules/rolemenus/cog.py:1140 msgctxt "cmd:rolemenu_edit|parse:custom_message|success" msgid "Custom menu message updated." msgstr "Mensagem personalizada do menu atualizada!" -#: src/modules/rolemenus/cog.py:1001 +#: src/modules/rolemenus/cog.py:1155 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|repost|success" msgid "The role menu is now available at {message}" msgstr "O novo menu de cargos está disponivel agora em {message} " -#: src/modules/rolemenus/cog.py:1012 +#: src/modules/rolemenus/cog.py:1166 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|repost|error:forbidden" msgid "" @@ -414,7 +479,7 @@ msgstr "" "Não pude atualizar o canal. Falta a permissão de ˋINSERIR_LINKSˋ ou de " "ˋENVIAR_MENSAGENSˋ no {channel}." -#: src/modules/rolemenus/cog.py:1017 +#: src/modules/rolemenus/cog.py:1171 #, possible-python-brace-format msgctxt "cmd:rolemenu_edit|repost|error:unknown" msgid "" @@ -424,27 +489,27 @@ msgstr "" "Um erro desconhecido aconteceu, na tentativa de repostar o menu em {channel}.\n" "**Erro:** ˋ{exception}ˋ" -#: src/modules/rolemenus/cog.py:1051 +#: src/modules/rolemenus/cog.py:1210 msgctxt "cmd:rolemenu_delete" msgid "delmenu" msgstr "apagarmenu" -#: src/modules/rolemenus/cog.py:1054 +#: src/modules/rolemenus/cog.py:1213 msgctxt "cmd:rolemenu_delete|desc" msgid "Delete a role menu." msgstr "Apagar um menu de cargos." -#: src/modules/rolemenus/cog.py:1058 +#: src/modules/rolemenus/cog.py:1217 msgctxt "cmd:rolemenu_delete|param:name" msgid "menu" msgstr "menu" -#: src/modules/rolemenus/cog.py:1063 +#: src/modules/rolemenus/cog.py:1222 msgctxt "cmd:rolemenu_delete|param:name|desc" msgid "Name of the rolemenu to delete." msgstr "Nome do menucargo a apagar." -#: src/modules/rolemenus/cog.py:1078 +#: src/modules/rolemenus/cog.py:1237 msgctxt "cmd:rolemenu_delete|error:author_perms" msgid "" "You need the `MANAGE_ROLES` permission in order to manage the server role " @@ -453,13 +518,13 @@ msgstr "" "Você precisa ter permissão de ˋGERENCIAR_CARGOSˋ para que possa gerenciar os" " menus de cargo no servidor." -#: src/modules/rolemenus/cog.py:1101 +#: src/modules/rolemenus/cog.py:1260 #, possible-python-brace-format msgctxt "cmd:rolemenu_delete|error:menu_not_found" msgid "This server does not have a role menu called `{name}`!" msgstr "Este servidor não possui um menu de cargo chamado ˋ{name}ˋ!" -#: src/modules/rolemenus/cog.py:1109 +#: src/modules/rolemenus/cog.py:1268 #, possible-python-brace-format msgctxt "cmd:rolemenu_delete|confirm|title" msgid "" @@ -469,193 +534,193 @@ msgstr "" "Você tem certeza que quer apagar o menu de cargos **{name}**? Esta operação " "é irreversível!" -#: src/modules/rolemenus/cog.py:1114 +#: src/modules/rolemenus/cog.py:1273 msgctxt "cmd:rolemenu_delete|confirm|button:yes" msgid "Yes, Delete Now" msgstr "Sim, Apagar Agora" -#: src/modules/rolemenus/cog.py:1119 +#: src/modules/rolemenus/cog.py:1278 msgctxt "cmd:rolemenu_delete|confirm|button:no" msgid "No, Cancel" msgstr "Não, Cancelar" -#: src/modules/rolemenus/cog.py:1144 +#: src/modules/rolemenus/cog.py:1303 #, possible-python-brace-format msgctxt "cmd:rolemenu_delete|success|desc" msgid "Successfully deleted the menu **{name}**" msgstr "Menu **{name}** apagado com sucesso!" -#: src/modules/rolemenus/cog.py:1152 +#: src/modules/rolemenus/cog.py:1311 msgctxt "cmd:rolemenu_addrole" msgid "addrole" msgstr "addcargo" -#: src/modules/rolemenus/cog.py:1155 +#: src/modules/rolemenus/cog.py:1314 msgctxt "cmd:rolemenu_addrole|desc" msgid "Add a new role to an existing role menu." msgstr "Adicionar um novo cargo a um menu existente." -#: src/modules/rolemenus/cog.py:1160 +#: src/modules/rolemenus/cog.py:1319 msgctxt "cmd:rolemenu_addrole|param:menu" msgid "menu" msgstr "menu" -#: src/modules/rolemenus/cog.py:1163 +#: src/modules/rolemenus/cog.py:1322 msgctxt "cmd:rolemenu_addrole|param:role" msgid "role" msgstr "cargo" -#: src/modules/rolemenus/cog.py:1174 +#: src/modules/rolemenus/cog.py:1333 msgctxt "cmd:rolemenu_addrole|param:menu|desc" msgid "Name of the menu to add a role to" msgstr "Nome do menu ao qual devo adicionar o cargo" -#: src/modules/rolemenus/cog.py:1178 +#: src/modules/rolemenus/cog.py:1337 msgctxt "cmd:rolemenu_addrole|param:role|desc" msgid "Role to add to the menu" msgstr "Nome do cargo a adicionar ao menu" -#: src/modules/rolemenus/cog.py:1186 +#: src/modules/rolemenus/cog.py:1345 msgctxt "cmd:rolemenu_addrole|param:duration|desc" msgid "Lifetime of the role after selection in minutes." msgstr "Tempo de vida do cargo após a seleção, em minutos." -#: src/modules/rolemenus/cog.py:1234 +#: src/modules/rolemenus/cog.py:1393 #, possible-python-brace-format msgctxt "cmd:rolemenu_addrole|error:menu_not_found" msgid "This server does not have a role menu called `{name}`!" msgstr "Este servidor não tem um menu de cargos chamado ˋ{name}ˋ!" -#: src/modules/rolemenus/cog.py:1319 +#: src/modules/rolemenus/cog.py:1478 msgctxt "cmd:rolemenu_addrole|success:create|title" msgid "Added Menu Role" msgstr "Menu de Cargos Adicionado" -#: src/modules/rolemenus/cog.py:1323 +#: src/modules/rolemenus/cog.py:1482 #, possible-python-brace-format msgctxt "cmd:rolemenu_addrole|success:create|desc" msgid "Add the role {role} to the menu **{menu}**." msgstr "Adicione o cargo {role} ao menu **{menu}**." -#: src/modules/rolemenus/cog.py:1341 +#: src/modules/rolemenus/cog.py:1500 msgctxt "cmd:rolemenu_addrole|success:edit|title" msgid "Menu Role updated" msgstr "Menu de Cargo atualizado" -#: src/modules/rolemenus/cog.py:1353 +#: src/modules/rolemenus/cog.py:1512 #, possible-python-brace-format msgctxt "cmd:rolemenu_addrole|error:role_exists" msgid "The role {role} is already selectable from the menu **{menu}**" msgstr "O cargo {role} já pode ser escolhido através do menu **{menu}**." -#: src/modules/rolemenus/cog.py:1371 +#: src/modules/rolemenus/cog.py:1530 msgctxt "cmd:rolemenu_addrole|success|error:reaction|name" msgid "Note" msgstr "Nota" -#: src/modules/rolemenus/cog.py:1383 +#: src/modules/rolemenus/cog.py:1542 msgctxt "cmd:rolemenu_addrole|success|button:editor|label" msgid "Edit Menu" msgstr "Editar Menu" -#: src/modules/rolemenus/cog.py:1400 +#: src/modules/rolemenus/cog.py:1559 msgctxt "cmd:rolemenu_editrole" msgid "editrole" msgstr "editarcargo" -#: src/modules/rolemenus/cog.py:1403 +#: src/modules/rolemenus/cog.py:1562 msgctxt "cmd:rolemenu_editrole|desc" msgid "Edit role options in an existing role menu." msgstr "Editar opções de cargo em um menu existente. " -#: src/modules/rolemenus/cog.py:1408 +#: src/modules/rolemenus/cog.py:1567 msgctxt "cmd:rolemenu_editrole|param:menu" msgid "menu" msgstr "menu" -#: src/modules/rolemenus/cog.py:1411 +#: src/modules/rolemenus/cog.py:1570 msgctxt "cmd:rolemenu_editrole|param:menu_role" msgid "menu_role" msgstr "menu_de_cargos" -#: src/modules/rolemenus/cog.py:1414 +#: src/modules/rolemenus/cog.py:1573 msgctxt "cmd:rolemenu_editrole|param:role" msgid "new_role" msgstr "novo_cargo" -#: src/modules/rolemenus/cog.py:1425 +#: src/modules/rolemenus/cog.py:1584 msgctxt "cmd:rolemenu_editrole|param:menu|desc" msgid "Name of the menu to edit the role for" msgstr "Nome do menu de onde você quer editar o cargo" -#: src/modules/rolemenus/cog.py:1429 +#: src/modules/rolemenus/cog.py:1588 msgctxt "cmd:rolemenu_editrole|param:menu_role|desc" msgid "Label, name, or mention of the menu role to edit." msgstr "Rótulo, nome ou menção do menu de cargos a ser editado." -#: src/modules/rolemenus/cog.py:1433 +#: src/modules/rolemenus/cog.py:1592 msgctxt "cmd:rolemenu_editrole|param:role|desc" msgid "New server role this menu role should give." msgstr "Cargo que este menu de cargos deve dar aos novatos do servidor." -#: src/modules/rolemenus/cog.py:1441 +#: src/modules/rolemenus/cog.py:1600 msgctxt "cmd:rolemenu_editrole|param:duration|desc" msgid "Lifetime of the role after selection in minutes." msgstr "A duração que este cargo terá, depois de selecionado, em minutos." -#: src/modules/rolemenus/cog.py:1482 +#: src/modules/rolemenus/cog.py:1641 #, possible-python-brace-format msgctxt "cmd:rolemenu_editrole|error:menu_not_found" msgid "This server does not have a role menu called `{name}`!" msgstr "Este servidor não tem um menu de cargos chamado ˋ{name}ˋ!" -#: src/modules/rolemenus/cog.py:1510 +#: src/modules/rolemenus/cog.py:1669 #, possible-python-brace-format msgctxt "cmd:rolemenu_editrole|error:role_not_found" msgid "The menu **{menu}** does not have the role **{name}**" msgstr "O menu **{menu}** não tem o cargo **{name}**" -#: src/modules/rolemenus/cog.py:1576 +#: src/modules/rolemenus/cog.py:1735 msgctxt "cmd:rolemenu_editrole|success|title" msgid "Role menu role updated" msgstr "Cargos do menu de cargos foram atualizados" -#: src/modules/rolemenus/cog.py:1591 +#: src/modules/rolemenus/cog.py:1750 msgctxt "cmd:rolemenu_editrole|success|error:reaction|name" msgid "Warning!" msgstr "Atenção!" -#: src/modules/rolemenus/cog.py:1616 +#: src/modules/rolemenus/cog.py:1775 msgctxt "cmd:rolemenu_delrole" msgid "delrole" msgstr "apagarcargo" -#: src/modules/rolemenus/cog.py:1619 +#: src/modules/rolemenus/cog.py:1778 msgctxt "cmd:rolemenu_delrole|desc" msgid "Remove a role from a role menu." msgstr "Apaga um cargo de um menu de cargos" -#: src/modules/rolemenus/cog.py:1623 +#: src/modules/rolemenus/cog.py:1782 msgctxt "cmd:rolemenu_delrole|param:menu" msgid "menu" msgstr "menu" -#: src/modules/rolemenus/cog.py:1624 +#: src/modules/rolemenus/cog.py:1783 msgctxt "cmd:rolemenu_delrole|param:menu_role" msgid "menu_role" msgstr "menu_de_cargos" -#: src/modules/rolemenus/cog.py:1629 +#: src/modules/rolemenus/cog.py:1788 msgctxt "cmd:rolemenu_delrole|param:menu|desc" msgid "Name of the menu to delete the role from." msgstr "Nome do menu do qual será deletado o cargo" -#: src/modules/rolemenus/cog.py:1633 +#: src/modules/rolemenus/cog.py:1792 msgctxt "cmd:rolemenu_delrole|param:menu_role|desc" msgid "Name, label, or mention of the role to delete." msgstr "Nome, rótulo, ou menção do cargo a deletar." -#: src/modules/rolemenus/cog.py:1651 +#: src/modules/rolemenus/cog.py:1810 msgctxt "cmd:rolemenu_delrole|error:author_perms" msgid "" "You need the `MANAGE_ROLES` permission in order to manage the server role " @@ -664,19 +729,19 @@ msgstr "" "Você precisa ter permissão de ˋGERENCIAR_CARGOSˋ para poder gerenciar o menu" " de cargos do servidor." -#: src/modules/rolemenus/cog.py:1675 +#: src/modules/rolemenus/cog.py:1834 #, possible-python-brace-format msgctxt "cmd:rolemenu_delrole|error:menu_not_found" msgid "This server does not have a role menu called `{name}`!" msgstr "Este servidor não tem um menu de cargos chamado ˋ{name}ˋ!" -#: src/modules/rolemenus/cog.py:1703 +#: src/modules/rolemenus/cog.py:1862 #, possible-python-brace-format msgctxt "cmd:rolemenu_delrole|error:role_not_found" msgid "The menu **{menu}** does not have the role **{name}**" msgstr "O menu **{menu}** não tem o cargo **{name}**" -#: src/modules/rolemenus/cog.py:1720 +#: src/modules/rolemenus/cog.py:1879 #, possible-python-brace-format msgctxt "cmd:rolemenu_delrole|success" msgid "The role **{name}** was successfully removed from the menu **{menu}**." @@ -925,12 +990,12 @@ msgstr "" "Um menu em formato de uma coluna, alternável para uma simplificada loja de " "cargos." -#: src/modules/rolemenus/rolemenu.py:280 +#: src/modules/rolemenus/rolemenu.py:294 msgctxt "rolemenu|menu_message|error|title" msgid "ROLE MENU DISPLAY ERROR" msgstr "ERRO DO MOSTRADOR DO MENU DE CARGOS" -#: src/modules/rolemenus/rolemenu.py:284 +#: src/modules/rolemenus/rolemenu.py:298 #, possible-python-brace-format msgctxt "rolemenu|menu_message|error|desc" msgid "" @@ -940,7 +1005,7 @@ msgstr "" "Um erro crítico ocorreu tentando mostrar este Menu de Cargos.\n" "Erro: ˋ{error}ˋ." -#: src/modules/rolemenus/rolemenu.py:336 +#: src/modules/rolemenus/rolemenu.py:350 #, possible-python-brace-format msgctxt "rolemenu|update_reactions|error" msgid "" @@ -950,71 +1015,22 @@ msgstr "" "Não pude adicionar a reação {emoji}, pois eu não tenho acesso a este emoji! " "As reações do menu precisarão ser adicionadas manualmente." -#: src/modules/rolemenus/rolemenu.py:381 +#: src/modules/rolemenus/rolemenu.py:395 msgctxt "ui:rolemenu_dropdown|placeholder" msgid "Select Roles" msgstr "Selecione os Cargos." -#: src/modules/rolemenus/rolemenu.py:472 -msgctxt "rolemenu|error:role_gone" -msgid "This role no longer exists!" -msgstr "Este cargo não existe mais!" - -#: src/modules/rolemenus/rolemenu.py:482 -#, possible-python-brace-format -msgctxt "rolemenu|deselect|error:sticky" -msgid "**{role}** is a sticky role, you cannot remove it with this menu!" -msgstr "" -"**{role}** é um cargo persistentel. Você não pode removê-lo neste menu!" - -#: src/modules/rolemenus/rolemenu.py:493 -msgctxt "rolemenu|deselect|error:perms" -msgid "I don't have enough permissions to remove this role from you!" -msgstr "Eu não tenho permissões suficientes para remover este seu cargo!" - -#: src/modules/rolemenus/rolemenu.py:500 -msgctxt "rolemenu|deselect|error:discord" -msgid "An unknown error occurred removing your role! Please try again later." -msgstr "" -"Um erro desconhecido ocorreu enquanto seu cargo estava sendo retirado. Tente" -" novamente mais tarde!" - -#: src/modules/rolemenus/rolemenu.py:529 -msgctxt "rolemenu|deslect|success|title" -msgid "Role removed" -msgstr "Cargo retirado" - -#: src/modules/rolemenus/rolemenu.py:535 -#, possible-python-brace-format -msgctxt "rolemenu|deselect|success:refund|desc" -msgid "You have removed **{role}**, and been refunded {coin} **{amount}**." -msgstr "Você removeu o **{role}**, e foi ressarcido com {coin} **{amount}**." - -#: src/modules/rolemenus/rolemenu.py:541 -#, possible-python-brace-format -msgctxt "rolemenu|deselect|success:negrefund|desc" -msgid "You have removed **{role}**, and have lost {coin} **{amount}**." -msgstr "Você removeu **{role}**, e perdeu {coin}**{amount}**." - -#: src/modules/rolemenus/rolemenu.py:546 -#, possible-python-brace-format -msgctxt "rolemenu|deselect|success:norefund|desc" -msgid "You have unequipped **{role}**." -msgstr "Você retirou o **{role}**." - -#: src/modules/rolemenus/rolemenu.py:560 -#, possible-python-brace-format -msgctxt "rolemenu|select|error:required_role" -msgid "You need to have the role **{role}** required to use this menu!" -msgstr "É necessário que você tenha o cargo **{role}** para usar este menu!" - -#: src/modules/rolemenus/rolemenu.py:574 +#: src/modules/rolemenus/rolemenu.py:506 #, possible-python-brace-format msgctxt "rolemenu|select|error:max_obtainable" -msgid "You already have the maximum of {obtainable} roles from this menu!" -msgstr "Você já tem o máximo de {obtainable} cargos permitidos deste menu." +msgid "You can own at most one role from this menu! You currently own:" +msgid_plural "" +"You can own at most **{count}** roles from this menu! You currently own:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" -#: src/modules/rolemenus/rolemenu.py:588 +#: src/modules/rolemenus/rolemenu.py:523 #, possible-python-brace-format msgctxt "rolemenu|select|error:insufficient_funds" msgid "" @@ -1024,13 +1040,13 @@ msgstr "" "O cargo **{role}** custa {coins}**{cost}**, mas você tem apenas " "{coin}**{balance}**!" -#: src/modules/rolemenus/rolemenu.py:604 +#: src/modules/rolemenus/rolemenu.py:539 msgctxt "rolemenu|select|error:perms" msgid "I don't have enough permissions to give you this role!" msgstr "" "Eu não tenho as permissões suficientes para atribuir este cargo a você!" -#: src/modules/rolemenus/rolemenu.py:611 +#: src/modules/rolemenus/rolemenu.py:546 msgctxt "rolemenu|select|error:discord" msgid "" "An unknown error occurred while assigning your role! Please try again later." @@ -1038,30 +1054,106 @@ msgstr "" "Um erro desconhecido ocorreu enquanto estava atribuindo seu cargo. Por " "favor, tente mais tarde." -#: src/modules/rolemenus/rolemenu.py:653 +#: src/modules/rolemenus/rolemenu.py:588 msgctxt "rolemenu|select|success|title" msgid "Role equipped" msgstr "Cargo atribuído" -#: src/modules/rolemenus/rolemenu.py:659 +#: src/modules/rolemenus/rolemenu.py:594 #, possible-python-brace-format msgctxt "rolemenu|select|success:purchase|desc" msgid "You have purchased the role **{role}** for {coin}**{amount}**" msgstr "Você comprou o cargo **{role}** por {coin}**{amount}**." -#: src/modules/rolemenus/rolemenu.py:664 +#: src/modules/rolemenus/rolemenu.py:599 #, possible-python-brace-format msgctxt "rolemenu|select|success:nopurchase|desc" -msgid "You have equipped the role **{role}**" -msgstr "O cargo **{role}** foi atribuído a você" +msgid "You have equipped **{role}**" +msgstr "" -#: src/modules/rolemenus/rolemenu.py:670 +#: src/modules/rolemenus/rolemenu.py:605 #, possible-python-brace-format msgctxt "rolemenu|select|expires_at" msgid "The role will expire at {timestamp}." msgstr "O cargo irá expirar em {timestamp}." -#: src/modules/rolemenus/rolemenu.py:724 +#: src/modules/rolemenus/rolemenu.py:616 +msgctxt "rolemenu|eventlog|event:role_equipped|title" +msgid "Member equipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:620 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_equipped|desc" +msgid "{member} equipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:644 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|error:sticky" +msgid "**{role}** is a sticky role, you cannot remove it with this menu!" +msgstr "" +"**{role}** é um cargo persistentel. Você não pode removê-lo neste menu!" + +#: src/modules/rolemenus/rolemenu.py:655 +msgctxt "rolemenu|deselect|error:perms" +msgid "I don't have enough permissions to remove this role from you!" +msgstr "Eu não tenho permissões suficientes para remover este seu cargo!" + +#: src/modules/rolemenus/rolemenu.py:662 +msgctxt "rolemenu|deselect|error:discord" +msgid "An unknown error occurred removing your role! Please try again later." +msgstr "" +"Um erro desconhecido ocorreu enquanto seu cargo estava sendo retirado. Tente" +" novamente mais tarde!" + +#: src/modules/rolemenus/rolemenu.py:691 +msgctxt "rolemenu|deslect|success|title" +msgid "Role removed" +msgstr "Cargo retirado" + +#: src/modules/rolemenus/rolemenu.py:697 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:refund|desc" +msgid "You have removed **{role}**, and been refunded {coin} **{amount}**." +msgstr "Você removeu o **{role}**, e foi ressarcido com {coin} **{amount}**." + +#: src/modules/rolemenus/rolemenu.py:703 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:negrefund|desc" +msgid "You have removed **{role}**, and have lost {coin} **{amount}**." +msgstr "Você removeu **{role}**, e perdeu {coin}**{amount}**." + +#: src/modules/rolemenus/rolemenu.py:708 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:norefund|desc" +msgid "You have unequipped **{role}**." +msgstr "Você retirou o **{role}**." + +#: src/modules/rolemenus/rolemenu.py:715 +msgctxt "rolemenu|eventlog|event:role_unequipped|title" +msgid "Member unequipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:719 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_unequipped|desc" +msgid "{member} unequipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:747 +#, possible-python-brace-format +msgctxt "rolemenu|error:role_gone" +msgid "The role **{name}** no longer exists!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:760 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:required_role" +msgid "You need to have the role **{role}** required to use this menu!" +msgstr "É necessário que você tenha o cargo **{role}** para usar este menu!" + +#: src/modules/rolemenus/rolemenu.py:818 #, possible-python-brace-format msgctxt "rolemenu|content:reactions" msgid "[Click here]({jump_link}) to jump back." diff --git a/locales/pt_BR/LC_MESSAGES/rooms.po b/locales/pt_BR/LC_MESSAGES/rooms.po index cf2b3546..0613dafc 100644 --- a/locales/pt_BR/LC_MESSAGES/rooms.po +++ b/locales/pt_BR/LC_MESSAGES/rooms.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -22,27 +22,27 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/rooms/settingui.py:38 +#: src/modules/rooms/settingui.py:39 msgctxt "ui:room_config|menu:category|placeholder" msgid "Select Private Room Category" msgstr "Selecione uma Categoria Particular de Sala" -#: src/modules/rooms/settingui.py:52 +#: src/modules/rooms/settingui.py:54 msgctxt "ui:room_config|button:visible|label" msgid "Toggle Room Visibility" msgstr "Alternar Visibilidade da Sala" -#: src/modules/rooms/settingui.py:62 +#: src/modules/rooms/settingui.py:64 msgctxt "ui:rooms_config|embed|title" msgid "Private Room System Configuration Panel" msgstr "Painel de Configuração do Sistema de Salas Particulares" -#: src/modules/rooms/settingui.py:98 +#: src/modules/rooms/settingui.py:100 msgctxt "dash:rooms|title" -msgid "Private Room Configuration ({commands[configure rooms]})" -msgstr "Configuração de Salas Particulares ({commands[configure rooms]})" +msgid "Private Room Configuration ({commands[admin config rooms]})" +msgstr "" -#: src/modules/rooms/settingui.py:102 +#: src/modules/rooms/settingui.py:104 msgctxt "dash:economy|dropdown|placeholder" msgid "Private Room Panel" msgstr "Painel de Salas Particulares" @@ -190,67 +190,106 @@ msgctxt "ui:room_status|embed|field:members|name" msgid "Members ({count}/{cap})" msgstr "Membros ({count}/{cap})" -#: src/modules/rooms/cog.py:321 +#: src/modules/rooms/cog.py:175 src/modules/rooms/room.py:364 +msgctxt "room|eventlog|event:room_deleted|title" +msgid "Private Room Deleted" +msgstr "" + +#: src/modules/rooms/cog.py:179 src/modules/rooms/room.py:368 +#, possible-python-brace-format +msgctxt "room|eventlog|event:room_deleted|desc" +msgid "{owner}'s private room was deleted." +msgstr "" + +#: src/modules/rooms/cog.py:270 +#, possible-python-brace-format +msgctxt "create_room|create_channel|audit_reason" +msgid "Creating Private Room for {ownerid}" +msgstr "" + +#: src/modules/rooms/cog.py:279 +msgctxt "eventlog|event:private_room_create_error|name" +msgid "Private Room Creation Failed" +msgstr "" + +#: src/modules/rooms/cog.py:283 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create_error|desc" +msgid "" +"{owner} attempted to rent a new private room, but I could not create it!\n" +"They were not charged." +msgstr "" + +#: src/modules/rooms/cog.py:329 +msgctxt "eventlog|event:private_room_create|name" +msgid "Private Room Rented" +msgstr "" + +#: src/modules/rooms/cog.py:333 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create|desc" +msgid "{owner} has rented a new private room {channel}!" +msgstr "" + +#: src/modules/rooms/cog.py:368 msgctxt "cmd:room" msgid "room" msgstr "sala" -#: src/modules/rooms/cog.py:322 +#: src/modules/rooms/cog.py:369 msgctxt "cmd:room|desc" msgid "Base command group for private room configuration." msgstr "Grupo de comandos base para configurações de salas particulares." -#: src/modules/rooms/cog.py:329 +#: src/modules/rooms/cog.py:376 msgctxt "cmd:room_rent" msgid "rent" msgstr "alugar" -#: src/modules/rooms/cog.py:332 +#: src/modules/rooms/cog.py:379 msgctxt "cmd:room_rent|desc" msgid "Rent a private voice channel with LionCoins." msgstr "Alugar um canal de voz privado com LionCoins." -#: src/modules/rooms/cog.py:336 +#: src/modules/rooms/cog.py:383 msgctxt "cmd:room_rent|param:days" msgid "days" msgstr "dias" -#: src/modules/rooms/cog.py:337 +#: src/modules/rooms/cog.py:384 msgctxt "cmd:room_rent|param:members" msgid "members" msgstr "membros" -#: src/modules/rooms/cog.py:338 +#: src/modules/rooms/cog.py:385 msgctxt "cmd:room_rent|param:name" msgid "name" msgstr "nome" -#: src/modules/rooms/cog.py:343 +#: src/modules/rooms/cog.py:390 msgctxt "cmd:room_rent|param:days|desc" msgid "Number of days to pre-purchase. (Default: 1)" msgstr "Numéro de dias para comprar antecipadamente. (Padrão: 1)" -#: src/modules/rooms/cog.py:347 +#: src/modules/rooms/cog.py:394 msgctxt "cmd:room_rent|param:members|desc" msgid "Mention the members you want to add to your private room." msgstr "" "Mencione o membro que você gostaria de adicionar à sua sala particular." -#: src/modules/rooms/cog.py:351 +#: src/modules/rooms/cog.py:398 msgctxt "cmd:room_rent|param:name|desc" msgid "Name of your private voice channel." msgstr "Nome do seu canal privado de voz." -#: src/modules/rooms/cog.py:369 +#: src/modules/rooms/cog.py:416 msgctxt "cmd:room_rent|error:not_setup" msgid "" "The private room system has not been set up! A private room category needs " -"to be set first with `/configure rooms`." +"to be set first with `/admin config rooms`." msgstr "" -"O sistema de sala particular não foi configurado! É necessário configurar " -"uma categoria de salas particular primeiro, com ˋ/configurar salasˋ." -#: src/modules/rooms/cog.py:380 +#: src/modules/rooms/cog.py:427 msgctxt "cmd:room_rent|error:insufficient_perms" msgid "" "I do not have enough permissions to create a new channel under the " @@ -259,19 +298,19 @@ msgstr "" "Eu não tenho permissão suficiente para criar um novo canal dentro da " "categoria de salas particulares! " -#: src/modules/rooms/cog.py:394 +#: src/modules/rooms/cog.py:441 #, possible-python-brace-format msgctxt "cmd:room_rent|error:room_exists" msgid "You already own a private room! Click to visit: {channel}" msgstr "Você já tem uma sala particular! Clique para visitar: {channel}" -#: src/modules/rooms/cog.py:414 +#: src/modules/rooms/cog.py:461 #, possible-python-brace-format msgctxt "cmd:room_rent|error:member_not_found" msgid "Could not find the requested member {mention} in this server!" msgstr "Não pude encontrar o membro requisitado {mention} neste servidor!" -#: src/modules/rooms/cog.py:428 +#: src/modules/rooms/cog.py:475 #, possible-python-brace-format msgctxt "cmd:room_rent|error:too_many_members" msgid "" @@ -281,7 +320,7 @@ msgstr "" "Muitos membros! Você quis adicionar ˋ{count}ˋ membros para sua sala, mas a " "capacidade máxima de salas particulares é ˋ{cap}ˋ!" -#: src/modules/rooms/cog.py:442 +#: src/modules/rooms/cog.py:489 #, possible-python-brace-format msgctxt "cmd:room_rent|confirm:purchase" msgid "" @@ -300,18 +339,18 @@ msgstr[2] "" "Você confirma que quer gastar {coin}**{required}** para alugar uma sala " "particular por ˋ{days}ˋ dias?" -#: src/modules/rooms/cog.py:467 +#: src/modules/rooms/cog.py:514 #, possible-python-brace-format msgctxt "cmd:room_rent|success" msgid "Successfully created your private room {channel}!" msgstr "Sua sala particular {channel} foi criada com sucesso!" -#: src/modules/rooms/cog.py:472 +#: src/modules/rooms/cog.py:519 msgctxt "cmd:room_rent|success|title" msgid "Private Room Created!" msgstr "Sala Particular Criada!" -#: src/modules/rooms/cog.py:506 +#: src/modules/rooms/cog.py:572 #, possible-python-brace-format msgctxt "cmd:room_rent|error:insufficient_funds" msgid "" @@ -330,7 +369,7 @@ msgstr[2] "" "Alugar uma sala particular por ˋ{days} dias, custa {coin}**{required}**, mas" " você só tem {coin}**{balance}**!" -#: src/modules/rooms/cog.py:540 +#: src/modules/rooms/cog.py:606 msgctxt "cmd:room_rent|error:my_permissions" msgid "" "Could not create your private room! You were not charged.\n" @@ -339,7 +378,7 @@ msgstr "" "Não pude criar sua sala particular! Você não foi cobrado por isto.\n" "Eu não tenho permissão suficiente para criar uma sala particular." -#: src/modules/rooms/cog.py:552 +#: src/modules/rooms/cog.py:617 #, possible-python-brace-format msgctxt "cmd:room_rent|error:unknown" msgid "" @@ -351,17 +390,17 @@ msgstr "" "Um erro desconhecido ocorreu quando estava criando sua sala.\n" "ˋ{error}ˋ" -#: src/modules/rooms/cog.py:562 +#: src/modules/rooms/cog.py:626 msgctxt "cmd:room_status" msgid "status" msgstr "status" -#: src/modules/rooms/cog.py:565 +#: src/modules/rooms/cog.py:629 msgctxt "cmd:room_status|desc" msgid "Display the status of your current room." msgstr "Mostra o status da sua sala atual." -#: src/modules/rooms/cog.py:582 +#: src/modules/rooms/cog.py:646 msgctxt "cmd:room_status|error:no_target" msgid "" "Could not identify target private room! Please re-run the command in the " @@ -370,27 +409,27 @@ msgstr "" "Não pude identificar a sala particular indicada! Por favor, repita o comando" " na sala particular que você gostaria de ver o status." -#: src/modules/rooms/cog.py:597 +#: src/modules/rooms/cog.py:661 msgctxt "cmd:room_invite" msgid "invite" msgstr "convidar" -#: src/modules/rooms/cog.py:600 +#: src/modules/rooms/cog.py:664 msgctxt "cmd:room_invite|desc" msgid "Add members to your private room." msgstr "Adicionar membros à sua sala particular." -#: src/modules/rooms/cog.py:604 +#: src/modules/rooms/cog.py:668 msgctxt "cmd:room_invite|param:members" msgid "members" msgstr "membros" -#: src/modules/rooms/cog.py:609 +#: src/modules/rooms/cog.py:673 msgctxt "cmd:room_invite|param:members|desc" msgid "Mention the members you want to add." msgstr "Mencione os membros que você quer adicionar." -#: src/modules/rooms/cog.py:623 +#: src/modules/rooms/cog.py:687 #, possible-python-brace-format msgctxt "cmd:room_invite|error:no_room" msgid "" @@ -399,18 +438,18 @@ msgstr "" "Você não tem uma sala particular! Digite ˋ/sala alugarˋ para alugar uma por " "{coin}!" -#: src/modules/rooms/cog.py:644 +#: src/modules/rooms/cog.py:708 #, possible-python-brace-format msgctxt "cmd:room_invite|error:member_not_found" msgid "Could not find the invited member {mention} in this server!" msgstr "Não foi possível encontrar o membro {mention} nesse servidor!" -#: src/modules/rooms/cog.py:655 +#: src/modules/rooms/cog.py:719 msgctxt "cmd:room_invite|error:no_new_members" msgid "All members mentioned are already in the room!" msgstr "Todos os membros mencionados já estão na sala!" -#: src/modules/rooms/cog.py:669 +#: src/modules/rooms/cog.py:733 #, possible-python-brace-format msgctxt "cmd:room_invite|error:too_many_members" msgid "" @@ -420,27 +459,27 @@ msgstr "" "Muitos membros! Você convidou `{count}` novos membros para sua sala, mas " "você já tem `{current}`, e a capacidade máxima de membros é de `{cap}`!" -#: src/modules/rooms/cog.py:693 +#: src/modules/rooms/cog.py:757 msgctxt "cmd:room_invite|success|ack" msgid "Members Invited successfully." msgstr "Membros convidados com sucesso." -#: src/modules/rooms/cog.py:701 +#: src/modules/rooms/cog.py:765 msgctxt "cmd:room_kick" msgid "kick" msgstr "expulsar" -#: src/modules/rooms/cog.py:704 +#: src/modules/rooms/cog.py:768 msgctxt "cmd:room_kick|desc" msgid "Remove a members from your private room." msgstr "Remover um membro da sua sala particular." -#: src/modules/rooms/cog.py:708 +#: src/modules/rooms/cog.py:772 msgctxt "cmd:room_kick|param:members" msgid "members" msgstr "membros" -#: src/modules/rooms/cog.py:713 +#: src/modules/rooms/cog.py:777 msgctxt "cmd:room_kick|param:members|desc" msgid "" "Mention the members you want to remove. Also accepts space-separated user " @@ -449,7 +488,7 @@ msgstr "" "Mencione o membro que você quer remover. IDˋs de usuário, separadas por " "\"espaço\" também são aceitas." -#: src/modules/rooms/cog.py:727 +#: src/modules/rooms/cog.py:791 #, possible-python-brace-format msgctxt "cmd:room_kick|error:no_room" msgid "" @@ -458,45 +497,45 @@ msgstr "" "Você não tem uma sala particular! Use `/room rent` para alugar uma com " "{coin}!" -#: src/modules/rooms/cog.py:744 +#: src/modules/rooms/cog.py:808 msgctxt "cmd:room_kick|error:no_matching_members" msgid "None of the mentioned members are in this room!" msgstr "Nenhum dos membros indicados está nessa sala!" -#: src/modules/rooms/cog.py:761 +#: src/modules/rooms/cog.py:825 msgctxt "cmd:room_kick|success|ack" msgid "Members removed." msgstr "Membros removidos." -#: src/modules/rooms/cog.py:767 +#: src/modules/rooms/cog.py:831 msgctxt "cmd:room_transfer" msgid "transfer" msgstr "transferir" -#: src/modules/rooms/cog.py:770 +#: src/modules/rooms/cog.py:834 msgctxt "cmd:room_transfer|desc" msgid "Transfer your private room to another room member. Not reversible!" msgstr "" "Transferir a titularidade da sua sala particular para outro membro. Isto não" " é reversível!" -#: src/modules/rooms/cog.py:774 +#: src/modules/rooms/cog.py:838 msgctxt "cmd:room_transfer|param:new_owner" msgid "new_owner" msgstr "novo_dono" -#: src/modules/rooms/cog.py:779 +#: src/modules/rooms/cog.py:843 msgctxt "cmd:room_transfer|param:new_owner" msgid "The room member you would like to transfer your room to." msgstr "" "O membro da sala, para quem você gostaria de transferir sua sala particular." -#: src/modules/rooms/cog.py:793 +#: src/modules/rooms/cog.py:857 msgctxt "cmd:room_transfer|error:no_room" msgid "You do not own a private room to transfer!" msgstr "Você não possui nenhuma sala particular para transferir!" -#: src/modules/rooms/cog.py:805 +#: src/modules/rooms/cog.py:869 #, possible-python-brace-format msgctxt "cmd:room_transfer|error:target_not_member" msgid "" @@ -505,7 +544,7 @@ msgstr "" "{mention} não é um membro da sua sala particular! Você precisa convidá-lo " "primeiro." -#: src/modules/rooms/cog.py:817 +#: src/modules/rooms/cog.py:881 #, possible-python-brace-format msgctxt "cmd:room_transfer|error:target_has_room" msgid "" @@ -514,7 +553,7 @@ msgstr "" "{mention} já possui uma sala! Cada membro pode ter apenas uma sala " "particular por vez." -#: src/modules/rooms/cog.py:826 +#: src/modules/rooms/cog.py:890 #, possible-python-brace-format msgctxt "cmd:room_transfer|confirm|question" msgid "" @@ -524,7 +563,7 @@ msgstr "" "Tem certeza que você deseja transferir sua sala particular {channel} para " "{novo_dono}? Essa ação não é reversível!" -#: src/modules/rooms/cog.py:846 +#: src/modules/rooms/cog.py:910 #, possible-python-brace-format msgctxt "cmd:room_transfer|success|description" msgid "" @@ -532,31 +571,31 @@ msgid "" msgstr "" "Você transferiu com sucesso a posse da sala {channel} para {novo_dono}." -#: src/modules/rooms/cog.py:852 +#: src/modules/rooms/cog.py:916 msgctxt "cmd:room_deposit" msgid "deposit" msgstr "depositar" -#: src/modules/rooms/cog.py:855 +#: src/modules/rooms/cog.py:919 msgctxt "cmd:room_deposit|desc" msgid "" "Deposit LionCoins in your private room bank to add more days. (Members may " "also deposit!)" msgstr "" -"Depositar LionCoins em seu caixa da sala particular, para que possam ser " -"adicionados mais dias. (Membros também podem depositar!)" +"Depositar LionCoins no caixa da sala particular para adicionar mais dias. " +"(Todos podem depositar!)" -#: src/modules/rooms/cog.py:859 +#: src/modules/rooms/cog.py:923 msgctxt "cmd:room_deposit|param:coins" msgid "coins" msgstr "moedas" -#: src/modules/rooms/cog.py:864 +#: src/modules/rooms/cog.py:928 msgctxt "cmd:room_deposit|param:coins|desc" msgid "Number of coins to deposit." msgstr "Número de moedas para depositar." -#: src/modules/rooms/cog.py:884 +#: src/modules/rooms/cog.py:948 msgctxt "cmd:room_deposit|error:no_target" msgid "" "Could not identify target private room! Please re-run the command in the " @@ -565,7 +604,7 @@ msgstr "" "Não pude identificar sala particular descrita! Por favor, use o comando " "novamente através da sala que você quer contribuir." -#: src/modules/rooms/cog.py:900 +#: src/modules/rooms/cog.py:964 #, possible-python-brace-format msgctxt "cmd:room_deposit|error:insufficient_funds" msgid "" @@ -574,7 +613,7 @@ msgstr "" "Você não pode depositar {coin}**{amount}**! Você tem apenas " "{coin}**{balance}**." -#: src/modules/rooms/cog.py:921 +#: src/modules/rooms/cog.py:985 #, possible-python-brace-format msgctxt "cmd:room_depost|success" msgid "" @@ -583,51 +622,114 @@ msgstr "" "Sucesso! Você contribuiu com {coin}**{amount}** para o caixa da sala " "particular." -#: src/modules/rooms/cog.py:936 +#: src/modules/rooms/cog.py:1000 msgctxt "cmd:configure_rooms" msgid "rooms" msgstr "salas" -#: src/modules/rooms/cog.py:937 +#: src/modules/rooms/cog.py:1001 msgctxt "cmd:configure_rooms|desc" msgid "Configure Rented Private Rooms" msgstr "Configurar Aluguel de Salas Particulares" -#: src/modules/rooms/room.py:81 +#: src/modules/rooms/room.py:78 +msgctxt "room|eventlog|field:owner" +msgid "Owner" +msgstr "" + +#: src/modules/rooms/room.py:84 +msgctxt "room|eventlog|field:channel" +msgid "Channel" +msgstr "" + +#: src/modules/rooms/room.py:90 +msgctxt "room|eventlog|field:balance" +msgid "Room Balance" +msgstr "" + +#: src/modules/rooms/room.py:96 +msgctxt "room|eventlog|field:created" +msgid "Created At" +msgstr "" + +#: src/modules/rooms/room.py:102 +msgctxt "room|eventlog|field:tick" +msgid "Next Rent Due" +msgstr "" + +#: src/modules/rooms/room.py:108 +msgctxt "room|eventlog|field:members" +msgid "Private Room Members" +msgstr "" + +#: src/modules/rooms/room.py:123 #, possible-python-brace-format msgctxt "room|notify:deposit|description" msgid "{member} has deposited {coin}**{amount}** into the room bank!" msgstr "{member} depositou {coin}**{amount}** no caixa da sala!" -#: src/modules/rooms/room.py:104 +#: src/modules/rooms/room.py:146 msgctxt "room|notify:new_members|title" msgid "New Members!" msgstr "Novos Membros!" -#: src/modules/rooms/room.py:108 +#: src/modules/rooms/room.py:150 #, possible-python-brace-format msgctxt "room|notify:new_members|desc" msgid "Welcome {members}" msgstr "Bem Vindos {members}" -#: src/modules/rooms/room.py:183 +#: src/modules/rooms/room.py:156 +msgctxt "room|eventlog|event:new_members|title" +msgid "Members invited to private room" +msgstr "" + +#: src/modules/rooms/room.py:160 +#, possible-python-brace-format +msgctxt "room|eventlog|event:new_members|desc" +msgid "{owner} added members to their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:191 +msgctxt "room|eventlog|event:rm_members|title" +msgid "Members removed from private room" +msgstr "" + +#: src/modules/rooms/room.py:195 +#, possible-python-brace-format +msgctxt "room|eventlog|event:rm_members|desc" +msgid "{owner} removed members from their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:254 #, possible-python-brace-format msgctxt "room|notify:transfer|description" msgid "{old_owner} has transferred private room ownership to {new_owner}" msgstr "{antigo_dono} transferiu a posse da sala particular para {novo_dono}" -#: src/modules/rooms/room.py:247 +#: src/modules/rooms/room.py:318 msgctxt "room|embed:expiry|title" msgid "Private Room Expired!" msgstr "Sala Particular Expirou!" -#: src/modules/rooms/room.py:251 +#: src/modules/rooms/room.py:322 #, possible-python-brace-format msgctxt "room|embed:expiry|description" msgid "Your private room in **{guild}** has expired!" msgstr "Sua sala particular em **{guild}** expirou!" -#: src/modules/rooms/room.py:265 +#: src/modules/rooms/room.py:332 +msgctxt "room|eventlog|event:expired|title" +msgid "Private Room Expired" +msgstr "" + +#: src/modules/rooms/room.py:336 +#, possible-python-brace-format +msgctxt "room|eventlog|event:expired|desc" +msgid "{owner}'s private room has expired." +msgstr "" + +#: src/modules/rooms/room.py:349 #, possible-python-brace-format msgctxt "room|tick|rent_deducted" msgid "Daily rent deducted from room balance. New balance: {coin}**{amount}**" @@ -635,17 +737,17 @@ msgstr "" "Aluguel diariamente cobrado do saldo do caixa da sala. Novo saldo: " "{coin}**{amount}** " -#: src/modules/rooms/settings.py:21 +#: src/modules/rooms/settings.py:23 msgctxt "guildset:room_category" msgid "rooms_category" msgstr "salas_categoria" -#: src/modules/rooms/settings.py:25 +#: src/modules/rooms/settings.py:27 msgctxt "guildset:rooms_category|desc" msgid "Category in which to create private voice channels." msgstr "Categoria em que serão criados canais particulares de voz e vídeo." -#: src/modules/rooms/settings.py:29 +#: src/modules/rooms/settings.py:31 msgctxt "guildset:room_category|long_desc" msgid "" "When a member uses {cmds[room rent]} to rent a new private room, a private " @@ -658,12 +760,12 @@ msgstr "" "membro. Eu preciso ter permissão para criar novos canais nesta categoria, " "assim como para gerenciar permissões." -#: src/modules/rooms/settings.py:37 +#: src/modules/rooms/settings.py:39 msgctxt "guildset:room_category|accepts" msgid "Private room category name or id." msgstr "Nome ou ID da categoria da sala particular. " -#: src/modules/rooms/settings.py:51 +#: src/modules/rooms/settings.py:53 msgctxt "guildset:rooms_category|set_response:unset" msgid "" "The private room category has been unset. Existing private rooms will not be" @@ -673,7 +775,7 @@ msgstr "" " não serão afetadas. Apague manualmente os canais para remover as salas " "particulares." -#: src/modules/rooms/settings.py:57 +#: src/modules/rooms/settings.py:59 #, possible-python-brace-format msgctxt "guildset:rooms_category|set_response:set" msgid "" @@ -683,23 +785,23 @@ msgstr "" "Uma categoria de salas particulares foi configurada para o canal {channel}. " "As salas privadas atuais serão movidas para lá." -#: src/modules/rooms/settings.py:67 +#: src/modules/rooms/settings.py:69 #, possible-python-brace-format msgctxt "guildset:room_category|set_using" msgid "{cmd} or category selector below." msgstr "{cmd} ou selecione a categoria abaixo." -#: src/modules/rooms/settings.py:76 +#: src/modules/rooms/settings.py:79 msgctxt "guildset:rooms_price" msgid "room_rent" msgstr "sala_alugar" -#: src/modules/rooms/settings.py:80 +#: src/modules/rooms/settings.py:83 msgctxt "guildset:rooms_rent|desc" msgid "Daily rent price for a private room." msgstr "Preço diário do aluguel de um canal particular." -#: src/modules/rooms/settings.py:84 +#: src/modules/rooms/settings.py:87 msgctxt "guildset:rooms_rent|long_desc" msgid "" "Members will be charged this many LionCoins for each day they rent a private" @@ -708,12 +810,12 @@ msgstr "" "Os membros serão cobrados esta quantidade de LionCoins por cada dia de " "aluguel de um canal particular." -#: src/modules/rooms/settings.py:88 +#: src/modules/rooms/settings.py:91 msgctxt "guildset:rooms_rent|accepts" msgid "Number of LionCoins charged per day for a private room." msgstr "Número de LionCoins cobrados por dia por um canal particular." -#: src/modules/rooms/settings.py:100 +#: src/modules/rooms/settings.py:103 #, possible-python-brace-format msgctxt "guildset:rooms_price|set_response" msgid "Private rooms will now cost {coin}**{amount}** per 24 hours." @@ -721,17 +823,17 @@ msgstr "" "A partir de agora, as salas particulares irão custar {coin}**{amount}** a " "cada 24 horas." -#: src/modules/rooms/settings.py:112 +#: src/modules/rooms/settings.py:116 msgctxt "guildset:rooms_slots" msgid "room_member_cap" msgstr "sala_lim_membros" -#: src/modules/rooms/settings.py:115 +#: src/modules/rooms/settings.py:119 msgctxt "guildset:rooms_slots|desc" msgid "Maximum number of members in each private room." msgstr "Número máximo de membros que cada sala particular pode ter." -#: src/modules/rooms/settings.py:119 +#: src/modules/rooms/settings.py:123 msgctxt "guildset:rooms_slots|long_desc" msgid "" "Private room owners may invite other members to their private room via the " @@ -743,30 +845,30 @@ msgstr "" " Esta configuração limita o número máximo de membros que uma sala particular" " pode permitir." -#: src/modules/rooms/settings.py:125 +#: src/modules/rooms/settings.py:129 msgctxt "guildset:rooms_slots|accepts" msgid "Maximum number of members allowed per private room." msgstr "Número máximo de membros permitidos por salas particulares." -#: src/modules/rooms/settings.py:137 +#: src/modules/rooms/settings.py:141 #, possible-python-brace-format msgctxt "guildset:rooms_slots|set_response" msgid "Private rooms are now capped to **{amount}** members." msgstr "Salas particulares estão limitadas a **{amount}** membros." -#: src/modules/rooms/settings.py:146 +#: src/modules/rooms/settings.py:151 msgctxt "guildset:rooms_visible" msgid "room_visibility" msgstr "sala_visibilidade" -#: src/modules/rooms/settings.py:149 +#: src/modules/rooms/settings.py:154 msgctxt "guildset:rooms_visible|desc" msgid "Whether private rented rooms are visible to non-members." msgstr "" -"Se a sala particular deve se visível aos não membros. Eles ainda precisarão " -"ser convidados para entrar." +"Se a sala particular deve se visível a não membros. Eles ainda precisarão de" +" convite para entrar." -#: src/modules/rooms/settings.py:153 +#: src/modules/rooms/settings.py:158 msgctxt "guildset:rooms_visible|long_desc" msgid "" "If enabled, new private rooms will be created with the `VIEW_CHANNEL` " @@ -775,44 +877,44 @@ msgstr "" "Se ativado, novas salas particulares serão criadas com a permissão " "`VER_CANAL` para o cargo `@everyone`." -#: src/modules/rooms/settings.py:157 +#: src/modules/rooms/settings.py:162 msgctxt "guildset:rooms_visible|accepts" msgid "Visible/Invisible" msgstr "Visível/Invisível" -#: src/modules/rooms/settings.py:159 +#: src/modules/rooms/settings.py:164 msgctxt "guildset:rooms_visible|output:true" msgid "Visible" msgstr "Visível" -#: src/modules/rooms/settings.py:160 +#: src/modules/rooms/settings.py:165 msgctxt "guildset:rooms_visible|output:false" msgid "Invisible" msgstr "Invisível" -#: src/modules/rooms/settings.py:166 +#: src/modules/rooms/settings.py:171 msgctxt "guildset:rooms_visible|parse:truthy_values" msgid "visible|enabled|yes|true|on|enable|1" msgstr "visível|habilitado|sim|on|verdadeiro|habilitar|1" -#: src/modules/rooms/settings.py:170 +#: src/modules/rooms/settings.py:175 msgctxt "guildset:rooms_visible|parse:falsey_values" msgid "invisible|disabled|no|false|off|disable|0" msgstr "invisivel|desabilitado|não|falso|desligado|desabilitar|0" -#: src/modules/rooms/settings.py:182 +#: src/modules/rooms/settings.py:187 msgctxt "guildset:rooms_visible|set_response:enabled" msgid "Private rooms will now be visible to everyone." msgstr "Agora, as salas particulares serão visíveis a todos." -#: src/modules/rooms/settings.py:187 +#: src/modules/rooms/settings.py:192 msgctxt "guildset:rooms_visible|set_response:disabled" msgid "Private rooms will now only be visible to their members (and admins)." msgstr "" "Agora, as salas particulares somente serão visíveis por seus membros (e " "moderadores)." -#: src/modules/rooms/settings.py:197 +#: src/modules/rooms/settings.py:202 #, possible-python-brace-format msgctxt "guildset:rooms_visible|set_using" msgid "{cmd} or toggle below." diff --git a/locales/pt_BR/LC_MESSAGES/schedule.po b/locales/pt_BR/LC_MESSAGES/schedule.po index 4c702bac..8b0c7678 100644 --- a/locales/pt_BR/LC_MESSAGES/schedule.po +++ b/locales/pt_BR/LC_MESSAGES/schedule.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,7 +21,7 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/schedule/cog.py:478 +#: src/modules/schedule/cog.py:493 msgctxt "create_booking|error:no_lobby" msgid "" "This server has not set a `session_lobby`, so the scheduled session system " @@ -30,21 +30,20 @@ msgstr "" "Este servidor não configurou um ˋbalcão_de_agendamentosˋ, então o sistema de" " check-in está desabilitado!" -#: src/modules/schedule/cog.py:490 +#: src/modules/schedule/cog.py:505 msgctxt "create_booking|error:no_member" msgid "An unknown Discord error occurred. Please try again in a few minutes." msgstr "" -"Ocorreu um erro desconhecido no Discord. Por favor, tente novamente em " -"alguns minutos. " +"Erro desconhecido do Discord. Por favor, tente novamente em alguns minutos. " -#: src/modules/schedule/cog.py:498 +#: src/modules/schedule/cog.py:513 msgctxt "create_booking|error:blacklisted" msgid "" "You have been blacklisted from the scheduled session system in this server." msgstr "" -"Você foi colocado na lista negra do sistema de Check-In deste servidor." +"Você foi colocado na lista negra do Sistema de Check-In deste servidor." -#: src/modules/schedule/cog.py:509 +#: src/modules/schedule/cog.py:524 #, possible-python-brace-format msgctxt "create_booking|error:insufficient_balance" msgid "" @@ -63,103 +62,174 @@ msgstr[2] "" "Agendar ˋ{count}ˋ horários, custa {coin}**{required}**. Mas você só tem " "{coin}**{balance}**." -#: src/modules/schedule/cog.py:523 +#: src/modules/schedule/cog.py:538 msgctxt "create_booking|error:already_booked" msgid "One or more requested timeslots are already booked!" -msgstr "Um ou mais horários marcados, já estão agendados!" +msgstr "Um ou mais, dos horários marcados, já estão agendados!" -#: src/modules/schedule/cog.py:726 +#: src/modules/schedule/cog.py:741 msgctxt "cmd:schedule" msgid "schedule" msgstr "check-in" -#: src/modules/schedule/cog.py:729 +#: src/modules/schedule/cog.py:744 msgctxt "cmd:schedule|desc" msgid "View and manage your scheduled session." msgstr "Ver e gerenciar seus check-ins agendados." -#: src/modules/schedule/cog.py:757 +#: src/modules/schedule/cog.py:749 +msgctxt "cmd:schedule|param:cancel" +msgid "cancel" +msgstr "" + +#: src/modules/schedule/cog.py:752 +msgctxt "cmd:schedule|param:book" +msgid "book" +msgstr "" + +#: src/modules/schedule/cog.py:758 +msgctxt "cmd:schedule|param:cancel|desc" +msgid "Select a booked timeslot to cancel." +msgstr "" + +#: src/modules/schedule/cog.py:762 +msgctxt "cmd:schedule|param:book|desc" +msgid "Select a timeslot to schedule. (Times shown in your set timezone.)" +msgstr "" + +#: src/modules/schedule/cog.py:792 #, possible-python-brace-format msgctxt "cmd:schedule|cancel_booking|error:parse_slot" msgid "" "Time slot `{provided}` not recognised. Please select a session to cancel " "from the autocomplete options." msgstr "" -"O intervalo de tempo ˋ{provided}ˋ não reconhecido. Por favor, selecione um " -"horário a cancelar entre as opções que aparecem no autopreenchimento. " +"Intervalo ˋ{provided}ˋ não reconhecido. Favor selecionar um horário do " +"autopreenchimento a cancelar. " -#: src/modules/schedule/cog.py:765 +#: src/modules/schedule/cog.py:800 #, possible-python-brace-format msgctxt "cmd:schedule|cancel_booking|error:not_booked" msgid "Could not cancel {time} booking because it is not booked!" -msgstr "" -"Não pude cancelar o horário {time} solicitado, pois ele não estar agendado! " +msgstr "Não pude cancelar {time} solicitado. Ele não foi agendado! " -#: src/modules/schedule/cog.py:774 +#: src/modules/schedule/cog.py:809 #, possible-python-brace-format msgctxt "cmd:schedule|cancel_booking|error:too_soon" msgid "Cannot cancel {time} booking because it is running or starting soon!" msgstr "" -"Não posso cancelar o horário {time} agendado, pois ele já começou, ou irá " -"muito em breve." +"Não pude cancelar {time} agendado. Ele já começou, ou irá muito em breve." -#: src/modules/schedule/cog.py:787 +#: src/modules/schedule/cog.py:822 #, possible-python-brace-format msgctxt "cmd:schedule|cancel_booking|success" msgid "Successfully cancelled your booking at {time}." msgstr "Seu agendamento {time} foi cancelado com sucesso!" -#: src/modules/schedule/cog.py:800 +#: src/modules/schedule/cog.py:835 #, possible-python-brace-format msgctxt "cmd:schedule|create_booking|error:parse_slot" msgid "" "Time slot `{provided}` not recognised. Please select a session to cancel " "from the autocomplete options." msgstr "" -"Intervalo de tempo ˋ{provided}ˋ não reconhecido. Por favor, selecione um " -"horário dentre os que aparecem no autopreenchimento." +"Intervalo de tempo ˋ{provided}ˋ não reconhecido. Favor selecionar um horário" +" do autopreenchimento." -#: src/modules/schedule/cog.py:808 +#: src/modules/schedule/cog.py:843 #, possible-python-brace-format msgctxt "cmd:schedule|create_booking|error:already_booked" msgid "You have already booked a scheduled session for {time}." msgstr "Você já fez seu agendamento para {time}." -#: src/modules/schedule/cog.py:817 +#: src/modules/schedule/cog.py:852 #, possible-python-brace-format msgctxt "cmd:schedule|create_booking|error:too_soon" msgid "Cannot book session at {time} because it is running or starting soon!" msgstr "" "Não pude agendar às {time} por já ter começado, ou irá muito em breve!" -#: src/modules/schedule/cog.py:829 +#: src/modules/schedule/cog.py:864 #, possible-python-brace-format msgctxt "cmd:schedule|create_booking|success" msgid "You have successfully scheduled a session at {time}." msgstr "Você fez o agendamento das {time} com sucesso." -#: src/modules/schedule/cog.py:896 +#: src/modules/schedule/cog.py:909 +msgctxt "cmd:schedule|acmpl:book|error:not_in_guild" +msgid "You need to be in a server to book sessions!" +msgstr "" + +#: src/modules/schedule/cog.py:922 +msgctxt "cmd:schedule|acmpl:book|error:blacklisted" +msgid "Cannot Book -- Blacklisted" +msgstr "" + +#: src/modules/schedule/cog.py:943 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|timezone_info" +msgid "" +"Using timezone '{timezone}' where it is '{now}'. Change with '/my timezone'" +msgstr "" + +#: src/modules/schedule/cog.py:956 src/modules/schedule/cog.py:1014 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|format" +msgid "{start} - {end} ({until})" +msgstr "" + +#: src/modules/schedule/cog.py:980 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|no_matching" +msgid "No bookable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1003 +msgctxt "cmd:schedule|acmpl:cancel|error:empty_schedule" +msgid "You do not have any upcoming sessions to cancel!" +msgstr "" + +#: src/modules/schedule/cog.py:1036 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:cancel|error:no_matching" +msgid "No cancellable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1081 msgctxt "cmd:configure_schedule" msgid "schedule" msgstr "check-in" -#: src/modules/schedule/cog.py:899 +#: src/modules/schedule/cog.py:1084 msgctxt "cmd:configure_schedule|desc" msgid "Configure Scheduled Session system" msgstr "Sistema de Configuração de Check-ins" -#: src/modules/schedule/settings.py:36 +#: src/modules/schedule/lib.py:86 src/modules/schedule/ui/scheduleui.py:347 +#, possible-python-brace-format +msgctxt "ui:schedule|format_until|positive" +msgid "in <1 hour" +msgid_plural "in {number} hours" +msgstr[0] "Em < 1 hora" +msgstr[1] "em {number} horas" +msgstr[2] "em {number} horas" + +#: src/modules/schedule/lib.py:93 src/modules/schedule/ui/scheduleui.py:354 +msgctxt "ui:schedule|format_until|now" +msgid "right now!" +msgstr "agora!" + +#: src/modules/schedule/settings.py:70 msgctxt "guildset:session_lobby" msgid "session_lobby" msgstr "balcão_de_agendamentos" -#: src/modules/schedule/settings.py:39 +#: src/modules/schedule/settings.py:73 msgctxt "guildset:session_lobby|desc" msgid "Channel to post scheduled session announcement and status to." -msgstr "" -"Canal para mostrar o agendamento dos horários e estado dos check-in's." +msgstr "Canal para o agendamento dos horários e estado dos check-in's." -#: src/modules/schedule/settings.py:43 +#: src/modules/schedule/settings.py:77 msgctxt "guildset:session_lobby|long_desc" msgid "" "Channel in which to announce scheduled sessions and post their status. I must have the `MANAGE_WEBHOOKS` permission in this channel.\n" @@ -168,50 +238,49 @@ msgstr "" "Canal em que irá anunciar os check-inˋs e o estado de cada um. Eu preciso ter permissão de ˋINSERIR_LINKSˋ neste canal.\n" "**Isto precisa ser configurado para que o sistema de check-in possa funcionar.** " -#: src/modules/schedule/settings.py:49 +#: src/modules/schedule/settings.py:83 msgctxt "guildset:session_lobby|accepts" msgid "Name or id of the session lobby channel." msgstr "Nome ou ID do canal usado como balcão de agendamentos." -#: src/modules/schedule/settings.py:63 +#: src/modules/schedule/settings.py:97 #, possible-python-brace-format msgctxt "guildset:session_lobby|set_response|set" msgid "Scheduled sessions will now be announced in {channel}" msgstr "" -"Os horários agendados para check-in, agora, serão anunciados em {channel}" +"Agora, os horários agendados para check-in serão anunciados em {channel}" -#: src/modules/schedule/settings.py:68 +#: src/modules/schedule/settings.py:102 msgctxt "guildset:session_lobby|set_response|unset" msgid "" "The schedule session lobby has been unset. Shutting down scheduled session " "system." msgstr "" "O balcão de agendamentos do check-in foi desativado. Desligando o sistema de" -" agendamento de check-in. " +" check-in. " -#: src/modules/schedule/settings.py:78 +#: src/modules/schedule/settings.py:112 msgctxt "guildset:session_lobby|formatted|unset" msgid "`Not Set` (The scheduled session system is disabled.)" -msgstr "ˋNão Configuradoˋ ( O sistema de check-in está desabilitado)." +msgstr "ˋNão Configuradoˋ (O sistema de check-in está desabilitado)." -#: src/modules/schedule/settings.py:83 +#: src/modules/schedule/settings.py:117 #, possible-python-brace-format msgctxt "guildset:session_lobby|formatted|set" msgid "<#{channelid}>" msgstr "<#{channelid}>" -#: src/modules/schedule/settings.py:92 +#: src/modules/schedule/settings.py:127 msgctxt "guildset:session_room" msgid "session_room" -msgstr "Sala_de_checkin" +msgstr "sala_de_checkin" -#: src/modules/schedule/settings.py:95 +#: src/modules/schedule/settings.py:130 msgctxt "guildset:session_room|desc" msgid "Special voice channel open to scheduled session members." -msgstr "" -"Canal de voz especialmente aberto para os membros que fizeram o agendamento." +msgstr "Canal de voz especialmente aberto para os membros do agendamento." -#: src/modules/schedule/settings.py:99 +#: src/modules/schedule/settings.py:134 msgctxt "guildset:session_room|long_desc" msgid "" "If set, this voice channel serves as a dedicated room for scheduled session " @@ -224,46 +293,45 @@ msgid "" "then the permission overwrites will apply to all *synced* channels under the" " category, as usual." msgstr "" -"Se for configurado, este canal de voz será uma sala exclusiva aos membros " -"que fizeram o agendamento. Durante (e logo antes de começar) o horário " -"agendado, somente os membros que fizeram o agendamento serão permitidos a " -"entrar no canal de voz (considerando assim, como feito o seu check-in). É " -"necessário que eu tenha permissões para ˋGERENCIAR_CANAISˋ, " -"ˋGERENCIAR_PERMISSÕESˋ, ˋCONECTARˋ e ˋVER_CANAISˋ neste servidor, e também, " -"meu cargo mais alto precisa estar acima das permissões sobrescritas neste " -"canal. Caso seja configurado a uma *categoria de canais*, ao invés de só um " -"canal, as permissões configuradas serão aplicadas e sincronizadas para todos" -" os canais que pertencerem a esta categoria. " +"Se for configurado, este canal será uma sala exclusiva aos membros que " +"fizeram o agendamento. Durante o horário agendado (e logo antes de começar)," +" os membros agendados terão permitissão de entrar no canal de voz " +"(considerando assim, feito o Check-in). É necessário que eu tenha permissões" +" para ˋGERENCIAR_CANAISˋ, ˋGERENCIAR_PERMISSÕESˋ, ˋCONECTARˋ e ˋVER_CANAISˋ " +"neste servidor, e também que meu cargo mais alto esteja acima das permissões" +" sobrescritas neste canal. Caso seja configurado a uma *categoria de " +"canais*, as permissões configuradas serão sincronizadas para todos os canais" +" que pertencerem a esta categoria." -#: src/modules/schedule/settings.py:109 +#: src/modules/schedule/settings.py:144 msgctxt "guildset:session_room|accepts" msgid "Name or id of the session room voice channel." -msgstr "Nome ou ID do canal para check-in do horário agendado." +msgstr "Nome ou ID do canal para o check-in." -#: src/modules/schedule/settings.py:123 +#: src/modules/schedule/settings.py:158 #, possible-python-brace-format msgctxt "guildset:session_room|set_response|set" msgid "Schedule session members will now be given access to {channel}" msgstr "" -"Agora, os membros que fizerem agendamento serão autorizados a entrar em " -"{channel} para contar como check-in no sistema" +"Agora, os membros agendados serão autorizados a entrar em {channel} para " +"validar o check-in no sistema" -#: src/modules/schedule/settings.py:128 +#: src/modules/schedule/settings.py:163 msgctxt "guildset:session_room|set_response|unset" msgid "The dedicated schedule session room has been removed." -msgstr "O canal dedicado ao check-in dos horários agendados foi removido." +msgstr "O canal dedicado ao check-in foi removido." -#: src/modules/schedule/settings.py:135 +#: src/modules/schedule/settings.py:171 msgctxt "guildset:session_channels" msgid "session_channels" msgstr "canais_de_checkin" -#: src/modules/schedule/settings.py:138 +#: src/modules/schedule/settings.py:174 msgctxt "guildset:session_channels|desc" msgid "Voice channels in which to track activity for scheduled sessions." msgstr "Canais de voz para contar como check-in das sessões agendadas." -#: src/modules/schedule/settings.py:142 +#: src/modules/schedule/settings.py:178 msgctxt "guildset:session_channels|long_desc" msgid "" "Only activity in these channels (and in `session_room` if set) will count " @@ -271,18 +339,18 @@ msgid "" "channels under the category will also be included. Activity tracking also " "respects the `untracked_voice_channels` setting." msgstr "" -"Somente a atividade destes canais (e na ˋsala_de_checkinˋ, se estiver " -"configurada) irá ser contabilizada como comparecimento ao agendamento feito." -" Caso seja selecionada uma categoria, ao invés de um canal, todos os canais " -"pertencentes a esta, também serão contabilizáveis. O contador de check-in's " -"irá respeitar a configuração de ˋcanais_nao_contabilizadosˋ." +"Somente a atividade nestes canais (e na ˋsala_de_checkinˋ, se configurada) " +"irá contar como comparecimento ao agendamento feito. Caso selecione uma " +"categoria, ao invés de um canal, todos os canais da categoria serão válidos." +" As estatísticas de check-in's respeitarão a configuração de " +"ˋcanais_nao_contabilizadosˋ." -#: src/modules/schedule/settings.py:149 +#: src/modules/schedule/settings.py:185 msgctxt "guildset:session_channels|accepts" msgid "Comma separated list of session channel names or ids." msgstr "Lista de nomes ou IDˋs dos canais, separados por vírgula." -#: src/modules/schedule/settings.py:166 +#: src/modules/schedule/settings.py:202 #, possible-python-brace-format msgctxt "guildset:session_channels|set_response|set" msgid "" @@ -292,144 +360,134 @@ msgstr "" "Agora, a atividade nos canais a seguir contarão como atendimento aos check-" "inˋs agendados: {channels}" -#: src/modules/schedule/settings.py:171 +#: src/modules/schedule/settings.py:207 msgctxt "guildset:session_channels|set_response|unset" msgid "" "Activity in all (tracked) voice channels will now count towards session " "attendance." msgstr "" -"A atividade em todos os canais de voz (contabilizáveis), agora irão contar " -"como atendimento aos check-inˋs agendados." +"Agora, a atividade nos canais de voz (contabilizáveis) irá contar como " +"comparecimento para fins de check-in." -#: src/modules/schedule/settings.py:181 +#: src/modules/schedule/settings.py:217 msgctxt "guildset:session_channels|formatted|unset" msgid "All Channels (excluding `untracked_channels`)" -msgstr "Todos Os Canais (excluindo os ˋcanais_nao_contabilizadosˋ)" +msgstr "Todos Os Canais (menos os ˋcanais_nao_contabilizadosˋ)" -#: src/modules/schedule/settings.py:211 +#: src/modules/schedule/settings.py:248 msgctxt "guildset:schedule_cost" msgid "schedule_cost" msgstr "custo_do_agendamento" -#: src/modules/schedule/settings.py:214 +#: src/modules/schedule/settings.py:251 msgctxt "guildset:schedule_cost|desc" msgid "Booking cost for each scheduled session." -msgstr "" -"Custo de agendamento para cada horário que você deverá fazer o check-in ." +msgstr "Custo de agendamento para cada horário." -#: src/modules/schedule/settings.py:218 +#: src/modules/schedule/settings.py:255 msgctxt "guildset:schedule_cost|long_desc" msgid "" "Members will be charged this many LionCoins for each scheduled session they " "book." msgstr "" -"Os membros serão cobrados esta quantidade de LionCoins por cada check-in " -"feito." +"Os membros gastarão esta quantidade de LionCoins por cada agendamento feito." -#: src/modules/schedule/settings.py:222 +#: src/modules/schedule/settings.py:259 msgctxt "guildset:schedule_cost|accepts" msgid "Price of each session booking (non-negative integer)." -msgstr "Preço de cada agendamento feito (número inteiro e positivo)." +msgstr "Preço de cada agendamento feito (inteiro e positivo)." -#: src/modules/schedule/settings.py:234 +#: src/modules/schedule/settings.py:271 #, possible-python-brace-format msgctxt "guildset:schedule_cost|set_response" msgid "" "Schedule session bookings will now cost {coin} **{amount}** per timeslot." msgstr "" -"Agendamento de horários para o check-in irão custar {coin}**{amount}** cada " -"um." +"Agendamento, para o check-in, irão custar {coin}**{amount}** por horário." -#: src/modules/schedule/settings.py:247 +#: src/modules/schedule/settings.py:284 #, possible-python-brace-format msgctxt "guildset:schedule_cost|formatted" msgid "{coin}**{amount}** per booking." msgstr "{coin}**{amount}** por agendamento." -#: src/modules/schedule/settings.py:256 +#: src/modules/schedule/settings.py:294 msgctxt "guildset:attendance_reward" msgid "attendance_reward" -msgstr "recompensa_de_checkin" +msgstr "recompensa_checkin" -#: src/modules/schedule/settings.py:259 +#: src/modules/schedule/settings.py:297 msgctxt "guildset:attendance_reward|desc" msgid "Reward for attending a booked scheduled session." -msgstr "Recompensa por ter comparecido para check-in em uma sessão agendada." +msgstr "Recompensa por ter comparecido para check-in em um horário agendado." -#: src/modules/schedule/settings.py:263 +#: src/modules/schedule/settings.py:301 msgctxt "guildset:attendance_reward|long_desc" msgid "" "When a member successfully attends a scheduled session they booked, they " "will be awarded this many LionCoins. Should generally be more than the " "`schedule_cost` setting." msgstr "" -"Quando um membro comparece a um horário agendado, é considerado feito o " -"check-in. Por este check-in, ele irá receber esta quantidade de LionCoins. " -"Este valor, geralmente, deve ser mais alto do que o valor configurado como " -"ˋcusto_do_agendamentoˋ." +"Quando um membro comparece ao horário agendado, é considerado feito o check-" +"in. Pelo check-in, ele receberá esta quantidade de LionCoins. O valor, " +"geralmente, deve ser mais alto do que o valor do ˋcusto_do_agendamentoˋ." -#: src/modules/schedule/settings.py:269 +#: src/modules/schedule/settings.py:307 msgctxt "guildset:attendance_reward|accepts" msgid "Number of coins to reward session attendance." -msgstr "" -"Número de moedas a receber por comparecimento para check-in em um horário " -"agendado." +msgstr "Moedas a receber por comparecimento para check-in." -#: src/modules/schedule/settings.py:281 +#: src/modules/schedule/settings.py:319 #, possible-python-brace-format msgctxt "guildset:attendance_reward|set_response" msgid "" "Members will be rewarded {coin}**{amount}** when they attend a scheduled " "session." msgstr "" -"Os membros receberão {coin}**{amount}** quando eles comparecerem para check-" -"in em um horário agendado." +"Os membros receberão {coin}**{amount}** quando eles comparecerem em um " +"horário agendado." -#: src/modules/schedule/settings.py:291 +#: src/modules/schedule/settings.py:329 #, possible-python-brace-format msgctxt "guildset:attendance_reward|formatted" msgid "{coin}**{amount}** upon attendance." msgstr "{coint}**{amount}** por check-in." -#: src/modules/schedule/settings.py:300 +#: src/modules/schedule/settings.py:339 msgctxt "guildset:attendance_bonus" msgid "group_attendance_bonus" msgstr "bonus_comprometimento_do_grupo" -#: src/modules/schedule/settings.py:303 +#: src/modules/schedule/settings.py:342 msgctxt "guildset:attendance_bonus|desc" msgid "Bonus reward given when all members attend a scheduled session." -msgstr "" -"Recompensa bônus a ser dada quando todos os membros agendados comparecerem " -"para check-in naquele horário." +msgstr "Recompensa bônus, a ser dada quando ninguém faltar ao check-in." -#: src/modules/schedule/settings.py:307 +#: src/modules/schedule/settings.py:346 msgctxt "guildset:attendance_bonus|long_desc" msgid "" "When all members who have booked a session successfully attend the session, " "they will be given this bonus in *addition* to the `attendance_reward`." msgstr "" -"Quando todos os membros agendados conseguirem comparecer no horário para " -"check-in, eles receberão um bônus adicional por ˋcomprometimento_do_grupoˋ." +"Quando todos os membros agendados conseguirem comparecer no horário, para o " +"check-in, receberão este bônus adicionalmente à ˋrecompensa_checkinˋ." -#: src/modules/schedule/settings.py:312 +#: src/modules/schedule/settings.py:351 msgctxt "guildset:attendance_bonus|accepts" msgid "Bonus coins rewarded when everyone attends a session." -msgstr "" -"Bônus de moedas em recompensa por todos terem comparecido para check-in no " -"horário agendado." +msgstr "Recompensa, em moedas, por ninguém faltar ao check-in." -#: src/modules/schedule/settings.py:324 +#: src/modules/schedule/settings.py:363 #, possible-python-brace-format msgctxt "guildset:attendance_bonus|set_response" msgid "" "Session members will be rewarded an additional {coin}**{amount}** when " "everyone attends." msgstr "" -"Os membros serão recompensados com um adicional de {coin}**{amount}** quando" -" todos comparecerem para check-in em um horário agendado." +"Os membros receberão um adicional de {coin}**{amount}** quando ninguém " +"faltar a um horário agendado." -#: src/modules/schedule/settings.py:334 +#: src/modules/schedule/settings.py:373 #, possible-python-brace-format msgctxt "guildset:attendance_bonus|formatted" msgid "{coin}**{amount}** bonus when all booked members attend." @@ -437,17 +495,17 @@ msgstr "" "{coin}**{amount} de bônus quando todos os membros agendados comparecerem " "para check-in. " -#: src/modules/schedule/settings.py:343 +#: src/modules/schedule/settings.py:383 msgctxt "guildset:min_attendance" msgid "min_attendance" msgstr "tempo_minimo" -#: src/modules/schedule/settings.py:346 +#: src/modules/schedule/settings.py:386 msgctxt "guildset:min_attendance|desc" msgid "Minimum attendance before reward eligability." msgstr "Tempo mínimo para que seja considerado validado como check-in." -#: src/modules/schedule/settings.py:350 +#: src/modules/schedule/settings.py:390 msgctxt "guildset:min_attendance|long_desc" msgid "" "Scheduled session members will need to attend the session for at least this " @@ -458,13 +516,13 @@ msgstr "" "quantidade de minutos para que seja validado o check-in (e para que recebam " "a recompensa por isso)." -#: src/modules/schedule/settings.py:355 +#: src/modules/schedule/settings.py:395 msgctxt "guildset:min_attendance|accepts" msgid "Number of minutes (1-60) before attendance is counted." msgstr "" "Número de minutos (1-60) presente para que valide o check-in do horário. " -#: src/modules/schedule/settings.py:369 +#: src/modules/schedule/settings.py:409 #, possible-python-brace-format msgctxt "guildset:min_attendance|set_response" msgid "" @@ -474,13 +532,13 @@ msgstr "" "Os membros somente serão recompensados quanto tiverem permanecido pelo menos" " **{amount}** minutos no horário agendado. " -#: src/modules/schedule/settings.py:379 +#: src/modules/schedule/settings.py:419 #, possible-python-brace-format msgctxt "guildset:min_attendance|formatted" msgid "**`{amount}`** minutes" msgstr "**ˋ{amountˋ}** minutos" -#: src/modules/schedule/settings.py:400 +#: src/modules/schedule/settings.py:440 msgctxt "guildset:min_attendance|parse|error" msgid "" "Minimum attendance must be an integer number of minutes between `1` and " @@ -488,19 +546,19 @@ msgid "" msgstr "" "O número mínimo de minutos precisa ser um número inteiro, entre ˋ1ˋ e ˋ60ˋ." -#: src/modules/schedule/settings.py:410 +#: src/modules/schedule/settings.py:452 msgctxt "guildset:schedule_blacklist_role" msgid "schedule_blacklist_role" msgstr "cargo_listanegra_checkin" -#: src/modules/schedule/settings.py:413 +#: src/modules/schedule/settings.py:455 msgctxt "guildset:schedule_blacklist_role|desc" msgid "Role which disables scheduled session booking." msgstr "" "Cargo que estará impedido de fazer novos agendamentos de horário, no sistema" " de check-in." -#: src/modules/schedule/settings.py:417 +#: src/modules/schedule/settings.py:459 msgctxt "guildset:schedule_blacklist_role|long_desc" msgid "" "Members with this role will not be allowed to book scheduled sessions in " @@ -510,58 +568,55 @@ msgid "" "Alternatively, consider setting the booking cost (and reward) very high to " "provide a strong disincentive for not attending a session." msgstr "" -"Os membros que tenham recebido este cargo estarão impedidos de agendar um " -"horário no sistema de check-in deste servidor. Se este cargo for adicionado " -"manualmente, todos os horários agendados para este usuário serão cancelados." -" Isto ajuda com que algun membro descomprometido continue a impedir os " -"membros de conseguirem atingir a meta de comprometimento em grupo, com " -"faltas seguidas. Alternativamente, considere cobrar valores mais altos para " -"os agendamentos (aumentando também a recompensa pelo check-in), para coibir " -"e desincentivar as faltas." +"Os membros com este cargo estarão impedidos de agendar horários no sistema " +"de check-in. Se este cargo for adicionado manualmente, todos os agendamentos" +" futuros do usuário serão cancelados. Isto evita que algum membro " +"descomprometido continue a impedir aos demais atingirem o bônus de grupo com" +" faltas seguidas. Alternativamente, considere elevar o custo para os " +"agendamentos (e também maior recompensa pelo check-in)." -#: src/modules/schedule/settings.py:425 +#: src/modules/schedule/settings.py:467 msgctxt "guildset:schedule_blacklist_role|accepts" msgid "Blacklist role name or id." msgstr "Nome ou ID do cargo da Lista Negra." -#: src/modules/schedule/settings.py:438 +#: src/modules/schedule/settings.py:480 #, possible-python-brace-format msgctxt "guildset:schedule_blacklist_role|set_response|set" msgid "Members with {role} will be unable to book scheduled sessions." msgstr "" -"Os membros com o cargo {role} estarão impedidos de agendar novos horários no" -" sistema de check-in." +"Membros com {role} estarão impedidos de agendar horários no sistema de " +"check-in." -#: src/modules/schedule/settings.py:443 +#: src/modules/schedule/settings.py:485 msgctxt "guildset:schedule_blacklist_role|set_response|unset" msgid "The schedule blacklist role has been unset." -msgstr "O cargo de Lista Negra, do check-in, está desabilitado." +msgstr "O cargo de Lista Negra do check-in está inativo." -#: src/modules/schedule/settings.py:453 +#: src/modules/schedule/settings.py:495 #, possible-python-brace-format msgctxt "guildset:schedule_blacklist_role|formatted|set" msgid "{role} members will not be able to book scheduled sessions." -msgstr "" -"Usuários {role} não estarão permitidos a fazer agendamento de horário. " +msgstr "Membros {role} estarão impedidos de realizar agendamentos." -#: src/modules/schedule/settings.py:458 +#: src/modules/schedule/settings.py:500 msgctxt "guildset:schedule_blacklist_role|formatted|unset" msgid "Not Set" msgstr "Não Configurado" -#: src/modules/schedule/settings.py:467 +#: src/modules/schedule/settings.py:510 msgctxt "guildset:schedule_blacklist_after" msgid "schedule_blacklist_after" msgstr "listanegra_checkin_após" -#: src/modules/schedule/settings.py:470 +#: src/modules/schedule/settings.py:513 msgctxt "guildset:schedule_blacklist_after|desc" msgid "Number of missed sessions within 24h before blacklisting." msgstr "" -"Número limite, de check-ins perdidos dentro de 24h, sem que o membro seja " -"colocado na lista negra." +"Número limite de check-ins perdidos em 24h sem que seja colocado na lista " +"negra." -#: src/modules/schedule/settings.py:474 +#: src/modules/schedule/settings.py:517 msgctxt "guildset:schedule_blacklist_after|long_desc" msgid "" "Members who miss more than this number of booked sessions in a single 24 " @@ -569,177 +624,182 @@ msgid "" "if the `blacklist_role` is not set or if I do not have sufficient " "permissions to assign the blacklist role." msgstr "" -"Os membros que perderem mais do que este número de check-inˋs, em um período" -" de 24 horas, serão automaticamente colocados como " -"ˋcargo_listanegra_checkinˋ. Esta funcionalidade não terá efeitos se o " -"ˋcargo_listanegra_checkinˋ não estiver configurado, ou se eu não tiver " -"permissões suficientes para designar o membro para o cargo de Lista Negra. " +"Membros que faltarem além deste número de check-inˋs, dentro de 24 horas, " +"serão automaticamente colocados como ˋcargo_listanegraˋ. Não terá efeitos se" +" o ˋcargo_listanegraˋ não estiver configurado, ou se me faltar permissões " +"para atribuir o cargo para o membro. " -#: src/modules/schedule/settings.py:481 +#: src/modules/schedule/settings.py:524 msgctxt "guildset:schedule_blacklist_after|accepts" msgid "A number of missed sessions (1-24) before blacklisting." msgstr "" "O número de check-inˋs perdidos (1-24) sem que o membro seja colocado na " "lista negra." -#: src/modules/schedule/settings.py:496 +#: src/modules/schedule/settings.py:539 #, possible-python-brace-format msgctxt "guildset:schedule_blacklist_after|set_response|set" msgid "" "Members will be blacklisted after **`{amount}`** missed sessions within " "`24h`." msgstr "" -"Os membros serão colocados na Lista Negra depois de **ˋ{amount}ˋ** check-" -"inˋs perdidos em ˋ24hˋ." +"Os membros serão colocados na Lista Negra após **ˋ{amount}ˋ** check-inˋs " +"perdidos em ˋ24hˋ." -#: src/modules/schedule/settings.py:501 +#: src/modules/schedule/settings.py:544 msgctxt "guildset:schedule_blacklist_after|set_response|unset" msgid "" "Members will not be automatically blacklisted from booking scheduled " "sessions." -msgstr "" -"Os membros não serão colocados na Lista Negra de check-in automaticamente. " +msgstr "Os membros não serão colocados na Lista Negra automaticamente. " -#: src/modules/schedule/settings.py:511 +#: src/modules/schedule/settings.py:554 #, possible-python-brace-format msgctxt "guildset:schedule_blacklist_after|formatted|set" msgid "Blacklist after **`{amount}`** missed sessions within `24h`." msgstr "" -"Colocar na Lista Negra depois de **ˋ{amount}ˋ** check-inˋs perdidos em " -"ˋ24hˋ." +"Colocar na Lista Negra após **ˋ{amount}ˋ** check-inˋs perdidos em ˋ24hˋ." -#: src/modules/schedule/settings.py:516 +#: src/modules/schedule/settings.py:559 msgctxt "guildset:schedule_blacklist_after|formatted|unset" msgid "Do not automatically blacklist." msgstr "Não coloque automaticamente em Lista Negra." -#: src/modules/schedule/settings.py:528 +#: src/modules/schedule/settings.py:571 msgctxt "guildset:schedule_blacklist_role|parse|error" msgid "Blacklist threshold must be a number between `1` and `24`." msgstr "" -"A tolerância sem inscrever na Lista Negra precisa ser um número entre ˋ1ˋ e " -"ˋ24ˋ." +"A tolerância sem inscrever na Lista Negra. Precisa ser um número entre ˋ1ˋ e" +" ˋ24ˋ." #: src/modules/schedule/ui/settingui.py:69 msgctxt "ui:schedule_config|button:page0|label" msgid "Page 1" msgstr "Página 1" -#: src/modules/schedule/ui/settingui.py:88 +#: src/modules/schedule/ui/settingui.py:89 msgctxt "ui:schedule_config|menu:lobby|placeholder" msgid "Select Lobby Channel" msgstr "Selecione o Canal do Balcão de Agendamentos." -#: src/modules/schedule/ui/settingui.py:105 +#: src/modules/schedule/ui/settingui.py:107 msgctxt "ui:schedule_config|menu:room|placeholder" msgid "Select Session Room" msgstr "Selecione a Sala Exclusiva do Check-In" -#: src/modules/schedule/ui/settingui.py:123 +#: src/modules/schedule/ui/settingui.py:126 msgctxt "ui:schedule_config|menu:channels|placeholder" msgid "Select Session Channels" msgstr "Selecione os Canais de Check-In" -#: src/modules/schedule/ui/settingui.py:137 +#: src/modules/schedule/ui/settingui.py:140 msgctxt "ui:schedule_config|button:page1|label" msgid "Page 2" msgstr "Página 2" -#: src/modules/schedule/ui/settingui.py:152 +#: src/modules/schedule/ui/settingui.py:155 msgctxt "ui:schedule_config|button:page2|label" msgid "Page 3" msgstr "Página 3" -#: src/modules/schedule/ui/settingui.py:169 +#: src/modules/schedule/ui/settingui.py:173 msgctxt "ui:schedule_config|menu:blacklist_role|placeholder" msgid "Select Blacklist Role" msgstr "Selecione Cargo Lista Negra" -#: src/modules/schedule/ui/settingui.py:177 +#: src/modules/schedule/ui/settingui.py:181 msgctxt "ui:schedule_config|embed|title" msgid "Scheduled Session Configuration Panel" msgstr "Painel de Configuração do Sistema de Check-in." -#: src/modules/schedule/ui/settingui.py:230 -msgctxt "dash:schedule|title" -msgid "Scheduled Session Configuration ({commands[configure schedule]})" -msgstr "Configuração do Sistema de Check-in ({commands[configure schedule]})" - #: src/modules/schedule/ui/settingui.py:234 +msgctxt "dash:schedule|title" +msgid "Scheduled Session Configuration ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:238 msgctxt "dash:schedule|dropdown|placeholder" msgid "Scheduled Sessions Panel" msgstr "Painel do Sistema de Check-in" -#: src/modules/schedule/ui/settingui.py:251 +#: src/modules/schedule/ui/settingui.py:255 msgctxt "dash:schedule|section:schedule_channels|name" -msgid "Scheduled Session Channels ({commands[configure schedule]})" -msgstr "Canais de Check-in ({commands[configure schedule]})" +msgid "Scheduled Session Channels ({commands[admin config schedule]})" +msgstr "" -#: src/modules/schedule/ui/settingui.py:261 +#: src/modules/schedule/ui/settingui.py:265 msgctxt "dash:schedule|section:schedule_rewards|name" -msgid "Scheduled Session Rewards ({commands[configure schedule]})" -msgstr "Recompensa por Check-in ({commands[configure schedule]})" +msgid "Scheduled Session Rewards ({commands[admin config schedule]})" +msgstr "" -#: src/modules/schedule/ui/settingui.py:271 +#: src/modules/schedule/ui/settingui.py:275 msgctxt "dash:schedule|section:schedule_blacklist|name" -msgid "Scheduled Session Blacklist ({commands[configure schedule]})" -msgstr "Lista Negra do Check-in ({commands[configure schedule]})" +msgid "Scheduled Session Blacklist ({commands[admin config schedule]})" +msgstr "" #: src/modules/schedule/ui/scheduleui.py:31 msgctxt "ui:schedule|about" -msgid "Guide tips here TBD" -msgstr "Dicas para direcionar o usuário, aqui." +msgid "" +"**Do you think you can commit to a schedule and stick to it?**\n" +"**Schedule voice sessions here and get rewarded for keeping yourself accountable!**\n" +"\n" +"Use the menu below to book timeslots using LionCoins. If you are active (in the dedicated voice channels) during these times, you will be rewarded, along with a large bonus if everyone who scheduled that slot made it!\n" +"Beware though, if you fail to make it, all your booked sessions will be cancelled with no refund! And if you keep failing to attend your scheduled sessions, you may be forbidden from booking them in future.\n" +"\n" +"When your scheduled session starts, you will recieve a ping from the schedule channel, which will have more information about how to attend your session.\n" +"If you discover you can't make your scheduled session, please be responsible and use this command to cancel or clear your schedule!\n" +"\n" +"**Note:** *Make sure your timezone is set correctly (with `/my timezone`), or the times I tell might not make sense!*" +msgstr "" -#: src/modules/schedule/ui/scheduleui.py:116 +#: src/modules/schedule/ui/scheduleui.py:130 msgctxt "ui:schedule|button:clear|error:nothing" msgid "No upcoming sessions to cancel! Your schedule is already clear." -msgstr "" -"Não há agendamentos para cancelar. Você já está sem horários agendados. " +msgstr "Não há agendamentos a cancelar. Você já está sem horários. " -#: src/modules/schedule/ui/scheduleui.py:129 +#: src/modules/schedule/ui/scheduleui.py:143 msgctxt "ui:schedule|button:clear|success" msgid "Successfully cancelled and refunded your upcoming scheduled sessions." -msgstr "" -"Seu agendamento foi cancelado com sucesso, e suas moedas foram devolvidas." +msgstr "Agendamento cancelado com sucesso, e moedas ressarcidas." -#: src/modules/schedule/ui/scheduleui.py:142 +#: src/modules/schedule/ui/scheduleui.py:156 msgctxt "ui:schedule|button:clear|label" msgid "Clear Schedule" -msgstr "Limpar meus agendamentos." +msgstr "Limpar agenda." -#: src/modules/schedule/ui/scheduleui.py:158 +#: src/modules/schedule/ui/scheduleui.py:172 msgctxt "ui:schedule|button:about|label" msgid "About Schedule" msgstr "Sobre o Sistema de Check-inˋs." -#: src/modules/schedule/ui/scheduleui.py:184 +#: src/modules/schedule/ui/scheduleui.py:198 msgctxt "ui:schedule|menu:booking|error:current_slot" msgid "You cannot schedule a currently running session!" -msgstr "Você não pode fazer check-in em uma seção que já começou." +msgstr "Você não pode agendar uma seção já começada." -#: src/modules/schedule/ui/scheduleui.py:191 +#: src/modules/schedule/ui/scheduleui.py:205 msgctxt "ui:schedule|menu:booking|error:next_slot" msgid "Too late! You cannot schedule a session starting in the next minute." msgstr "" -"Tarde demais! Você não pode fazer check-in em uma seção que esteja começando" -" em menos de um minuto." +"Tarde demais! Você não pode agendar uma seção que esteja começando em menos " +"de um minuto." -#: src/modules/schedule/ui/scheduleui.py:198 +#: src/modules/schedule/ui/scheduleui.py:212 msgctxt "ui:schedule|menu:booking|error:already_booked" msgid "You have already booked one or more of the requested sessions!" msgstr "Você já agendou um ou mais destes horários selecionados." -#: src/modules/schedule/ui/scheduleui.py:211 +#: src/modules/schedule/ui/scheduleui.py:225 #, possible-python-brace-format msgctxt "ui:schedule|menu:booking|error:insufficient_balance" msgid "" "Booking `{count}` scheduled sessions requires {coin}**{required}**, but you " "only have {coin}**{balance}**!" msgstr "" -"Agendar ˋ{count}ˋ horários para check-in, custa {coins}**{required}**, mas " -"você só tem {coin}**{balance}**!" +"Agendar ˋ{count}ˋ horários, custa {coins}**{required}**, mas você só tem " +"{coin}**{balance}**!" -#: src/modules/schedule/ui/scheduleui.py:227 +#: src/modules/schedule/ui/scheduleui.py:241 #, possible-python-brace-format msgctxt "ui:schedule|menu:booking|success" msgid "Successfully booked your scheduled session at {times}." @@ -756,73 +816,57 @@ msgstr[2] "" "O agendamento destes horários foi feito com sucesso! Compareça pontualmente para o check-in.\n" "{times}" -#: src/modules/schedule/ui/scheduleui.py:250 +#: src/modules/schedule/ui/scheduleui.py:264 msgctxt "ui:schedule|menu:booking|placeholder:blacklisted" msgid "Book Sessions (Cannot book - Blacklisted)" -msgstr "Agendamentos (Não é possível agendar - Lista Negra)" +msgstr "Agendamentos (Não permitido - Lista Negra)" -#: src/modules/schedule/ui/scheduleui.py:258 +#: src/modules/schedule/ui/scheduleui.py:272 #, possible-python-brace-format msgctxt "ui:schedule|menu:booking|placeholder:regular" msgid "Book Sessions ({amount} LC)" msgstr "Agendamentos ({amount} LC)" -#: src/modules/schedule/ui/scheduleui.py:303 +#: src/modules/schedule/ui/scheduleui.py:317 #, possible-python-brace-format msgctxt "ui:schedule|menu:slots|option|format" msgid "{day} {time} ({until})" msgstr "{day} {time} ({until})" -#: src/modules/schedule/ui/scheduleui.py:307 +#: src/modules/schedule/ui/scheduleui.py:321 msgctxt "ui:schedule|menu:slots|option|day:today" msgid "Today" msgstr "Hoje" -#: src/modules/schedule/ui/scheduleui.py:311 +#: src/modules/schedule/ui/scheduleui.py:325 msgctxt "ui:schedule|menu:slots|option|day:tomorrow" msgid "Tomorrow" msgstr "Amanhã" -#: src/modules/schedule/ui/scheduleui.py:333 -#, possible-python-brace-format -msgctxt "ui:schedule|format_until|positive" -msgid "in <1 hour" -msgid_plural "in {number} hours" -msgstr[0] "Em < 1 hora" -msgstr[1] "em {number} horas" -msgstr[2] "em {number} hours" - -#: src/modules/schedule/ui/scheduleui.py:340 -msgctxt "ui:schedule|format_until|now" -msgid "right now!" -msgstr "neste momento!" - -#: src/modules/schedule/ui/scheduleui.py:362 +#: src/modules/schedule/ui/scheduleui.py:376 msgctxt "ui:schedule|menu:cancel|error:current_slot" msgid "" "You cannot cancel a currently running *scheduled* session! Please attend it " "if possible." msgstr "" -"Você não pode cancelar um horário que já começou! Por favor, se for " -"possível, cumpra o combinado." +"Você não pode cancelar um horário já começado! Por favor, se possível, " +"cumpra o combinado." -#: src/modules/schedule/ui/scheduleui.py:368 +#: src/modules/schedule/ui/scheduleui.py:382 msgctxt "ui:schedule|menu:cancel|error:too_late" msgid "" "Too late! You cannot cancel a scheduled session within a minute of it " "starting. Please attend it if possible." msgstr "" -"Tarde demais! Você não pode cancelar o agendamento de um horário a menos de " -"um minuto do começo. Faça a sua parte do compromisso com o grupo!" +"Tarde demais! Você não pode cancelar o agendamento a menos de um minuto do " +"começo. Se possível, faça a sua parte!" -#: src/modules/schedule/ui/scheduleui.py:385 +#: src/modules/schedule/ui/scheduleui.py:399 msgctxt "ui:schedule|menu:cancel|error:already_cancelled" msgid "The selected bookings no longer exist! Nothing to cancel." -msgstr "" -"Os agendamentos nos horários selecionados não existem mais. Não há nada o " -"que cancelar aqui!" +msgstr "Os agendamentos selecionados não existem mais. Não há o que cancelar!" -#: src/modules/schedule/ui/scheduleui.py:395 +#: src/modules/schedule/ui/scheduleui.py:409 #, possible-python-brace-format msgctxt "ui:schedule|menu:cancel|success" msgid "" @@ -832,42 +876,40 @@ msgid_plural "" "Successfully cancelled and refunded your scheduled session bookings:\n" "{times}." msgstr[0] "" -"Seu horário {times} foi cancelado com sucesso, e suas moedas foram " -"devolvidas." +"Seu horário {times} foi cancelado com sucesso, e suas moedas devolvidas." msgstr[1] "" -"Seus agendamentos de horários foram cancelados com sucesso, e suas moedas foram devolvidas.\n" +"Seus agendamentos foram cancelados com sucesso, e suas moedas ressarcidas.\n" "{times}." msgstr[2] "" -"Seus agendamentos de horário foram cancelados com sucesso, e suas moedas foram devolvidas.\n" +"Seus agendamentos foram cancelados com sucesso, e suas moedas ressarcidas.\n" "{times}." -#: src/modules/schedule/ui/scheduleui.py:416 +#: src/modules/schedule/ui/scheduleui.py:430 msgctxt "ui:schedule|menu:cancel|placeholder" msgid "Cancel booked sessions" msgstr "Cancelar agendamentos de horário." -#: src/modules/schedule/ui/scheduleui.py:438 +#: src/modules/schedule/ui/scheduleui.py:452 msgctxt "ui:schedule|embed|author" msgid "Your Scheduled Sessions and Past Statistics" -msgstr "" -"Seus Agendamentos de Horários e Estatísticas de Check-inˋs Realizados." +msgstr "Seus Horários Agendados e Estatísticas de Check-inˋs." -#: src/modules/schedule/ui/scheduleui.py:450 +#: src/modules/schedule/ui/scheduleui.py:464 msgctxt "ui:schedule|embed|field:stats|field:recent" msgid "Recent" msgstr "Recentes" -#: src/modules/schedule/ui/scheduleui.py:457 +#: src/modules/schedule/ui/scheduleui.py:471 msgctxt "ui:schedule|embed|field:stats|field:alltime" msgid "All Time" msgstr "Desde o Começo" -#: src/modules/schedule/ui/scheduleui.py:463 +#: src/modules/schedule/ui/scheduleui.py:477 msgctxt "ui:schedule|embed|field:stats|field:streak" msgid "Streak" msgstr "Sequência" -#: src/modules/schedule/ui/scheduleui.py:468 +#: src/modules/schedule/ui/scheduleui.py:482 #, possible-python-brace-format msgctxt "ui:schedule|embed|field:stats|field:streak|value:zero" msgid "One session attended! Keep it up!" @@ -876,27 +918,27 @@ msgstr[0] "Um check-in completado! Mantenha-se firme!" msgstr[1] "**{streak}** check-inˋs seguidos! Você fortalece este servidor!" msgstr[2] "**{streak}** check-ins seguidos! Isso que é constância!" -#: src/modules/schedule/ui/scheduleui.py:475 +#: src/modules/schedule/ui/scheduleui.py:489 msgctxt "ui:schedule|embed|field:stats|field:streak|value:positive" msgid "No streak yet!" -msgstr "Ainda não fez uma sequência!" +msgstr "Sem sequências ainda!" -#: src/modules/schedule/ui/scheduleui.py:483 +#: src/modules/schedule/ui/scheduleui.py:497 msgctxt "ui:schedule|embed|field:stats|name" msgid "Session Statistics" msgstr "Estatísticas de Check-In's" -#: src/modules/schedule/ui/scheduleui.py:502 +#: src/modules/schedule/ui/scheduleui.py:516 msgctxt "ui:schedule|embed|field:upcoming|name" msgid "Upcoming Sessions" msgstr "Próximos Horários" -#: src/modules/schedule/ui/scheduleui.py:506 +#: src/modules/schedule/ui/scheduleui.py:520 msgctxt "ui:schedule|embed|field:upcoming|value:empty" msgid "No sessions scheduled yet!" -msgstr "Sem check-ins cumpridos ainda!" +msgstr "Sem agendamentos ainda!" -#: src/modules/schedule/ui/scheduleui.py:520 +#: src/modules/schedule/ui/scheduleui.py:534 #, possible-python-brace-format msgctxt "ui:schedule|embed|stats_format" msgid "" @@ -906,15 +948,15 @@ msgid "" msgstr "" "**{attended}** atendidos de **{total}** agendados.\r\n" "**{percent}%** de constância.\r\n" -"**{average}** em média por horário." +"**{average}** média presente por horário." -#: src/modules/schedule/ui/scheduleui.py:534 +#: src/modules/schedule/ui/scheduleui.py:548 #, possible-python-brace-format msgctxt "ui:schedule|booking_format:short" msgid "`{until}` | {start} - {end}" msgstr "`{until}` | {start} - {end}" -#: src/modules/schedule/ui/scheduleui.py:538 +#: src/modules/schedule/ui/scheduleui.py:552 #, possible-python-brace-format msgctxt "ui:schedule|booking_format:long" msgid "> `{until}` | {start} - {end}" @@ -935,56 +977,155 @@ msgctxt "ui:sessionui|button:schedule|label" msgid "Open Schedule" msgstr "Abrir Agenda" -#: src/modules/schedule/ui/sessionui.py:87 +#: src/modules/schedule/ui/sessionui.py:64 +msgctxt "ui:sessionui|button:help|label" +msgid "How to Attend" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:92 msgctxt "ui:session|button:book|error:starting_soon" msgid "Too late! This session has started or is starting shortly." msgstr "Tarde demais! Este horário já começou, ou irá a qualquer momento. " -#: src/modules/schedule/ui/sessionui.py:94 +#: src/modules/schedule/ui/sessionui.py:99 msgctxt "ui:session|button:book|error:already_booked" msgid "You are already a member of this session!" msgstr "Você já está agendado para este horário!" -#: src/modules/schedule/ui/sessionui.py:101 +#: src/modules/schedule/ui/sessionui.py:106 msgctxt "ui:session|button:book|success" msgid "Successfully booked this session." msgstr "Agendamento para este horário foi feito com sucesso!" -#: src/modules/schedule/ui/sessionui.py:115 +#: src/modules/schedule/ui/sessionui.py:120 msgctxt "ui:session|button:book|error|title" msgid "Could not book session" msgstr "Não foi possível fazer este agendamento." -#: src/modules/schedule/ui/sessionui.py:133 +#: src/modules/schedule/ui/sessionui.py:138 msgctxt "ui:session|button:cancel|error:starting_soon" msgid "Too late! This session has started or is starting shortly." msgstr "Tarde demais! Este horário já começou, ou irá a qualquer momento." -#: src/modules/schedule/ui/sessionui.py:140 +#: src/modules/schedule/ui/sessionui.py:145 msgctxt "ui:session|button:cancel|error:not_booked" msgid "You are not a member of this session!" -msgstr "Você não está agendado para fazer check-in neste horário!" +msgstr "Você não está agendado para este horário!" -#: src/modules/schedule/ui/sessionui.py:150 +#: src/modules/schedule/ui/sessionui.py:155 msgctxt "ui:session|button:cancel|success" msgid "Successfully cancelled this session." -msgstr "Este horário foi cancelado com sucesso!" +msgstr "Horário cancelado com sucesso!" -#: src/modules/schedule/ui/sessionui.py:164 +#: src/modules/schedule/ui/sessionui.py:169 msgctxt "ui:session|button:cancel|error|title" msgid "Could not cancel session" msgstr "Não pude cancelar este horário" -#: src/modules/schedule/core/session.py:196 +#: src/modules/schedule/ui/sessionui.py:202 +msgctxt "ui:session|button:help|embed:unbooked|title" +msgid "You have not booked this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:206 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:unbooked|description" +msgid "" +"You need to book this scheduled session before you can attend it! Press the " +"**{book_label}** button to book the session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:215 +msgctxt "ui:session|button:help|embed:help|title" +msgid "How to attend your scheduled session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:224 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|minimum_attendance" +msgid "at least one minute" +msgid_plural "at least `{duration}` minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/schedule/ui/sessionui.py:237 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:category" +msgid "" +"The exclusive scheduled session category **{category}** will also be open to" +" you during your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:243 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:voice" +msgid "" +"The exclusive scheduled session room {room} will also be open to you during " +"your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:262 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_category" +msgid "" +"To attend your scheduled session, join a voice channel in **{room}** for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:272 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_channel" +msgid "" +"To attend your scheduled session, join {room} for **{minimum}** between " +"{start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:282 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:with_channels" +msgid "" +"To attend your scheduled session, join a valid session voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:292 +msgctxt "ui:session|button:help|embed:help|field:channels|name" +msgid "Valid session channels" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:300 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:all_channels" +msgid "" +"To attend your scheduled session, join any tracked voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:308 +msgctxt "ui:session|button:help|embed:help|field:rewards|name" +msgid "Rewards" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:312 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|field:rewards|value" +msgid "" +"Everyone who attends the session will be rewarded with {coin}**{reward}**.\n" +"If *everyone* successfully attends, you will also be awarded a bonus of {coin}**{bonus}**.\n" +"Anyone who does *not* attend their booked session will have the rest of their schedule cancelled **without refund**, so beware!" +msgstr "" + +#: src/modules/schedule/core/session.py:197 msgctxt "session|error:lobby_webhook_perms" msgid "" "Insufficient permissions to create a webhook in this channel. I require the " "`MANAGE_WEBHOOKS` permission." msgstr "" -"Tenho permissões insuficientes para criar um WebHook neste canal! É preciso " -"que eu tenha permissão para ˋGERENCIAR_WEBHOOKSˋ." +"Permissões insuficientes para criar um WebHook neste canal! Eu preciso ter " +"permissão para ˋGERENCIAR_WEBHOOKSˋ." -#: src/modules/schedule/core/session.py:280 +#: src/modules/schedule/core/session.py:281 #, possible-python-brace-format msgctxt "session|prepare|error:room_permissions" msgid "" @@ -992,11 +1133,21 @@ msgid "" "session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " "`VIEW_CHANNEL` permissions." msgstr "" -"Não pude preparar as configurações da Sala de Check-in {room} para o próximo" -" horário. Eu preciso ter permissões para ˋGERENCIAR_CANAISˋ, " -"ˋGERENCIAR_CARGOSˋ, ˋCONECTARˋ e ˋVER_CANALˋ. " +"Não pude preparar a Sala de Check-in {room} para o próximo horário agendado." +" Eu preciso ter permissões para ˋGERENCIAR_CANAISˋ, ˋGERENCIAR_CARGOSˋ, " +"ˋCONECTARˋ e ˋVER_CANALˋ. " -#: src/modules/schedule/core/session.py:330 +#: src/modules/schedule/core/session.py:325 +msgctxt "session|open|update_perms|audit_reason" +msgid "Opening configured scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:347 +msgctxt "session|open|clean_room|audit_reason" +msgid "Removing extra member from scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:354 #, possible-python-brace-format msgctxt "session|open|error:room_permissions" msgid "" @@ -1004,98 +1155,141 @@ msgid "" "session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " "`VIEW_CHANNEL` permissions." msgstr "" -"Não pude configurar a Sala de Check-in {room} para este horário! Eu preciso " -"ter permissões para ˋGERENCIAR_CANALˋ, ˋGERENCIAR_CARGOSˋ, ˋCONECTARˋ e " +"Não pude configurar a Sala de Check-in {room} para este horário! Preciso ter" +" permissões para ˋGERENCIAR_CANALˋ, ˋGERENCIAR_CARGOSˋ, ˋCONECTARˋ e " "ˋVER_CANALˋ." -#: src/modules/schedule/core/session.py:371 +#: src/modules/schedule/core/session.py:411 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_category" +msgid "" +"Please attend your session by joining a voice channel under **{room}**!" +msgstr "" + +#: src/modules/schedule/core/session.py:416 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_voice" +msgid "Please attend your session by joining {room}" +msgstr "" + +#: src/modules/schedule/core/session.py:421 +msgctxt "session|notify|dm|join_line:all_channels" +msgid "Please attend your session by joining a tracked voice channel!" +msgstr "" + +#: src/modules/schedule/core/session.py:443 +msgctxt "session|notify|dm|join_line:channels" +msgid "Please attend your session by joining one of the following:" +msgstr "" + +#: src/modules/schedule/core/session.py:453 +msgctxt "session|notify|dm|title" +msgid "Your Scheduled Session has started!" +msgstr "" + +#: src/modules/schedule/core/session.py:457 +#, possible-python-brace-format +msgctxt "session|notify|dm|description" +msgid "Your scheduled session in {dest} has now begun!" +msgstr "" + +#: src/modules/schedule/core/session.py:482 #, possible-python-brace-format msgctxt "session|status|title" msgid "Session {start} - {end}" msgstr "Horário {start} - {end}" -#: src/modules/schedule/core/session.py:382 +#: src/modules/schedule/core/session.py:493 msgctxt "session|status|desc:cancelled" msgid "" "I cancelled this scheduled session because I was unavailable. All members " "who booked the session have been refunded." msgstr "" -"Eu cancelei este horário, pois eu estava com uns probleminhas no meu " -"sistema. Mas fique tranquilo, eu devolvi as moedas de todos que fizeram " -"agendamento para este horário." +"Eu cancelei este horário, pois eu estava com uns probleminhas. Fique " +"tranquilo, eu devolvi as moedas de todos que fizeram agendamento." -#: src/modules/schedule/core/session.py:389 +#: src/modules/schedule/core/session.py:500 msgctxt "session|status|desc:no_members" msgid "*No members scheduled this session.*" msgstr "*Ninguém agendou para fazer check-in neste horário.*" -#: src/modules/schedule/core/session.py:395 +#: src/modules/schedule/core/session.py:506 #, possible-python-brace-format msgctxt "session|status:preparing|desc:has_members" msgid "Starting {start}" msgstr "Começando {start}" -#: src/modules/schedule/core/session.py:398 +#: src/modules/schedule/core/session.py:509 msgctxt "session|status:preparing|field:members" msgid "Members" msgstr "Membros" -#: src/modules/schedule/core/session.py:405 +#: src/modules/schedule/core/session.py:516 #, possible-python-brace-format msgctxt "session|status:running|desc:has_members" msgid "Finishing {start}" msgstr "Terminando {start}" -#: src/modules/schedule/core/session.py:439 +#: src/modules/schedule/core/session.py:550 msgctxt "session|status:running|field:waiting" msgid "Waiting For" msgstr "Esperando por" -#: src/modules/schedule/core/session.py:445 +#: src/modules/schedule/core/session.py:556 msgctxt "session|status:running|field:attending" msgid "Attending" msgstr "Presentes" -#: src/modules/schedule/core/session.py:451 +#: src/modules/schedule/core/session.py:562 msgctxt "session|status:running|field:attended" msgid "Attended" msgstr "Atendidos" -#: src/modules/schedule/core/session.py:476 +#: src/modules/schedule/core/session.py:587 #, possible-python-brace-format msgctxt "session|status:finished|desc:everyone_att" msgid "" "Everyone attended the session! All members were rewarded with {coin} " "**{reward} + {bonus}**!" msgstr "" -"Todos cumpriram o horário! Por isso, todos os membros irão ser recompensados" -" com {coin} **{reward} + {bonus}**!" +"Todos fizeram o check-in! Por isso, todos serão recompensados com {coin} " +"**{reward} + {bonus}**!" -#: src/modules/schedule/core/session.py:487 +#: src/modules/schedule/core/session.py:598 #, possible-python-brace-format msgctxt "session|status:finished|desc:some_att" msgid "" "Everyone who attended was rewarded with {coin} **{reward}**! Some members did not attend so everyone missed out on the bonus {coin} **{bonus}**.\n" "**Members who missed their session have all future sessions cancelled without refund!*" msgstr "" -"Todos que cumpriram o check-in neste horário serão recompensados com {coin} **{reward}**! Alguns membros não compareceram para o check-in conforme o combinado, então ninguém ganhará o bônus {coin} **{bonus}**.\n" -"**Os membros que não compareceram para check-in no horário agendado podem ter todos os próximos agendamentos cancelados sem o direito a devolução do dinheiro!**" +"Todos fizeram o check-in neste horário serão recompensados com {coin} **{reward}**! Como alguem faltou ao check-in, ninguém ganhará o bônus {coin} **{bonus}**.\n" +"**Os membros que não compareceram podem ter os próximos agendamentos cancelados, sem ressarcimento!**" -#: src/modules/schedule/core/session.py:499 +#: src/modules/schedule/core/session.py:610 msgctxt "session|status:finished|desc:some_att" msgid "" "No-one attended this session! No-one received rewards.\n" "**Members who missed their session have all future sessions cancelled without refund!*" msgstr "" -"Ninguém compareceu a este horário! Sendo assim, ninguém recebeu recompensa.\n" -"** Os membros que não compareceram para check-in no horário agendado podem ter todos os próximos agendamentos cancelados sem o direito a devolução do dinheiro!**" +"Ninguém compareceu ao horário! Então, ninguém recebeu recompensa.\n" +"** Membros que não compareceram podem ter os próximos horários cancelados, sem ressarcimento!**" -#: src/modules/schedule/core/session.py:505 +#: src/modules/schedule/core/session.py:616 msgctxt "session|status:finished|field:attended" msgid "Attended" msgstr "Atendido" -#: src/modules/schedule/core/session.py:510 +#: src/modules/schedule/core/session.py:621 msgctxt "session|status:finished|field:missing" msgid "Missing" msgstr "Faltando" + +#: src/modules/schedule/core/timeslot.py:487 +msgctxt "session|closing|audit_reason" +msgid "Removing previous scheduled session member permissions." +msgstr "" + +#: src/modules/schedule/core/timeslot.py:506 +msgctxt "session|closing|disconnecting|audit_reason" +msgid "Disconnecting previous scheduled session members." +msgstr "" diff --git a/locales/pt_BR/LC_MESSAGES/settings_base.po b/locales/pt_BR/LC_MESSAGES/settings_base.po index 59389c05..19389b5b 100644 --- a/locales/pt_BR/LC_MESSAGES/settings_base.po +++ b/locales/pt_BR/LC_MESSAGES/settings_base.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,32 +21,42 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/settings/ui.py:179 +#: src/settings/ui.py:180 msgctxt "setting|formatted|notset" msgid "Not Set" msgstr "Não Configurado" -#: src/settings/ui.py:338 +#: src/settings/ui.py:324 +msgctxt "setting|embed_field|too_long" +msgid "Too long to display here!" +msgstr "" + +#: src/settings/ui.py:358 #, possible-python-brace-format msgctxt "setting|summary_embed|title" msgid "Configuration options for `{name}`" msgstr "Opções de configuração para ˋ{name}ˋ" -#: src/settings/ui.py:350 +#: src/settings/ui.py:370 msgctxt "setting|summary_table|field:currently|key" msgid "Currently" msgstr "Atualmente" -#: src/settings/ui.py:357 +#: src/settings/ui.py:377 msgctxt "setting|summary_table|field:default|key" msgid "By Default" msgstr "Por Padrão" -#: src/settings/ui.py:364 +#: src/settings/ui.py:384 msgctxt "setting|summary_table|field:set|key" msgid "Set Using" msgstr "Configuração Usada" +#: src/settings/ui.py:502 +msgctxt "setting|interaction_check|error" +msgid "You do not have sufficient permissions to do this!" +msgstr "" + #: src/settings/setting_types.py:48 msgctxt "settype:string|accepts" msgid "Any Text" @@ -91,92 +101,92 @@ msgctxt "settype:role|accepts" msgid "A role name or id" msgstr "O nome ou ID de um cargo." -#: src/settings/setting_types.py:427 +#: src/settings/setting_types.py:430 #, possible-python-brace-format msgctxt "settype:role|parse|error:not_found" msgid "Role `{string}` could not be found in this guild!" msgstr "O cargo ˋ{string}ˋ não pôde ser encontrado neste servidor." -#: src/settings/setting_types.py:492 +#: src/settings/setting_types.py:495 msgctxt "settype:bool|accepts" msgid "Enabled/Disabled" msgstr "Habilitado/Desabilitado" -#: src/settings/setting_types.py:497 +#: src/settings/setting_types.py:500 msgctxt "settype:bool|parse:truthy_values" msgid "enabled|yes|true|on|enable|1" msgstr "habilitado|sim|verdadeiro|on|habilitar|1" -#: src/settings/setting_types.py:501 +#: src/settings/setting_types.py:504 msgctxt "settype:bool|parse:falsey_values" msgid "disabled|no|false|off|disable|0" msgstr "desabilitado|não|falso|off|desabilitar|0" -#: src/settings/setting_types.py:506 +#: src/settings/setting_types.py:509 msgctxt "settype:bool|output:true" msgid "On" msgstr "On" -#: src/settings/setting_types.py:507 +#: src/settings/setting_types.py:510 msgctxt "settype:bool|output:false" msgid "Off" msgstr "Off" -#: src/settings/setting_types.py:508 +#: src/settings/setting_types.py:511 msgctxt "settype:bool|output:none" msgid "Not Set" msgstr "Não Configurado" -#: src/settings/setting_types.py:619 +#: src/settings/setting_types.py:622 msgctxt "settype:integer|accepts" msgid "An integer" msgstr "Um número inteiro" -#: src/settings/setting_types.py:682 +#: src/settings/setting_types.py:685 msgctxt "settype:emoji|desc" msgid "Unicode or custom emoji" msgstr "Emoji personalizado, ou Unicode" -#: src/settings/setting_types.py:754 +#: src/settings/setting_types.py:757 msgctxt "settype:guildid|accepts" msgid "Any Snowflake ID" msgstr "Qualquer ID Snowflake" -#: src/settings/setting_types.py:823 +#: src/settings/setting_types.py:826 msgctxt "settype:timezone|accepts" msgid "A timezone name from the 'tz database' (e.g. 'Europe/London')" msgstr "" "Um fuso horário dos mencionados ˋtz databaseˋ (ex:. ˋAmerica/Sao_Paulo)" -#: src/settings/setting_types.py:893 +#: src/settings/setting_types.py:896 msgctxt "settype:timezone|summary_table|field:supported|key" msgid "Supported" msgstr "Suportado" -#: src/settings/setting_types.py:897 +#: src/settings/setting_types.py:900 #, possible-python-brace-format msgctxt "settype:timezone|summary_table|field:supported|value" msgid "Any timezone from the [tz database]({link})." msgstr "Qualquer fuso horário da lista [tz database]({link})." -#: src/settings/setting_types.py:914 +#: src/settings/setting_types.py:917 #, possible-python-brace-format msgctxt "set_type:timezone|acmpl|no_matching" msgid "No timezones matching '{input}'!" msgstr "O nome ˋ{input}ˋ do fuso horário não coincide com a lista." -#: src/settings/setting_types.py:927 +#: src/settings/setting_types.py:930 #, possible-python-brace-format msgctxt "set_type:timezone|acmpl|choice" msgid "{tz} (Currently {now})" msgstr "{tz} (Atualmente {now})" -#: src/settings/setting_types.py:957 +#: src/settings/setting_types.py:960 msgctxt "settype:timestamp|accepts" msgid "A timestamp in the form YYYY-MM-DD HH:MM" msgstr "Uma data na forma AAAA-MM-DD HH:MM" -#: src/settings/setting_types.py:986 +#: src/settings/setting_types.py:989 #, possible-python-brace-format msgctxt "settype:timestamp|parse|error:invalid" msgid "" @@ -186,43 +196,43 @@ msgstr "" "Não consegui analisar ˋ{provided}ˋ como uma marcação data/hora. Por favor, " "use o formato ˋAAAA-MM-DD HH:MMˋ." -#: src/settings/setting_types.py:1017 +#: src/settings/setting_types.py:1020 msgctxt "settype:raw|accepts" msgid "Anything" msgstr "Qualquer" -#: src/settings/setting_types.py:1070 +#: src/settings/setting_types.py:1073 msgctxt "settype:enum|accepts" msgid "A valid option." msgstr "Uma opção válida." -#: src/settings/setting_types.py:1120 +#: src/settings/setting_types.py:1123 #, possible-python-brace-format msgctxt "settype:enum|parse|error:not_found" msgid "`{provided}` is not a valid option!" msgstr "ˋ{provided} não é uma opção válida!" -#: src/settings/setting_types.py:1168 +#: src/settings/setting_types.py:1171 msgctxt "settype:duration|accepts" msgid "A number of days, hours, minutes, and seconds, e.g. `2d 4h 10s`." msgstr "Um número de dias, horas, minutos e segundos, ex:. ˋ2d 4h 10sˋ." -#: src/settings/setting_types.py:1349 +#: src/settings/setting_types.py:1352 msgctxt "settype:channel_list|accepts" msgid "Comma separated list of channel ids." msgstr "Lista de ID dos canais, separadas pro vírgula." -#: src/settings/setting_types.py:1360 +#: src/settings/setting_types.py:1363 msgctxt "settype:role_list|accepts" msgid "Comma separated list of role ids." msgstr "Lista de ID dos cargos, separadas por vírgula." -#: src/settings/setting_types.py:1376 +#: src/settings/setting_types.py:1379 msgctxt "settype:stringlist|accepts" msgid "Comma separated strings." msgstr "Strings separadas por vírgulas." -#: src/settings/setting_types.py:1387 +#: src/settings/setting_types.py:1390 msgctxt "settype:guildidlist|accepts" msgid "Comma separated list of guild ids." msgstr "Lista de servidores, separados por vírgula." diff --git a/locales/pt_BR/LC_MESSAGES/shop.po b/locales/pt_BR/LC_MESSAGES/shop.po index 53ee2557..57441588 100644 --- a/locales/pt_BR/LC_MESSAGES/shop.po +++ b/locales/pt_BR/LC_MESSAGES/shop.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -140,52 +140,63 @@ msgid "An unknown error occurred while giving you this colour role!" msgstr "" "Um erro desconhecido aconteceu enquanto era alterada sua cor de cargo." -#: src/modules/shop/shops/colours.py:348 +#: src/modules/shop/shops/colours.py:306 +msgctxt "eventlog|event:purchase_colour|title" +msgid "Member Purchased Colour Role" +msgstr "" + +#: src/modules/shop/shops/colours.py:310 +#, possible-python-brace-format +msgctxt "eventlog|event:purchase_colour|desc" +msgid "{member} purchased {role} from the colour shop." +msgstr "" + +#: src/modules/shop/shops/colours.py:365 msgctxt "grp:editshop_colours" msgid "colours" msgstr "cores" -#: src/modules/shop/shops/colours.py:353 +#: src/modules/shop/shops/colours.py:370 msgctxt "cmd:editshop_colours_create" msgid "create" msgstr "criar" -#: src/modules/shop/shops/colours.py:356 +#: src/modules/shop/shops/colours.py:373 msgctxt "cmd:editshop_colours_create|desc" msgid "Create a new colour role with the given colour." msgstr "Criar uma nova cor para um cargo, com a cor determinada. " -#: src/modules/shop/shops/colours.py:360 +#: src/modules/shop/shops/colours.py:377 msgctxt "cmd:editshop_colours_create|param:colour" msgid "colour" msgstr "cor" -#: src/modules/shop/shops/colours.py:361 +#: src/modules/shop/shops/colours.py:378 msgctxt "cmd:editshop_colours_create|param:name" msgid "name" msgstr "nome" -#: src/modules/shop/shops/colours.py:362 +#: src/modules/shop/shops/colours.py:379 msgctxt "cmd:editshop_colours_create|param:price" msgid "price" msgstr "preço" -#: src/modules/shop/shops/colours.py:367 +#: src/modules/shop/shops/colours.py:384 msgctxt "cmd:editshop_colours_create|param:colour|desc" msgid "What colour should the role be? (As a hex code, e.g. #AB22AB)" msgstr "De qual cor o cargo deverá ser? (Usando um código Hex, ex. #AB22AB)" -#: src/modules/shop/shops/colours.py:371 +#: src/modules/shop/shops/colours.py:388 msgctxt "cmd:editshop_colours_create|param:name|desc" msgid "What should the colour role be called?" msgstr "Como a cor do cargo deverá ser chamada?" -#: src/modules/shop/shops/colours.py:375 +#: src/modules/shop/shops/colours.py:392 msgctxt "cmd:editshop_colours_create|param:price|desc" msgid "How much should the colour role cost?" msgstr "Quanto deverá custar a cor do cargo?" -#: src/modules/shop/shops/colours.py:397 +#: src/modules/shop/shops/colours.py:414 #, possible-python-brace-format msgctxt "cmd:editshop_colours_create|error:parse_colour" msgid "" @@ -195,7 +206,7 @@ msgstr "" "Eu não consegui extrair os dados de `{colour}`!\n" "Por favor, digite a cor como um código HEX ex. `#FA0BC1`" -#: src/modules/shop/shops/colours.py:407 +#: src/modules/shop/shops/colours.py:424 msgctxt "cmd:editshop_colours_create|error:perms" msgid "" "I do not have permission to create server roles!\n" @@ -204,7 +215,7 @@ msgstr "" "Eu não tenho premissão para criar cargos do servidor!\n" "Por favor, primeiro me dê permissão, ou então crie o cargo manualmente e use `/editarloja cores add`." -#: src/modules/shop/shops/colours.py:424 +#: src/modules/shop/shops/colours.py:441 msgctxt "cmd:editshop_colours_create|error:max_colours" msgid "" "This server already has the maximum of `25` colour roles!\n" @@ -213,7 +224,7 @@ msgstr "" "Este servidor já possui o máximo de ˋ25ˋ cores de cargo!\n" "Por favor, remova alguma antes de adicionar ou criar outra." -#: src/modules/shop/shops/colours.py:443 +#: src/modules/shop/shops/colours.py:460 msgctxt "cmd:editshop_colours_create|error:failed_unknown" msgid "" "An unknown Discord error occurred while creating your colour role!\n" @@ -222,12 +233,12 @@ msgstr "" "Um erro desconhecido do Discord ocorreu quando estava sendo criado sua cor de cargo!\n" "Por favor, tente novamente em alguns minutos." -#: src/modules/shop/shops/colours.py:493 +#: src/modules/shop/shops/colours.py:515 msgctxt "cmd:editshop_colours_create|resp:done|title" msgid "Colour Role Created" msgstr " Cor de Cargo Criada" -#: src/modules/shop/shops/colours.py:497 +#: src/modules/shop/shops/colours.py:519 #, possible-python-brace-format msgctxt "cmd:editshop_colours_create|resp:done|desc" msgid "" @@ -237,7 +248,7 @@ msgstr "" "Você criou o cargo {mention}, e adicionou ele à loja de cores por " "{coin}**{price}**!" -#: src/modules/shop/shops/colours.py:504 +#: src/modules/shop/shops/colours.py:526 msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|value" msgid "" "The new colour role was added below all other roles. Remember a member's " @@ -247,73 +258,73 @@ msgstr "" "a cor ativa de um cargo é determinada pela equivalente à mais alta cor de " "cargo." -#: src/modules/shop/shops/colours.py:508 +#: src/modules/shop/shops/colours.py:530 msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|name" msgid "Note" msgstr "Nota" -#: src/modules/shop/shops/colours.py:517 +#: src/modules/shop/shops/colours.py:539 msgctxt "cmd:editshop_colours_edit" msgid "edit" msgstr "editar" -#: src/modules/shop/shops/colours.py:520 +#: src/modules/shop/shops/colours.py:542 msgctxt "cmd:editshop_colours_edit|desc" msgid "Edit the name, colour, or price of a colour role." msgstr "Edite o nome, cor ou preço de uma cor de cargo." -#: src/modules/shop/shops/colours.py:524 +#: src/modules/shop/shops/colours.py:546 msgctxt "cmd:editshop_colours_edit|param:role" msgid "role" msgstr "cargo" -#: src/modules/shop/shops/colours.py:525 +#: src/modules/shop/shops/colours.py:547 msgctxt "cmd:editshop_colours_edit|param:name" msgid "name" msgstr "nome" -#: src/modules/shop/shops/colours.py:526 +#: src/modules/shop/shops/colours.py:548 msgctxt "cmd:editshop_colours_edit|param:colour" msgid "colour" msgstr "cor" -#: src/modules/shop/shops/colours.py:527 +#: src/modules/shop/shops/colours.py:549 msgctxt "cmd:editshop_colours_edit|param:price" msgid "price" msgstr "preço" -#: src/modules/shop/shops/colours.py:532 +#: src/modules/shop/shops/colours.py:554 msgctxt "cmd:editshop_colours_edit|param:role|desc" msgid "Select a colour role to edit." msgstr "Selecione a cor de um cargo para editar." -#: src/modules/shop/shops/colours.py:536 +#: src/modules/shop/shops/colours.py:558 msgctxt "cmd:editshop_colours_edit|param:name|desc" msgid "New name to give the colour role." msgstr "Novo nome para dar a esta cor de cargo." -#: src/modules/shop/shops/colours.py:540 +#: src/modules/shop/shops/colours.py:562 msgctxt "cmd:editshop_colours_edit|param:colour|desc" msgid "New colour for the colour role (as hex, e.g. #AB12AB)." msgstr "Nova cor para a cor de cargo (em código HEX, ex:. #AB12AB)." -#: src/modules/shop/shops/colours.py:544 +#: src/modules/shop/shops/colours.py:566 msgctxt "cmd:editshop_colours_edit|param:price|desc" msgid "New price for the colour role." msgstr "Novo preço para a cor de cargo." -#: src/modules/shop/shops/colours.py:573 +#: src/modules/shop/shops/colours.py:595 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|error:invalid_role" msgid "{mention} is not in the colour role shop!" msgstr "{mention} não está na loja de cores de cargo." -#: src/modules/shop/shops/colours.py:587 +#: src/modules/shop/shops/colours.py:609 msgctxt "cmd:editshop_colours_edit|error:no_args" msgid "You must give me one of `name`, `colour`, or `price` to update!" msgstr "Você precisa me informar o ˋnomeˋ, ˋcorˋ ou ˋpreçoˋ para atualizar!" -#: src/modules/shop/shops/colours.py:603 +#: src/modules/shop/shops/colours.py:625 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|error:parse_colour" msgid "" @@ -323,70 +334,70 @@ msgstr "" "Eu não consegui extrair um código de cor de ˋ{colour}ˋ!\n" "Por favor, informe a cor como um código HEX, ex. ˋ#FA0BC1ˋ" -#: src/modules/shop/shops/colours.py:618 +#: src/modules/shop/shops/colours.py:640 msgctxt "cmd:editshop_colours_edit|error:perms" msgid "I do not have sufficient server permissions to edit this role!" msgstr "" "Eu não tenho permissões suficientes no servidor para editar este cargo." -#: src/modules/shop/shops/colours.py:634 +#: src/modules/shop/shops/colours.py:656 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|resp:done|line:price" msgid "{tick} Set price to {coin}**{price}**" msgstr "{tick} configurar o preço por {coin}**{price}**" -#: src/modules/shop/shops/colours.py:651 +#: src/modules/shop/shops/colours.py:673 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|resp:done|line:role" msgid "{tick} Updated role to {mention}" msgstr "{tick} Cargo atualizado para {mention}" -#: src/modules/shop/shops/colours.py:661 +#: src/modules/shop/shops/colours.py:683 msgctxt "cmd:editshop_colours_edit|resp:done|embed:title" msgid "Colour Role Updated" msgstr "Cor do Cargo Atualizada" -#: src/modules/shop/shops/colours.py:667 +#: src/modules/shop/shops/colours.py:689 msgctxt "cmd:editshop_colours_auto" msgid "auto" msgstr "automático" -#: src/modules/shop/shops/colours.py:668 +#: src/modules/shop/shops/colours.py:690 msgctxt "cmd:editshop_colours_auto|desc" msgid "Automatically create a set of colour roles." msgstr "Automaticamente crie uma sequência de cores de cargo." -#: src/modules/shop/shops/colours.py:677 +#: src/modules/shop/shops/colours.py:699 msgctxt "cmd:editshop_colours_add" msgid "add" msgstr "adicionar" -#: src/modules/shop/shops/colours.py:680 +#: src/modules/shop/shops/colours.py:702 msgctxt "cmd:editshop_colours_add|desc" msgid "Add an existing role to the colour shop." msgstr "Adicionar um cargo existente para a loja de cores de cargo." -#: src/modules/shop/shops/colours.py:684 +#: src/modules/shop/shops/colours.py:706 msgctxt "cmd:editshop_colours_add|param:role" msgid "role" msgstr "cargo" -#: src/modules/shop/shops/colours.py:685 +#: src/modules/shop/shops/colours.py:707 msgctxt "cmd:editshop_colours_add|param:price" msgid "price" msgstr "preço" -#: src/modules/shop/shops/colours.py:690 +#: src/modules/shop/shops/colours.py:712 msgctxt "cmd:editshop_colours_add|param:role|desc" msgid "Select a role to add to the colour shop." msgstr "Selecione um cargo para adicionar à loja." -#: src/modules/shop/shops/colours.py:694 +#: src/modules/shop/shops/colours.py:716 msgctxt "cmd:editshop_colours_add|param:price|desc" msgid "How much should this role cost?" msgstr "Quanto este cargo deveria custar?" -#: src/modules/shop/shops/colours.py:719 +#: src/modules/shop/shops/colours.py:741 msgctxt "cmd:editshop_colours_add|error:max_colours" msgid "" "This server already has the maximum of `25` colour roles!\n" @@ -395,13 +406,13 @@ msgstr "" "Este servidor já possui o máximo de ˋ25ˋ cores de cargo!\n" "Por favor, remova alguma antes de adicionar ou criar outra." -#: src/modules/shop/shops/colours.py:728 +#: src/modules/shop/shops/colours.py:750 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:role_exists" msgid "The role {mention} is already registered as a colour role!" msgstr "O cargo {mention} já está registrado como uma cor de cargo." -#: src/modules/shop/shops/colours.py:737 +#: src/modules/shop/shops/colours.py:759 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:role_perms" msgid "" @@ -413,7 +424,7 @@ msgstr "" "que eu tenha a permissão de ˋGERENCIAR_CARGOSˋ, e que meu cargo mais alto " "seja maior que este." -#: src/modules/shop/shops/colours.py:748 +#: src/modules/shop/shops/colours.py:770 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:caller_perms" msgid "" @@ -425,7 +436,7 @@ msgstr "" "precisa ter permissão para ˋGERENCIAR_CARGOSˋ, e seu maior cargo precisa " "estar acima deste." -#: src/modules/shop/shops/colours.py:760 +#: src/modules/shop/shops/colours.py:782 msgctxt "cmd:editshop_colours_add|error:role_has_admin" msgid "" "I refuse to add an administrator role to the LionCoin shop. That is a really" @@ -434,63 +445,63 @@ msgstr "" "Eu me recuso a adicionar um cargo de Administrador à Loja de LionCoin. Isto " "é realmente uma péssima ideia." -#: src/modules/shop/shops/colours.py:781 +#: src/modules/shop/shops/colours.py:803 msgctxt "cmd:editshop_colours_add|resp:done|embed:title" msgid "Colour Role Created" msgstr "Cor de Cargo Criada" -#: src/modules/shop/shops/colours.py:784 +#: src/modules/shop/shops/colours.py:806 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|resp:done|embed:desc" msgid "You have added {mention} to the colour shop for {coin}**{price}**!" msgstr "Você adicionou {mention} à loja de cores por {coin}**{price}**!" -#: src/modules/shop/shops/colours.py:792 +#: src/modules/shop/shops/colours.py:814 msgctxt "cmd:editshop_colours_clear" msgid "clear" msgstr "limpar" -#: src/modules/shop/shops/colours.py:795 +#: src/modules/shop/shops/colours.py:817 msgctxt "cmd:editshop_colours_clear|desc" msgid "" "Remove all the colour roles from the shop, and optionally delete the roles." msgstr "" "Remova todas as cores dos cargos da loja, e opcionalmente delete os cargos." -#: src/modules/shop/shops/colours.py:799 +#: src/modules/shop/shops/colours.py:821 msgctxt "cmd:editshop_colours_clear|param:delete" msgid "delete_roles" msgstr "excluir_cargos" -#: src/modules/shop/shops/colours.py:804 +#: src/modules/shop/shops/colours.py:826 msgctxt "cmd:editshop_colours_clear|param:delete|desc" msgid "Also delete the associated roles." msgstr "Também apague os cargos associados." -#: src/modules/shop/shops/colours.py:846 +#: src/modules/shop/shops/colours.py:868 msgctxt "cmd:editshop_colours_clear|error:no_colours" msgid "There are no coloured roles to remove!" msgstr "Não há cargos coloridos para remover." -#: src/modules/shop/shops/colours.py:890 +#: src/modules/shop/shops/colours.py:912 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:clear" msgid "{tick} Colour shop cleared." msgstr "{tick} Loja de cores foi limpa." -#: src/modules/shop/shops/colours.py:901 +#: src/modules/shop/shops/colours.py:923 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:refunding" msgid "{loading} Refunded **{count}/{total}** members." msgstr "{loading} Reembolsados **{count}/{total}** membros." -#: src/modules/shop/shops/colours.py:907 +#: src/modules/shop/shops/colours.py:929 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:refunded" msgid "{tick} Refunded **{total}/{total}** members." msgstr "{tick} Reembolsados **{total}/{total}** membros." -#: src/modules/shop/shops/colours.py:920 +#: src/modules/shop/shops/colours.py:942 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:deleted_failed" msgid "" @@ -498,69 +509,69 @@ msgid "" msgstr "" "{emoji} Apagadas **{count}/{total}** cores de cargo. (**{failed}** failed!)" -#: src/modules/shop/shops/colours.py:925 +#: src/modules/shop/shops/colours.py:947 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:deleted" msgid "{emoji} Deleted **{count}/{total}** colour roles." msgstr "{emoji} Apagadas **{count}/{total}** cores de cargo." -#: src/modules/shop/shops/colours.py:974 +#: src/modules/shop/shops/colours.py:996 msgctxt "cmd:editshop_colours_remove" msgid "remove" msgstr "remover" -#: src/modules/shop/shops/colours.py:977 +#: src/modules/shop/shops/colours.py:999 msgctxt "cmd:editshop_colours_remove|desc" msgid "Remove a specific colour role from the shop." msgstr "Remova uma cor de cargo específica da loja. " -#: src/modules/shop/shops/colours.py:981 +#: src/modules/shop/shops/colours.py:1003 msgctxt "cmd:editshop_colours_remove|param:role" msgid "role" msgstr "cargo" -#: src/modules/shop/shops/colours.py:982 +#: src/modules/shop/shops/colours.py:1004 msgctxt "cmd:editshop_colours_remove" msgid "delete_role" msgstr "excluir_cargo" -#: src/modules/shop/shops/colours.py:987 +#: src/modules/shop/shops/colours.py:1009 msgctxt "cmd:editshop_colours_remove|param:role|desc" msgid "Select the colour role to remove." msgstr "Selecione a cor de cargo para remover." -#: src/modules/shop/shops/colours.py:991 +#: src/modules/shop/shops/colours.py:1013 msgctxt "cmd:editshop_colours_remove|param:delete_role|desc" msgid "Whether to delete the associated role." msgstr "Se o cargo associado também deverá ser deletado." -#: src/modules/shop/shops/colours.py:1016 +#: src/modules/shop/shops/colours.py:1038 #, possible-python-brace-format msgctxt "cmd:editshop_colours_remove|error:not_colour" msgid "{mention} is not in the colour role shop!" msgstr "{mention} não está na loja de cores de cargo!" -#: src/modules/shop/shops/colours.py:1034 +#: src/modules/shop/shops/colours.py:1056 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Successfully deleted the role." msgstr "Cargo deletado com sucesso!" -#: src/modules/shop/shops/colours.py:1039 +#: src/modules/shop/shops/colours.py:1061 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "I do not have sufficient permissions to delete the role." msgstr "Eu não tenho permissões suficientes para deletar o cargo." -#: src/modules/shop/shops/colours.py:1044 +#: src/modules/shop/shops/colours.py:1066 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Failed to delete the role for an unknown reason." msgstr "Houve uma falha ao deletar o cargo. Motivo desconhecido." -#: src/modules/shop/shops/colours.py:1049 +#: src/modules/shop/shops/colours.py:1071 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Could not find the role in order to delete it." msgstr "Não consegui encontrar o cargo para deletá-lo." -#: src/modules/shop/shops/colours.py:1060 +#: src/modules/shop/shops/colours.py:1082 #, possible-python-brace-format msgctxt "cmd:editshop_colours_remove|resp:done|embed:desc" msgid "" @@ -570,61 +581,61 @@ msgstr "" "Removida {mention} da loja de cargos.\n" "{delete_line}" -#: src/modules/shop/shops/colours.py:1138 +#: src/modules/shop/shops/colours.py:1160 msgctxt "ui:colourstore|menu:buycolours|embed:error|title" msgid "Purchase Failed!" msgstr "A compra falhou!" -#: src/modules/shop/shops/colours.py:1149 +#: src/modules/shop/shops/colours.py:1171 #, possible-python-brace-format msgctxt "ui:colourstore|menu:buycolours|resp:done|desc" msgid "{tick} You have purchased {mention}" msgstr "{tick} Você comprou {mention}" -#: src/modules/shop/shops/colours.py:1184 +#: src/modules/shop/shops/colours.py:1206 msgctxt "ui:colourstore|menu:buycolours|placeholder" msgid "There are no colour roles available to purchase!" msgstr "Não há cores de cargo disponíveis para venda!" -#: src/modules/shop/shops/colours.py:1190 +#: src/modules/shop/shops/colours.py:1212 msgctxt "ui:colourstore|menu:buycolours|placeholder" msgid "Select a colour role to purchase!" msgstr "Selecione uma cor de cargo para comprar!" -#: src/modules/shop/shops/colours.py:1236 +#: src/modules/shop/shops/colours.py:1258 #, possible-python-brace-format msgctxt "ui:colourstore|embed|line:owned_item" msgid "`[{j:02}]` | `{price} LC` | {mention} (You own this!)" msgstr "`[{j:02}]` | `{price} LC` | {mention} (Você tem isto!)" -#: src/modules/shop/shops/colours.py:1241 +#: src/modules/shop/shops/colours.py:1263 #, possible-python-brace-format msgctxt "ui:colourstore|embed|line:item" msgid "`[{j:02}]` | `{price} LC` | {mention}" msgstr "`[{j:02}]` | `{price} LC` | {mention}" -#: src/modules/shop/shops/colours.py:1248 +#: src/modules/shop/shops/colours.py:1270 msgctxt "ui:colourstore|embed|desc" msgid "No colour roles available for purchase!" msgstr "Não há cores de cargo disponíveis para compra." -#: src/modules/shop/shops/colours.py:1251 +#: src/modules/shop/shops/colours.py:1273 msgctxt "ui:colourstore|embed|title" msgid "Colour Role Shop" msgstr "Loja de Cores de Cargo" -#: src/modules/shop/shops/colours.py:1257 +#: src/modules/shop/shops/colours.py:1279 #, possible-python-brace-format msgctxt "ui:colourstore|embed|footer:paged" msgid "Page {current}/{total}" msgstr "Página {current}/{total}" -#: src/modules/shop/shops/colours.py:1264 +#: src/modules/shop/shops/colours.py:1286 msgctxt "ui:colourstore|embed|field:warning|name" msgid "Note!" msgstr "Atenção!" -#: src/modules/shop/shops/colours.py:1268 +#: src/modules/shop/shops/colours.py:1290 #, possible-python-brace-format msgctxt "ui:colourstore|embed|field:warning|value" msgid "" diff --git a/locales/pt_BR/LC_MESSAGES/statistics.po b/locales/pt_BR/LC_MESSAGES/statistics.po index 3defa85d..59db8293 100644 --- a/locales/pt_BR/LC_MESSAGES/statistics.po +++ b/locales/pt_BR/LC_MESSAGES/statistics.po @@ -5,15 +5,16 @@ # # Translators: # Bruno Evangelista De Oliveira, 2023 +# Interitio, 2023 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" -"Last-Translator: Bruno Evangelista De Oliveira, 2023\n" +"Last-Translator: Interitio, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,128 +22,248 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/statistics/cog.py:43 +#: src/modules/statistics/cog.py:47 msgctxt "cmd:me" msgid "me" -msgstr "Eu" +msgstr "eu" -#: src/modules/statistics/cog.py:46 +#: src/modules/statistics/cog.py:50 msgctxt "cmd:me|desc" -msgid "Display your personal profile and summary statistics." -msgstr "Mostra seu perfil pessoal e resumo das suas estatísticas." +msgid "Edit your personal profile and see your statistics." +msgstr "" -#: src/modules/statistics/cog.py:56 +#: src/modules/statistics/cog.py:63 +msgctxt "cmd:profile" +msgid "profile" +msgstr "" + +#: src/modules/statistics/cog.py:66 +msgctxt "cmd:profile|desc" +msgid "Display the target's profile and statistics summary." +msgstr "" + +#: src/modules/statistics/cog.py:70 +msgctxt "cmd:profile|param:member" +msgid "member" +msgstr "" + +#: src/modules/statistics/cog.py:74 +msgctxt "cmd:profile|param:member|desc" +msgid "Member to display profile for." +msgstr "" + +#: src/modules/statistics/cog.py:110 msgctxt "cmd:stats" msgid "stats" msgstr "estatísticas" -#: src/modules/statistics/cog.py:59 +#: src/modules/statistics/cog.py:113 msgctxt "cmd:stats|desc" msgid "Weekly and monthly statistics for your recent activity." msgstr "Estatísticas semanais, e mensais, das suas atividades recentes." -#: src/modules/statistics/cog.py:72 +#: src/modules/statistics/cog.py:131 msgctxt "cmd:leaderboard" msgid "leaderboard" -msgstr "Classificação" +msgstr "classificação" -#: src/modules/statistics/cog.py:75 +#: src/modules/statistics/cog.py:134 msgctxt "cmd:leaderboard|desc" msgid "Server leaderboard." msgstr "Classificação no servidor." -#: src/modules/statistics/cog.py:90 +#: src/modules/statistics/cog.py:149 #, possible-python-brace-format msgctxt "cmd:leaderboard|chunking|desc" msgid "Requesting server member list from Discord, please wait {loading}" msgstr "" "Requisitando lista de membros para o Discord. Por favor, aguarde {loading}" -#: src/modules/statistics/cog.py:113 +#: src/modules/statistics/cog.py:170 +msgctxt "cmd:achievements" +msgid "achievements" +msgstr "" + +#: src/modules/statistics/cog.py:173 +msgctxt "cmd:achievements|desc" +msgid "View your progress towards the activity achievement awards!" +msgstr "" + +#: src/modules/statistics/cog.py:190 +msgctxt "cmd:achievements|embed:title" +msgid "Achievements" +msgstr "" + +#: src/modules/statistics/cog.py:208 msgctxt "cmd:configure_statistics" msgid "statistics" -msgstr "Estatísticas" +msgstr "estatísticas" -#: src/modules/statistics/cog.py:114 +#: src/modules/statistics/cog.py:209 msgctxt "cmd:configure_statistics|desc" msgid "Statistics configuration panel" msgstr "Painel de configuração das estatísticas" -#: src/modules/statistics/cog.py:117 +#: src/modules/statistics/cog.py:212 msgctxt "cmd:configure_statistics|param:season_start" msgid "season_start" msgstr "começo_estatísticas" -#: src/modules/statistics/cog.py:122 +#: src/modules/statistics/cog.py:217 msgctxt "cmd:configure_statistics|param:season_start|desc" msgid "" "Time from which to start counting activity for rank badges and season " "leaderboards. (YYYY-MM-DD)" msgstr "" -"Tempo a partir do qual as estatísticas estarão sendo contadas para as " -"classificações e ranking do servidor. (AAAA-MM-DD)" +"Tempo, de onde as estatísticas contarão para as classificações e ranking do " +"servidor. (AAAA-MM-DD)" -#: src/modules/statistics/settings.py:37 +#: src/modules/statistics/achievements.py:77 +msgctxt "achievement|congrats" +msgid "Congratulations! You have completed this challenge." +msgstr "" + +#: src/modules/statistics/achievements.py:146 +msgctxt "achievement:workout|name" +msgid "It's about Power" +msgstr "" + +#: src/modules/statistics/achievements.py:150 +msgctxt "achievement:workout|subtext" +msgid "Workout 50 times" +msgstr "" + +#: src/modules/statistics/achievements.py:170 +msgctxt "achievement:voicehours|name" +msgid "Dream Big" +msgstr "" + +#: src/modules/statistics/achievements.py:174 +msgctxt "achievement:voicehours|subtext" +msgid "Study a total of 1000 hours" +msgstr "" + +#: src/modules/statistics/achievements.py:196 +msgctxt "achievement:voicestreak|name" +msgid "Consistency is Key" +msgstr "" + +#: src/modules/statistics/achievements.py:200 +msgctxt "achievement:voicestreak|subtext" +msgid "Reach a 100-day voice streak" +msgstr "" + +#: src/modules/statistics/achievements.py:283 +msgctxt "achievement:voting|name" +msgid "We're a Team" +msgstr "" + +#: src/modules/statistics/achievements.py:287 +msgctxt "achievement:voting|subtext" +msgid "Vote 100 times on top.gg" +msgstr "" + +#: src/modules/statistics/achievements.py:304 +msgctxt "achievement:days|name" +msgid "Aim For The Moon" +msgstr "" + +#: src/modules/statistics/achievements.py:308 +msgctxt "achievement:days|subtext" +msgid "Join Voice on 90 different days" +msgstr "" + +#: src/modules/statistics/achievements.py:333 +msgctxt "achievement:tasks|name" +msgid "One Step at a Time" +msgstr "" + +#: src/modules/statistics/achievements.py:337 +msgctxt "achievement:tasks|subtext" +msgid "Complete 1000 tasks" +msgstr "" + +#: src/modules/statistics/achievements.py:363 +msgctxt "achievement:schedule|name" +msgid "Be Accountable" +msgstr "" + +#: src/modules/statistics/achievements.py:367 +msgctxt "achievement:schedule|subtext" +msgid "Attend 500 Scheduled Sessions" +msgstr "" + +#: src/modules/statistics/achievements.py:392 +msgctxt "achievement:monthlyhours|name" +msgid "The 30 Days Challenge" +msgstr "" + +#: src/modules/statistics/achievements.py:396 +msgctxt "achievement:monthlyhours|subtext" +msgid "Be active for 100 hours in a month" +msgstr "" + +#: src/modules/statistics/settings.py:38 msgctxt "settype:stat|output:voice" msgid "`Voice`" msgstr "ˋEm Canais de Vozˋ" -#: src/modules/statistics/settings.py:38 +#: src/modules/statistics/settings.py:39 msgctxt "settype:stat|output:text" msgid "`Text`" msgstr "ˋMensagemˋ" -#: src/modules/statistics/settings.py:39 +#: src/modules/statistics/settings.py:40 msgctxt "settype:stat|output:anki" msgid "`Anki`" msgstr "ˋAnkiˋ" -#: src/modules/statistics/settings.py:42 +#: src/modules/statistics/settings.py:43 msgctxt "settype:stat|input_format:voice" msgid "Voice" msgstr "Em Canais de Voz" -#: src/modules/statistics/settings.py:43 +#: src/modules/statistics/settings.py:44 msgctxt "settype:stat|input_format:text" msgid "Text" msgstr "Mensagens" -#: src/modules/statistics/settings.py:44 +#: src/modules/statistics/settings.py:45 msgctxt "settype:stat|input_format:anki" msgid "Anki" msgstr "Anki" -#: src/modules/statistics/settings.py:47 +#: src/modules/statistics/settings.py:48 msgctxt "settype:stat|input_pattern:voice" msgid "voice|study" msgstr "voz|estudo" -#: src/modules/statistics/settings.py:48 +#: src/modules/statistics/settings.py:49 msgctxt "settype:stat|input_pattern:text" msgid "text|messages" msgstr "texto|mensagens" -#: src/modules/statistics/settings.py:49 +#: src/modules/statistics/settings.py:50 msgctxt "settype:stat|input_pattern:anki" msgid "anki" msgstr "anki" -#: src/modules/statistics/settings.py:53 +#: src/modules/statistics/settings.py:54 msgctxt "settype:state|accepts" msgid "Voice/Text/Anki" msgstr "Voz/Texto/Anki" -#: src/modules/statistics/settings.py:66 +#: src/modules/statistics/settings.py:67 msgctxt "userset:show_global_stats" msgid "global_stats" msgstr "estatísticas_globais" -#: src/modules/statistics/settings.py:69 +#: src/modules/statistics/settings.py:70 msgctxt "userset:show_global_stats|desc" msgid "Whether displayed statistics include all your servers." msgstr "Se irá mostrar a estatística escolhida de todos os seus servidores." -#: src/modules/statistics/settings.py:73 +#: src/modules/statistics/settings.py:74 msgctxt "userset:show_global_stats|long_desc" msgid "" "Whether statistics commands display combined stats for all servers or just " @@ -151,17 +272,17 @@ msgstr "" "Se o comando de estatísticas deve mostrar as estatísticas combinadas de " "todos seus servidores, ou somente do servidor atual." -#: src/modules/statistics/settings.py:88 +#: src/modules/statistics/settings.py:90 msgctxt "guildset:season_start" msgid "season_start" msgstr "começo_estatísticas" -#: src/modules/statistics/settings.py:91 +#: src/modules/statistics/settings.py:93 msgctxt "guildset:season_start|desc" msgid "Start of the current statistics season." msgstr "Conta as estatísticas a partir desta data." -#: src/modules/statistics/settings.py:95 +#: src/modules/statistics/settings.py:97 msgctxt "guildset:season_start|long_desc" msgid "" "Activity ranks will be determined based on tracked activity since this time, and the leaderboard will display activity since this time by default. Unset to disable seasons and use all-time statistics instead.\n" @@ -170,19 +291,19 @@ msgstr "" "Os Níveis de Classificação serão computados com base na atividade desde esta data, assim como a Tabela de Classificação do servidor. Para que sejam usadas as estatísticas desde o início do servidor, deixe sem configurações de data.\n" "Os dias e as horas das estatísticas são baseadas no ˋfuso horárioˋ do servidor, então, configure-o primeiro!" -#: src/modules/statistics/settings.py:102 +#: src/modules/statistics/settings.py:104 msgctxt "guildset:season_start|accepts" msgid "The season start time in the form YYYY-MM-DD HH:MM" msgstr "" "Determine o marco temporal a para o começo das estatísticas de atividades. " "Use formato AAAA-MM-DD HH:MM" -#: src/modules/statistics/settings.py:106 +#: src/modules/statistics/settings.py:108 msgctxt "guildset:season_start|notset" msgid "Not Set (Using all-time statistics)" msgstr "Não Configurado (Usando estatísticas desde o início dos registros) " -#: src/modules/statistics/settings.py:125 +#: src/modules/statistics/settings.py:127 #, possible-python-brace-format msgctxt "guildset:season_start|parse|error:future_time" msgid "Provided season start time {timestamp} is in the future!" @@ -190,7 +311,7 @@ msgstr "" "A data informada {timestamp} para começar a contar as estatísticas, é no " "futuro! " -#: src/modules/statistics/settings.py:137 +#: src/modules/statistics/settings.py:139 #, possible-python-brace-format msgctxt "guildset:season_start|set_response|set" msgid "" @@ -200,7 +321,7 @@ msgstr "" "A Tabela de Classificação, e os Níveis de Atividade, serão contados desde {timestamp}. Os níveis dos membros serão atualizados assim que eles ficarem ativos novamente.\n" "Use {rank_cmd} e clique em **Atualizar Níveis dos Membros** para atualizar todos os níveis imediatamente." -#: src/modules/statistics/settings.py:147 +#: src/modules/statistics/settings.py:149 #, possible-python-brace-format msgctxt "guildset:season_start|set_response|unset" msgid "" @@ -210,17 +331,17 @@ msgstr "" "A Tabela de Classificação e os Níveis de Atividade irão contar desde o início. Os membros terão seus níveis atualizados assim que ficarem ativos novamente.\n" "Use {rank_cmd} e clique em **Atualizar Níveis dos Membros** para atualizar todos os níveis imediatamente." -#: src/modules/statistics/settings.py:159 +#: src/modules/statistics/settings.py:162 msgctxt "guildset:unranked_roles" msgid "unranked_roles" msgstr "cargos_não_contabilizados" -#: src/modules/statistics/settings.py:162 +#: src/modules/statistics/settings.py:165 msgctxt "guildset:unranked_roles|desc" msgid "Roles to exclude from the leaderboards." msgstr "Cargos que não serão mostrados nas classificações." -#: src/modules/statistics/settings.py:166 +#: src/modules/statistics/settings.py:169 msgctxt "guildset:unranked_roles|long_desc" msgid "" "When set, members with *any* of these roles will not appear on the " @@ -229,19 +350,19 @@ msgstr "" "Quando configurado, membros com *qualquer* destes cargos, não irão aparecer " "na /classificação do servidor." -#: src/modules/statistics/settings.py:170 +#: src/modules/statistics/settings.py:173 msgctxt "guildset:unranked_roles|accepts" msgid "Comma separated list of unranked role names or ids." msgstr "" "Nome ou ID dos cargos não contabilizados para classificações, separados por " "vírgula." -#: src/modules/statistics/settings.py:186 +#: src/modules/statistics/settings.py:189 msgctxt "guildset:unranked_roles|set_using" msgid "Role selector below." msgstr "Selecione o cargo abaixo." -#: src/modules/statistics/settings.py:196 +#: src/modules/statistics/settings.py:199 #, possible-python-brace-format msgctxt "guildset:unranked_roles|set_response|set" msgid "" @@ -250,24 +371,24 @@ msgstr "" "Os membros dos cargos seguintes não irão aparecer na Lista de Classificação:" " {roles}" -#: src/modules/statistics/settings.py:203 +#: src/modules/statistics/settings.py:206 msgctxt "guildset:unranked_roles|set_response|unset" msgid "You have cleared the unranked role list." msgstr "Você limpou a lista de cargos não contabilizáveis." -#: src/modules/statistics/settings.py:217 +#: src/modules/statistics/settings.py:221 msgctxt "guildset:visible_stats" msgid "visible_stats" msgstr "estatística_visível" -#: src/modules/statistics/settings.py:220 +#: src/modules/statistics/settings.py:224 msgctxt "guildset:visible_stats|desc" msgid "Which statistics will be visible in the statistics commands." msgstr "" "Quais estatísticas poderão ser vistas através dos comandos de estatística " "deste servidor." -#: src/modules/statistics/settings.py:224 +#: src/modules/statistics/settings.py:228 msgctxt "guildset:visible_stats|desc" msgid "" "Choose which statistics types to display in the leaderboard and statistics " @@ -276,89 +397,94 @@ msgstr "" "Escolha quais tipos de estatística a serem mostradas na Lista de " "Classificação e nos comandos de estatísticas deste servidor." -#: src/modules/statistics/settings.py:228 +#: src/modules/statistics/settings.py:232 msgctxt "guildset:visible_stats|accepts" msgid "Voice, Text, Anki" msgstr "Voz, Mensagens, Anki" -#: src/modules/statistics/settings.py:249 +#: src/modules/statistics/settings.py:253 msgctxt "guildset:visible_stats|set_using" msgid "Option menu below." msgstr "Opção de menu, abaixo." -#: src/modules/statistics/settings.py:257 +#: src/modules/statistics/settings.py:261 #, possible-python-brace-format msgctxt "guildset:visible_stats|set_response" msgid "Members will be able to view the following statistics types: {types}" msgstr "" "Os membros estarão aptos a ver os seguintes tipos de estatísticas: {types} " -#: src/modules/statistics/settings.py:267 +#: src/modules/statistics/settings.py:272 msgctxt "guildset:default_stat" msgid "default_stat" msgstr "estatística_padrão" -#: src/modules/statistics/settings.py:270 +#: src/modules/statistics/settings.py:275 msgctxt "guildset:default_stat|desc" msgid "Statistic type to display by default in setting dialogues." msgstr "" "Tipo de estatística para ser mostrada como padrão na configuração de " "conversas." -#: src/modules/statistics/settings.py:274 +#: src/modules/statistics/settings.py:279 msgctxt "guildset:default_stat|long_desc" msgid "Which statistic type to display by default in setting dialogues." msgstr "" "Qual o tipo de estatística para ser mostrada por padrão nas configurações de" " conversas." -#: src/modules/statistics/settings.py:307 +#: src/modules/statistics/settings.py:313 msgctxt "ui:statistics_config|menu:unranked_roles|placeholder" msgid "Select Unranked Roles" msgstr "Selecione Cargos Não Contabilizáveis" -#: src/modules/statistics/settings.py:331 +#: src/modules/statistics/settings.py:338 msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:voice" msgid "Voice Activity" msgstr "Atividade em Canal de Voz" -#: src/modules/statistics/settings.py:336 +#: src/modules/statistics/settings.py:343 msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:study" msgid "Study Statistics" msgstr "Estatísticas de Estudos" -#: src/modules/statistics/settings.py:346 +#: src/modules/statistics/settings.py:353 msgctxt "ui:statistics_config|menu:visible_stats|item:text" msgid "Message Activity" msgstr "Atividade em Conversas" -#: src/modules/statistics/settings.py:354 +#: src/modules/statistics/settings.py:361 msgctxt "ui:statistics_config|menu:visible_stats|item:anki" msgid "Anki Reviews" msgstr "Revisões Anki" -#: src/modules/statistics/settings.py:365 +#: src/modules/statistics/settings.py:372 msgctxt "ui:statistics_config|menu:visible_stats|placeholder" msgid "Select Visible Statistics" msgstr "Selecione Estatísticas Visíveis" -#: src/modules/statistics/settings.py:386 +#: src/modules/statistics/settings.py:393 msgctxt "ui:statistics_config|embed|title" msgid "Statistics Configuration Panel" msgstr "Painel de Configuração de Estatísticas" -#: src/modules/statistics/settings.py:408 +#: src/modules/statistics/settings.py:415 msgctxt "dash:stats|title" -msgid "Activity Statistics Configuration ({commands[configure statistics]})" +msgid "" +"Activity Statistics Configuration ({commands[admin config statistics]})" msgstr "" -"Configuração das Estatísticas de Atividade ({commands[configure " -"statistics]})" -#: src/modules/statistics/settings.py:412 +#: src/modules/statistics/settings.py:419 msgctxt "dash:stats|dropdown|placeholder" msgid "Activity Statistics Panel" msgstr "Painel de Estatísticas de Atividade" +#: src/modules/statistics/graphics/stats.py:63 +#, possible-python-brace-format +msgctxt "gui:stats|mode:voice|month" +msgid "{hours} hours" +msgstr "" + #: src/modules/statistics/ui/goals.py:92 msgctxt "ui:MonthlyUI|name" msgid "Monthly" @@ -665,77 +791,77 @@ msgstr "" "Agora, você irá ver estatísticas de todos os seus servidores (em que " "possível)! Clique novamente para desfazer." -#: src/modules/statistics/ui/leaderboard.py:253 +#: src/modules/statistics/ui/leaderboard.py:257 msgctxt "ui:leaderboard|menu:stats|placeholder" msgid "Select Activity Type" msgstr "Selecione Tipo de Atividade" -#: src/modules/statistics/ui/leaderboard.py:262 +#: src/modules/statistics/ui/leaderboard.py:266 msgctxt "ui:leaderboard|menu:stats|item:voice" msgid "Voice Activity" msgstr "Atividade em Canal de Voz" -#: src/modules/statistics/ui/leaderboard.py:273 +#: src/modules/statistics/ui/leaderboard.py:277 msgctxt "ui:leaderboard|menu:stats|item:study" msgid "Study Statistics" msgstr "Estatísticas de Estudos" -#: src/modules/statistics/ui/leaderboard.py:284 +#: src/modules/statistics/ui/leaderboard.py:288 msgctxt "ui:leaderboard|menu:stats|item:message" msgid "Message Activity" msgstr "Atividade em Conversas" -#: src/modules/statistics/ui/leaderboard.py:295 +#: src/modules/statistics/ui/leaderboard.py:299 msgctxt "ui:leaderboard|menu;stats|item:anki" msgid "Anki Cards Reviewed" msgstr "Cartões Anki Revisados" -#: src/modules/statistics/ui/leaderboard.py:349 +#: src/modules/statistics/ui/leaderboard.py:353 msgctxt "ui:leaderboard|button:season|label" msgid "This Season" msgstr "Neste Período" -#: src/modules/statistics/ui/leaderboard.py:353 +#: src/modules/statistics/ui/leaderboard.py:357 msgctxt "ui:leaderboard|button:day|label" msgid "Today" msgstr "Hoje" -#: src/modules/statistics/ui/leaderboard.py:357 +#: src/modules/statistics/ui/leaderboard.py:361 msgctxt "ui:leaderboard|button:week|label" msgid "This Week" msgstr "Esta Semana" -#: src/modules/statistics/ui/leaderboard.py:361 +#: src/modules/statistics/ui/leaderboard.py:365 msgctxt "ui:leaderboard|button:month|label" msgid "This Month" msgstr "Este Mês" -#: src/modules/statistics/ui/leaderboard.py:365 +#: src/modules/statistics/ui/leaderboard.py:369 msgctxt "ui:leaderboard|button:alltime|label" msgid "All Time" msgstr "Desde Sempre" -#: src/modules/statistics/ui/leaderboard.py:369 +#: src/modules/statistics/ui/leaderboard.py:373 msgctxt "ui:leaderboard|button:jump|label" msgid "Jump" msgstr "Ir" -#: src/modules/statistics/ui/leaderboard.py:384 +#: src/modules/statistics/ui/leaderboard.py:388 msgctxt "ui:leaderboard|button:jump|input:title" msgid "Jump to page" msgstr "Ir para a página" -#: src/modules/statistics/ui/leaderboard.py:388 +#: src/modules/statistics/ui/leaderboard.py:392 msgctxt "ui:leaderboard|button:jump|input:question" msgid "Page number to jump to" msgstr "Número da página para ir" -#: src/modules/statistics/ui/leaderboard.py:399 +#: src/modules/statistics/ui/leaderboard.py:403 msgctxt "ui:leaderboard|button:jump|error:invalid_page" msgid "Invalid page number, please try again!" msgstr "Número da página inválido, por favor, tente novamente!" -#: src/modules/statistics/ui/leaderboard.py:443 +#: src/modules/statistics/ui/leaderboard.py:447 msgctxt "ui:leaderboard|chunk_warning" msgid "" "**Note:** Could not retrieve member list from Discord, so some members may " @@ -744,31 +870,31 @@ msgstr "" "**Nota:** Não pude recuperar a lista de membros do Discord, então alguns " "membros podem estar faltando. Tente novamente em um minuto!" -#: src/modules/statistics/ui/leaderboard.py:450 +#: src/modules/statistics/ui/leaderboard.py:454 #, possible-python-brace-format msgctxt "ui:leaderboard|since" msgid "Counting statistics since {timestamp}" msgstr "Estatísticas sendo contadas desde {timestamp}" -#: src/modules/statistics/ui/leaderboard.py:463 +#: src/modules/statistics/ui/leaderboard.py:467 #, possible-python-brace-format msgctxt "ui:leaderboard|mode:voice|message:empty|desc" msgid "There has been no voice activity since {timestamp}" msgstr "Não houve atividade em canais de voz desde {timestamp}" -#: src/modules/statistics/ui/leaderboard.py:468 +#: src/modules/statistics/ui/leaderboard.py:472 #, possible-python-brace-format msgctxt "ui:leaderboard|mode:text|message:empty|desc" msgid "There has been no message activity since {timestamp}" msgstr "Não houve atividade em conversas desde {timestamp}" -#: src/modules/statistics/ui/leaderboard.py:473 +#: src/modules/statistics/ui/leaderboard.py:477 #, possible-python-brace-format msgctxt "ui:leaderboard|mode:anki|message:empty|desc" msgid "There have been no Anki cards reviewed since {timestamp}" msgstr "Não houve atividade em Cartões Anki desde {timestamp}" -#: src/modules/statistics/ui/leaderboard.py:482 +#: src/modules/statistics/ui/leaderboard.py:486 msgctxt "ui:leaderboard|message:empty|title" msgid "Leaderboard Empty!" msgstr "Lista de Classificação Vazia!" diff --git a/locales/pt_BR/LC_MESSAGES/tasklist.po b/locales/pt_BR/LC_MESSAGES/tasklist.po index 8c37ac4c..208a1951 100644 --- a/locales/pt_BR/LC_MESSAGES/tasklist.po +++ b/locales/pt_BR/LC_MESSAGES/tasklist.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -83,69 +83,69 @@ msgctxt "cmd:tasklist|desc" msgid "Open your tasklist." msgstr "Abra sua lista de tarefas." -#: src/modules/tasklist/cog.py:270 +#: src/modules/tasklist/cog.py:271 msgctxt "group:tasks" msgid "tasks" msgstr "tarefas" -#: src/modules/tasklist/cog.py:271 +#: src/modules/tasklist/cog.py:272 msgctxt "group:tasks|desc" msgid "Base command group for tasklist commands." msgstr "Grupo de comandos-base para comandar as tarefas." -#: src/modules/tasklist/cog.py:293 +#: src/modules/tasklist/cog.py:295 msgctxt "argtype:taskid|error:no_tasks" msgid "Tasklist empty! No matching tasks." msgstr "Lista de tarefas vazia! Não há tarefas compatíveis." -#: src/modules/tasklist/cog.py:330 +#: src/modules/tasklist/cog.py:332 msgctxt "argtype:taskid|match:all" msgid "All tasks" msgstr "Todas as tarefas" -#: src/modules/tasklist/cog.py:348 +#: src/modules/tasklist/cog.py:350 #, possible-python-brace-format msgctxt "argtype:taskid|error:parse_multi" msgid "(Warning: {error})" msgstr "(Atenção: {error})" -#: src/modules/tasklist/cog.py:382 +#: src/modules/tasklist/cog.py:384 #, possible-python-brace-format msgctxt "argtype:taskid|error:no_matching" msgid "No tasks matching '{partial}'!" msgstr "Não há tarefas compatíveis '{partial}'!" -#: src/modules/tasklist/cog.py:402 +#: src/modules/tasklist/cog.py:404 msgctxt "cmd:tasks_new" msgid "new" msgstr "nova" -#: src/modules/tasklist/cog.py:405 +#: src/modules/tasklist/cog.py:407 msgctxt "cmd:tasks_new|desc" msgid "Add a new task to your tasklist." msgstr "Adicione uma nova tarefa na sua lista de tarefas." -#: src/modules/tasklist/cog.py:409 +#: src/modules/tasklist/cog.py:411 msgctxt "cmd:tasks_new|param:content" msgid "task" msgstr "tarefa" -#: src/modules/tasklist/cog.py:410 +#: src/modules/tasklist/cog.py:412 msgctxt "cmd:tasks_new|param:parent" msgid "parent" msgstr "tarefa-mãe" -#: src/modules/tasklist/cog.py:413 +#: src/modules/tasklist/cog.py:415 msgctxt "cmd:tasks_new|param:content|desc" msgid "Content of your new task." msgstr "Conteúdo da sua nova tarefa." -#: src/modules/tasklist/cog.py:414 +#: src/modules/tasklist/cog.py:416 msgctxt "cmd:tasks_new|param:parent" msgid "Parent of this task." msgstr "A tarefa-mãe desta tarefa." -#: src/modules/tasklist/cog.py:434 +#: src/modules/tasklist/cog.py:436 #, possible-python-brace-format msgctxt "cmd:tasks_new|error:parse_parent" msgid "Could not find parent task number `{input}` in your tasklist." @@ -153,63 +153,63 @@ msgstr "" "Não consegui encontrar o número ˋ{input}ˋ da tarefa-mãe em sua lista de " "tarefas. " -#: src/modules/tasklist/cog.py:449 +#: src/modules/tasklist/cog.py:451 #, possible-python-brace-format msgctxt "cmd:tasks_new|resp:success" msgid "{tick} Created task `{label}`." msgstr "{tick} Tarefa criada ˋ{label}ˋ." -#: src/modules/tasklist/cog.py:461 +#: src/modules/tasklist/cog.py:463 msgctxt "cmd:tasks_upload" msgid "upload" msgstr "enviar" -#: src/modules/tasklist/cog.py:464 +#: src/modules/tasklist/cog.py:466 msgctxt "cmd:tasks_upload|desc" msgid "Upload a list of tasks to append to or replace your tasklist." msgstr "" "Envie uma lista de tarefas para anexar ou substituir sua lista de tarefas " "atual." -#: src/modules/tasklist/cog.py:468 +#: src/modules/tasklist/cog.py:470 msgctxt "cmd:tasks_upload|param:tasklist" msgid "tasklist" msgstr "lista_de_tarefas" -#: src/modules/tasklist/cog.py:469 +#: src/modules/tasklist/cog.py:471 msgctxt "cmd:tasks_upload|param:append" msgid "append" -msgstr "Acrescentar" +msgstr "acrescentar" -#: src/modules/tasklist/cog.py:474 +#: src/modules/tasklist/cog.py:476 msgctxt "cmd:tasks_upload|param:tasklist|desc" msgid "" "Text file containing a (standard markdown formatted) checklist of tasks to " "add or append." msgstr "" -"Arquivo de texto (formatado com marcadores padrão) que contenha uma lista de" -" tarefas para adicionar ou aumentar a sua." +"Arquivo de texto (em formato, e marcador, padrão) com a lista das tarefas a " +"adicionar, ou aumentar. " -#: src/modules/tasklist/cog.py:478 +#: src/modules/tasklist/cog.py:480 msgctxt "cmd:tasks_upload|param:append|desc" msgid "" "Whether to append the given tasks or replace your entire tasklist. Defaults " "to True." msgstr "" -"Será para substituir ou aumentar a sua lista de tarefas atual. A " -"configuração padrão retorna verdadeiro. " +"Para substituir, ou aumentar, a sua lista de tarefas atual. Padrão = " +"Verdadeiro. " -#: src/modules/tasklist/cog.py:494 +#: src/modules/tasklist/cog.py:496 msgctxt "cmd:tasks_upload|error:not_text" msgid "The attached tasklist must be a text file!" msgstr "A lista anexada precisa ser um arquivo de texto!" -#: src/modules/tasklist/cog.py:502 +#: src/modules/tasklist/cog.py:504 msgctxt "cmd:tasks_upload|error:too_large" msgid "The attached tasklist was too large!" msgstr "A lista de tarefas era muito grande." -#: src/modules/tasklist/cog.py:513 +#: src/modules/tasklist/cog.py:515 msgctxt "cmd:tasks_upload|error:too_many_lines" msgid "" "Too many tasks! Refusing to process a tasklist with more than `1000` lines." @@ -217,7 +217,7 @@ msgstr "" "Muitas tarefas! Recusa ao tentar processar uma lista de tarefas com mais de " "1000 linhas." -#: src/modules/tasklist/cog.py:519 +#: src/modules/tasklist/cog.py:521 msgctxt "cmd:tasks_upload|error:decoding" msgid "" "Could not decode attached tasklist. Please make sure it is saved with the " @@ -226,144 +226,144 @@ msgstr "" "Não pude decodificar a lista de tarefas anexada. Por favor, confirme se ela " "está salva com o formato ˋUTF-8ˋ." -#: src/modules/tasklist/cog.py:566 +#: src/modules/tasklist/cog.py:568 #, possible-python-brace-format msgctxt "cmd:tasks_upload|resp:success" msgid "{tick} Updated your tasklist." msgstr "{tick} Lista atualizada." -#: src/modules/tasklist/cog.py:578 +#: src/modules/tasklist/cog.py:580 msgctxt "cmd:tasks_edit" msgid "edit" msgstr "editar" -#: src/modules/tasklist/cog.py:581 +#: src/modules/tasklist/cog.py:583 msgctxt "cmd:tasks_edit|desc" msgid "Edit a task in your tasklist." msgstr "Editar uma tarefa da lista de tarefas." -#: src/modules/tasklist/cog.py:585 +#: src/modules/tasklist/cog.py:587 msgctxt "cmd:tasks_edit|param:taskstr" msgid "task" msgstr "tarefa" -#: src/modules/tasklist/cog.py:586 +#: src/modules/tasklist/cog.py:588 msgctxt "cmd:tasks_edit|param:new_content" msgid "new_task" msgstr "nova_tarefa" -#: src/modules/tasklist/cog.py:587 +#: src/modules/tasklist/cog.py:589 msgctxt "cmd:tasks_edit|param:new_parent" msgid "new_parent" msgstr "nova_tarefamae" -#: src/modules/tasklist/cog.py:590 +#: src/modules/tasklist/cog.py:592 msgctxt "cmd:tasks_edit|param:taskstr|desc" msgid "Which task do you want to update?" msgstr "Qual tarefa você gostaria de atualizar?" -#: src/modules/tasklist/cog.py:591 +#: src/modules/tasklist/cog.py:593 msgctxt "cmd:tasks_edit|param:new_content|desc" msgid "What do you want to change the task to?" msgstr "Para qual conteúdo será transformada esta tarefa?" -#: src/modules/tasklist/cog.py:592 +#: src/modules/tasklist/cog.py:594 msgctxt "cmd:tasks_edit|param:new_parent|desc" msgid "Which task do you want to be the new parent?" msgstr "Qual tarefa você gostaria que fosse a nova tarefa-mãe?" -#: src/modules/tasklist/cog.py:611 +#: src/modules/tasklist/cog.py:613 #, possible-python-brace-format msgctxt "cmd:tasks_edit|error:parse_taskstr" msgid "Could not find target task number `{input}` in your tasklist." msgstr "Não pude encontrar a tarefa número ˋ{input}ˋ em sua lista." -#: src/modules/tasklist/cog.py:627 +#: src/modules/tasklist/cog.py:629 #, possible-python-brace-format msgctxt "cmd:tasks_edit|error:parse_parent" msgid "Could not find new parent task number `{input}` in your tasklist." msgstr "Não pude encontrar a tarefa-mãe número ˋ{input}ˋ em sua lista." -#: src/modules/tasklist/cog.py:646 +#: src/modules/tasklist/cog.py:648 #, possible-python-brace-format msgctxt "cmd:tasks_edit|resp:success|desc" msgid "{tick} Task `{label}` updated." msgstr "{tick} Tarefa ˋ{label}ˋ atualizada." -#: src/modules/tasklist/cog.py:668 +#: src/modules/tasklist/cog.py:670 msgctxt "ui:tasklist_single_editor|title" msgid "Edit Task" msgstr "Editar Tarefa" -#: src/modules/tasklist/cog.py:683 +#: src/modules/tasklist/cog.py:685 msgctxt "cmd:tasks_clear" msgid "clear" msgstr "apagar" -#: src/modules/tasklist/cog.py:684 +#: src/modules/tasklist/cog.py:686 msgctxt "cmd:tasks_clear|desc" msgid "Clear your tasklist." msgstr "Apagar sua lista de tarefas." -#: src/modules/tasklist/cog.py:694 +#: src/modules/tasklist/cog.py:696 msgctxt "cmd:tasks_clear|resp:success" msgid "Your tasklist has been cleared." msgstr "Sua lista de tarefas foi apagada." -#: src/modules/tasklist/cog.py:702 +#: src/modules/tasklist/cog.py:704 msgctxt "cmd:tasks_remove" msgid "remove" msgstr "remover" -#: src/modules/tasklist/cog.py:705 +#: src/modules/tasklist/cog.py:707 msgctxt "cmd:tasks_remove|desc" msgid "" "Remove tasks matching all the provided conditions. (E.g. remove tasks " "completed before today)." msgstr "" -"Remover tarefas compatíveis com as descrições informadas. (Ex. remover " -"tarefas concluídas antes de hoje)." +"Remova tarefas compatíveis com as descrições informadas. (Ex. remover " +"tarefas concluídas até hoje)." -#: src/modules/tasklist/cog.py:709 +#: src/modules/tasklist/cog.py:711 msgctxt "cmd:tasks_remove|param:taskidstr" msgid "tasks" msgstr "tarefas" -#: src/modules/tasklist/cog.py:710 +#: src/modules/tasklist/cog.py:712 msgctxt "cmd:tasks_remove|param:created_before" msgid "created_before" msgstr "criadas_antes" -#: src/modules/tasklist/cog.py:711 +#: src/modules/tasklist/cog.py:713 msgctxt "cmd:tasks_remove|param:updated_before" msgid "updated_before" msgstr "atualizadas_antes" -#: src/modules/tasklist/cog.py:712 +#: src/modules/tasklist/cog.py:714 msgctxt "cmd:tasks_remove|param:completed" msgid "completed" msgstr "concluídas" -#: src/modules/tasklist/cog.py:713 +#: src/modules/tasklist/cog.py:715 msgctxt "cmd:tasks_remove|param:cascade" msgid "cascade" msgstr "cascata" -#: src/modules/tasklist/cog.py:718 +#: src/modules/tasklist/cog.py:720 msgctxt "cmd:tasks_remove|param:taskidstr|desc" msgid "" "List of task numbers or ranges to remove (e.g. 1, 2, 5-7, 8.1-3, 9-), or `-`" " to remove all." msgstr "" -"Número das tarefas, da Lista de tarefas, ou o intervalo, que deseja remover " -"(ex. 1, 2, 5-7, 8.1-3, 9-), ou ˋ-ˋ para remover todas." +"Número, ou intervalo, das tarefas a serem apagadas (ex. 1, 2, 5-7, 8.1-3, " +"9-). Ou ˋ - ˋ para todas." -#: src/modules/tasklist/cog.py:722 +#: src/modules/tasklist/cog.py:724 msgctxt "cmd:tasks_remove|param:created_before|desc" msgid "Only delete tasks created before the selected time." msgstr "Somente apague tarefas criadas antes da data selecionada." -#: src/modules/tasklist/cog.py:726 +#: src/modules/tasklist/cog.py:728 msgctxt "cmd:tasks_remove|param:updated_before|desc" msgid "" "Only deleted tasks update (i.e. completed or edited) before the selected " @@ -372,31 +372,31 @@ msgstr "" "Somente apague tarefas atualizadas (completas ou editadas) antes da data " "selecionada." -#: src/modules/tasklist/cog.py:730 +#: src/modules/tasklist/cog.py:732 msgctxt "cmd:tasks_remove|param:completed" msgid "Only delete tasks which are (not) complete." msgstr "Somente apague tarefas que (não) foram completadas." -#: src/modules/tasklist/cog.py:734 +#: src/modules/tasklist/cog.py:736 msgctxt "cmd:tasks_remove|param:cascade" msgid "Whether to recursively remove subtasks of removed tasks." msgstr "Se as sub-tarefas também devem ser apagadas com as tarefas removidas." -#: src/modules/tasklist/cog.py:766 src/modules/tasklist/cog.py:861 -#: src/modules/tasklist/cog.py:936 +#: src/modules/tasklist/cog.py:768 src/modules/tasklist/cog.py:863 +#: src/modules/tasklist/cog.py:938 #, possible-python-brace-format msgctxt "cmd:tasks_remove_cmd|error:no_matching" msgid "No tasks on your tasklist match `{input}`" msgstr "Nenhuma das tarefas em sua lista de tarefas corresponde com ˋ{input}ˋ" -#: src/modules/tasklist/cog.py:790 +#: src/modules/tasklist/cog.py:792 msgctxt "cmd:tasks_remove_cmd|error:no_matching" msgid "No tasks on your tasklist matching all the given conditions!" msgstr "" "Nenhuma das tarefas, em sua lista de tarefas, é compatível com as condições " "informadas." -#: src/modules/tasklist/cog.py:803 +#: src/modules/tasklist/cog.py:805 #, possible-python-brace-format msgctxt "cmd:tasks_remove|resp:success" msgid "{tick} Deleted task `{label}`" @@ -405,41 +405,41 @@ msgstr[0] "{tick} Tarefa apagada ˋ{label}ˋ" msgstr[1] "{tick} Apaguei ˋ{count}ˋ tarefas da sua lista de tarefas." msgstr[2] "{tick} Apaguei ˋ{count}ˋ tarefas da sua lista de tarefas." -#: src/modules/tasklist/cog.py:821 +#: src/modules/tasklist/cog.py:823 msgctxt "cmd:tasks_tick" msgid "tick" msgstr "ticar" -#: src/modules/tasklist/cog.py:822 +#: src/modules/tasklist/cog.py:824 msgctxt "cmd:tasks_tick|desc" msgid "Mark the given tasks as completed." msgstr "Marca as tarefas como completadas." -#: src/modules/tasklist/cog.py:825 +#: src/modules/tasklist/cog.py:827 msgctxt "cmd:tasks_tick|param:taskidstr" msgid "tasks" msgstr "tarefas" -#: src/modules/tasklist/cog.py:826 +#: src/modules/tasklist/cog.py:828 msgctxt "cmd:tasks_tick|param:cascade" msgid "cascade" msgstr "cascata" -#: src/modules/tasklist/cog.py:831 +#: src/modules/tasklist/cog.py:833 msgctxt "cmd:tasks_tick|param:taskidstr|desc" msgid "" "List of task numbers or ranges to tick (e.g. 1, 2, 5-7, 8.1-3, 9-) or '-' to" " tick all." msgstr "" -"Lista de tarefas, ou intervalo de tarefas, a ticar (ex. 1, 2, 5-7, 8.1-3, " -"9-), ou '-' para ticar todas." +"Número, ou intervalo, das tarefas a serem ticadas (ex. 1, 2, 5-7, 8.1-3, " +"9-). Ou ˋ - ˋ para todas." -#: src/modules/tasklist/cog.py:835 +#: src/modules/tasklist/cog.py:837 msgctxt "cmd:tasks_tick|param:cascade|desc" msgid "Whether to also mark all subtasks as complete." msgstr "Se deverá marcar também as sub-tarefas como completadas." -#: src/modules/tasklist/cog.py:879 +#: src/modules/tasklist/cog.py:881 #, possible-python-brace-format msgctxt "cmd:tasks_tick|resp:success" msgid "{tick} Marked `{label}` as complete." @@ -448,41 +448,41 @@ msgstr[0] "{tick} Marquei ˋ{label}ˋ como completada." msgstr[1] "{tick} Marquei ˋ{count}ˋ tarefas como completadas." msgstr[2] "{tick} Marquei ˋ{count}ˋ tarefas como completadas." -#: src/modules/tasklist/cog.py:897 +#: src/modules/tasklist/cog.py:899 msgctxt "cmd:tasks_untick" msgid "untick" msgstr "des-ticar" -#: src/modules/tasklist/cog.py:898 +#: src/modules/tasklist/cog.py:900 msgctxt "cmd:tasks_untick|desc" msgid "Mark the given tasks as incomplete." msgstr "Marca a tarefa indicada como incompleta." -#: src/modules/tasklist/cog.py:901 +#: src/modules/tasklist/cog.py:903 msgctxt "cmd:tasks_untick|param:taskidstr" msgid "taskids" -msgstr "identificador da tarefa" +msgstr "id_tarefa" -#: src/modules/tasklist/cog.py:902 +#: src/modules/tasklist/cog.py:904 msgctxt "cmd:tasks_untick|param:cascade" msgid "cascade" msgstr "cascata" -#: src/modules/tasklist/cog.py:907 +#: src/modules/tasklist/cog.py:909 msgctxt "cmd:tasks_untick|param:taskidstr|desc" msgid "" "List of task numbers or ranges to untick (e.g. 1, 2, 5-7, 8.1-3, 9-) or '-' " "to untick all." msgstr "" -"Lista dos números das tarefas, ou intervalo, para des-ticar (ex. 1, 2, 5-7, " -"8.1-3, 9-), ou '-' para des-ticar todos." +"Número, ou intervalo, das tarefas a serem des-ticadas (ex. 1, 5-7, 8.1-3, " +"9-). Ou ˋ - ˋ para todas." -#: src/modules/tasklist/cog.py:911 +#: src/modules/tasklist/cog.py:913 msgctxt "cmd:tasks_untick|param:cascade|desc" msgid "Whether to also mark all subtasks as incomplete." msgstr "Se deverá marcar também as sub-tarefas como incompletas." -#: src/modules/tasklist/cog.py:952 +#: src/modules/tasklist/cog.py:954 #, possible-python-brace-format msgctxt "cmd:tasks_untick|resp:success" msgid "{tick} Marked `{label}` as incomplete." @@ -491,27 +491,27 @@ msgstr[0] "{tick} Marquei ˋ{label}ˋ como incompleta." msgstr[1] "{tick} Marquei ˋ{count}ˋ tarefas como incompletas." msgstr[2] "{tick} Marquei ˋ{count}ˋ tarefas como incompletas." -#: src/modules/tasklist/cog.py:976 +#: src/modules/tasklist/cog.py:978 msgctxt "cmd:configure_tasklist" msgid "tasklist" msgstr "lista_de_tarefas" -#: src/modules/tasklist/cog.py:977 +#: src/modules/tasklist/cog.py:979 msgctxt "cmd:configure_tasklist|desc" msgid "Tasklist configuration panel" msgstr "Painel de Configuração da Lista de Tarefas" -#: src/modules/tasklist/cog.py:980 +#: src/modules/tasklist/cog.py:982 msgctxt "cmd:configure_tasklist|param:reward" msgid "reward" msgstr "recompensa" -#: src/modules/tasklist/cog.py:981 +#: src/modules/tasklist/cog.py:983 msgctxt "cmd:configure_tasklist|param:reward_limit" msgid "reward_limit" -msgstr "limite_de_recompensas" +msgstr "limite_recompensa" -#: src/modules/tasklist/cog.py:1017 +#: src/modules/tasklist/cog.py:1018 #, possible-python-brace-format msgctxt "cmd:configure_tasklist|resp:success|desc" msgid "" @@ -726,17 +726,17 @@ msgstr "" "**Você não tem tarefas na sua lista de tarefas!**\n" "Adicione uma tarefa com {cmds[tasks new]}, ou clicando no {new_button} botão abaixo." -#: src/modules/tasklist/settings.py:33 +#: src/modules/tasklist/settings.py:35 msgctxt "guildset:task_reward" msgid "task_reward" -msgstr "recompensa_tarefas" +msgstr "recompensa_tarefa" -#: src/modules/tasklist/settings.py:36 +#: src/modules/tasklist/settings.py:38 msgctxt "guildset:task_reward|desc" msgid "Number of LionCoins given for each completed task." msgstr "Número de LionCoins dadas por cada tarefa completada." -#: src/modules/tasklist/settings.py:40 +#: src/modules/tasklist/settings.py:42 msgctxt "guildset:task_reward|long_desc" msgid "" "The number of coins members will be rewarded each time they complete a task " @@ -745,12 +745,12 @@ msgstr "" "O número de moedas que os membros serão recompensados a cada vez que eles " "completarem uma tarefa da sua lista." -#: src/modules/tasklist/settings.py:44 +#: src/modules/tasklist/settings.py:46 msgctxt "guildset:task_reward|accepts" msgid "The number of LionCoins to reward per task." msgstr "O número de LionCoins a recompensar por tarefa." -#: src/modules/tasklist/settings.py:56 +#: src/modules/tasklist/settings.py:58 #, possible-python-brace-format msgctxt "guildset:task_reward|response" msgid "" @@ -759,23 +759,23 @@ msgstr "" "Os membros serão recompensados {coin}**{amount}** por cada tarefa " "completada." -#: src/modules/tasklist/settings.py:65 +#: src/modules/tasklist/settings.py:67 #, possible-python-brace-format msgctxt "guildset:task_reward|formatted" msgid "{coin}**{amount}** per task." msgstr "{coin}**{amount}** por tarefa." -#: src/modules/tasklist/settings.py:73 +#: src/modules/tasklist/settings.py:76 msgctxt "guildset:task_reward_limit" msgid "task_reward_limit" msgstr "Limite_recompensa_tarefas" -#: src/modules/tasklist/settings.py:76 +#: src/modules/tasklist/settings.py:79 msgctxt "guildset:task_reward_limit|desc" msgid "Maximum number of task rewards given per 24h." msgstr "Número máximo de recompensa por tarefas dadas em 24h." -#: src/modules/tasklist/settings.py:80 +#: src/modules/tasklist/settings.py:83 msgctxt "guildset:task_reward_limit|long_desc" msgid "" "Maximum number of times in each 24h period that members will be rewarded for" @@ -784,12 +784,12 @@ msgstr "" "Número máximo de vezes, em 24h de intervalo, que membros serão recompensados" " por completar uma tarefa." -#: src/modules/tasklist/settings.py:85 +#: src/modules/tasklist/settings.py:88 msgctxt "guildset:task_reward_limit|accepts" msgid "The maximum number of tasks to reward LC for per 24h." msgstr "O número máximo de tarefas a recompensar com LionCoins a cada 24h." -#: src/modules/tasklist/settings.py:97 +#: src/modules/tasklist/settings.py:100 #, possible-python-brace-format msgctxt "guildset:task_reward_limit|response" msgid "" @@ -799,23 +799,23 @@ msgstr "" "Os membros irão ser recompensados por tarefas completadas até **{amount}** " "vezes a cada 24h." -#: src/modules/tasklist/settings.py:106 +#: src/modules/tasklist/settings.py:109 #, possible-python-brace-format msgctxt "guildset:task_reward_limit|formatted" msgid "`{number}` per 24 hours." msgstr "ˋ{number}ˋ a cada 24 horas." -#: src/modules/tasklist/settings.py:113 +#: src/modules/tasklist/settings.py:117 msgctxt "guildset:tasklist_channels" msgid "tasklist_channels" msgstr "canal_lista_de_tarefas" -#: src/modules/tasklist/settings.py:116 +#: src/modules/tasklist/settings.py:120 msgctxt "guildset:tasklist_channels|desc" msgid "Channels in which to publicly display member tasklists." msgstr "Canal em que será publicado o mostrador de tarefas dos membros." -#: src/modules/tasklist/settings.py:120 +#: src/modules/tasklist/settings.py:124 #, possible-python-brace-format msgctxt "guildset:tasklist_channels|long_desc" msgid "" @@ -832,12 +832,12 @@ msgstr "" "categoria de canais, todos os canais dentro desta categoria estarão com " "estas características." -#: src/modules/tasklist/settings.py:127 +#: src/modules/tasklist/settings.py:131 msgctxt "guildset:tasklist_channels|accepts" msgid "Comma separated list of tasklist channel names or ids." msgstr "Nome ou IDˋs dos canais de Lista de Tarefas, separados por vírgula. " -#: src/modules/tasklist/settings.py:144 +#: src/modules/tasklist/settings.py:148 #, possible-python-brace-format msgctxt "guildset:tasklist_channels|set_response|set" msgid "" @@ -847,42 +847,42 @@ msgstr "" "A lista de tarefas, estará agora, visível publicamente nos seguintes canais:" " {channels}" -#: src/modules/tasklist/settings.py:149 +#: src/modules/tasklist/settings.py:153 msgctxt "guildset:tasklist_channels|set_response|unset" msgid "Member tasklists will never be publicly displayed." msgstr "A lista de tarefas dos membros não irá ficar visíveis publicamente." -#: src/modules/tasklist/settings.py:158 +#: src/modules/tasklist/settings.py:162 msgctxt "guildset:tasklist_channels|set_using" msgid "Channel selector below." msgstr "Selecione canal abaixo." -#: src/modules/tasklist/settings.py:289 +#: src/modules/tasklist/settings.py:293 msgctxt "ui:tasklist_config|button:close|label" msgid "Close" msgstr "Fechar" -#: src/modules/tasklist/settings.py:290 +#: src/modules/tasklist/settings.py:294 msgctxt "ui:tasklist_config|button:reset|label" msgid "Reset" msgstr "Resetar" -#: src/modules/tasklist/settings.py:293 +#: src/modules/tasklist/settings.py:297 msgctxt "ui:tasklist_config|menu:channels|placeholder" msgid "Set Tasklist Channels" msgstr "Configurar Canal da Lista de Tarefas" -#: src/modules/tasklist/settings.py:311 +#: src/modules/tasklist/settings.py:315 msgctxt "ui:tasklist_config|embed|title" msgid "Tasklist Configuration Panel" msgstr "Painel de Configuração da Lista de Tarefas" -#: src/modules/tasklist/settings.py:320 +#: src/modules/tasklist/settings.py:324 msgctxt "dash:tasklist|name" -msgid "Tasklist Configuration ({commands[configure tasklist]})" -msgstr "Configuração da Lista de Tarefas ({commands[configure tasklist]})" +msgid "Tasklist Configuration ({commands[config tasklist]})" +msgstr "" -#: src/modules/tasklist/settings.py:323 +#: src/modules/tasklist/settings.py:327 msgctxt "dash:tasklist|dropdown|placeholder" msgid "Tasklist Options Panel" msgstr "Painel de Opções da Lista de Tarefas" diff --git a/locales/pt_BR/LC_MESSAGES/text-tracker.po b/locales/pt_BR/LC_MESSAGES/text-tracker.po index 992c667f..a8cf581f 100644 --- a/locales/pt_BR/LC_MESSAGES/text-tracker.po +++ b/locales/pt_BR/LC_MESSAGES/text-tracker.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-13 08:47+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,52 +21,52 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/tracking/text/cog.py:254 +#: src/tracking/text/cog.py:307 msgctxt "cmd:configure_message_exp" msgid "message_exp" msgstr "exp_message" -#: src/tracking/text/cog.py:257 +#: src/tracking/text/cog.py:310 msgctxt "cmd:configure_message_exp|desc" msgid "Configure Message Tracking & Experience" msgstr "Configurar Contabilizador de Mensagens e Experiência" -#: src/tracking/text/cog.py:320 +#: src/tracking/text/cog.py:372 msgctxt "cmd:leo_configure_exp_rates" msgid "experience_rates" msgstr "taxas_experiência" -#: src/tracking/text/cog.py:323 +#: src/tracking/text/cog.py:375 msgctxt "cmd:leo_configure_exp_rates|desc" msgid "Global experience rate configuration" msgstr "Configuração da Taxa global de experiência" -#: src/tracking/text/ui.py:45 +#: src/tracking/text/ui.py:46 msgctxt "ui:text_tracker_config|menu:untracked_channels|placeholder" msgid "Select Untracked Channels" msgstr "Selecione Canais não Contabilizados" -#: src/tracking/text/ui.py:52 +#: src/tracking/text/ui.py:53 msgctxt "ui:text_tracker_config|embed|title" msgid "Message Tracking Configuration Panel" msgstr "Painel de Configuração do Contabilizador de Mensagens" -#: src/tracking/text/ui.py:89 +#: src/tracking/text/ui.py:90 msgctxt "dash:text_tracking|title" -msgid "Message XP configuration ({commands[configure message_exp]})" -msgstr "Configuração de EXP em Mensagens ({commands[configure message_exp]})" +msgid "Message XP configuration ({commands[config message_exp]})" +msgstr "" -#: src/tracking/text/ui.py:93 +#: src/tracking/text/ui.py:94 msgctxt "dash:text_tracking|dropdown|placeholder" msgid "Message XP Panel" msgstr "Painel de EXP Mensagens" -#: src/tracking/text/settings.py:33 +#: src/tracking/text/settings.py:35 msgctxt "guildset:xp_per_period" msgid "xp_per_5min" msgstr "exp_por_5min" -#: src/tracking/text/settings.py:36 +#: src/tracking/text/settings.py:38 msgctxt "guildset:xp_per_period|desc" msgid "" "How much XP members will be given every 5 minute period they are active." @@ -74,7 +74,7 @@ msgstr "" "Quantidade de EXP que os membros receberão a cada 5 min que eles estiverem " "ativos." -#: src/tracking/text/settings.py:40 +#: src/tracking/text/settings.py:42 msgctxt "guildset:xp_per_period|long_desc" msgid "" "Amount of message XP to give members for each 5 minute period in which they " @@ -85,14 +85,14 @@ msgstr "" "estiverem ativos (enviando mensagem). Observe que EXP somente é dada *uma " "vez* cada período. " -#: src/tracking/text/settings.py:45 +#: src/tracking/text/settings.py:47 msgctxt "guildset:xp_per_period|accepts" msgid "Number of message XP to reward per 5 minute active period." msgstr "" "Número de EXP em mensagens a recompensar por cada 5 min de atividade no " "período." -#: src/tracking/text/settings.py:57 +#: src/tracking/text/settings.py:59 #, possible-python-brace-format msgctxt "guildset:xp_per_period|set_response" msgid "" @@ -102,18 +102,18 @@ msgstr "" "Para todos 5min que eles estiverem ativos (em que ele tenha enviado " "mensagens), os membros receberão **{amount}**EXP." -#: src/tracking/text/settings.py:65 +#: src/tracking/text/settings.py:68 msgctxt "guildset:word_xp" msgid "xp_per_100words" msgstr "exp_por_100palavras" -#: src/tracking/text/settings.py:68 +#: src/tracking/text/settings.py:71 msgctxt "guildset:word_xp|desc" msgid "How much XP members will be given per hundred words they write." msgstr "" "Quanto os membros receberão em EXP para cada centena de palavras escritas." -#: src/tracking/text/settings.py:72 +#: src/tracking/text/settings.py:75 msgctxt "guildset:word_xp|long_desc" msgid "" "Amount of message XP to be given (additionally to the XP per period) for " @@ -123,12 +123,12 @@ msgstr "" " por cada cem palavras. Útil para incentivar a interação dos membros através" " de recompensas. " -#: src/tracking/text/settings.py:77 +#: src/tracking/text/settings.py:80 msgctxt "guildset:word_xp|accepts" msgid "Number of XP to reward per hundred words sent." msgstr "Número de EXP a recompensar por centena de palavras enviadas." -#: src/tracking/text/settings.py:89 +#: src/tracking/text/settings.py:92 #, possible-python-brace-format msgctxt "guildset:word_xp|set_response" msgid "" @@ -138,17 +138,17 @@ msgstr "" "Para cada **100** palavras enviadas, os membros agora receberão um adicional" " de **{amount}** EXP." -#: src/tracking/text/settings.py:95 +#: src/tracking/text/settings.py:99 msgctxt "guildset:untracked_text_channels" msgid "untracked_text_channels" msgstr "canais_texto_não_contabilizados" -#: src/tracking/text/settings.py:98 +#: src/tracking/text/settings.py:102 msgctxt "guildset:untracked_text_channels|desc" msgid "Channels in which Message XP will not be given." msgstr "Canais em que não será dado EXP por Mensagens." -#: src/tracking/text/settings.py:102 +#: src/tracking/text/settings.py:106 msgctxt "guildset:untracked_text_channels|long_desc" msgid "" "Messages sent in these channels will not count towards a member's message " @@ -159,19 +159,19 @@ msgstr "" "Mensagens. Se uma categoria for selecionada, então todos os canais abaixo " "desta categoria, também serão não-contabilizáveis." -#: src/tracking/text/settings.py:107 +#: src/tracking/text/settings.py:111 msgctxt "guildset:untracked_text_channels|accepts" msgid "Comma separated list of untracked text channel names or ids." msgstr "" "Lista de nomes, ou IDˋs, dos canais em que as mensagens são não-" "contabilizáveis, separados por vírgula." -#: src/tracking/text/settings.py:111 +#: src/tracking/text/settings.py:115 msgctxt "guildset:untracked_text_channels|notset" msgid "Not Set (all text channels will be tracked.)" msgstr "Não configurado (todos os canais serão contabilizáveis)." -#: src/tracking/text/settings.py:128 +#: src/tracking/text/settings.py:132 #, possible-python-brace-format msgctxt "guildset:untracked_text_channels|set_response|set" msgid "" @@ -179,22 +179,22 @@ msgid "" msgstr "" "Mensagens nestes seguintes canais, serão ignoradas da contagem: {channels} " -#: src/tracking/text/settings.py:133 +#: src/tracking/text/settings.py:137 msgctxt "guildset:untracked_text_channels|set_response|notset" msgid "Message XP will now be tracked in every channel." msgstr "EXP em Mensagens serão agora acumuladas em todos os canais." -#: src/tracking/text/settings.py:142 +#: src/tracking/text/settings.py:146 msgctxt "guildset:untracked_text_channels|set_using" msgid "Channel selector below" msgstr "Seletor de canais abaixo" -#: src/tracking/text/settings.py:173 +#: src/tracking/text/settings.py:177 msgctxt "botset:xp_per_period" msgid "xp_per_5min" msgstr "exp_por_5min" -#: src/tracking/text/settings.py:176 +#: src/tracking/text/settings.py:180 msgctxt "botset:xp_per_period|desc" msgid "" "How much global XP members will be given every 5 minute period they are " @@ -203,7 +203,7 @@ msgstr "" "Quanto de EXP Global os membros receberão por cada período de 5 minutos que " "estiverem ativos. " -#: src/tracking/text/settings.py:180 +#: src/tracking/text/settings.py:184 msgctxt "botset:xp_per_period|long_desc" msgid "" "Amount of global message XP to give members for each 5 minute period in " @@ -214,14 +214,14 @@ msgstr "" "período de 5 minutos em que eles estiverem ativos (enviando mensagens). " "Observe que será dado apenas *uma vez* a cada período." -#: src/tracking/text/settings.py:186 +#: src/tracking/text/settings.py:190 msgctxt "botset:xp_per_period|accepts" msgid "Number of message XP to reward per 5 minute active period." msgstr "" "Número de EXP em Mensagens a recompensar por cada período de 5 minutos de " "atividade. " -#: src/tracking/text/settings.py:198 +#: src/tracking/text/settings.py:202 #, possible-python-brace-format msgctxt "leoset:xp_per_period|set_response" msgid "" @@ -231,19 +231,19 @@ msgstr "" "Para cada **5** minutos de atividade (em que eles estiverem enviando " "mensagens), todos os usuários receberão **{amount}** de EXP Global." -#: src/tracking/text/settings.py:206 +#: src/tracking/text/settings.py:210 msgctxt "botset:word_xp" msgid "xp_per_100words" msgstr "exp_por_100palavras" -#: src/tracking/text/settings.py:209 +#: src/tracking/text/settings.py:213 msgctxt "botset:word_xp|desc" msgid "How much global XP members will be given per hundred words they write." msgstr "" "Quantidade de EXP Global que os membros receberão por centena de palavras " "que escreverem." -#: src/tracking/text/settings.py:213 +#: src/tracking/text/settings.py:217 msgctxt "botset:word_xp|long_desc" msgid "" "Amount of global message XP to be given (additionally to the XP per period) " @@ -253,12 +253,12 @@ msgstr "" " por cada cem palavras. Útil para incentivar a interação dos membros através" " de recompensas. " -#: src/tracking/text/settings.py:218 +#: src/tracking/text/settings.py:222 msgctxt "botset:word_xp|accepts" msgid "Number of XP to reward per hundred words sent." msgstr "Número de EXP a recompensar por cada centena de palavras enviadas." -#: src/tracking/text/settings.py:230 +#: src/tracking/text/settings.py:234 #, possible-python-brace-format msgctxt "leoset:word_xp|set_response" msgid "" diff --git a/locales/pt_BR/LC_MESSAGES/user_config.po b/locales/pt_BR/LC_MESSAGES/user_config.po index 872ea592..f424ce1f 100644 --- a/locales/pt_BR/LC_MESSAGES/user_config.po +++ b/locales/pt_BR/LC_MESSAGES/user_config.po @@ -25,7 +25,7 @@ msgstr "" #: src/modules/user_config/cog.py:38 msgctxt "userset:timezone" msgid "timezone" -msgstr "fuso horário" +msgstr "fuso_horário" #: src/modules/user_config/cog.py:41 msgctxt "userset:timezone|desc" diff --git a/locales/pt_BR/LC_MESSAGES/utils.po b/locales/pt_BR/LC_MESSAGES/utils.po index 6de309c9..a2076598 100644 --- a/locales/pt_BR/LC_MESSAGES/utils.po +++ b/locales/pt_BR/LC_MESSAGES/utils.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -30,87 +30,85 @@ msgstr "página" msgctxt "cmd:page|desc" msgid "" "Jump to a given page of the ouput of a previous command in this channel." -msgstr "" -"Comando utilizado para ir diretamente para uma determinada página de um " -"painel que esteja sendo mostrado pelo Lion neste canal." +msgstr "Ir diretamente para a página informada, do painel mostrado no canal." -#: src/utils/cog.py:34 +#: src/utils/cog.py:35 msgctxt "cmd:page|error:no_pager" msgid "No pager listening in this channel!" msgstr "Não há nenhum painel sendo mostrado neste canal." -#: src/utils/cog.py:45 +#: src/utils/cog.py:46 msgctxt "cmd:page_next" msgid "next" msgstr "próximo" -#: src/utils/cog.py:46 +#: src/utils/cog.py:47 msgctxt "cmd:page_next|desc" msgid "Jump to the next page of output." msgstr "" "Comando utilizado para ir para a próxima página do painel mostrado no canal." -#: src/utils/cog.py:52 +#: src/utils/cog.py:53 msgctxt "cmd:page_prev" msgid "prev" msgstr "anterior" -#: src/utils/cog.py:53 +#: src/utils/cog.py:54 msgctxt "cmd:page_prev|desc" msgid "Jump to the previous page of output." msgstr "" "Comando utilizado para ir para a página anterior do painel mostrado no " "canal." -#: src/utils/cog.py:59 +#: src/utils/cog.py:60 msgctxt "cmd:page_first" msgid "first" -msgstr "Primeira" +msgstr "primeira" -#: src/utils/cog.py:60 +#: src/utils/cog.py:61 msgctxt "cmd:page_first|desc" msgid "Jump to the first page of output." msgstr "" "Comando utilizado para ir para a primeira página do painel mostrado no " "canal." -#: src/utils/cog.py:66 +#: src/utils/cog.py:67 msgctxt "cmd:page_last" msgid "last" msgstr "última" -#: src/utils/cog.py:67 +#: src/utils/cog.py:68 msgctxt "cmd:page_last|desc" msgid "Jump to the last page of output." msgstr "" "Comando utilizado para ir para a última página do painel mostrado no canal." -#: src/utils/cog.py:73 +#: src/utils/cog.py:74 msgctxt "cmd:page_select" msgid "select" msgstr "selecionar" -#: src/utils/cog.py:74 +#: src/utils/cog.py:75 msgctxt "cmd:page_select|desc" msgid "Select a page of the output to jump to." msgstr "Comando utilizado para selecionar a página para ir diretamente a ela." -#: src/utils/cog.py:77 +#: src/utils/cog.py:78 msgctxt "cmd:page_select|param:page" msgid "page" msgstr "página" -#: src/utils/cog.py:80 +#: src/utils/cog.py:81 msgctxt "cmd:page_select|param:page|desc" msgid "The page name or number to jump to." msgstr "O nome da página ou número para ir até ela." -#: src/utils/cog.py:86 +#: src/utils/cog.py:87 msgctxt "cmd:page_select|error:no_pager" msgid "No pager listening in this channel!" msgstr "Sem pager listado neste canal!" -#: src/utils/cog.py:97 +#: src/utils/cog.py:98 msgctxt "cmd:page_select|acmpl|error:no_pager" msgid "No active pagers in this channel!" msgstr "Não há pagers ativos neste canal!" @@ -127,26 +125,34 @@ msgctxt "util:Duration|acmpl|error" msgid "Cannot extract duration from \"{partial}\"" msgstr "Não pude extrair a duração de ˋ{partial}ˋ" -#: src/utils/lib.py:678 +#: src/utils/lib.py:683 msgctxt "util:parse_dur|regex:day" msgid "(?P\\d+)\\s*(?:(d)|(day))" msgstr "(?P\\d+)\\s*(?:(d)|(dia))" -#: src/utils/lib.py:685 +#: src/utils/lib.py:690 msgctxt "util:parse_dur|regex:hour" msgid "(?P\\d+)\\s*(?:(h)|(hour))" msgstr "(?P\\d+)\\s*(?:(h)|(hora))" -#: src/utils/lib.py:692 +#: src/utils/lib.py:697 msgctxt "util:parse_dur|regex:minute" msgid "(?P\\d+)\\s*(?:(m)|(min))" msgstr "(?P\\d+)\\s*(?:(m)|(min))" -#: src/utils/lib.py:699 +#: src/utils/lib.py:704 msgctxt "util:parse_dur|regex:second" msgid "(?P\\d+)\\s*(?:(s)|(sec))" msgstr "(?P\\d+)\\s*(?:(s)|(seg))" +#: src/utils/lib.py:907 +#, possible-python-brace-format +msgctxt "parse_timestamp|error:parse" +msgid "" +"Could not parse `{given}` as a valid reminder time. Try entering the time in" +" the form `HH:MM` or `YYYY-MM-DD HH:MM`." +msgstr "" + #: src/utils/ui/config.py:35 msgctxt "ui:configui|modal:edit|title" msgid "Setting Editor" @@ -159,17 +165,17 @@ msgstr "" "Você não tem permissões suficientes para usar esta Interface do Usuário " "deste servidor!" -#: src/utils/ui/config.py:153 +#: src/utils/ui/config.py:157 msgctxt "ui:configui|button:edit|label" msgid "Edit" msgstr "Editar" -#: src/utils/ui/config.py:192 +#: src/utils/ui/config.py:196 msgctxt "ui:guild_config_base|button:reset|label" msgid "Reset" msgstr "Resetar" -#: src/utils/ui/config.py:327 +#: src/utils/ui/config.py:331 msgctxt "ui:dashboard|error:section_too_long" msgid "" "Oops, the settings in this configuration section are too large, and I can " @@ -296,32 +302,42 @@ msgctxt "ui:msg_editor|button:add_embed|label" msgid "Add Embed" msgstr "Adicionar Integração" -#: src/utils/ui/msgeditor.py:192 +#: src/utils/ui/msgeditor.py:190 +msgctxt "ui:msg_editor|button:rm_embed|sample_content" +msgid "Content Placeholder" +msgstr "" + +#: src/utils/ui/msgeditor.py:199 +msgctxt "ui:msg_editor|button:rm_embed|label" +msgid "Remove Embed" +msgstr "" + +#: src/utils/ui/msgeditor.py:217 msgctxt "ui:msg_editor|modal:body|field:content|label" msgid "Message Content" msgstr "Conteúdo da Mensagem" -#: src/utils/ui/msgeditor.py:203 +#: src/utils/ui/msgeditor.py:228 msgctxt "ui:msg_editor|modal:body|field:desc|label" msgid "Embed Description" msgstr "Descrição da Integração" -#: src/utils/ui/msgeditor.py:214 +#: src/utils/ui/msgeditor.py:239 msgctxt "ui:msg_editor|modal:body|field:title|label" msgid "Embed Title" msgstr "Título integrado" -#: src/utils/ui/msgeditor.py:225 +#: src/utils/ui/msgeditor.py:250 msgctxt "ui:msg_editor|modal:body|field:colour|label" msgid "Embed Colour" msgstr "Cor em Integração" -#: src/utils/ui/msgeditor.py:240 +#: src/utils/ui/msgeditor.py:265 msgctxt "ui:msg_editor|modal:body|title" msgid "Message Body Editor" msgstr "Editor de Corpo de Mensagem" -#: src/utils/ui/msgeditor.py:265 +#: src/utils/ui/msgeditor.py:290 msgctxt "ui:msg_editor|button:body|error:invalid_colour" msgid "" "Invalid colour format! Please enter colours as hex codes, e.g. `#E67E22`" @@ -329,208 +345,208 @@ msgstr "" "Cor em formato inválido! Por favor, insira cores como códigos HEX, Ex. " "ˋ#E67E22ˋ" -#: src/utils/ui/msgeditor.py:285 +#: src/utils/ui/msgeditor.py:310 msgctxt "ui:msg_editor|button:body|label" msgid "Body" msgstr "Corpo" -#: src/utils/ui/msgeditor.py:302 +#: src/utils/ui/msgeditor.py:327 msgctxt "ui:msg_editor|modal:author|field:name|label" msgid "Author Name" msgstr "Nome do Autor" -#: src/utils/ui/msgeditor.py:313 +#: src/utils/ui/msgeditor.py:338 msgctxt "ui:msg_editor|modal:author|field:link|label" msgid "Author URL" msgstr "Link do Autor" -#: src/utils/ui/msgeditor.py:323 +#: src/utils/ui/msgeditor.py:348 msgctxt "ui:msg_editor|modal:author|field:image|label" msgid "Author Image URL" msgstr "Link da Imagem do Autor" -#: src/utils/ui/msgeditor.py:334 +#: src/utils/ui/msgeditor.py:359 msgctxt "ui:msg_editor|modal:author|title" msgid "Embed Author Editor" msgstr "Editor Integrado do Autor" -#: src/utils/ui/msgeditor.py:360 +#: src/utils/ui/msgeditor.py:385 msgctxt "ui:msg_editor|button:author|label" msgid "Author" msgstr "Autor" -#: src/utils/ui/msgeditor.py:377 +#: src/utils/ui/msgeditor.py:402 msgctxt "ui:msg_editor|modal:footer|field:text|label" msgid "Footer Text" msgstr "Texto de Rodapé" -#: src/utils/ui/msgeditor.py:388 +#: src/utils/ui/msgeditor.py:413 msgctxt "ui:msg_editor|modal:footer|field:image|label" msgid "Footer Image URL" msgstr "Link da Image de Rodapé" -#: src/utils/ui/msgeditor.py:398 +#: src/utils/ui/msgeditor.py:423 msgctxt "ui:msg_editor|modal:footer|field:timestamp|label" msgid "Embed Timestamp (in ISO format)" msgstr "Link integrado de Data/Hora (em formato ISO)" -#: src/utils/ui/msgeditor.py:410 +#: src/utils/ui/msgeditor.py:435 msgctxt "ui:msg_editor|modal:footer|title" msgid "Embed Footer Editor" msgstr "Editor de Rodapé Integrado" -#: src/utils/ui/msgeditor.py:429 +#: src/utils/ui/msgeditor.py:454 msgctxt "ui:msg_editor|button:footer|error:invalid_timestamp" msgid "Invalid timestamp! Please enter the timestamp in ISO format." msgstr "" "Tempo Data/Hora inválidos! Por favor, adicione a Data/Hora em formato ISO." -#: src/utils/ui/msgeditor.py:449 +#: src/utils/ui/msgeditor.py:474 msgctxt "ui:msg_editor|button:footer|label" msgid "Footer" msgstr "Rodapé" -#: src/utils/ui/msgeditor.py:467 +#: src/utils/ui/msgeditor.py:492 msgctxt "ui:msg_editor|modal:images|field:thumb|label" msgid "Thumbnail Image URL" msgstr "Link de Miniatura de Imagem " -#: src/utils/ui/msgeditor.py:477 +#: src/utils/ui/msgeditor.py:502 msgctxt "ui:msg_editor|modal:images|field:image|label" msgid "Embed Image URL" msgstr "Inserir Link de imagem" -#: src/utils/ui/msgeditor.py:487 +#: src/utils/ui/msgeditor.py:512 msgctxt "ui:msg_editor|modal:images|title" msgid "Embed images Editor" msgstr "Editor de Imagens Integrado" -#: src/utils/ui/msgeditor.py:517 +#: src/utils/ui/msgeditor.py:542 msgctxt "ui:msg_editor|button:images|label" msgid "Images" msgstr "Imagens" -#: src/utils/ui/msgeditor.py:535 +#: src/utils/ui/msgeditor.py:560 msgctxt "ui:msg_editor|modal:add_field|field:position|label" msgid "Field number to insert at" msgstr "Campo de Número a inserir " -#: src/utils/ui/msgeditor.py:545 +#: src/utils/ui/msgeditor.py:570 msgctxt "ui:msg_editor|modal:add_field|field:name|label" msgid "Field name" msgstr "Nome do Campo" -#: src/utils/ui/msgeditor.py:555 +#: src/utils/ui/msgeditor.py:580 msgctxt "ui:msg_editor|modal:add_field|field:value|label" msgid "Field value" msgstr "Valor do Campo" -#: src/utils/ui/msgeditor.py:565 +#: src/utils/ui/msgeditor.py:590 msgctxt "ui:msg_editor|modal:add_field|field:inline|label" msgid "Whether the field is inline" msgstr "Se o campo é linear" -#: src/utils/ui/msgeditor.py:569 +#: src/utils/ui/msgeditor.py:594 msgctxt "ui:msg_editor|modal:add_field|field:inline|placeholder" msgid "True/False" msgstr "Verdadeiro/Falso" -#: src/utils/ui/msgeditor.py:582 +#: src/utils/ui/msgeditor.py:607 msgctxt "ui:msg_editor|modal:add_field|title" msgid "Add Embed Field" msgstr "Adicionar Campo Integrado" -#: src/utils/ui/msgeditor.py:602 +#: src/utils/ui/msgeditor.py:627 msgctxt "ui:msg_editor|modal:add_field|error:position_not_int" msgid "The field position must be an integer!" msgstr "O valor do campo precisa ser um valor inteiro!" -#: src/utils/ui/msgeditor.py:621 +#: src/utils/ui/msgeditor.py:646 msgctxt "ui:msg_editor|button:add_field|label" msgid "Add Field" msgstr "Adicione Campo" -#: src/utils/ui/msgeditor.py:637 +#: src/utils/ui/msgeditor.py:662 msgctxt "ui:msg_editor|format_field|name_placeholder" msgid "-" msgstr "-" -#: src/utils/ui/msgeditor.py:666 +#: src/utils/ui/msgeditor.py:691 msgctxt "ui:msg_editor|modal:edit_field|field:name|label" msgid "Field name" msgstr "Nome do campo" -#: src/utils/ui/msgeditor.py:677 +#: src/utils/ui/msgeditor.py:702 msgctxt "ui:msg_editor|modal:edit_field|field:value|label" msgid "Field value" msgstr "Valor do campo" -#: src/utils/ui/msgeditor.py:688 +#: src/utils/ui/msgeditor.py:713 msgctxt "ui:msg_editor|modal:edit_field|field:inline|label" msgid "Whether the field is inline" msgstr "Se o campo é linear" -#: src/utils/ui/msgeditor.py:692 +#: src/utils/ui/msgeditor.py:717 msgctxt "ui:msg_editor|modal:edit_field|field:inline|placeholder" msgid "True/False" msgstr "Verdadeiro/Falso" -#: src/utils/ui/msgeditor.py:704 +#: src/utils/ui/msgeditor.py:729 msgctxt "ui:msg_editor|modal:edit_field|title" msgid "Edit Embed Field" msgstr "Editar Campo Integrado" -#: src/utils/ui/msgeditor.py:733 +#: src/utils/ui/msgeditor.py:758 msgctxt "ui:msg_editor|menu:edit_field|placeholder" msgid "Edit Embed Field" msgstr "Editar Campo Integrado" -#: src/utils/ui/msgeditor.py:772 +#: src/utils/ui/msgeditor.py:797 msgctxt "ui:msg_deleteor|menu:delete_field|placeholder" msgid "Remove Embed Field" msgstr "Remover Campo Integrado" -#: src/utils/ui/msgeditor.py:808 +#: src/utils/ui/msgeditor.py:833 msgctxt "ui:msg_editor|button:save|label" msgid "Save" msgstr "Salvar" -#: src/utils/ui/msgeditor.py:833 +#: src/utils/ui/msgeditor.py:858 msgctxt "ui:msg_editor|button:download|label" msgid "Download" msgstr "Download" -#: src/utils/ui/msgeditor.py:852 +#: src/utils/ui/msgeditor.py:877 msgctxt "ui:msg_editor|button:undo|label" msgid "Undo" msgstr "Desfazer" -#: src/utils/ui/msgeditor.py:872 +#: src/utils/ui/msgeditor.py:897 msgctxt "ui:msg_editor|button:redo|label" msgid "Redo" msgstr "Refazer" -#: src/utils/ui/msgeditor.py:891 +#: src/utils/ui/msgeditor.py:916 msgctxt "ui:msg_editor|button:quit|confirm" msgid "You have unsaved changes! Are you sure you want to quit?" msgstr "Você tem mudanças não salvas! Tem certeza que deseja sair?" -#: src/utils/ui/msgeditor.py:896 +#: src/utils/ui/msgeditor.py:921 msgctxt "ui:msg_editor|button:quit|confirm|button:yes" msgid "Yes, Quit Now" msgstr "Sim! Sair Agora." -#: src/utils/ui/msgeditor.py:902 +#: src/utils/ui/msgeditor.py:927 msgctxt "ui:msg_editor|button:quit|confirm|button:no" msgid "No, Go Back" msgstr "Não, Retornar." -#: src/utils/ui/msgeditor.py:996 +#: src/utils/ui/msgeditor.py:1025 msgctxt "ui:msg_editor|timeout_warning|title" msgid "Warning!" msgstr "Atenção!" -#: src/utils/ui/msgeditor.py:1000 +#: src/utils/ui/msgeditor.py:1029 #, possible-python-brace-format msgctxt "ui:msg_editor|timeout_warning|desc" msgid "" @@ -540,7 +556,7 @@ msgstr "" "Esta interface irá finalizar em {timestamp}. Para continuar editando, " "pressione ˋContinuarˋ." -#: src/utils/ui/msgeditor.py:1009 +#: src/utils/ui/msgeditor.py:1038 msgctxt "ui:msg_editor|timeout_warning|continue" msgid "Continue" msgstr "Continuar" diff --git a/locales/pt_BR/LC_MESSAGES/video.po b/locales/pt_BR/LC_MESSAGES/video.po index 4edaafeb..f6569a49 100644 --- a/locales/pt_BR/LC_MESSAGES/video.po +++ b/locales/pt_BR/LC_MESSAGES/video.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,33 +21,32 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/modules/video_channels/settingui.py:57 +#: src/modules/video_channels/settingui.py:58 msgctxt "ui:video_config|menu:channels|placeholder" msgid "Select Video Channels" msgstr "Selecione os Canais de Vídeo" -#: src/modules/video_channels/settingui.py:82 +#: src/modules/video_channels/settingui.py:84 msgctxt "ui:video_config|menu:exempt|placeholder" msgid "Select Exempt Roles" msgstr "Selecione Cargos Excepcionados" -#: src/modules/video_channels/settingui.py:109 +#: src/modules/video_channels/settingui.py:112 msgctxt "ui:video_config|menu:video_blacklist|placeholder" msgid "Select Blacklist Role" msgstr "Selecione o Cargo ListaNegra" -#: src/modules/video_channels/settingui.py:117 +#: src/modules/video_channels/settingui.py:120 msgctxt "ui:video_config|embed|title" msgid "Video Channel Configuration Panel" msgstr "Painel de Configuração de Canais de Video" -#: src/modules/video_channels/settingui.py:156 +#: src/modules/video_channels/settingui.py:159 msgctxt "dash:video|title" -msgid "Video Channel Settings ({commands[configure video_channels]})" +msgid "Video Channel Settings ({commands[admin config video_channels]})" msgstr "" -"Configuração de Canais de Vídeo ({commands[configure_video_channels]})" -#: src/modules/video_channels/settingui.py:160 +#: src/modules/video_channels/settingui.py:163 msgctxt "dash:video|option|name" msgid "Video Channel Panel" msgstr "Painel de Canais de Vídeo" @@ -175,17 +174,17 @@ msgctxt "cmd:configure_video|desc" msgid "Configure video-only channels and blacklisting." msgstr "Configure canais somente para vídeo, e da Lista Negra." -#: src/modules/video_channels/settings.py:29 +#: src/modules/video_channels/settings.py:31 msgctxt "guildset:video_channels" msgid "video_channels" msgstr "canais_de_vídeo" -#: src/modules/video_channels/settings.py:32 +#: src/modules/video_channels/settings.py:34 msgctxt "guildset:video_channels|desc" msgid "List of voice channels and categories in which to enforce video." msgstr "Lista de canais e/ou categorias em que a câmera deve ser obrigatória." -#: src/modules/video_channels/settings.py:36 +#: src/modules/video_channels/settings.py:38 msgctxt "guildset:video_channels|long_desc" msgid "" "Member will be required to turn on their video in these channels.\n" @@ -196,12 +195,12 @@ msgstr "" "Caso eles não habilitem o seu vídeo dentro de 15 segundos, eles irão ser notificados por mensagem direta, ou no \"canal_de_alertasˋ. Caso, ainda assim, continue com a câmera desligada, será contado o tempo configurado em \"tempo_tolerância_câmera\" e então serão retirados do canal. Se o membro reincidir no comportamento depois da primeira vez que for retirado do canal (que é considerada como um aviso), ele será incluído na \"lista_negra_de_video\" e receberá o cargo \"listanegra_câmera\", caso configurado, o que o proibirá de entrar nos canais de vídeo.\n" "Usualmente, se você configurar toda uma categoria, todos os canais de voz desta estarão sobre estas regras. " -#: src/modules/video_channels/settings.py:50 +#: src/modules/video_channels/settings.py:52 msgctxt "guildset:video_channels|accepts" msgid "Comma separated channel ids or names." msgstr "Nomes dos canais, ou IDˋs, separados por vírgula." -#: src/modules/video_channels/settings.py:67 +#: src/modules/video_channels/settings.py:69 #, possible-python-brace-format msgctxt "guildset:video_channels|set_response:set" msgid "" @@ -211,22 +210,22 @@ msgstr "" "Os membros serão orientados a ligar suas câmeras nos seguintes canais: " "{channels}" -#: src/modules/video_channels/settings.py:72 +#: src/modules/video_channels/settings.py:74 msgctxt "guildset:video_channels|set_response:unset" msgid "Members will not be asked to turn on their video in any channels." msgstr "Os membros não serão orientados a ligar suas câmeras em nenhum canal." -#: src/modules/video_channels/settings.py:105 +#: src/modules/video_channels/settings.py:108 msgctxt "guildset:video_blacklist" msgid "video_blacklist" msgstr "listanegra_câmera" -#: src/modules/video_channels/settings.py:108 +#: src/modules/video_channels/settings.py:111 msgctxt "guildset:video_blacklist|desc" msgid "Role given when members are blacklisted from video channels." msgstr "Cargo dado a quem foi inscrito na Lista Negra dos canais de vídeo." -#: src/modules/video_channels/settings.py:112 +#: src/modules/video_channels/settings.py:115 msgctxt "guildset:video_blacklist|long_desc" msgid "" "This role will be automatically given after a member has failed to keep their video enabled in a video channel (see above).\n" @@ -238,19 +237,19 @@ msgstr "" "Os membros que tiverem este cargo não estarão aptos a entrar nos canais de vídeo configurados como de uso obrigatório de webcam. As permissões do cargo podem ser facilmente definidas manualmente pela moderação, com o mesmo efeito.\n" "Se o cargo não for configurado, não haverá uma proibição para reincidentes. Os membros somente irão ser kickados do canal e alertados por mensagem direta. " -#: src/modules/video_channels/settings.py:123 +#: src/modules/video_channels/settings.py:126 msgctxt "guildset:video_blacklist|accepts" msgid "Blacklist role name or id." msgstr "Nome ou ID do cargo da Lista Negra " -#: src/modules/video_channels/settings.py:138 +#: src/modules/video_channels/settings.py:141 #, possible-python-brace-format msgctxt "guildset:video_blacklist|set_response:set" msgid "Members who fail to keep their video on will be given {role}" msgstr "" "Os membros que deixarem de ligar sua câmera, serão atribuídos ao {role}." -#: src/modules/video_channels/settings.py:143 +#: src/modules/video_channels/settings.py:146 msgctxt "guildset:video_blacklist|set_response:unset" msgid "" "Members will no longer be automatically blacklisted from video channels." @@ -258,24 +257,24 @@ msgstr "" "Membros não serão automaticamente colocados na Lista Negra de salas de " "vídeo." -#: src/modules/video_channels/settings.py:155 +#: src/modules/video_channels/settings.py:158 msgctxt "guildset:video_blacklist|formatted:unset" msgid "Not Set. (Members will not be automatically blacklisted.)" msgstr "" "Não configurado. (Membros não serão atribuídos a um cargo de Lista Negra.)" -#: src/modules/video_channels/settings.py:162 +#: src/modules/video_channels/settings.py:166 msgctxt "guildset:video_durations" msgid "video_blacklist_durations" msgstr "câmera_listanegra_duração" -#: src/modules/video_channels/settings.py:165 +#: src/modules/video_channels/settings.py:169 msgctxt "guildset:video_durations|desc" msgid "Sequence of durations for automatic video blacklists." msgstr "" "Sequência de reincidências para ser automáticamente listado na Lista Negra." -#: src/modules/video_channels/settings.py:169 +#: src/modules/video_channels/settings.py:173 msgctxt "guildset:video_durations|long_desc" msgid "" "When `video_blacklist` is set and members fail to turn on their video within the configured `video_grace_period`, they will be automatically blacklisted (i.e. given the `video_blacklist` role).\n" @@ -286,30 +285,30 @@ msgstr "" "Esta configuração define *quanto tempo* o membro ficará na lista negra por cada infração.\n" "Ex. Se estiver configurado ˋ1d, 7d, 30dˋ, então na primeira infração, ele ficará proibido por 1 dia, na segunda por 7 e na terceira por 30 dias. Uma quarta falta será permanente." -#: src/modules/video_channels/settings.py:181 +#: src/modules/video_channels/settings.py:185 msgctxt "guildset:video_durations|accepts" msgid "Comma separated list of durations." msgstr "Lista de duração, separada por vírgulas." -#: src/modules/video_channels/settings.py:208 +#: src/modules/video_channels/settings.py:212 #, possible-python-brace-format msgctxt "guildset:video_durations|set_response:set" msgid "Members will be automatically blacklisted for: {durations}" msgstr "" "Os membros serão automaticamente listados na Lista Negra por: {durations}" -#: src/modules/video_channels/settings.py:213 +#: src/modules/video_channels/settings.py:217 msgctxt "guildset:video_durations|set_response:unset" msgid "Video blacklists are now always permanent." msgstr "" "A partir de agora, a reincidência não irá ser temporária, será permanente." -#: src/modules/video_channels/settings.py:221 +#: src/modules/video_channels/settings.py:226 msgctxt "guildset:video_grace_period" msgid "video_grace_period" msgstr "tempo_tolerância_câmera" -#: src/modules/video_channels/settings.py:224 +#: src/modules/video_channels/settings.py:229 msgctxt "guildset:video_grace_period|desc" msgid "" "How long to wait (in seconds) before kicking/blacklist members who don't " @@ -318,7 +317,7 @@ msgstr "" "Quanto tempo esperar (em segundos) antes de kickar/proibir membros que não " "ligarem suas câmeras." -#: src/modules/video_channels/settings.py:228 +#: src/modules/video_channels/settings.py:233 msgctxt "guildset:video_grace_period|long_desc" msgid "" "The length of time a member has to enable their video after joining a video " @@ -330,29 +329,29 @@ msgstr "" "ele será kickado do canal e poderá ser inscrito na Lista Negra de canais de " "vídeo." -#: src/modules/video_channels/settings.py:234 +#: src/modules/video_channels/settings.py:239 msgctxt "guildset:video_grace_period|accepts" msgid "How many seconds to wait for a member to enable video." msgstr "Quantos segundos aguardar para um membro habilitar sua câmera." -#: src/modules/video_channels/settings.py:248 +#: src/modules/video_channels/settings.py:253 #, possible-python-brace-format msgctxt "guildset:video_grace_period|set_response:set" msgid "Members will now have **{duration}** to enable their video." msgstr "" "Os membros terão, a partir de agora, **{duration}** para ligar sua câmera." -#: src/modules/video_channels/settings.py:256 +#: src/modules/video_channels/settings.py:262 msgctxt "guildset:video_exempt" msgid "video_exempt" msgstr "vídeo_excepcionados" -#: src/modules/video_channels/settings.py:259 +#: src/modules/video_channels/settings.py:265 msgctxt "guildset:video_exempt|desc" msgid "List of roles which are exempt from video channels." msgstr "Lista de cargos que serão excepcionados da obrigatoriedade de vídeo " -#: src/modules/video_channels/settings.py:263 +#: src/modules/video_channels/settings.py:269 msgctxt "guildset:video_exempt|long_desc" msgid "" "Members who have **any** of these roles will not be required to enable their" @@ -363,12 +362,12 @@ msgstr "" "ligar seus vídeos nos ˋcanais_de_vídeoˋ. Isto também os isenta do cargo " "ˋlistanegra_câmeraˋ." -#: src/modules/video_channels/settings.py:269 +#: src/modules/video_channels/settings.py:275 msgctxt "guildset:video_exempt|accepts" msgid "List of exempt role names or ids." msgstr "Nome dos cargos ou IDs dos excepcionados." -#: src/modules/video_channels/settings.py:284 +#: src/modules/video_channels/settings.py:290 #, possible-python-brace-format msgctxt "guildset:video_exempt|set_response:set" msgid "The following roles will now be exempt from video channels: {roles}" @@ -376,7 +375,7 @@ msgstr "" "Agora, cargos a seguir serão excepcionados dos requisitos em canais de " "vídeo: {roles}" -#: src/modules/video_channels/settings.py:289 +#: src/modules/video_channels/settings.py:295 msgctxt "guildset:video_exempt|set_response:unset" msgid "No members will be exempt from video channel requirements." msgstr "Nenhum membro será excepcionado dos requisitos de canais de vídeo." diff --git a/locales/pt_BR/LC_MESSAGES/voice-tracker.po b/locales/pt_BR/LC_MESSAGES/voice-tracker.po index 528d733c..b22a9c33 100644 --- a/locales/pt_BR/LC_MESSAGES/voice-tracker.po +++ b/locales/pt_BR/LC_MESSAGES/voice-tracker.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,50 +21,96 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/tracking/voice/cog.py:649 +#: src/tracking/voice/session.py:293 +msgctxt "eventlog|event:voice_session_expired|title" +msgid "Member Voice Session Expired" +msgstr "" + +#: src/tracking/voice/session.py:297 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_expired|desc" +msgid "" +"{member}'s voice session in {channel} expired because they reached the daily" +" voice cap." +msgstr "" + +#: src/tracking/voice/session.py:336 +msgctxt "eventlog|event:voice_session_closed|title" +msgid "Member Voice Session Ended" +msgstr "" + +#: src/tracking/voice/session.py:340 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_closed|desc" +msgid "{member} completed their voice session in {channel}." +msgstr "" + +#: src/tracking/voice/session.py:352 +msgctxt "eventlog|event:voice_session_cancelled|title" +msgid "Member Voice Session Cancelled" +msgstr "" + +#: src/tracking/voice/session.py:356 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_cancelled|desc" +msgid "{member} left {channel} before their voice session started." +msgstr "" + +#: src/tracking/voice/cog.py:518 +msgctxt "eventlog|event:voice_session_start|title" +msgid "Member Joined Tracked Voice Channel" +msgstr "" + +#: src/tracking/voice/cog.py:522 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_start|desc" +msgid "{member} joined {channel}." +msgstr "" + +#: src/tracking/voice/cog.py:657 msgctxt "cmd:now" msgid "now" msgstr "agora" -#: src/tracking/voice/cog.py:652 +#: src/tracking/voice/cog.py:660 msgctxt "cmd:now|desc" msgid "" "Describe what you are working on, or see what your friends are working on!" msgstr "Descreva em quê você se ocupando, ou veja em quê seus amigos estão!" -#: src/tracking/voice/cog.py:656 +#: src/tracking/voice/cog.py:664 msgctxt "cmd:now|param:tag" msgid "tag" msgstr "etiqueta" -#: src/tracking/voice/cog.py:657 +#: src/tracking/voice/cog.py:665 msgctxt "cmd:now|param:user" msgid "user" msgstr "usuário" -#: src/tracking/voice/cog.py:658 +#: src/tracking/voice/cog.py:666 msgctxt "cmd:now|param:clear" msgid "clear" msgstr "limpar" -#: src/tracking/voice/cog.py:663 +#: src/tracking/voice/cog.py:671 msgctxt "cmd:now|param:tag|desc" msgid "Describe what you are working on in 10 characters or less!" msgstr "Descreva em quê você está fazendo em no máximo 10 caracteres!" -#: src/tracking/voice/cog.py:667 +#: src/tracking/voice/cog.py:675 msgctxt "cmd:now|param:user|desc" msgid "Check what a friend is working on." msgstr "Verifique o que seu amgio está fazendo." -#: src/tracking/voice/cog.py:671 +#: src/tracking/voice/cog.py:679 msgctxt "cmd:now|param:clear|desc" msgid "Unset your activity tag (or the target user's tag, for moderators)." msgstr "" "Retire uma etiqueta de atividade (ou a de um usuário definido -para " "moderadores- )" -#: src/tracking/voice/cog.py:698 +#: src/tracking/voice/cog.py:706 msgctxt "cmd:now|target:self|error:target_inactive" msgid "" "You have no running session! Join a tracked voice channel to start a " @@ -72,86 +118,86 @@ msgid "" msgstr "" "Você não está em uma sessão! Entre em um canal de voz e comece uma sessão. " -#: src/tracking/voice/cog.py:707 +#: src/tracking/voice/cog.py:715 #, possible-python-brace-format msgctxt "cmd:now|target:other|error:target_inactive" msgid "{mention} has no running session!" msgstr "{mention} não está em uma sessão!" -#: src/tracking/voice/cog.py:722 +#: src/tracking/voice/cog.py:730 msgctxt "cmd:now|target:self|mode:clear|success|title" msgid "Session Tag Cleared" msgstr "Etiqueta de sessão apagada." -#: src/tracking/voice/cog.py:726 +#: src/tracking/voice/cog.py:734 msgctxt "cmd:now|target:self|mode:clear|success|desc" msgid "Successfully unset your session tag." msgstr "A etiqueta de sessão foi retirada com sucesso! " -#: src/tracking/voice/cog.py:735 +#: src/tracking/voice/cog.py:743 msgctxt "cmd:now|target:other|mode:clear|error:perms|title" msgid "You can't do that!" msgstr "Você não pode fazer isto! " -#: src/tracking/voice/cog.py:739 +#: src/tracking/voice/cog.py:747 msgctxt "cmd:now|target:other|mode:clear|error:perms|desc" msgid "You need to be a moderator to set or clear someone else's session tag." msgstr "" "Você precisa ser um moderador para adicionar ou remover a etiqueta de sessão" " de alguém." -#: src/tracking/voice/cog.py:749 +#: src/tracking/voice/cog.py:757 msgctxt "cmd:now|target:other|mode:clear|success|title" msgid "Session Tag Cleared!" msgstr "Etiqueta de Sessão Apagada!" -#: src/tracking/voice/cog.py:753 +#: src/tracking/voice/cog.py:761 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:clear|success|desc" msgid "Cleared {target}'s session tag." msgstr "Etiquetas de sessão de {target}'s apagada." -#: src/tracking/voice/cog.py:765 +#: src/tracking/voice/cog.py:773 msgctxt "cmd:now|target:self|mode:set|success|title" msgid "Session Tag Set!" msgstr "Etiqueta de Sessão definida!" -#: src/tracking/voice/cog.py:769 +#: src/tracking/voice/cog.py:777 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:set|success|desc" msgid "You are now working on `{new_tag}`. Good luck!" msgstr "Agora você está empenhado em ˋ{new_tag}ˋ. Boa sorte! " -#: src/tracking/voice/cog.py:778 +#: src/tracking/voice/cog.py:786 msgctxt "cmd:now|target:other|mode:set|error:perms|title" msgid "You can't do that!" msgstr "Você não pode fazer isto!" -#: src/tracking/voice/cog.py:782 +#: src/tracking/voice/cog.py:790 msgctxt "cmd:now|target:other|mode:set|error:perms|desc" msgid "You need to be a moderator to set or clear someone else's session tag!" msgstr "" "Você precisa ser um moderador para definir ou retirar a etiqueta de sessão " "de alguém!" -#: src/tracking/voice/cog.py:792 +#: src/tracking/voice/cog.py:800 msgctxt "cmd:now|target:other|mode:set|success|title" msgid "Session Tag Set!" msgstr "Etiqueta de Sessão definida." -#: src/tracking/voice/cog.py:796 +#: src/tracking/voice/cog.py:804 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:set|success|desc" msgid "Set {target}'s session tag to `{new_tag}`." msgstr "Etiqueta de sessão de {target}'s definidas para ˋ{new_tag}ˋ." -#: src/tracking/voice/cog.py:805 +#: src/tracking/voice/cog.py:813 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:show_with_tag|desc" msgid "You have been working on **`{tag}`** in {channel} since {time}!" msgstr "Você estava empenhado em **ˋ{tag}ˋ** em {channel} desde {time}!" -#: src/tracking/voice/cog.py:810 +#: src/tracking/voice/cog.py:818 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:show_without_tag|desc" msgid "" @@ -163,7 +209,7 @@ msgstr "" "\n" "Use `/now ` para conferir o quê você estava fazendo." -#: src/tracking/voice/cog.py:817 +#: src/tracking/voice/cog.py:825 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:show_with_tag|desc" msgid "" @@ -173,23 +219,23 @@ msgstr "" "{target} está empenhado em {channel}!\n" "Eles estão empenhados em **{tag}** desde {time}." -#: src/tracking/voice/cog.py:823 +#: src/tracking/voice/cog.py:831 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:show_without_tag|desc" msgid "{target} has been working in {channel} since {time}!" msgstr "{target} está empenhado, em {channel}, desde {time}!" -#: src/tracking/voice/cog.py:846 +#: src/tracking/voice/cog.py:854 msgctxt "cmd:configure_voice_rates" msgid "voice_rewards" -msgstr "recompensa_de_voz" +msgstr "recompensa_voz" -#: src/tracking/voice/cog.py:849 +#: src/tracking/voice/cog.py:857 msgctxt "cmd:configure_voice_rates|desc" msgid "Configure Voice tracking rewards and experience" msgstr "Configure as recompensas e atividades em canais de voz" -#: src/tracking/voice/cog.py:906 +#: src/tracking/voice/cog.py:913 #, possible-python-brace-format msgctxt "cmd:configure_voice_tracking|mode:voice|resp:success|desc" msgid "" @@ -201,7 +247,7 @@ msgstr "" "que eles ficarem (on) em um canal de voz, até um limite de **{cap}** horas " "por dia no servidor." -#: src/tracking/voice/cog.py:917 +#: src/tracking/voice/cog.py:924 #, possible-python-brace-format msgctxt "cmd:configure_voice_tracking|mode:study|resp:success|desc" msgid "" @@ -213,17 +259,17 @@ msgstr "" "estudos, mais um bônus de {coin} **{bonus}** se permanecerem com o vídeo " "ligado por até um total de **{cap}** horas por dia no servidor." -#: src/tracking/voice/settings.py:40 +#: src/tracking/voice/settings.py:42 msgctxt "guildset:untracked_channels" msgid "untracked_channels" msgstr "canais_desconsiderados" -#: src/tracking/voice/settings.py:43 +#: src/tracking/voice/settings.py:45 msgctxt "guildset:untracked_channels|desc" msgid "Channels which will be ignored for statistics tracking." msgstr "Canais que serão desconsiderados das estatísticas." -#: src/tracking/voice/settings.py:47 +#: src/tracking/voice/settings.py:49 msgctxt "guildset:untracked_channels|long_desc" msgid "" "Activity in these channels will not count towards a member's statistics. If " @@ -233,45 +279,45 @@ msgstr "" " Se você selecionar uma categoria, todos os canais desta categoria, serão " "desconsiderados." -#: src/tracking/voice/settings.py:52 +#: src/tracking/voice/settings.py:54 msgctxt "guildset:untracked_channels|accepts" msgid "Comma separated list of untracked channel name/ids." msgstr "" "Lista com nomes, ou IDˋs, dos canais não contabilizados, separados por " "vírgula." -#: src/tracking/voice/settings.py:56 +#: src/tracking/voice/settings.py:58 msgctxt "guildset:untracked_channels|notset" msgid "Not Set (all voice channels will be tracked.)" msgstr "Não configurado (todos canais de voz serão considerados)." -#: src/tracking/voice/settings.py:73 +#: src/tracking/voice/settings.py:75 msgctxt "guildset:untracked_channels|set" msgid "Channel selector below." msgstr "Seletor de canais abaixo." -#: src/tracking/voice/settings.py:82 +#: src/tracking/voice/settings.py:84 #, possible-python-brace-format msgctxt "guildset:untracked_channels|set_response|set" msgid "Activity in the following channels will now be ignored: {channels}" msgstr "A atividade nos seguintes canais, serão agora ignoradas: {channels}" -#: src/tracking/voice/settings.py:89 +#: src/tracking/voice/settings.py:91 msgctxt "guildset:untracked_channels|set_response|unset" msgid "All voice channels will now be tracked." msgstr "Todos os canais de voz, agora, serão considerados!" -#: src/tracking/voice/settings.py:117 +#: src/tracking/voice/settings.py:120 msgctxt "guildset:hourly_reward" msgid "hourly_reward" msgstr "recompensa_horária" -#: src/tracking/voice/settings.py:120 +#: src/tracking/voice/settings.py:123 msgctxt "guildset:hourly_reward|mode:voice|desc" msgid "LionCoins given per hour in a voice channel." msgstr "LionCoins dadas por hora em um canal de voz." -#: src/tracking/voice/settings.py:124 +#: src/tracking/voice/settings.py:127 msgctxt "guildset:hourly_reward|mode:voice|long_desc" msgid "" "Number of LionCoins to each member per hour that they stay in a tracked " @@ -280,54 +326,54 @@ msgstr "" "Numero de LionCoins para dadas aos membros, por cada hora que eles ficarem " "em um canal contabilizável." -#: src/tracking/voice/settings.py:128 +#: src/tracking/voice/settings.py:131 msgctxt "guildset:hourly_reward|accepts" msgid "Number of coins to reward per hour in voice." msgstr "Número de moedas recebidas por hora em sala de voz." -#: src/tracking/voice/settings.py:144 +#: src/tracking/voice/settings.py:147 #, possible-python-brace-format msgctxt "guildset:hourly_reward|formatted" msgid "{coin}**{amount}** per hour." msgstr "{coin}**{amount}** por hora." -#: src/tracking/voice/settings.py:159 +#: src/tracking/voice/settings.py:162 #, possible-python-brace-format msgctxt "guildset:hourly_reward|mode:voice|response" msgid "Members will be given {coin}**{amount}** per hour in a voice channel!" msgstr "Os membros receberão {coin}**{amount}** por hora em um canal de voz." -#: src/tracking/voice/settings.py:171 +#: src/tracking/voice/settings.py:174 msgctxt "guildset:hourly_reward|mode:study|desc" msgid "LionCoins given per hour of study." msgstr "LionCoins recebidas por cada hora de estudo." -#: src/tracking/voice/settings.py:175 +#: src/tracking/voice/settings.py:178 msgctxt "guildset:hourly_reward|mode:study|long_desc" msgid "Number of LionCoins given per hour of study, up to the daily hour cap." msgstr "" "Número de LionCoins recebidas por cada hora de estudo, até o limite diário." -#: src/tracking/voice/settings.py:183 +#: src/tracking/voice/settings.py:186 #, possible-python-brace-format msgctxt "guildset:hourly_reward|mode:study|response" msgid "Members will be given {coin}**{amount}** per hour that they study!" msgstr "" "Os membros receberão {coin}**{amount}** por cada hora que eles estudarem!" -#: src/tracking/voice/settings.py:197 +#: src/tracking/voice/settings.py:201 msgctxt "guildset:hourly_live_bonus" msgid "hourly_live_bonus" msgstr "bonus_horário" -#: src/tracking/voice/settings.py:200 +#: src/tracking/voice/settings.py:204 msgctxt "guildset:hourly_live_bonus|desc" msgid "Bonus Lioncoins given per hour when a member streams or video-chats." msgstr "" -"Lioncoins recebidas de bônus por cada hora que um membro ligar sua câmera ou" -" compartilhar a sua tela." +"Lioncoins bônus por hora que um membro se mantiver com câmera ou " +"compartilhamento de tela." -#: src/tracking/voice/settings.py:205 +#: src/tracking/voice/settings.py:209 msgctxt "guildset:hourly_live_bonus|long_desc" msgid "" "When a member streams or video-chats in a channel they will be given this " @@ -336,18 +382,18 @@ msgstr "" "Quando um membro compartilhar o vídeo ou ligar sua câmera em um canal, será " "dado, adicionalmente à ˋrecompensa_horáriaˋ, um bônus. " -#: src/tracking/voice/settings.py:210 +#: src/tracking/voice/settings.py:214 msgctxt "guildset:hourly_live_bonus|accepts" msgid "Number of bonus coins to reward per hour when live." msgstr "Número de moedas bônus a receber por horas em chamada." -#: src/tracking/voice/settings.py:226 +#: src/tracking/voice/settings.py:230 #, possible-python-brace-format msgctxt "guildset:hourly_live_bonus|formatted" msgid "{coin}**{amount}** bonus per hour when live." msgstr "{coin}**{amount}** bonus por hora em chamada." -#: src/tracking/voice/settings.py:237 +#: src/tracking/voice/settings.py:241 #, possible-python-brace-format msgctxt "guildset:hourly_live_bonus|response" msgid "" @@ -356,17 +402,17 @@ msgstr "" "Membros em chamada, irão *adicionalmente* receber {coin}**{amount}** por " "hora." -#: src/tracking/voice/settings.py:248 +#: src/tracking/voice/settings.py:253 msgctxt "guildset:daily_voice_cap" msgid "daily_voice_cap" msgstr "limite_diario_horas" -#: src/tracking/voice/settings.py:251 +#: src/tracking/voice/settings.py:256 msgctxt "guildset:daily_voice_cap|desc" msgid "Maximum number of hours per day to count for each member." msgstr "Numero máximo de horas que cada membro pode contabilizar." -#: src/tracking/voice/settings.py:255 +#: src/tracking/voice/settings.py:260 msgctxt "guildset:daily_voice_cap|long_desc" msgid "" "Time spend in voice channels over this amount will not be tracked towards " @@ -378,12 +424,12 @@ msgstr "" "hora do próximo dia. Este horário inicial é configurado pelo fuso horário do" " servidor." -#: src/tracking/voice/settings.py:261 +#: src/tracking/voice/settings.py:266 msgctxt "guildset:daily_voice_cap|accepts" msgid "The maximum number of voice hours to track per day." msgstr "O número máximo de horas em canal de voz a ser contabilizado por dia." -#: src/tracking/voice/settings.py:277 +#: src/tracking/voice/settings.py:282 #, possible-python-brace-format msgctxt "guildset:daily_voice_cap|response" msgid "" @@ -394,44 +440,42 @@ msgstr "" "Esta configuração não irá surtir efeito sobre os membros que já estão dentro" " dos canais.)" -#: src/tracking/voice/settings.py:335 +#: src/tracking/voice/settings.py:340 msgctxt "ui:voice_tracker_config|button:close|label" msgid "Close" msgstr "Fechar" -#: src/tracking/voice/settings.py:349 +#: src/tracking/voice/settings.py:354 msgctxt "ui:voice_tracker_config|button:reset|label" msgid "Reset" msgstr "Resetar" -#: src/tracking/voice/settings.py:362 +#: src/tracking/voice/settings.py:367 msgctxt "ui:voice_tracker_config|menu:untracked_channels|placeholder" msgid "Set Untracked Channels" msgstr "Configurar canais não contabilizados" -#: src/tracking/voice/settings.py:428 src/tracking/voice/settings.py:482 +#: src/tracking/voice/settings.py:433 src/tracking/voice/settings.py:491 msgctxt "ui:voice_tracker_config|mode:voice|embed|title" msgid "Voice Tracker Configuration Panel" msgstr "Painel de Configuração da Contabilização em Canais de Voz" -#: src/tracking/voice/settings.py:433 src/tracking/voice/settings.py:487 +#: src/tracking/voice/settings.py:438 src/tracking/voice/settings.py:496 msgctxt "ui:voice_tracker_config|mode:study|embed|title" msgid "Study Tracker Configuration Panel" msgstr "Painel de Configuração de Contabilização de Estudos" -#: src/tracking/voice/settings.py:472 +#: src/tracking/voice/settings.py:481 msgctxt "ui:voice_tracker_config|menu:untracked_channels|placeholder" msgid "Select Untracked Channels" msgstr "Selecione os Canais a Serem Não-Contabilizados" -#: src/tracking/voice/settings.py:528 +#: src/tracking/voice/settings.py:537 msgctxt "dash:voice_tracker|title" -msgid "Voice Tracker Configuration ({commands[configure voice_rewards]})" +msgid "Voice Tracker Configuration ({commands[config voice_rewards]})" msgstr "" -"Configuração de Contabilização em Canais de Voz ({commands[configure " -"voice_rewards]})" -#: src/tracking/voice/settings.py:532 +#: src/tracking/voice/settings.py:541 msgctxt "dash:voice_tracking|dropdown|placeholder" msgid "Voice Activity Panel" msgstr "Painel de Atividade em Canais de Voz " diff --git a/locales/pt_BR/LC_MESSAGES/wards.po b/locales/pt_BR/LC_MESSAGES/wards.po index 98f1722b..f27dbe2f 100644 --- a/locales/pt_BR/LC_MESSAGES/wards.po +++ b/locales/pt_BR/LC_MESSAGES/wards.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-24 12:21+0300\n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" "PO-Revision-Date: 2023-08-28 13:43+0000\n" "Last-Translator: Bruno Evangelista De Oliveira, 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/leobot/teams/174919/pt_BR/)\n" @@ -21,27 +21,26 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: src/wards.py:83 +#: src/wards.py:99 msgctxt "ward:sys_admin|failed" msgid "You must be a bot owner to do this!" msgstr "Você precisa ser dono de um bot para fazer isto!" -#: src/wards.py:99 +#: src/wards.py:115 msgctxt "ward:high_management|failed" msgid "" -"You must have the `ADMINISTRATOR` permission in this server to do this!" +"You must have the `ADMINISTRATOR` permission or the configured `admin_role` " +"to do this!" msgstr "" -"Você precisa ter permissão de ˋADMINISTRADORˋ para fazer isto neste " -"servidor." -#: src/wards.py:115 +#: src/wards.py:131 msgctxt "ward:low_management|failed" -msgid "You must have the `MANAGE_GUILD` permission in this server to do this!" +msgid "" +"You must have the `MANAGE_GUILD` permission or the configured `mod_role` to " +"do this!" msgstr "" -"Você precisa ter permissão de `MANAGE_GUILD`, neste servidor, para poder " -"fazer isto! " -#: src/wards.py:127 +#: src/wards.py:143 msgctxt "ward:moderator|failed" msgid "" "You must have the configured moderator role, or `MANAGE_GUILD` permissions " @@ -50,13 +49,13 @@ msgstr "" "Você precisa de um cargo de Moderador ou permissão `MANAGE_GUILD` para fazer" " isto." -#: src/wards.py:153 +#: src/wards.py:169 #, possible-python-brace-format msgctxt "ward:equippable_role|error:bot_managed" msgid "I cannot manage {role} because it is managed by another bot!" msgstr "Eu não posso gerenciar {role}, pois ele é gerenciado por outro bot!" -#: src/wards.py:160 +#: src/wards.py:176 #, possible-python-brace-format msgctxt "ward:equippable_role|error:integration" msgid "I cannot manage {role} because it is managed by a server integration." @@ -64,39 +63,39 @@ msgstr "" "Eu não posso gerenciar {role}, pois ele é gerenciado por uma integração do " "servidor." -#: src/wards.py:167 +#: src/wards.py:183 msgctxt "ward:equippable_role|error:default_role" msgid "I cannot manage the server's default role." msgstr "Eu não posso configurar os cargos padrão do servidor." -#: src/wards.py:174 +#: src/wards.py:190 msgctxt "ward:equippable_role|error:no_perms" msgid "I need the `MANAGE_ROLES` permission before I can manage roles!" msgstr "" "Eu preciso ter permissão de `GERENCIAR_CARGOS` antes de poder configurar " "cargos." -#: src/wards.py:181 +#: src/wards.py:197 #, possible-python-brace-format msgctxt "ward:equippable_role|error:my_top_role" msgid "I cannot assign or remove {role} because it is above my top role!" msgstr "" "Eu não consigo adicionar ou remover {role} por ser um cargo maior que o meu." -#: src/wards.py:188 +#: src/wards.py:204 #, possible-python-brace-format msgctxt "ward:equippable_role|error:not_assignable" msgid "I don't have sufficient permissions to assign or remove {role}." msgstr "Eu não tenho permissões suficientes para adicionar ou remover {role}." -#: src/wards.py:196 +#: src/wards.py:212 msgctxt "ward:equippable_role|error:actor_perms" msgid "You need the `MANAGE_ROLES` permission before you can configure roles!" msgstr "" "Você precisa ter permissão de `GERENCIAR_CARGOS` antes de poder configurar " "os cargos!" -#: src/wards.py:203 +#: src/wards.py:219 #, possible-python-brace-format msgctxt "ward:equippable_role|error:actor_top_role" msgid "You cannot configure {role} because it is above your top role!"