From 6d3426000fb57d4221404f1759abb8108a92c0de Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 12:41:50 +0300 Subject: [PATCH] transifex: Add pt_BR localisation. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- locales/pt_BR/LC_MESSAGES/Pomodoro.po | 976 +++++++++++ locales/pt_BR/LC_MESSAGES/babel.po | 408 +++++ locales/pt_BR/LC_MESSAGES/base.po | 39 + locales/pt_BR/LC_MESSAGES/config.po | 92 + locales/pt_BR/LC_MESSAGES/core_config.po | 33 + locales/pt_BR/LC_MESSAGES/economy.po | 594 +++++++ locales/pt_BR/LC_MESSAGES/exec.po | 100 ++ locales/pt_BR/LC_MESSAGES/goals-gui.po | 108 ++ locales/pt_BR/LC_MESSAGES/leaderboard-gui.po | 95 + locales/pt_BR/LC_MESSAGES/lion-core.po | 139 ++ locales/pt_BR/LC_MESSAGES/member_admin.po | 455 +++++ locales/pt_BR/LC_MESSAGES/meta.po | 145 ++ locales/pt_BR/LC_MESSAGES/moderation.po | 283 +++ locales/pt_BR/LC_MESSAGES/monthly-gui.po | 170 ++ locales/pt_BR/LC_MESSAGES/profile-gui.po | 53 + locales/pt_BR/LC_MESSAGES/ranks.po | 968 +++++++++++ locales/pt_BR/LC_MESSAGES/reminders.po | 418 +++++ locales/pt_BR/LC_MESSAGES/rolemenus.po | 1640 ++++++++++++++++++ locales/pt_BR/LC_MESSAGES/rooms.po | 819 +++++++++ locales/pt_BR/LC_MESSAGES/schedule.po | 1101 ++++++++++++ locales/pt_BR/LC_MESSAGES/settings_base.po | 228 +++ locales/pt_BR/LC_MESSAGES/shop.po | 635 +++++++ locales/pt_BR/LC_MESSAGES/statistics.po | 774 +++++++++ locales/pt_BR/LC_MESSAGES/stats-gui.po | 144 ++ locales/pt_BR/LC_MESSAGES/sysadmin.po | 207 +++ locales/pt_BR/LC_MESSAGES/tasklist.po | 888 ++++++++++ locales/pt_BR/LC_MESSAGES/test.po | 86 + locales/pt_BR/LC_MESSAGES/text-tracker.po | 269 +++ locales/pt_BR/LC_MESSAGES/timer-gui.po | 37 + locales/pt_BR/LC_MESSAGES/user_config.po | 114 ++ locales/pt_BR/LC_MESSAGES/utils.po | 546 ++++++ locales/pt_BR/LC_MESSAGES/video.po | 382 ++++ locales/pt_BR/LC_MESSAGES/voice-tracker.po | 437 +++++ locales/pt_BR/LC_MESSAGES/wards.po | 104 ++ locales/pt_BR/LC_MESSAGES/weekly-gui.po | 102 ++ 35 files changed, 13589 insertions(+) create mode 100644 locales/pt_BR/LC_MESSAGES/Pomodoro.po create mode 100644 locales/pt_BR/LC_MESSAGES/babel.po create mode 100644 locales/pt_BR/LC_MESSAGES/base.po create mode 100644 locales/pt_BR/LC_MESSAGES/config.po create mode 100644 locales/pt_BR/LC_MESSAGES/core_config.po create mode 100644 locales/pt_BR/LC_MESSAGES/economy.po create mode 100644 locales/pt_BR/LC_MESSAGES/exec.po create mode 100644 locales/pt_BR/LC_MESSAGES/goals-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/leaderboard-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/lion-core.po create mode 100644 locales/pt_BR/LC_MESSAGES/member_admin.po create mode 100644 locales/pt_BR/LC_MESSAGES/meta.po create mode 100644 locales/pt_BR/LC_MESSAGES/moderation.po create mode 100644 locales/pt_BR/LC_MESSAGES/monthly-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/profile-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/ranks.po create mode 100644 locales/pt_BR/LC_MESSAGES/reminders.po create mode 100644 locales/pt_BR/LC_MESSAGES/rolemenus.po create mode 100644 locales/pt_BR/LC_MESSAGES/rooms.po create mode 100644 locales/pt_BR/LC_MESSAGES/schedule.po create mode 100644 locales/pt_BR/LC_MESSAGES/settings_base.po create mode 100644 locales/pt_BR/LC_MESSAGES/shop.po create mode 100644 locales/pt_BR/LC_MESSAGES/statistics.po create mode 100644 locales/pt_BR/LC_MESSAGES/stats-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/sysadmin.po create mode 100644 locales/pt_BR/LC_MESSAGES/tasklist.po create mode 100644 locales/pt_BR/LC_MESSAGES/test.po create mode 100644 locales/pt_BR/LC_MESSAGES/text-tracker.po create mode 100644 locales/pt_BR/LC_MESSAGES/timer-gui.po create mode 100644 locales/pt_BR/LC_MESSAGES/user_config.po create mode 100644 locales/pt_BR/LC_MESSAGES/utils.po create mode 100644 locales/pt_BR/LC_MESSAGES/video.po create mode 100644 locales/pt_BR/LC_MESSAGES/voice-tracker.po create mode 100644 locales/pt_BR/LC_MESSAGES/wards.po create mode 100644 locales/pt_BR/LC_MESSAGES/weekly-gui.po diff --git a/locales/pt_BR/LC_MESSAGES/Pomodoro.po b/locales/pt_BR/LC_MESSAGES/Pomodoro.po new file mode 100644 index 00000000..b4291e53 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/Pomodoro.po @@ -0,0 +1,976 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/pomodoro/timer.py:52 +msgctxt "timer|stage:break|name" +msgid "BREAK" +msgstr "PAUSA" + +#: src/modules/pomodoro/timer.py:53 +msgctxt "timer|stage:focus|name" +msgid "FOCUS" +msgstr "FOCO" + +#: src/modules/pomodoro/timer.py:160 +#, possible-python-brace-format +msgctxt "timer|webhook|name" +msgid "{bot_name} Pomodoro" +msgstr "{bot_name} Pomodoro" + +#: src/modules/pomodoro/timer.py:164 +msgctxt "timer|webhook|audit_reason" +msgid "Pomodoro Notifications" +msgstr "Notificações do Pomodoro" + +#: src/modules/pomodoro/timer.py:175 +msgctxt "timer|webhook|error:insufficient_permissions" +msgid "" +"I require the `MANAGE_WEBHOOKS` permission to send pomodoro notifications " +"here!" +msgstr "" +"Eu preciso de permissão ˋMANAGE_WEBHOOKSˋ para enviar notificações do " +"pomodoro aqui!" + +#: src/modules/pomodoro/timer.py:234 +#, possible-python-brace-format +msgctxt "timer|default_base_name" +msgid "Timer {pattern}" +msgstr "Temporizador {pattern}" + +#: src/modules/pomodoro/timer.py:408 +#, possible-python-brace-format +msgctxt "timer|kicked_message" +msgid "" +"{mentions} was removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgid_plural "" +"{mentions} were removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgstr[0] "" +"{mentions} foi removida de {channel} pois elas estavam inativas! Se lembre " +"de clickar {tick} para registrar sua presença em todos os ciclos." +msgstr[1] "" +"{mentions} foram removidas de {channel} pois elas estavam inativas! Se " +"lembre de clickar {tick} para registrar sua presença em todos os ciclos." +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 +#, 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 +#, possible-python-brace-format +msgctxt "timer|status|stage:break|statusline" +msgid "" +"{channel} is now on **BREAK**! Take a rest, **FOCUS** starts {timestamp}" +msgstr "" +"{channel} está agora em **PAUSA**! Tire um descanso, o **FOCO** começa em " +"{timestamp}" + +#: src/modules/pomodoro/timer.py:538 +#, possible-python-brace-format +msgctxt "timer|status|warningline" +msgid "" +"**Warning:** {mentions}, please press {tick} to avoid being removed on the " +"next stage." +msgstr "" +"**Atenção:** {mentions}, por favor, aperte {tick} para evitar ser removido " +"no próximo estágio." + +#: src/modules/pomodoro/timer.py:557 +#, 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 +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 +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 +msgctxt "ui:timer_config|embed|title" +msgid "Timer Configuration Panel" +msgstr "Painel de Configurações do Pomodoro" + +#: src/modules/pomodoro/settingui.py:81 +msgctxt "dash:pomodoro|title" +msgid "Pomodoro Configuration ({commands[configure pomodoro]})" +msgstr "Configurações do Pomodoro ({commands[configure pomodoro]})" + +#: src/modules/pomodoro/settingui.py:85 +msgctxt "dash:stats|dropdown|placeholder" +msgid "Pomodoro Timer Panel" +msgstr "Painel do Temporizador Pomodoro" + +#: src/modules/pomodoro/cog.py:96 +msgctxt "cmd_check:ready|failed" +msgid "" +"I am currently restarting! The Pomodoro timers will be unavailable until I " +"have restarted. Thank you for your patience!" +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 +msgctxt "cmd:timer" +msgid "timer" +msgstr "temporizador" + +#: src/modules/pomodoro/cog.py:337 +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 +msgctxt "cmd:timer|param:channel" +msgid "timer_channel" +msgstr "temporizador_canal" + +#: src/modules/pomodoro/cog.py:345 +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 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timers|desc" +msgid "" +"**This server has no timers set up!**\n" +"Ask an admin to set up and configure a timer with {create_cmd} first, or rent a private room with {room_cmd} and create one yourself!" +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 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_channel|desc" +msgid "" +"**I don't know what timer to show you.**\n" +"No channel selected and you are not in a voice channel! Use {timers_cmd} to list the available timers in this server." +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 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timer_in_channel" +msgid "" +"The channel {channel} is not a pomodoro timer room!\n" +"Use {timers_cmd} to list the available timers in this server." +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 +msgctxt "cmd:timers" +msgid "timers" +msgstr "temporizadores" + +#: src/modules/pomodoro/cog.py:412 +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 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_visible_timers|desc" +msgid "" +"**There are no available pomodoro timers!**\n" +"Ask an admin to set up a new timer with {create_cmd}, or rent a private room with {room_cmd} and create one yourself!" +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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_auto" +msgid "" +"`{pattern}` timer is stopped with no members!\n" +"Join {channel} to restart it." +msgstr "" +"Temporizador ˋ{pattern}ˋ está parado por falta de membros!\n" +"Entre em {channel} para recomeçá-lo." + +#: src/modules/pomodoro/cog.py:479 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_manual" +msgid "" +"`{pattern}` timer is stopped with `{members}` members!\n" +"Join {channel} and press `Start` to start it!" +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 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_focus" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **focusing**, with break starting {timestamp}" +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 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_break" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **resting**, with focus starting {timestamp}" +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 +msgctxt "cmd:pomodoro" +msgid "pomodoro" +msgstr "pomodoro" + +#: src/modules/pomodoro/cog.py:507 +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 +msgctxt "cmd:pomodoro_create" +msgid "create" +msgstr "criar" + +#: src/modules/pomodoro/cog.py:517 +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 +msgctxt "cmd:pomodoro_create|param:channel" +msgid "timer_channel" +msgstr "canal_do_temporizador" + +#: src/modules/pomodoro/cog.py:527 +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)" + +#: src/modules/pomodoro/cog.py:572 +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 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms" +msgid "" +"No `timer_channel` was provided, and you lack the 'Manage Channels` " +"permission required to create a new timer room!" +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 +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 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|desc" +msgid "" +"No `timer_channel` was provided, and I lack the 'Manage Channels' permission" +" required to create a new voice channel." +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 +msgctxt "cmd:pomodoro_create|new_channel|default_name" +msgid "Timer" +msgstr "Temporizador" + +#: src/modules/pomodoro/cog.py:606 +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 +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 +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 " +"communication error. Please try creating the channel manually and pass it to" +" the `timer_channel` argument of this command." +msgstr "" +"Falha desconhecida, ao criar um novo canal com Temporizador Pomodoro. Por " +"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 +#, 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}." +msgstr "" +"Já há um temporizador em {channel}! Edite suas configurações através de " +"{edit_cmd}." + +#: src/modules/pomodoro/cog.py:650 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_create|add_timer|error:your_insufficient_perms" +msgid "" +"You must have the 'Manage Channel' permission in {channel} in order to add a" +" timer there!" +msgstr "" +"Você precisa ter permissão de 'Gerenciar Canal' em {channel} para que possa " +"adicionar um temporizador lá." + +#: src/modules/pomodoro/cog.py:699 +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 +msgctxt "cmd:pomodoro_destroy" +msgid "destroy" +msgstr "desativar" + +#: src/modules/pomodoro/cog.py:708 +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 +msgctxt "cmd:pomodoro_destroy|param:channel" +msgid "timer_channel" +msgstr "canal_do_temporizador" + +#: src/modules/pomodoro/cog.py:715 +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 +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 +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|owned" +msgid "" +"You need to be an administrator or own this channel to remove this timer!" +msgstr "" +"Você precisa ser um administrador, ou dono do seu próprio canal, para " +"remover este temporizador." + +#: src/modules/pomodoro/cog.py:755 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|notowned" +msgid "" +"You need to have the `Manage Channels` permission in {channel} to remove " +"this timer!" +msgstr "" +"Você precisa ter permissão de 'Gerenciar Canais' em {channel} para remover o" +" temporizador." + +#: src/modules/pomodoro/cog.py:766 +#, 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 +msgctxt "cmd:pomodoro_edit" +msgid "edit" +msgstr "editar" + +#: src/modules/pomodoro/cog.py:775 +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 +msgctxt "cmd:pomodoro_edit|param:channel" +msgid "timer_channel" +msgstr "canal_do_temporizador" + +#: src/modules/pomodoro/cog.py:785 +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 +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 +msgctxt "cmd:pomodoro_edit|error:insufficient_perms|role:other" +msgid "" +"Insufficient permissions to modifiy this timer!\n" +"You need to be a server administrator, own this channel, or have the timer manager role." +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 +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 +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 +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!" +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 +msgctxt "cmd:configure_pomodoro" +msgid "pomodoro" +msgstr "pomodoro" + +#: src/modules/pomodoro/cog.py:907 +msgctxt "cmd:configure_pomodoro|desc" +msgid "Configure Pomodoro Timer System" +msgstr "Configure o Sistema de Temporizador Pomodoro" + +#: src/modules/pomodoro/lib.py:19 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:remaining" +msgid "{remaining}" +msgstr "{remaining}" + +#: src/modules/pomodoro/lib.py:20 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:stage" +msgid "{stage}" +msgstr "{stage}" + +#: src/modules/pomodoro/lib.py:21 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:members" +msgid "{members}" +msgstr "{members}" + +#: src/modules/pomodoro/lib.py:22 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:name" +msgid "{name}" +msgstr "{name}" + +#: src/modules/pomodoro/lib.py:23 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:pattern" +msgid "{pattern}" +msgstr "{pattern}" + +#: src/modules/pomodoro/options.py:33 +msgctxt "timerset:voice_channel" +msgid "channel" +msgstr "canal" + +#: src/modules/pomodoro/options.py:36 +msgctxt "timerset:voice_channel|desc" +msgid "Channel in which to track timer members and send alerts." +msgstr "" +"Canal em que os membros do temporizador serão monitorados e alertados." + +#: src/modules/pomodoro/options.py:48 +msgctxt "timerset:notification_channel" +msgid "notification_channel" +msgstr "canal_de_notificação" + +#: src/modules/pomodoro/options.py:51 +msgctxt "timerset:notification_channel|desc" +msgid "Channel to which to send timer status cards and notifications." +msgstr "" +"Canal para onde será enviado o painel do temporizador, e também as " +"notificações dos ciclos." + +#: src/modules/pomodoro/options.py:73 +#, possible-python-brace-format +msgctxt "timerset:notification_channel|format:notset" +msgid "Not Set (Using {channel})" +msgstr "Não configurado (Usando {channel})" + +#: src/modules/pomodoro/options.py:83 +msgctxt "timerset:inactivity_threshold|inactivity_threshold" +msgid "inactivity_threshold" +msgstr "tolerância_de_inatividade" + +#: src/modules/pomodoro/options.py:86 +msgctxt "timerset:inactivity_threshold|desc" +msgid "" +"Number of inactive focus+break stages before a member is removed from the " +"timer." +msgstr "" +"Número de ciclos Foco+Pausa que um membro pode deixar de marcar presença sem" +" que seja retirado do canal." + +#: src/modules/pomodoro/options.py:90 +msgctxt "timerset:inactivity_threshold|desc" +msgid "How many timer cycles before kicking inactive members." +msgstr "" +"Quantidade de ciclos do temporizador antes de retirar um membro que não " +"esteja marcando presença. " + +#: src/modules/pomodoro/options.py:112 +msgctxt "timerset:inactivity_length|desc" +msgid "The inactivity threshold must be a positive whole number!" +msgstr "A tolerância de inatividade precisa ser um número positivo e inteiro!" + +#: src/modules/pomodoro/options.py:120 +msgctxt "timerset:manager_role" +msgid "manager_role" +msgstr "cargo_gerenciador" + +#: src/modules/pomodoro/options.py:123 +msgctxt "timerset:manager_role|desc" +msgid "Role allowed to start, stop, and edit the focus/break lengths." +msgstr "" +"Cargo autorizado a começar, parar, e editar os intervalos do temporizador " +"pomodoro." + +#: src/modules/pomodoro/options.py:137 +msgctxt "timerset:manager_role|format:notset" +msgid "Not Set (Only Admins may start/stop or edit pattern)" +msgstr "" +"Não Configurado (Apenas Administradores poderão iniciar/pausar ou editar o " +"padrão)" + +#: src/modules/pomodoro/options.py:147 +msgctxt "timerset:voice_alerts" +msgid "voice_alerts" +msgstr "alertas_sonoros" + +#: src/modules/pomodoro/options.py:150 +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." + +#: src/modules/pomodoro/options.py:162 +msgctxt "timerset:base_name" +msgid "name" +msgstr "nome" + +#: src/modules/pomodoro/options.py:165 +msgctxt "timerset:base_name|desc" +msgid "Timer name, as shown on the timer card." +msgstr "Título que será mostrado no painel do temporizador." + +#: src/modules/pomodoro/options.py:169 +msgctxt "timerset:base_name|accepts" +msgid "Any short name, shown on the timer card." +msgstr "Um nome curto, a ser visto no painel de exibição do temporizador. " + +#: src/modules/pomodoro/options.py:184 +msgctxt "timerset:channel_name_format" +msgid "channel_name" +msgstr "nome_do_canal" + +#: src/modules/pomodoro/options.py:187 +#, possible-python-brace-format +msgctxt "timerset:channel_name_format|desc" +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. " + +#: src/modules/pomodoro/options.py:191 +#, possible-python-brace-format +msgctxt "timerset:channel_name|accepts" +msgid "" +"Timer channel name, with keys {remaining}, {name}, {pattern}, and {stage}." +msgstr "" +"Nome do canal do temporizador. Adicione as chaves {remaining}, {name}, " +"{pattern} e {stage} para personalizar." + +#: src/modules/pomodoro/options.py:221 +msgctxt "timerset:channel_name_format|error:too_long" +msgid "" +"The provided name is too long! Channel names can be at most `100` " +"characters." +msgstr "" +"O nome indicado é muito comprido! Os nomes de canais podem ter, no máximo, " +"ˋ100ˋ caracteres." + +#: src/modules/pomodoro/options.py:240 +msgctxt "timerset:focus_length" +msgid "focus_length" +msgstr "duração_foco" + +#: src/modules/pomodoro/options.py:243 +msgctxt "timerset:focus_length|desc" +msgid "Length of the focus stage of the timer in minutes." +msgstr "Duração, em minutos, do estágio de ˋFocoˋ do temporizador." + +#: src/modules/pomodoro/options.py:248 +msgctxt "timerset:focus_length|accepts" +msgid "A positive integer number of minutes." +msgstr "Um número positivo e inteiro, em minutos." + +#: src/modules/pomodoro/options.py:273 +msgctxt "timerset:focus_length|desc" +msgid "Please enter a positive number of minutes." +msgstr "Por favor, preencha um número positivo de minutos. " + +#: src/modules/pomodoro/options.py:281 +msgctxt "timerset:break_length" +msgid "break_length" +msgstr "duração_pausa" + +#: src/modules/pomodoro/options.py:284 +msgctxt "timerset:break_length|desc" +msgid "Length of the break stage of the timer in minutes." +msgstr "Duração, em minutos, do estágio de ˋPausaˋ do temporizador." + +#: src/modules/pomodoro/options.py:289 +msgctxt "timerset:break_length|accepts" +msgid "A positive integer number of minutes." +msgstr "Um número positivo e inteiro, em minutos." + +#: src/modules/pomodoro/options.py:314 +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 +msgctxt "guildset:pomodoro_channel" +msgid "pomodoro_channel" +msgstr "canal_pomodoro" + +#: src/modules/pomodoro/settings.py:22 +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 +msgctxt "guildset:pomodoro_channel|long_desc" +msgid "" +"Pomodoro timers which do not have a custom notification channel set will " +"send timer notifications in this channel. If this setting is not set, " +"pomodoro notifications will default to the timer voice channel itself." +msgstr "" +"Temporizadores pomodoro, sem um canal próprio para as notificações, irão " +"enviar as notificações neste canal. Se não estiver configurado, o " +"temporizador pomodoro irá enviar as notificações no próprio canal em que o " +"temporizador está." + +#: src/modules/pomodoro/settings.py:33 +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 +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 +#, possible-python-brace-format +msgctxt "guildset:pomodoro_channel|set_response|set" +msgid "Pomodoro timer notifications will now default to {channel}" +msgstr "" +"As notificações do Pomodoro irão, a partir de agora, ser enviadas para " +"{channel}." + +#: src/modules/pomodoro/settings.py:56 +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 +#, possible-python-brace-format +msgctxt "guildset:pomdoro_channel|set_using" +msgid "{cmd} or channel selector below." +msgstr "{cmd} ou seletor de canais abaixo. " + +#: src/modules/pomodoro/ui/edit.py:63 +msgctxt "modal:timer_editor|title" +msgid "Timer Option Editor" +msgstr "Editor das Opções do Temporizador" + +#: src/modules/pomodoro/ui/status.py:61 +msgctxt "ui:timer_status|button:present|ack" +msgid "" +"Thank you for marking your presence.\n" +"Good luck and stay productive!" +msgstr "" +"Obrigado por marcar sua presença.\n" +"Boa sorte, e se mantenha produtivo." + +#: src/modules/pomodoro/ui/status.py:72 +#, possible-python-brace-format +msgctxt "ui:timer_status|button:present|error:not_in_timer" +msgid "" +"You are not in this timer! Join the timer channel by pressing {channel}." +msgstr "" +"Você não faz parte deste temporizador! Você pode entrar nele pressionando " +"aqui {channel}." + +#: src/modules/pomodoro/ui/status.py:82 +msgctxt "ui:timer_status|button:present|label" +msgid "Present" +msgstr "Presente" + +#: src/modules/pomodoro/ui/status.py:106 +msgctxt "ui:timer_status|button:edit|error:no_permissions" +msgid "" +"Configuring this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured manager role!" +msgstr "" +"Para configurar este temporizador, é necessário ter permissão de " +"ˋGERENCIAR_CANALˋ no canal do temporizador, ou estar configurado nesse " +"sistema como autorizado a isto. " + +#: src/modules/pomodoro/ui/status.py:119 +msgctxt "ui:timer_status|button:edit|label" +msgid "Options" +msgstr "Opções" + +#: src/modules/pomodoro/ui/status.py:138 +msgctxt "ui:timer_status|button:start|error:already_running" +msgid "Cannot start a timer that is already running!" +msgstr "Não posso começar um temporizador que já está rodando!" + +#: src/modules/pomodoro/ui/status.py:154 +msgctxt "ui:timer_status|button:start|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "Premissões insuficientes!" + +#: src/modules/pomodoro/ui/status.py:158 +msgctxt "ui:timer_status|button:start|error:not_manager|desc" +msgid "" +"Starting this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" +"Para iniciar este temporizador, é necessário ter permissão de " +"ˋGERENCIAR_CANALˋ no canal do temporizador, ou estar configurado neste " +"sistema como autorizado a isto." + +#: src/modules/pomodoro/ui/status.py:168 +msgctxt "ui:timer_status|button:start|label" +msgid "Start" +msgstr "Iniciar" + +#: src/modules/pomodoro/ui/status.py:190 +msgctxt "ui:timer_status|button:stop|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "Permissões insuficientes!" + +#: src/modules/pomodoro/ui/status.py:194 +msgctxt "ui:timer_status|button:stop|error:not_manager|desc" +msgid "" +"Stopping this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" +"Para Pausar o temporizador, é necessário permissão de ˋGERENCIAR_CANALˋ no " +"canal do temporizador, ou estar configurado neste sistema como autorizado a " +"isto. " + +#: src/modules/pomodoro/ui/status.py:204 +msgctxt "ui:timer_status|button:stop|label" +msgid "Stop" +msgstr "Parar" + +#: src/modules/pomodoro/ui/config.py:45 +msgctxt "ui:timer_options|error:timer_destroyed" +msgid "This timer no longer exists! Closing option menu." +msgstr "Este temporizador não existe! Fechando menu de opção." + +#: src/modules/pomodoro/ui/config.py:68 +msgctxt "ui:timer_options|button:edit|label" +msgid "Edit" +msgstr "Editar" + +#: src/modules/pomodoro/ui/config.py:84 +msgctxt "ui:timer_options|button:voice_alerts|label" +msgid "Voice Alerts" +msgstr "Alertas Sonoros" + +#: src/modules/pomodoro/ui/config.py:105 +msgctxt "ui:timer_options|button:delete|success|title" +msgid "Timer Deleted" +msgstr "Temporizador Deletado" + +#: src/modules/pomodoro/ui/config.py:109 +#, possible-python-brace-format +msgctxt "ui:timer_options|button:delete|success|description" +msgid "The timer in {channel} has been removed." +msgstr "O temporizador em {channel} foi removido." + +#: src/modules/pomodoro/ui/config.py:117 +msgctxt "ui:timer_options|button:delete|label" +msgid "Delete" +msgstr "Deletar" + +#: src/modules/pomodoro/ui/config.py:136 +msgctxt "ui:timer_options|menu:voice_channel|placeholder" +msgid "Set Voice Channel" +msgstr "Configurar Canal de Voz" + +#: src/modules/pomodoro/ui/config.py:159 +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 +msgctxt "ui:timer_options|menu:manager_role|placeholder" +msgid "Set Manager Role" +msgstr "Configurar Cargo de Gerenciador" + +#: src/modules/pomodoro/ui/config.py:183 +#, 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 +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 +msgctxt "ui:timer_options|embed|field:pattern|name" +msgid "Pattern" +msgstr "Padrão" + +#: src/modules/pomodoro/ui/config.py:205 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:pattern|value" +msgid "" +"**`{focus_len} minutes`** focus\n" +"**`{break_len} minutes`** break" +msgstr "" +"**ˋ{focus_len} minutosˋ** Foco\n" +"**ˋ{break_len} minutosˋ** Pausa" + +#: src/modules/pomodoro/ui/config.py:216 +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 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:channel_name|value" +msgid "" +"**`{name}`**\n" +"(The actual channel name may not match due to ratelimits.)" +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 +msgctxt "ui:timer_options|embed|field:issues|name" +msgid "Issues" +msgstr "Problemas" + +#: src/modules/pomodoro/ui/config.py:248 +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 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_speak" +msgid "" +"Voice alerts are on, but I don't have speaking permissions in {channel}" +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 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_change_name" +msgid "" +"I cannot update the name of {channel}! (Needs `MANAGE_CHANNELS` permission)" +msgstr "" +"Eu não posso atualizar o nome do {channel}! (É preciso permissão de " +"ˋGERENCIAR_CANAISˋ)" + +#: src/modules/pomodoro/ui/config.py:277 +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 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:notif_channel_write" +msgid "" +"I cannot attach files (`ATTACH_FILES`) or send embeds (`EMBED_LINKS`) in " +"{channel}" +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 +#, possible-python-brace-format +msgctxt "ui:timer_options|issues:cannot_make_webhooks" +msgid "" +"I cannot create the notification webhook (`MANAGE_WEBHOOKS`) in {channel}" +msgstr "" +"Eu não posso criar a notificação por Webhook (ˋINSERIR_LINKSˋ) em {channel}." diff --git a/locales/pt_BR/LC_MESSAGES/babel.po b/locales/pt_BR/LC_MESSAGES/babel.po new file mode 100644 index 00000000..f560d88f --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/babel.po @@ -0,0 +1,408 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "ui:locale_config|button:force|label" +msgid "Toggle Force" +msgstr "Forçar alteração" + +#: src/babel/settingui.py:49 +msgctxt "ui:locale_config|embed|title" +msgid "Language Configuration Panel" +msgstr "Painel de Configuração de Idioma" + +#: src/babel/settingui.py:83 +msgctxt "dash:locale|title" +msgid "Server Language Configuration ({commands[configure language]})" +msgstr "Configuração de Idioma do Servidor ({commands[configure language]})" + +#: src/babel/settingui.py:87 +msgctxt "dash:locale|dropdown|placeholder" +msgid "Server Language Panel" +msgstr "Painel de Idioma do Servidor" + +#: src/babel/cog.py:99 +msgctxt "cmd:configure_language" +msgid "language" +msgstr "idioma" + +#: src/babel/cog.py:101 +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 +#, possible-python-brace-format +msgctxt "cmd:configure_language|error" +msgid "" +"You cannot enable `{force_setting}` without having a configured language!" +msgstr "" +"Você não pode habilitar `{force_setting}` sem ter um idioma configurado!" + +#: src/babel/cog.py:167 +msgctxt "cmd:configure_language|success" +msgid "Language settings updated!" +msgstr "Configurações de idioma atualizadas!" + +#: src/babel/cog.py:183 +msgctxt "cmd:userconfig_language" +msgid "language" +msgstr "idioma" + +#: src/babel/cog.py:186 +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 +msgctxt "cmd:userconfig_language|param:language" +msgid "language" +msgstr "idioma" + +#: src/babel/cog.py:195 +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 +msgctxt "cmd:userconfig_language|button:reset|label" +msgid "Reset" +msgstr "Redefinir" + +#: src/babel/cog.py:252 +#, possible-python-brace-format +msgctxt "acmpl:language|no_match" +msgid "No supported languages matching {partial}" +msgstr "Nenhum idioma suportado correspondente a {partial}" + +#: src/babel/utils.py:9 +msgctxt "utils|months" +msgid "" +"January,February,March,April,May,June,July,August,September,October,November,December" +msgstr "" +"Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro" + +#: src/babel/utils.py:14 +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 +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 +msgctxt "settype:locale|summary_table|field:supported|key" +msgid "Supported" +msgstr "Suportado" + +#: src/babel/settings.py:44 +msgctxt "settype:locale|formatted:unset" +msgid "Unset" +msgstr "Não definido" + +#: src/babel/settings.py:60 +#, 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 +msgctxt "userset:locale" +msgid "language" +msgstr "idioma" + +#: src/babel/settings.py:76 +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 +msgctxt "userset:locale|long_desc" +msgid "" +"The language you would prefer me to respond to commands and interactions in." +" Servers may be configured to override this with their own language." +msgstr "" +"O idioma no qual você prefere que eu responda a comandos e interações. Os " +"servidores podem ser configurados para substituir essa configuração pelo seu" +" próprio idioma." + +#: src/babel/settings.py:90 +msgctxt "userset:locale|response" +msgid "You have unset your language." +msgstr "Você removeu o seu idioma." + +#: src/babel/settings.py:92 +#, 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 +msgctxt "guildset:force_locale" +msgid "force_language" +msgstr "obrigar_idioma" + +#: src/babel/settings.py:112 +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." + +#: src/babel/settings.py:115 +msgctxt "guildset:force_locale|long_desc" +msgid "" +"When enabled, commands in this guild will always use the configured guild " +"language, regardless of the member's personally configured language." +msgstr "" +"Quando ativado, os comandos neste servidor sempre utilizarão o idioma " +"configurado do servidor, independentemente do idioma pessoal configurado " +"pelo membro." + +#: src/babel/settings.py:119 +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 +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 +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 +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 +msgctxt "guildset:locale" +msgid "language" +msgstr "idioma" + +#: src/babel/settings.py:157 +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 +msgctxt "guildset:locale|long_desc" +msgid "" +"The default language to use for responses and interactions in this server. " +"Member's own configured language will override this for their commands " +"unless `force_language` is enabled." +msgstr "" +"O idioma padrão para usar nas respostas e interações neste servidor. A " +"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 +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 +#, possible-python-brace-format +msgctxt "guildset:locale|response" +msgid "You have set the guild language to {lang}." +msgstr "Você definiu o idioma da comunidade para {lang}." + +#: src/babel/enums.py:43 +msgctxt "localenames|locale:id" +msgid "Indonesian" +msgstr "Indonesian" + +#: src/babel/enums.py:44 +msgctxt "localenames|locale:da" +msgid "Danish" +msgstr "Dinamarquês" + +#: src/babel/enums.py:45 +msgctxt "localenames|locale:de" +msgid "German" +msgstr "Alemão" + +#: src/babel/enums.py:46 +msgctxt "localenames|locale:en-GB" +msgid "English, UK" +msgstr "English, UK" + +#: src/babel/enums.py:47 +msgctxt "localenames|locale:en-US" +msgid "English, US" +msgstr "English, US" + +#: src/babel/enums.py:48 +msgctxt "localenames|locale:es-ES" +msgid "Spanish" +msgstr "Spanish" + +#: src/babel/enums.py:49 +msgctxt "localenames|locale:fr" +msgid "French" +msgstr "Francês" + +#: src/babel/enums.py:50 +msgctxt "localenames|locale:hr" +msgid "Croatian" +msgstr "Croata" + +#: src/babel/enums.py:51 +msgctxt "localenames|locale:it" +msgid "Italian" +msgstr "Italiano" + +#: src/babel/enums.py:52 +msgctxt "localenames|locale:lt" +msgid "Lithuanian" +msgstr "Lituano" + +#: src/babel/enums.py:53 +msgctxt "localenames|locale:hu" +msgid "Hungarian" +msgstr "Húngaro" + +#: src/babel/enums.py:54 +msgctxt "localenames|locale:nl" +msgid "Dutch" +msgstr "Holandês" + +#: src/babel/enums.py:55 +msgctxt "localenames|locale:no" +msgid "Norwegian" +msgstr "Norueguês" + +#: src/babel/enums.py:56 +msgctxt "localenames|locale:pl" +msgid "Polish" +msgstr "Polonês" + +#: src/babel/enums.py:57 +msgctxt "localenames|locale:pt-BR" +msgid "Portuguese, Brazilian" +msgstr "Portugues, Brasileiro" + +#: src/babel/enums.py:58 +msgctxt "localenames|locale:ro" +msgid "Romanian, Romania" +msgstr "Romanian, Romania" + +#: src/babel/enums.py:59 +msgctxt "localenames|locale:fi" +msgid "Finnish" +msgstr "Finlandês" + +#: src/babel/enums.py:60 +msgctxt "localenames|locale:sv-SE" +msgid "Swedish" +msgstr "Sueco" + +#: src/babel/enums.py:61 +msgctxt "localenames|locale:vi" +msgid "Vietnamese" +msgstr "Vietnamita" + +#: src/babel/enums.py:62 +msgctxt "localenames|locale:tr" +msgid "Turkish" +msgstr "Turco" + +#: src/babel/enums.py:63 +msgctxt "localenames|locale:cs" +msgid "Czech" +msgstr "Tcheco" + +#: src/babel/enums.py:64 +msgctxt "localenames|locale:el" +msgid "Greek" +msgstr "Grego" + +#: src/babel/enums.py:65 +msgctxt "localenames|locale:bg" +msgid "Bulgarian" +msgstr "Búlgaro" + +#: src/babel/enums.py:66 +msgctxt "localenames|locale:ru" +msgid "Russian" +msgstr "Russo" + +#: src/babel/enums.py:67 +msgctxt "localenames|locale:uk" +msgid "Ukrainian" +msgstr "Ucraniano" + +#: src/babel/enums.py:68 +msgctxt "localenames|locale:hi" +msgid "Hindi" +msgstr "Hindi" + +#: src/babel/enums.py:69 +msgctxt "localenames|locale:th" +msgid "Thai" +msgstr "Tailandês" + +#: src/babel/enums.py:70 +msgctxt "localenames|locale:zh-CN" +msgid "Chinese, China" +msgstr "Chinese, China" + +#: src/babel/enums.py:71 +msgctxt "localenames|locale:ja" +msgid "Japanese" +msgstr "Japonês" + +#: src/babel/enums.py:72 +msgctxt "localenames|locale:zh-TW" +msgid "Chinese, Taiwan" +msgstr "Chinese, Taiwan" + +#: src/babel/enums.py:73 +msgctxt "localenames|locale:ko" +msgid "Korean" +msgstr "Coreano" + +#: src/babel/enums.py:78 +msgctxt "localenames|locale:he" +msgid "Hebrew" +msgstr "Hebreu" + +#: src/babel/enums.py:79 +msgctxt "localenames|locale:he-IL" +msgid "Hebrew" +msgstr "Hebrew" + +#: src/babel/enums.py:80 +msgctxt "localenames|locale:test" +msgid "Test Language" +msgstr "Testar Idioma" diff --git a/locales/pt_BR/LC_MESSAGES/base.po b/locales/pt_BR/LC_MESSAGES/base.po new file mode 100644 index 00000000..73545e26 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/base.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Tatiana Tenuto, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-22 13:17+0200\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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: bot/modules/sysadmin/exec_cog.py:70 +msgid "You cannot use this interface!" +msgstr "Você não pode usar essa interface!" + +#: bot/modules/sysadmin/exec_cog.py:252 bot/modules/sysadmin/exec_cog.py:254 +msgid "async" +msgstr "async" + +#: bot/modules/sysadmin/exec_cog.py:253 bot/modules/sysadmin/exec_cog.py:255 +msgid "Execute arbitrary code with Exec" +msgstr "Executar código arbitrário com Exec" + +#: bot/modules/sysadmin/exec_cog.py:265 +msgid "eval" +msgstr "eval" diff --git a/locales/pt_BR/LC_MESSAGES/config.po b/locales/pt_BR/LC_MESSAGES/config.po new file mode 100644 index 00000000..48a8e8e3 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/config.po @@ -0,0 +1,92 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "guildset:timezone" +msgid "timezone" +msgstr "fuso horário" + +#: src/modules/config/general.py:44 +msgctxt "guildset:timezone|desc" +msgid "Guild timezone for statistics display." +msgstr "Fuso horário da comunidade para exibição das estatísticas." + +#: src/modules/config/general.py:48 +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 +#, 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" diff --git a/locales/pt_BR/LC_MESSAGES/core_config.po b/locales/pt_BR/LC_MESSAGES/core_config.po new file mode 100644 index 00000000..02b44b21 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/core_config.po @@ -0,0 +1,33 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/core/config.py:28 +msgctxt "group:configure" +msgid "configure" +msgstr "configurar" + +#: src/core/config.py:29 +msgctxt "group:configure|desc" +msgid "View and adjust my configuration options." +msgstr "Ver e ajustar minhas opções de configuração." diff --git a/locales/pt_BR/LC_MESSAGES/economy.po b/locales/pt_BR/LC_MESSAGES/economy.po new file mode 100644 index 00000000..874eab4b --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/economy.po @@ -0,0 +1,594 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Tatiana Tenuto, 2023 +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "ui:economy_config|embed|title" +msgid "Economy Configuration Panel" +msgstr "Painel de Configuração do Sistema Financeiro" + +#: src/modules/economy/settingui.py:68 +msgctxt "dash:economy|title" +msgid "Economy Configuration ({commands[configure economy]})" +msgstr "Configuração do Sistema Financeiro ({commands[configure economy]})" + +#: src/modules/economy/settingui.py:72 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Economy Panel" +msgstr "Painel do Financeiro" + +#. ----- Economy group commands ----- +#: src/modules/economy/cog.py:86 +msgctxt "cmd:economy" +msgid "economy" +msgstr "financeiro" + +#: src/modules/economy/cog.py:92 +msgctxt "cmd:economy_balance" +msgid "balance" +msgstr "saldo" + +#: src/modules/economy/cog.py:95 +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 +msgctxt "cmd:economy_balance|param:target" +msgid "target" +msgstr "selecionar" + +#: src/modules/economy/cog.py:100 +msgctxt "cmd:economy_balance|param:add" +msgid "add" +msgstr "adicionar" + +#: src/modules/economy/cog.py:101 +msgctxt "cmd:economy_balance|param:set" +msgid "set" +msgstr "definir" + +#: src/modules/economy/cog.py:106 +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." + +#: src/modules/economy/cog.py:110 +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." + +#: src/modules/economy/cog.py:114 +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 +#, 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 +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 +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 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success|affected" +msgid "One user was affected." +msgid_plural "**{count}** users were affected." +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 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm|affected" +msgid "One user will be affected." +msgid_plural "**{count}** users will be affected." +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 +msgctxt "cmd:economy_balance|confirm|button:confirm" +msgid "Yes, adjust balances" +msgstr "Sim, ajuste os saldos" + +#: src/modules/economy/cog.py:240 +msgctxt "cmd:economy_balance|confirm|button:cancel" +msgid "No, cancel" +msgstr "Não, cancelar" + +#: src/modules/economy/cog.py:247 +#, 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 " +"{coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:256 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_set|desc" +msgid "" +"Are you sure you want to set everyone's balance to {coin_emoji}**{amount}**?" +msgstr "" +"Tem certeza que deseja ajustar o saldo de todos para " +"{coin_emoji}**{amount}**?" + +#: src/modules/economy/cog.py:264 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "" +"All members of {role_mention} have had their balance set to " +"{coin_emoji}**{amount}**." +msgstr "" +"Todos os membros {role_mention} tiveram seus saldos definidos para " +"{coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:273 +#, 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}**?" + +#: src/modules/economy/cog.py:290 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of **{guild_name}** have been given {coin_emoji}**{amount}**." +msgstr "" +"Todos os membros de **{guild_name}** receberam {coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:315 +#, 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?" + +#: src/modules/economy/cog.py:323 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of {role_mention} have been given {coin_emoji}**{amount}**." +msgstr "" +"Todos os membros de {role_mention} receberam {coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:332 +#, 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 " +"{role_mention}?" + +#: src/modules/economy/cog.py:354 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"{user_mention} was given {coin_emoji}**{amount}**, and now has a balance of " +"{coin_emoji}**{new_amount}**." +msgstr "" +"{user_mention} recebeu {coin_emoji}**{amount}**, e agora tem um saldo de " +"{coin_emoji}**{new_amount}**." + +#: src/modules/economy/cog.py:365 +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!" + +#: src/modules/economy/cog.py:409 +#, 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 +#, 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 +#, 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 " +"saldo total de {coin_emoji}**{total}**." + +#: src/modules/economy/cog.py:435 +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 +#, 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 +#, 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 +#, 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 +#, 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}." + +#: src/modules/economy/cog.py:510 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:single|author" +msgid "Balance statement for {user}" +msgstr "Extrato de saldo para {user}" + +#: src/modules/economy/cog.py:519 +msgctxt "cmd:economy_reset" +msgid "reset" +msgstr "resetar" + +#: src/modules/economy/cog.py:522 +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\")." + +#: src/modules/economy/cog.py:526 +msgctxt "cmd:economy_reset|param:target" +msgid "target" +msgstr "alvo" + +#: src/modules/economy/cog.py:531 +msgctxt "cmd:economy_reset|param:target|desc" +msgid "" +"Target user or role to view or update. Use @everyone to reset the entire " +"guild." +msgstr "" +"Usuário alvo, ou cargo, para ver ou alterar. Use @everyone para resetar " +"todos os membros." + +#: src/modules/economy/cog.py:558 +#, 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!*" + +#: src/modules/economy/cog.py:566 +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 +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 +#, 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 " +"{coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:603 +#, 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 +#, 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" +"**{count}** membros serão afetados por isto." + +#: src/modules/economy/cog.py:622 +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 +msgctxt "cmd:economy_reset|confirm:reset_role|button:cancel" +msgid "Cancel" +msgstr "Cancelar" + +#: src/modules/economy/cog.py:643 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_role|desc" +msgid "" +"Everyone in {role_mention} has had their coin balance reset to " +"{coin_emoji}**{amount}**." +msgstr "" +"Todos em {role_mention} tiveram seus saldos atualizados para " +"{coin_emoji}**{amount}**." + +#: src/modules/economy/cog.py:665 +#, 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 +msgctxt "cmd:send" +msgid "send" +msgstr "enviar" + +#: src/modules/economy/cog.py:678 +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." + +#: src/modules/economy/cog.py:682 +msgctxt "cmd:send|param:target" +msgid "target" +msgstr "alvo" + +#: src/modules/economy/cog.py:683 +msgctxt "cmd:send|param:amount" +msgid "amount" +msgstr "quantidade" + +#: src/modules/economy/cog.py:684 +msgctxt "cmd:send|param:note" +msgid "note" +msgstr "nota" + +#: src/modules/economy/cog.py:687 +msgctxt "cmd:send|param:target|desc" +msgid "User to send the gift to" +msgstr "Usuário que será presenteado" + +#: src/modules/economy/cog.py:688 +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 +msgctxt "cmd:send|param:note|desc" +msgid "Optional note to add to the gift." +msgstr "Bilhete opicional para enviar juntamente com o presente." + +#: src/modules/economy/cog.py:713 +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 +msgctxt "cmd:send|error:sending-to-self" +msgid "" +"What is this, tax evasion?\n" +"(You can not send coins to yourself.)" +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 +msgctxt "cmd:send|error:sending-to-leo" +msgid "" +"I appreciate it, but you need it more than I do!\n" +"(You cannot send coins to bots.)" +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 +#, possible-python-brace-format +msgctxt "cmd:send|error:sending-to-bot" +msgid "" +"{target} appreciates the gesture, but said they don't have any use for {coin}.\n" +"(You cannot send coins to bots.)" +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 +#, possible-python-brace-format +msgctxt "cmd:send|error:insufficient" +msgid "" +"You do not have enough lioncoins to do this!\n" +"`Current Balance:` {coin_emoji}{balance}" +msgstr "" +"Você não tem LionCoins suficientes para fazer isto!\n" +"ˋSaldo Atual:ˋ {coin_emoji}{balance}" + +#: src/modules/economy/cog.py:791 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:send|embed:ack|desc" +msgid "" +"**{coin_emoji}{amount}** has been deducted from your balance and sent to " +"{mention}!" +msgstr "" +"**{coin_emoji}{amount}** foi retirado do seu saldo e enviado a {mention}!" + +#: src/modules/economy/cog.py:830 +msgctxt "cmd:send|embed:ack|desc|error:unreachable" +msgid "" +"Unfortunately, I was not able to message the recipient. Perhaps they have me" +" blocked?" +msgstr "" +"Infelizmente, eu não estou habilitado para receber mensagens. Será que eles " +"me bloquearam?" + +#: src/modules/economy/cog.py:842 +msgctxt "cmd:configure_economy" +msgid "economy" +msgstr "financeiro" + +#: src/modules/economy/cog.py:845 +msgctxt "cmd:configure_economy|desc" +msgid "Configure LionCoin Economy" +msgstr "Configure o Sistema Financeiro de LionCoin" + +#: src/modules/economy/settings.py:35 +msgctxt "guildset:coins_per_xp" +msgid "coins_per_100xp" +msgstr "moedas_cada_100xp" + +#: src/modules/economy/settings.py:38 +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. " + +#: src/modules/economy/settings.py:42 +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." + +#: src/modules/economy/settings.py:46 +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 +#, 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}**." + +#: src/modules/economy/settings.py:70 +msgctxt "guildset:allow_transfers" +msgid "allow_transfers" +msgstr "permitir_transferências" + +#: src/modules/economy/settings.py:73 +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." + +#: src/modules/economy/settings.py:77 +msgctxt "guildset:allow_transfers|long_desc" +msgid "" +"If disabled, members will not be able to transfer LionCoins to each other." +msgstr "" +"Caso desabilitado, os membros não estarão permitidos a transferir LionCoins " +"entre eles." + +#: src/modules/economy/settings.py:85 +msgctxt "guildset:allow_transfers|outputs:true" +msgid "Enabled (Coin transfers allowed.)" +msgstr "Habilitado (Transferência de moedas permitida)." + +#: src/modules/economy/settings.py:86 +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 +#, 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 +#, 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}" diff --git a/locales/pt_BR/LC_MESSAGES/exec.po b/locales/pt_BR/LC_MESSAGES/exec.po new file mode 100644 index 00000000..8991a096 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/exec.po @@ -0,0 +1,100 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/sysadmin/exec_cog.py:269 +msgctxt "ward:sys_admin|failed" +msgid "You must be a bot owner to do this!" +msgstr "Você precisa ser o dono do bot para fazer isto!" + +#: src/modules/sysadmin/exec_cog.py:274 +msgid "async" +msgstr "async" + +#: src/modules/sysadmin/exec_cog.py:275 +msgid "Execute arbitrary code with Exec" +msgstr "Execute códigos arbitrários com Exec" + +#: src/modules/sysadmin/exec_cog.py:337 +msgctxt "command" +msgid "eval" +msgstr "eval" + +#: src/modules/sysadmin/exec_cog.py:338 +msgctxt "command:eval" +msgid "Execute arbitrary code with Eval" +msgstr "Execute códigos arbitrários com Eval" + +#: src/modules/sysadmin/exec_cog.py:341 +msgctxt "command:eval|param:string" +msgid "Code to evaluate." +msgstr "Código a avaliar." + +#: src/modules/sysadmin/exec_cog.py:348 +msgctxt "command" +msgid "asyncall" +msgstr "asyncall" + +#: src/modules/sysadmin/exec_cog.py:349 +msgctxt "command:asyncall|desc" +msgid "Execute arbitrary code on all shards." +msgstr "Executar código arbitrário em todos fragmentos." + +#: src/modules/sysadmin/exec_cog.py:352 +msgctxt "command:asyncall|param:string" +msgid "Cross-shard code to execute. Cannot reference ctx!" +msgstr "Código Cross-Shard a executar. Não pode referenciar ctx!" + +#: src/modules/sysadmin/exec_cog.py:353 +msgctxt "command:asyncall|param:target" +msgid "Target shard app name, see autocomplete for options." +msgstr "" +"Nome do fragmento alvo do app. Escolha uma opção no auto-preenchimento." + +#: src/modules/sysadmin/exec_cog.py:396 +msgid "reload" +msgstr "recarregar" + +#: src/modules/sysadmin/exec_cog.py:397 +msgid "Reload a given LionBot extension. Launches an ExecUI." +msgstr "" +"O LionBot recebeu uma extenção através de \"recarregar\". Lançar um ExecUI." + +#: src/modules/sysadmin/exec_cog.py:400 +msgid "Name of the extension to reload. See autocomplete for options." +msgstr "" +"Nome da extensão para recarregar. Veja as opções que aparecem no auto-" +"preenchimento." + +#: src/modules/sysadmin/exec_cog.py:401 +msgid "Whether to force an extension reload even if it doesn't exist." +msgstr "" +"Se devo insistir em recarregar uma extensão, mesmo que ela não esteja " +"existente." + +#: src/modules/sysadmin/exec_cog.py:437 +msgid "shutdown" +msgstr "desligar" + +#: src/modules/sysadmin/exec_cog.py:438 +msgid "Shutdown (or restart) the client." +msgstr "Desligar (ou reiniciar) o client." diff --git a/locales/pt_BR/LC_MESSAGES/goals-gui.po b/locales/pt_BR/LC_MESSAGES/goals-gui.po new file mode 100644 index 00000000..06fbe2f7 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/goals-gui.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/goals.py:95 +msgctxt "skin:goals|goal:tasks|name" +msgid "TASKS DONE" +msgstr "TAREFAS CONCLUÍDAS" + +#: src/gui/cards/goals.py:99 +msgctxt "skin:goals|goal:tasks|goal" +msgid "GOAL: " +msgstr "META:" + +#: src/gui/cards/goals.py:125 +msgctxt "skin:goals|goal:attendance|name" +msgid "" +"ATTENDANCE\n" +"RATE" +msgstr "" +"COMPARECIMENTO\n" +"MÉDIA" + +#: src/gui/cards/goals.py:139 +msgctxt "skin:goals|mode:study|goal:middle|above" +msgid "STUDIED" +msgstr "ESTUDADAS" + +#: src/gui/cards/goals.py:143 +msgctxt "skin:goals|mode:study|goal:middle|below" +msgid "HOURS" +msgstr "HORAS" + +#: src/gui/cards/goals.py:147 +msgctxt "skin:goals|mode:voice|goal:middle|above" +msgid "CHATTED" +msgstr "CONVERSADAS" + +#: src/gui/cards/goals.py:151 +msgctxt "skin:goals|mode:voice|goal:middle|below" +msgid "HOURS" +msgstr "HORAS" + +#: src/gui/cards/goals.py:155 +msgctxt "skin:goals|mode:text|goal:middle|above" +msgid "SENT" +msgstr "ENVIADAS" + +#: src/gui/cards/goals.py:159 +msgctxt "skin:goals|mode:text|goal:middle|below" +msgid "MESSAGES" +msgstr "MENSAGENS" + +#: src/gui/cards/goals.py:163 +msgctxt "skin:goals|mode:anki|goal:middle|above" +msgid "REVIEWED" +msgstr "REVISADOS" + +#: src/gui/cards/goals.py:167 +msgctxt "skin:goals|mode:anki|goal:middle|below" +msgid "CARDS" +msgstr "CARTÕES" + +#: src/gui/cards/goals.py:228 +#, possible-python-brace-format +msgctxt "skin:goals|footer" +msgid "As of {day} {month} • {name}" +msgstr "A partir de {day} {month} • {name}" + +#: src/gui/cards/goals.py:240 +msgctxt "ui:goals|weekly|title" +msgid "WEEKLY STATISTICS" +msgstr "ESTATÍSTICAS SEMANAIS" + +#: src/gui/cards/goals.py:244 +msgctxt "ui:goals|weekly|task_header" +msgid "GOALS OF THE WEEK" +msgstr "METAS DA SEMANA" + +#: src/gui/cards/goals.py:254 +msgctxt "ui:goals|monthly|title" +msgid "MONTHLY STATISTICS" +msgstr "ESTATÍSTICAS MENSAIS" + +#: src/gui/cards/goals.py:258 +msgctxt "ui:goals|monthly|task_header" +msgid "GOALS OF THE MONTH" +msgstr "METAS DO MÊS" diff --git a/locales/pt_BR/LC_MESSAGES/leaderboard-gui.po b/locales/pt_BR/LC_MESSAGES/leaderboard-gui.po new file mode 100644 index 00000000..7ae4e615 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/leaderboard-gui.po @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/leaderboard.py:69 +msgctxt "skin:leaderboard|mode:study|header_text" +msgid "STUDY TIME LEADERBOARD" +msgstr "CLASSIFICAÇÃO TEMPO DE ESTUDOS" + +#: src/gui/cards/leaderboard.py:73 +msgctxt "skin:leaderboard|mode:text|header_text" +msgid "MESSAGE LEADERBOARD" +msgstr "CLASSIFICAÇÃO DE CONVERSAÇÃO" + +#: src/gui/cards/leaderboard.py:77 +msgctxt "skin:leaderboard|mode:voice|header_text" +msgid "VOICE LEADERBOARD" +msgstr "CLASSIFICAÇÃO CANAIS DE VOZ" + +#: src/gui/cards/leaderboard.py:81 +msgctxt "skin:leaderboard|mode:anki|header_text" +msgid "ANKI REVIEW LEADERBOARD" +msgstr "CLASSIFICAÇÃO ATIVIDADES ANKI" + +#: src/gui/cards/leaderboard.py:99 +msgctxt "skin:leaderboard|field:subheader_text" +msgid "SERVER: " +msgstr "SERVIDOR:" + +#: src/gui/cards/leaderboard.py:129 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:study|top_hours_text" +msgid "{amount} hours" +msgstr "{amount} horas" + +#: src/gui/cards/leaderboard.py:133 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:text|top_hours_text" +msgid "{amount} XP" +msgstr "{amount} XP" + +#: src/gui/cards/leaderboard.py:137 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:voice|top_hours_text" +msgid "{amount} hours" +msgstr "{amount} horas" + +#: src/gui/cards/leaderboard.py:141 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:anki|top_hours_text" +msgid "{amount} cards" +msgstr "{amount} cartões" + +#: src/gui/cards/leaderboard.py:168 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:study|entry_hours_text" +msgid "{HH:02d}:{MM:02d}" +msgstr "{HH:02d}:{MM:02d}" + +#: src/gui/cards/leaderboard.py:172 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:text|entry_hours_text" +msgid "{amount} XP" +msgstr "{amount} XP" + +#: src/gui/cards/leaderboard.py:176 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:voice|entry_hours_text" +msgid "{HH:02d}:{MM:02d}" +msgstr "{HH:02d}:{MM:02d}" + +#: src/gui/cards/leaderboard.py:180 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:anki|entry_hours_text" +msgid "{amount} cards" +msgstr "{amount} cartões" diff --git a/locales/pt_BR/LC_MESSAGES/lion-core.po b/locales/pt_BR/LC_MESSAGES/lion-core.po new file mode 100644 index 00000000..00978efb --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/lion-core.po @@ -0,0 +1,139 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/core/setting_types.py:31 +msgctxt "settype:coin|accepts" +msgid "A positive integral number of coins." +msgstr "Um número inteiro e positivo de moedas." + +#: src/core/setting_types.py:47 +msgctxt "settype:coin|parse|error:notinteger" +msgid "The coin quantity must be a positive integer!" +msgstr "O número de moedas precisa ser inteiro e positivo!" + +#: src/core/setting_types.py:55 +#, possible-python-brace-format +msgctxt "settype:coin|parse|error:too_large" +msgid "You cannot set this to more than {coin}**{max}**!" +msgstr "Você não pode cobrar mais do que {coin}**{max}**!" + +#: src/core/setting_types.py:63 +#, possible-python-brace-format +msgctxt "settype:coin|parse|error:too_small" +msgid "You cannot set this to less than {coin}**{min}**!" +msgstr "Você não pode cobrar menos do que {coin}**{min}**!" + +#: src/core/setting_types.py:75 +#, possible-python-brace-format +msgctxt "settype:coin|formatted" +msgid "{coin}**{amount}**" +msgstr "{coin}**{amount}**" + +#: src/core/setting_types.py:91 +msgctxt "settype:message|accepts" +msgid "JSON formatted raw message data" +msgstr "Dados das mensagens formatados como JSON" + +#: src/core/setting_types.py:106 +msgctxt "settype:message|download|error:not_json" +msgid "The attached message data is not a JSON file!" +msgstr "A mensagem anexada não é um dado JSON!" + +#: src/core/setting_types.py:111 +msgctxt "settype:message|download|error:size" +msgid "The attached message data is too large!" +msgstr "A mensagem anexada é muito grande!" + +#: src/core/setting_types.py:120 +msgctxt "settype:message|download|error:decoding" +msgid "" +"Could not decode the message data. Please ensure it is saved with the " +"`UTF-8` encoding." +msgstr "" +"Não consegui descompilar os dados da mensagem. Por favor, confirme que está " +"codificada como ˋUTF-8ˋ." + +#: src/core/setting_types.py:177 +#, possible-python-brace-format +msgctxt "settype:message|error_suffix" +msgid "" +"You can view, test, and fix your embed using the online [embed " +"builder]({link})." +msgstr "" +"Você pode ver, testar e corrigir sua incorporação usando o sistema online " +"[embed builder]({link})." + +#: src/core/setting_types.py:189 +#, possible-python-brace-format +msgctxt "settype:message|error:invalid_json" +msgid "" +"The provided message data was not a valid JSON document!\n" +"`{error}`" +msgstr "" +"Os dados informados não são um documento JSON válido.\n" +"ˋ{error}ˋ" + +#: src/core/setting_types.py:197 +msgctxt "settype:message|error:json_missing_keys" +msgid "" +"Message data must be a JSON object with at least one of the following " +"fields: `content`, `embed`, `embeds`" +msgstr "" +"Os dados da mensagem precisam ser um objeto JSON com pelo menos os seguintes" +" campos: ˋconteúdoˋ, ˋintegraçãoˋ, ˋintegraçõesˋ." + +#: src/core/setting_types.py:206 +msgctxt "settype:message|error:json_embed_type" +msgid "`embed` field must be a valid JSON object." +msgstr "O campo ˋintegraçõesˋ precisa ser um objeto JSON válido." + +#: src/core/setting_types.py:214 +msgctxt "settype:message|error:json_embeds_type" +msgid "`embeds` field must be a list." +msgstr "Os campos ˋintegraçõesˋ precisam ser uma lista." + +#: src/core/setting_types.py:221 +msgctxt "settype:message|error:json_embed_embeds" +msgid "Message data cannot include both `embed` and `embeds`." +msgstr "" +"Os dados de mensagem não podem incluir ambos ˋintegraçãoˋ e ˋintegraçõesˋ." + +#: src/core/setting_types.py:229 +msgctxt "settype:message|error:json_content_type" +msgid "`content` field must be a string." +msgstr "O campo ˋconteúdoˋ precisa ser do tipo string." + +#: src/core/setting_types.py:245 +#, possible-python-brace-format +msgctxt "ui:settype:message|error:embed_conversion" +msgid "" +"Could not parse the message embed data.\n" +"**Error:** `{exception}`" +msgstr "" +"Não pude analisar os dados incorporados da mensagem.\n" +"**Erro:** ˋ{exception}ˋ" + +#: src/core/setting_types.py:273 +msgctxt "settype:message|format:too_long" +msgid "Too long to display! See Preview." +msgstr "Muito longo para mostrar! Veja uma prévia." diff --git a/locales/pt_BR/LC_MESSAGES/member_admin.po b/locales/pt_BR/LC_MESSAGES/member_admin.po new file mode 100644 index 00000000..3eaa208a --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/member_admin.po @@ -0,0 +1,455 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "ui:memberadmin|menu:greetch|placeholder" +msgid "Select Greeting Channel" +msgstr "Selecione o Canal de Saudações" + +#: src/modules/member_admin/settingui.py:86 +msgctxt "ui:memberadmin|menu:autoroles|placeholder" +msgid "Select Autoroles" +msgstr "Selecione os Cargos Automáticos" + +#: src/modules/member_admin/settingui.py:115 +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 +msgctxt "ui:member_admin|button:greet_msg|label" +msgid "Greeting Msg" +msgstr "Mensagem de Saudação" + +#: src/modules/member_admin/settingui.py:205 +msgctxt "ui:memberadmin|button:return_msg|label" +msgid "Returning Msg" +msgstr "Mensagem Retornando" + +#: src/modules/member_admin/settingui.py:213 +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 +msgctxt "dash:member_admin|title" +msgid "Greetings and Initial Roles ({commands[configure welcome]})" +msgstr "Cargos Iniciais de Saudação ({commands[configure welcome]})" + +#: src/modules/member_admin/settingui.py:261 +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 +msgctxt "dash:member_admin|section:greeting_messages|name" +msgid "Greeting Messages ({commands[configure welcome]})" +msgstr "Mensagens de Saudação ({commands[configure welcome]})" + +#: src/modules/member_admin/settingui.py:292 +msgctxt "dash:member_admin|section:initial_roles|name" +msgid "Initial Roles ({commands[configure welcome]})" +msgstr "Cargos Iniciais ({commands[configure welcome]})" + +#: src/modules/member_admin/cog.py:239 +msgctxt "cmd:resetmember" +msgid "resetmember" +msgstr "ResetarMembro" + +#: src/modules/member_admin/cog.py:242 +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 +msgctxt "cmd:resetmember|param:target" +msgid "member_to_reset" +msgstr "membro_a_resetar" + +#: src/modules/member_admin/cog.py:247 +msgctxt "cmd:resetmember|param:saved_roles" +msgid "saved_roles" +msgstr "cargos_salvos" + +#: src/modules/member_admin/cog.py:252 +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 +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." + +#: src/modules/member_admin/cog.py:283 +#, possible-python-brace-format +msgctxt "cmd:resetmember|reset:saved_roles|success" +msgid "" +"The saved roles for {target} have been reset. They will not regain their " +"roles if they rejoin." +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 +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 +msgctxt "cmd:configure_welcome" +msgid "welcome" +msgstr "bem vindo" + +#: src/modules/member_admin/cog.py:310 +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 +msgctxt "guildset:greeting_message|formatkey:mention" +msgid "Mention the new member." +msgstr "Mencione o novo membro." + +#: src/modules/member_admin/settings.py:22 +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 +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 +msgctxt "guildset:greeting_message|formatkey:guild_name" +msgid "Name of this server." +msgstr "Nome deste servidor." + +#: src/modules/member_admin/settings.py:28 +msgctxt "guildset:greeting_message|formatkey:guild_icon" +msgid "Server icon url." +msgstr "Link do ícone do servidor." + +#: src/modules/member_admin/settings.py:30 +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 +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 +msgctxt "guildset:greeting_channel" +msgid "welcome_channel" +msgstr "canal_de_boas_vindas" + +#: src/modules/member_admin/settings.py:43 +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 +msgctxt "guildset:greeting_channel|long_desc" +msgid "" +"New members will be sent the configured `welcome_message` in this channel, " +"and returning members will be sent the configured `returning_message`. Unset" +" to send these message via direct message." +msgstr "" +"Novos membros irão receber a ˋmensagem_de_boas_vindasˋ neste canal. Membros " +"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 +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 +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 +#, 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 +msgctxt "guildset:greeting_channel|formmatted:unset" +msgid "Direct Message" +msgstr "Mensagem Direta" + +#: src/modules/member_admin/settings.py:91 +msgctxt "guildset:greeting_message" +msgid "welcome_message" +msgstr "mensagem_de_boas_vindas" + +#: src/modules/member_admin/settings.py:95 +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 +msgctxt "guildset:greeting_message|long_desc" +msgid "" +"When set, this message will be sent to the `welcome_channel` when a *new* " +"member joins the server. If not set, no message will be sent." +msgstr "" +"Quando configurada, esta mensagem será enviada ao ˋcanal_de_boas_vindasˋ " +"sempre que um *novo* membro entrar no servidor. Se não configurado, nenhuma " +"mensagem será enviada." + +#: src/modules/member_admin/settings.py:104 +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 +msgctxt "guildset:greeting_message|default" +msgid "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Welcome {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{user_avatar}\"},\n" +" \"description\": \"Welcome to **{guild_name}**!\",\n" +" \"footer\": {\n" +" \"text\": \"You are the {member_count}th member!\"\n" +" },\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " +msgstr "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Bem Vindo, {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{user_avatar}\"},\n" +" \"description\": \"Bem vindo ao **{guild_name}**!\",\n" +" \"footer\": {\n" +" \"text\": \"Você é o {member_count} membro!\"\n" +" },\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " + +#: src/modules/member_admin/settings.py:136 +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 +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 +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 +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 +msgctxt "guildset:greeting_message|embed_field|formatkeys|name" +msgid "Placeholders" +msgstr "Espaços reservados" + +#: src/modules/member_admin/settings.py:213 +msgctxt "guildset:returning_message" +msgid "returning_message" +msgstr "mensagem_de_retorno" + +#: src/modules/member_admin/settings.py:217 +msgctxt "guildset:returning_message|desc" +msgid "" +"Custom message used to greet returning members when they rejoin the server." +msgstr "" +"Mensagem personalizada de boas vindas usada quando um membro que saiu voltar" +" a entrar no servidor." + +#: src/modules/member_admin/settings.py:221 +msgctxt "guildset:returning_message|long_desc" +msgid "" +"When set, this message will be sent to the `welcome_channel` when a member " +"*returns* to the server. If not set, no message will be sent." +msgstr "" +"Quando configurada, esta mensagem será enviada para o ˋcanal_de_boas_vindasˋ" +" 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 +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 +msgctxt "guildset:returning_message|default" +msgid "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Welcome Back {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{User_avatar}\"},\n" +" \"description\": \"Welcome back to **{guild_name}**!\\nYou were last seen .\",\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " +msgstr "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Bem vindo de volta {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{User_avatar}\"},\n" +" \"description\": \"Bem vindo de novo ao **{guild_name}**!\\n Você estava desaparecido desde .\",\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " + +#: src/modules/member_admin/settings.py:247 +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 +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 +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 +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 +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 +msgctxt "guildset:returning_message|embed_field|formatkeys|" +msgid "Placeholders" +msgstr "Espaços reservados" + +#: src/modules/member_admin/settings.py:339 +msgctxt "guildset:autoroles" +msgid "autoroles" +msgstr "cargos_automáticos" + +#: src/modules/member_admin/settings.py:343 +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 +msgctxt "guildset:autoroles|long_desc" +msgid "" +"These roles will be given when a member joins the server. If " +"`role_persistence` is enabled, these roles will *not* be given to a " +"returning member." +msgstr "" +"Estes cargos serão dados aos novos membros que entrarem ao servidor. Caso " +"ˋ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 +msgctxt "guildset:bot_autoroles" +msgid "bot_autoroles" +msgstr "cargos_automáticos_bots" + +#: src/modules/member_admin/settings.py:365 +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 +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 +msgctxt "guildset:role_persistence" +msgid "role_persistence" +msgstr "cargo_persistente" + +#: src/modules/member_admin/settings.py:385 +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 +msgctxt "guildset:role_persistence|long_desc" +msgid "" +"If enabled, member roles will be stored when they leave the server, and then" +" restored when they rejoin (instead of giving `autoroles`). Note that this " +"may conflict with other bots who manage join roles." +msgstr "" +"Caso habilitado, os cargos dos membros serão salvos quando eles deixarem o " +"servidor, e restaurados em seu retorno (ao invés de receberem os " +"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 +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 +msgctxt "guildset:greeting_message|set_response:on" +msgid "Roles will now be restored when members rejoin." +msgstr "" +"A partir de agora. os cargos serão restaurados quando um membro antigo " +"retorna ao servidor. " diff --git a/locales/pt_BR/LC_MESSAGES/meta.po b/locales/pt_BR/LC_MESSAGES/meta.po new file mode 100644 index 00000000..75d2f96e --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/meta.po @@ -0,0 +1,145 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "cmd:help" +msgid "help" +msgstr "ajuda" + +#: src/modules/meta/cog.py:26 +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/help_sections.py:40 +#, possible-python-brace-format +msgctxt "helptext|level:member|mode:study" +msgid "" +"\n" +" {config_emoji} Personal Configuration\n" +" *View or adjust personal settings with the {cmd_my} command.*\n" +" {cmd_my_timezone}: Timezone used to display your stats and set reminders.\n" +" {cmd_my_language}: Your preferred language for commands and interactions.\n" +"\n" +"\n" +" {stats_emoji} Statistics\n" +" *Study in voice channels to earn activity ranks and compete on the leaderboard!*\n" +" {cmd_me}: View your personal study profile and set your profile tags.\n" +" {cmd_stats}: View study statistics for the current and past weeks or months.\n" +" {cmd_ranks}: See the list of activity ranks.\n" +" {cmd_leaderboard}: Compete with other members on the server leaderboards.\n" +"\n" +"\n" +" {coin} Economy\n" +" *Earn coins through studying, then spend them on some well deserved rewards!*\n" +" {cmd_send}: Send your {coin} to another member.\n" +" {cmd_shop}: Purchase server roles with your {coin}.\n" +" {cmd_room}: Rent a private voice channel for you and your friends.\n" +"\n" +"\n" +" {utility_emoji} Utilities\n" +" *Some other utilities to help you stay productive while studying!*\n" +" {cmd_reminders}: Ask me to remind you about that important task!\n" +" {cmd_tasklist}: Create tasks and feel the satisfaction of checking them off.\n" +" {cmd_timers}: Stay productive using the classic *pomodoro technique*!\n" +" {cmd_schedule}: Schedule a shared study session and keep yourself accountable!\n" +" " +msgstr "" +"\n" +" {config_emoji} Configurações Pessoais\n" +" *Veja ou edite as configurações utilizando o comando {cmd_my}.*\n" +" {cmd_my_timezone}: Fuso Horário utilizado para suas estatísticas, lembretes e Check-Inˋs.\n" +" {cmd_my_language}: Sua preferência de idioma para interagir e comandar o LyonBot.\n" +"\n" +"\n" +" {stats_emoji} Estatísticas\n" +" *Estude em um canal de voz para progredir no status de atividades e participar do Rank deste servidor*\n" +" {cmd_me}: Veja seu perfil pessoal de estudos e configure suas etiquetas de perfil.\n" +" {cmd_stats}: Veja as suas estatísticas e históricos de estudos semanais ou mensais.\n" +" {cmd_ranks}: Veja a lista do Ranking de Atividades..\n" +" {cmd_leaderboard}: Participe, com outros usuários, da Lista de Classificação do servidor.\n" +"\n" +"\n" +" {coin} Financeiro\n" +" *Ganhe moedas através dos estudos, e então gaste-as com recompensas merecidas!*\n" +" {cmd_send}: Envie algumas {coin} para outro membro.\n" +" {cmd_shop}: Compre um cargo colorido com algumas {coin}.\n" +" {cmd_room}: Faça o aluguel de uma sala privada para poder ter privacidade com seus amigos.\n" +"\n" +"\n" +" {utility_emoji} Utilidades\n" +" *Algumas outras ferramentas para manter você produtivo enquanto estuda!*\n" +" {cmd_reminders}: Me peça para te lembrar sobre algo, e eu o farei!\n" +" {cmd_tasklist}: Crie uma lista de afazeres e tenha a satisfação de riscá-los quando completar.\n" +" {cmd_timers}: Se mantenha produtivo com a clássica *Técnica Pomodoro*!\n" +" {cmd_schedule}: Faça o agendamento de horários de estudos, e se comprometa a chegar a tempo de fazer os seus Check-ins." + +#: src/modules/meta/help_sections.py:73 +#, possible-python-brace-format +msgctxt "helptext|page:admin" +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" +"\n" +" Other relevant commands for guild configuration below:\n" +" `/editshop`: Add/Edit/Remove colour roles from the {coin} shop.\n" +" `/ranks`: Add/Edit/Refresh/Remove activity ranks.\n" +" `/pomodoro`: Add/Edit/Remove Pomodoro timers in voice channels.\n" +" `/rolemenus`: Allow members to equip roles from customisable messages.\n" +" `/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" +msgid "Command Summary (for members)" +msgstr "Sumário de Comando (para membros)" + +#: src/modules/meta/help_sections.py:140 +msgctxt "helptext|level:admin|title" +msgid "Command Summary (for server admins)" +msgstr "Sumário de Comando (para Administradores do servidor)" + +#: src/modules/meta/helpui.py:47 +msgctxt "ui:help|button:member_page|label" +msgid "Member Page" +msgstr "Página do Membro" + +#: src/modules/meta/helpui.py:59 +msgctxt "ui:help|button:admin_page|label" +msgid "Admin Page" +msgstr "Página do Administrador" diff --git a/locales/pt_BR/LC_MESSAGES/moderation.po b/locales/pt_BR/LC_MESSAGES/moderation.po new file mode 100644 index 00000000..b4cd2e50 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/moderation.po @@ -0,0 +1,283 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "ui:moderation_config|menu:ticket_log|placeholder" +msgid "Select Ticket Log" +msgstr "Selecione o Registro de Logs" + +#: src/modules/moderation/settingui.py:78 +msgctxt "ui:moderation_config|menu:alert_channel|placeholder" +msgid "Select Alert Channel" +msgstr "Selecione o Canal de Alertas" + +#: src/modules/moderation/settingui.py:103 +msgctxt "ui:moderation_config|menu:modrole|placeholder" +msgid "Select Moderator Role" +msgstr "Selecione o cargo de Moderador" + +#: src/modules/moderation/settingui.py:111 +msgctxt "ui:moderation_config|embed|title" +msgid "Moderation Configuration Panel" +msgstr "Painel de Configuração da Moderação" + +#: src/modules/moderation/settingui.py:150 +msgctxt "dash:moderation|title" +msgid "Moderation Settings ({commands[configure moderation]})" +msgstr "Configurações de Moderação ({commands[configure moderation]})" + +#: src/modules/moderation/settingui.py:154 +msgctxt "dash:moderation|dropdown|placeholder" +msgid "Moderation Panel" +msgstr "Painel de Moderação" + +#: src/modules/moderation/cog.py:136 +msgctxt "cmd:configure_moderation" +msgid "moderation" +msgstr "moderação" + +#: src/modules/moderation/cog.py:139 +msgctxt "cmd:configure_moderation|desc" +msgid "Configure general moderation settings." +msgstr "Configurações gerais de moderação." + +#: src/modules/moderation/ticket.py:147 +#, 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 +#, 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 +msgctxt "ticket|field:target|name" +msgid "Target" +msgstr "Alvo" + +#: src/modules/moderation/ticket.py:173 +msgctxt "ticket|field:moderator|name" +msgid "Moderator" +msgstr "Moderador" + +#: src/modules/moderation/ticket.py:180 +msgctxt "ticket|field:expiry|mode:expiring|name" +msgid "Expires At" +msgstr "Expira em" + +#: src/modules/moderation/ticket.py:183 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:expiring|value" +msgid "" +"{timestamp}\n" +"Duration: `{duration}`" +msgstr "" +"{timestamp}\n" +"Duração: `{duration}`" + +#: src/modules/moderation/ticket.py:191 +msgctxt "ticket|field:expiry|mode:expired|name" +msgid "Expired" +msgstr "Expirado" + +#: src/modules/moderation/ticket.py:194 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:expired|value" +msgid "{timestamp}" +msgstr "{timestamp}" + +#: src/modules/moderation/ticket.py:201 +msgctxt "ticket|field:expiry|mode:open|name" +msgid "Expiry" +msgstr "Fim" + +#: src/modules/moderation/ticket.py:204 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:open|value" +msgid "{timestamp}" +msgstr "{timestamp}" + +#: src/modules/moderation/ticket.py:212 +msgctxt "ticket|field:context|name" +msgid "Context" +msgstr "Contexto" + +#: src/modules/moderation/ticket.py:219 +msgctxt "ticket|field:notes|name" +msgid "Notes" +msgstr "Notas" + +#: src/modules/moderation/ticket.py:226 +msgctxt "ticket|field:pardoned|name" +msgid "Pardoned" +msgstr "Perdoado" + +#: src/modules/moderation/ticket.py:229 +#, possible-python-brace-format +msgctxt "ticket|field:pardoned|value" +msgid "" +"Pardoned by <&{moderator}> at {timestamp}.\n" +"{reason}" +msgstr "" +"Perdoado por <&{moderator}> em {timestamp}.\n" +"{reason}" + +#: src/modules/moderation/settings.py:20 +msgctxt "guildset:ticket_log" +msgid "ticket_log" +msgstr "registro_de_logs" + +#: src/modules/moderation/settings.py:23 +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 +msgctxt "guildset:ticket_log|long_desc" +msgid "" +"Warnings, notes, video blacklists, and other moderation events will be " +"posted as numbered tickets with context to this log." +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 +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 +#, 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 +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 +msgctxt "guildset:ticket_log|formatted:unset" +msgid "Not Set." +msgstr "Não configurado." + +#: src/modules/moderation/settings.py:70 +msgctxt "guildset:alert_channel" +msgid "alert_channel" +msgstr "canal_alertas" + +#: src/modules/moderation/settings.py:73 +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 +msgctxt "guildset:alert_channel|long_desc" +msgid "" +"When I need to send a member a moderation-related notification (e.g. asking " +"them to enable their video in a video channel) from this server, I will try " +"to send it via direct messages. If this fails, I will instead mention the " +"user in this channel." +msgstr "" +"Quando for preciso enviar uma mensagem de alerta a um membro deste servidor " +"(ex. pedindo a ele que habilite o vídeo em um canal de vídeo), eu tentarei " +"enviar por mensagem direta. Caso esta mensagem direta falhe, eu irei " +"mencionar o usuário neste canal." + +#: src/modules/moderation/settings.py:84 +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 +#, 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 +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 +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 +msgctxt "guildset:mod_role" +msgid "mod_role" +msgstr "cargo_moderador" + +#: src/modules/moderation/settings.py:126 +msgctxt "guildset:mod_role|desc" +msgid "" +"Guild role permitted to view configuration and perform moderation tasks." +msgstr "" +"Cargos com permissão para administrar comunidade, ver a configuração e " +"realizar tarefas de moderação." + +#: src/modules/moderation/settings.py:130 +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." +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 +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 +#, 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." + +#: src/modules/moderation/settings.py:156 +msgctxt "guildset:mod_role|set_response:unset" +msgid "No members will be given moderation privileges." +msgstr "Nenhum membro ganhará privilégios de moderação." + +#: src/modules/moderation/settings.py:168 +msgctxt "guildset:mod_role|formatted:unset" +msgid "Not Set." +msgstr "Não Configurado." diff --git a/locales/pt_BR/LC_MESSAGES/monthly-gui.po b/locales/pt_BR/LC_MESSAGES/monthly-gui.po new file mode 100644 index 00000000..08cc5ac3 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/monthly-gui.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/monthly.py:40 +msgctxt "skin:monthlystats|mode:study|title" +msgid "STUDY HOURS" +msgstr "HORAS DE ESTUDO" + +#: src/gui/cards/monthly.py:44 +msgctxt "skin:monthlystats|mode:voice|title" +msgid "VOICE CHANNEL ACTIVITY" +msgstr "ATIVIDADE EM CANAL DE VOZ" + +#: src/gui/cards/monthly.py:48 +msgctxt "skin:monthlystats|mode:text|title" +msgid "MESSAGE ACTIVITY" +msgstr "ATIVIDADE EM CONVERSAS" + +#: src/gui/cards/monthly.py:52 +msgctxt "skin::monthlystats|mode:anki|title" +msgid "CARDS REVIEWED" +msgstr "CARTÕES REVISADOS" + +#: src/gui/cards/monthly.py:119 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:study|bar_value" +msgid "{value} H" +msgstr "{value} H" + +#: src/gui/cards/monthly.py:123 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:voice|bar_value" +msgid "{value} H" +msgstr "{value} H" + +#: src/gui/cards/monthly.py:127 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:text|bar_value" +msgid "{value} M" +msgstr "{value} M" + +#: src/gui/cards/monthly.py:131 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:anki|bar_value" +msgid "{value} C" +msgstr "{value} C" + +#: src/gui/cards/monthly.py:153 +msgctxt "skin:monthlystats|weekdays" +msgid "M,T,W,T,F,S,S" +msgstr "S,T,Q,Q,S,S,D" + +#: src/gui/cards/monthly.py:163 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:study|summary:this_month" +msgid "THIS MONTH: {amount} HOURS" +msgstr "ESTE MÊS: {amount} HORAS" + +#: src/gui/cards/monthly.py:167 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|summary:this_month" +msgid "THIS MONTH: {amount} HOURS" +msgstr "ESTE MÊS: {amount} HORAS" + +#: src/gui/cards/monthly.py:171 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:this_month" +msgid "THIS MONTH: {amount} MESSAGES" +msgstr "ESTE MÊS: {amount} MENSAGENS" + +#: src/gui/cards/monthly.py:175 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:this_month" +msgid "THIS MONTH: {amount} CARDS" +msgstr "ESTE MÊS: {amount} CARTÕES" + +#: src/gui/cards/monthly.py:197 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:study|summary:last_month" +msgid "LAST MONTH: {amount} HOURS" +msgstr "MÊS PASSADO: {amount} HORAS" + +#: src/gui/cards/monthly.py:201 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|summary:last_month" +msgid "LAST MONTH: {amount} HOURS" +msgstr "MÊS PASSADO: {amount} HORAS" + +#: src/gui/cards/monthly.py:205 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:last_month" +msgid "LAST MONTH: {amount} MESSAGES" +msgstr "MÊS PASSADO: {amount} MENSAGENS" + +#: src/gui/cards/monthly.py:209 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:last_month" +msgid "LAST MONTH: {amount} CARDS" +msgstr "MÊS PASSADO: {amount} CARTÕES" + +#: src/gui/cards/monthly.py:300 +msgctxt "ui:monthlystats|stats:current_streak|key" +msgid "Current Streak:" +msgstr "Sequência atual:" + +#: src/gui/cards/monthly.py:304 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:current_streak|value" +msgid "{count} days" +msgstr "{count} dias" + +#: src/gui/cards/monthly.py:308 +msgctxt "ui:monthlystats|stats:longest_streak|key" +msgid "Longest Streak:" +msgstr "Maior sequência:" + +#: src/gui/cards/monthly.py:312 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:longest_streak|value" +msgid "{count} days" +msgstr "{count} dias" + +#: src/gui/cards/monthly.py:316 +msgctxt "ui:monthlystats|stats:daily_average|key" +msgid "Daily Average:" +msgstr "Média Diária:" + +#: src/gui/cards/monthly.py:320 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:daily_average|value" +msgid "{count} hours" +msgstr "{count} horas" + +#: src/gui/cards/monthly.py:324 +msgctxt "ui:monthlystats|stats:days_active|key" +msgid "Days Active:" +msgstr "Dias Ativos:" + +#: src/gui/cards/monthly.py:328 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:days_active|value" +msgid "{count} days" +msgstr "{count} dias" + +#: src/gui/cards/monthly.py:341 +#, possible-python-brace-format +msgctxt "skin:monthlystats|footer" +msgid "Monthly Statistics • As of {day} {month} • {name} {discrim}" +msgstr "Estatísticas Mensais • A partir de {day} {month} • {name} {discrim}" diff --git a/locales/pt_BR/LC_MESSAGES/profile-gui.po b/locales/pt_BR/LC_MESSAGES/profile-gui.po new file mode 100644 index 00000000..678dd6b6 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/profile-gui.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/profile.py:79 +msgctxt "skin:profile|header:profile" +msgid "PROFILE" +msgstr "PERFIL" + +#: src/gui/cards/profile.py:83 +msgctxt "skin:profile|header:achievements" +msgid "ACHIEVEMENTS" +msgstr "CONQUISTAS" + +#: src/gui/cards/profile.py:134 +msgctxt "skin:profile|field:rank_unranked_text" +msgid "UNRANKED" +msgstr "NÃO_RANKEADO" + +#: src/gui/cards/profile.py:138 +#, possible-python-brace-format +msgctxt "skin:profile|field:rank_nextrank_text" +msgid "NEXT RANK: {name} {rangestr}" +msgstr "PRÓXIMO NÍVEL: {name} {rangestr}" + +#: src/gui/cards/profile.py:142 +msgctxt "skin:profile|field:rank_noranks_text" +msgid "NO RANKS AVAILABLE" +msgstr "NÃO HÁ RANKS DISPONÍVEIS" + +#: src/gui/cards/profile.py:146 +msgctxt "skin:profile|field:rank_maxrank_text" +msgid "YOU HAVE REACHED THE MAXIMUM RANK" +msgstr "VOCÊ ATINGIU O NÍVEL MÁXIMO" diff --git a/locales/pt_BR/LC_MESSAGES/ranks.po b/locales/pt_BR/LC_MESSAGES/ranks.po new file mode 100644 index 00000000..b1452979 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/ranks.po @@ -0,0 +1,968 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/ranks/cog.py:76 +msgctxt "cmd:configure_ranks|param:rank_type|choice:voice" +msgid "Voice" +msgstr "Em Canal de Voz" + +#: src/modules/ranks/cog.py:77 +msgctxt "cmd:configure_ranks|param:rank_type|choice:xp" +msgid "XP" +msgstr "XP" + +#: src/modules/ranks/cog.py:78 +msgctxt "cmd:configure_ranks|param:rank_type|choice:message" +msgid "Message" +msgstr "Conversa" + +#: src/modules/ranks/cog.py:495 +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 +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 +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 +#, possible-python-brace-format +msgctxt "rank_refresh|error:unassignable_roles|desc" +msgid "" +"I have insufficient permissions to assign the following role(s):\n" +"{roles}" +msgstr "" +"E não tenho permissões suficientes para designar os seguintes cargo(s):\n" +"{roles}" + +#: src/modules/ranks/cog.py:694 +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 +#, 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 +msgctxt "rank_refresh|remove_roles|error:too_many_issues" +msgid "" +"Too many issues occurred while removing ranks! Please check my permissions " +"and try again in a few minutes." +msgstr "" +"Muitos problemas ocorreram enquanto eu removia as níveis! Por favor, " +"verifique se tenho permissões suficientes e tente novamente em alguns " +"minutos." + +#: src/modules/ranks/cog.py:729 +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 +#, 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 +msgctxt "rank_refresh|add_roles|error:too_many_issues" +msgid "" +"Too many issues occurred while adding ranks! Please check my permissions and" +" try again in a few minutes." +msgstr "" +"Muitos problemas ocorreram enquanto eu adicionava os níveis! Por favor, " +"verifique minhas permissões e tente novamente em alguns minutos." + +#. ---------- Commands ---------- +#: src/modules/ranks/cog.py:775 +msgctxt "cmd:ranks" +msgid "ranks" +msgstr "níveis" + +#: src/modules/ranks/cog.py:807 +msgctxt "cmd:configure_ranks" +msgid "ranks" +msgstr "níveis" + +#: src/modules/ranks/cog.py:808 +msgctxt "cmd:configure_ranks|desc" +msgid "Configure Activity Ranks" +msgstr "Configure os Níveis de Atividade" + +#: src/modules/ranks/cog.py:868 +#, possible-python-brace-format +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|withdm_withchannel" +msgid "" +"Rank update notifications will be sent via **direct message** when possible," +" otherwise to {channel}" +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 +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 +#, possible-python-brace-format +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|nodm_withchannel" +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 +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|nodm_nochannel" +msgid "Members will not be notified when their activity rank updates." +msgstr "" +"Os membros não serão notificados quando for atualizada a sua classificação." + +#: src/modules/ranks/utils.py:13 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_name" +msgid "{role_name}" +msgstr "{role_name}" + +#: src/modules/ranks/utils.py:14 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:guild_name" +msgid "{guild_name}" +msgstr "{guild_name}" + +#: src/modules/ranks/utils.py:15 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_name" +msgid "{user_name}" +msgstr "{user_name}" + +#: src/modules/ranks/utils.py:16 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_id" +msgid "{role_id}" +msgstr "{role_id}" + +#: src/modules/ranks/utils.py:17 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:guild_id" +msgid "{guild_id}" +msgstr "{guild_id}" + +#: src/modules/ranks/utils.py:18 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_id" +msgid "{user_id}" +msgstr "{user_id}" + +#: src/modules/ranks/utils.py:19 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_mention" +msgid "{role_mention}" +msgstr "{role_mention}" + +#: src/modules/ranks/utils.py:20 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_mention" +msgid "{user_mention}" +msgstr "{user_mention}" + +#: src/modules/ranks/utils.py:21 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:requires" +msgid "{rank_requires}" +msgstr "{rank_requires}" + +#: src/modules/ranks/settings.py:26 +msgctxt "guildset:rank_type|output:voice" +msgid "`Voice`" +msgstr "ˋVozˋ" + +#: src/modules/ranks/settings.py:27 +msgctxt "guildset:rank_type|output:xp" +msgid "`Exp`" +msgstr "ˋExpˋ" + +#: src/modules/ranks/settings.py:28 +msgctxt "guildset:rank_type|output:message" +msgid "`Messages`" +msgstr "ˋMensagensˋ" + +#: src/modules/ranks/settings.py:31 +msgctxt "guildset:rank_type|input_format:voice" +msgid "Voice" +msgstr "Voz" + +#: src/modules/ranks/settings.py:32 +msgctxt "guildset:rank_type|input_format:xp" +msgid "Exp" +msgstr "Exp" + +#: src/modules/ranks/settings.py:33 +msgctxt "guildset:rank_type|input_format:message" +msgid "Messages" +msgstr "Mensagens" + +#: src/modules/ranks/settings.py:36 +msgctxt "guildset:rank_type|input_pattern:voice" +msgid "voice|study" +msgstr "voz|estudos" + +#: src/modules/ranks/settings.py:37 +msgctxt "guildset:rank_type|input_pattern:voice" +msgid "text|message|messages" +msgstr "texto|mensagem|mensagens" + +#: src/modules/ranks/settings.py:38 +msgctxt "guildset:rank_type|input_pattern:xp" +msgid "xp|exp|experience" +msgstr "xp|exp|experiência" + +#: src/modules/ranks/settings.py:45 +msgctxt "guildset:rank_type" +msgid "rank_type" +msgstr "tipo_de_rank" + +#: src/modules/ranks/settings.py:48 +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." + +#: src/modules/ranks/settings.py:52 +msgctxt "guildset:rank_type|long_desc" +msgid "" +"Which statistic is used to reward activity ranks.\n" +"`Voice` is the number of hours active in tracked voice channels, `Exp` is a measure of message activity, and `Message` is a simple count of messages sent." +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 +msgctxt "guildset:rank_type|accepts" +msgid "Voice/Exp/Messages" +msgstr "Voz/Exp/Mensagens" + +#: src/modules/ranks/settings.py:71 +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 +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 +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 +#, 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 +msgctxt "guildset:rank_channel" +msgid "rank_channel" +msgstr "canal_do_rank" + +#: src/modules/ranks/settings.py:106 +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 +msgctxt "guildset:rank_channel|long_desc" +msgid "" +"Whenever a user advances a rank, a congratulatory message will be sent in " +"this channel, if set. If `dm_ranks` is enabled, this channel will only be " +"used when the user has opted not to receive DM notifications, or is " +"otherwise unreachable." +msgstr "" +"Assim que um usuário subir de nível classificatório, receberá os parabéns " +"pela conquista através de uma mensagem enviada para este canal. Se estiver " +"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 +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 +#, 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 +msgctxt "guildset:rank_channel|set_response|unset" +msgid "" +"Rank update messages will be ignored or sent via DM (if `dm_ranks` is " +"enabled)." +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 +#, 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 +msgctxt "guildset:dm_ranks" +msgid "dm_ranks" +msgstr "md_niveis" + +#: src/modules/ranks/settings.py:156 +msgctxt "guildset:dm_ranks|desc" +msgid "" +"Whether to send rank advancement notifications through direct messages." +msgstr "" +"Se devo enviar a progressão nos níveis classificatórios através de mensagens" +" diretas." + +#: src/modules/ranks/settings.py:160 +msgctxt "guildset:dm_ranks|long_desc" +msgid "" +"If enabled, congratulatory messages for rank advancement will be direct " +"messaged to the user, instead of being sent to the configured " +"`rank_channel`." +msgstr "" +"Se habilitado, mensagens de comemoração pela conquista de um novo nível " +"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 +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 +msgctxt "guildset:dm_ranks|response:false" +msgid "I will never direct message members upon rank advancement." +msgstr "" +"Eu não enviarei mensagens diretamente aos membros sobre atualização dos seus" +" níveis classificatórios." + +#: src/modules/ranks/ui/preview.py:75 +msgctxt "ui:rank_preview|button:edit|error:role_deleted" +msgid "" +"The role underlying this rank no longer exists! Please select a new role " +"from the role menu." +msgstr "" +"O cargo sublinhado, não é um cargo existente. Por favor, selecione um novo " +"cargo através do menu de cargos." + +#: src/modules/ranks/ui/preview.py:82 +msgctxt "ui:rank_preview|button:edit|error:role_not_assignable" +msgid "" +"I do not have permission to edit the underlying role! Please select a new " +"role from the role menu, or ensure my top role is above the selected role." +msgstr "" +"Eu não tenho permissão suificiente para editar o cargo sublinhado. Por " +"favor, selecione um novo cargo, através do menu de cargos, ou garanta que " +"meu cargo seja mais elevado do que aqueles que irei designar." + +#: src/modules/ranks/ui/preview.py:91 +msgctxt "ui:rank_preview|button:edit|error|title" +msgid "Failed to edit rank!" +msgstr "Ocorreu uma falha ao editar os cargos." + +#: src/modules/ranks/ui/preview.py:109 +msgctxt "ui:rank_preview|button:edit|label" +msgid "Edit" +msgstr "Editar" + +#: src/modules/ranks/ui/preview.py:142 +#, possible-python-brace-format +msgctxt "ui:rank_preview|button:delete|response:success|description|with_role" +msgid "" +"You have deleted the rank {mention}. Press the button below to also delete " +"the role." +msgstr "" +"Você deletou o nível {mention}. Clique no botão abaixo para também apagar o " +"cargo." + +#: src/modules/ranks/ui/preview.py:147 +#, possible-python-brace-format +msgctxt "ui:rank_preview|button:delete|response:success|description|no_role" +msgid "You have deleted the rank {mention}." +msgstr "Você deletou o nível {mention}." + +#: src/modules/ranks/ui/preview.py:153 +msgctxt "ui:rank_preview|button:delete|response:success|title" +msgid "Rank Deleted" +msgstr "Nível Deletado" + +#: src/modules/ranks/ui/preview.py:163 +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|label" +msgid "Delete Role" +msgstr "Deletar Cargo" + +#: src/modules/ranks/ui/preview.py:179 +#, possible-python-brace-format +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|response:errored|desc" +msgid "" +"You have deleted the rank **{name}**! Could not delete the role due to an " +"unknown error." +msgstr "" +"Você deletou o nível **{name}**! Não pude deletar o cargo devido a um erro " +"desconhecido." + +#: src/modules/ranks/ui/preview.py:185 +#, possible-python-brace-format +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|response:success|desc" +msgid "You have deleted the rank **{name}** along with the underlying role." +msgstr "Você deletou o nível **{name}** juntamente com o cargo sublinhado." + +#: src/modules/ranks/ui/preview.py:202 +msgctxt "ui:rank_preview|button:delete|label" +msgid "Delete Rank" +msgstr "Deletar Nível" + +#: src/modules/ranks/ui/preview.py:232 +msgctxt "ui:rank_preview|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, e nem pode ser considerado um " +"nível." + +#: src/modules/ranks/ui/preview.py:237 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|suberror:is_managed" +msgid "" +"The role is managed by another application or integration, and cannot be a " +"rank!" +msgstr "" +"O cargo é gerenciado por uma outra aplicação, ou integração, e não pode ser " +"de um nível!" + +#: src/modules/ranks/ui/preview.py:242 +msgctxt "" +"ui:rank_preview|menu:roles|error:not_assignable|suberror:no_permissions" +msgid "" +"I do not have the `MANAGE_ROLES` permission in this server, so I cannot " +"manage ranks!" +msgstr "" +"Eu não tenho a permissão para ˋGERENCIAR_CARGOSˋ neste servidor, então eu " +"não posso gerenciar os níveis." + +#: src/modules/ranks/ui/preview.py:247 +msgctxt "ui:rank_preview|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 " +"remove it!" +msgstr "" +"Este é um cargo acima do meu cargo mais elevado, então eu não posso " +"adiciona-lo ou removê-lo." + +#: src/modules/ranks/ui/preview.py:253 +msgctxt "ui:rank_preview|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 posso gerenciar este cargo, então não posso colocá-lo como nível." + +#: src/modules/ranks/ui/preview.py:259 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|title" +msgid "Could not update rank!" +msgstr "Não pude atualizar as classificações." + +#: src/modules/ranks/ui/preview.py:269 +msgctxt "ui:rank_preview|menu:roles|placeholder" +msgid "Update Rank Role" +msgstr "Atualizar Cargos de Nível" + +#: src/modules/ranks/ui/preview.py:281 +msgctxt "ui:rank_preview|embed|title" +msgid "Rank Information" +msgstr "Informação das Cassificações" + +#: src/modules/ranks/ui/preview.py:288 +msgctxt "ui:rank_preview|embed|field:role|name" +msgid "Role" +msgstr "Cargo" + +#: src/modules/ranks/ui/preview.py:295 +msgctxt "ui:rank_preview|embed|field:required|name" +msgid "Required" +msgstr "Necessário" + +#: src/modules/ranks/ui/preview.py:302 +msgctxt "ui:rank_preview|embed|field:reward|name" +msgid "Reward" +msgstr "Recompensa" + +#: src/modules/ranks/ui/preview.py:311 +msgctxt "ui:rank_preview|embed|field:message" +msgid "Congratulatory Message" +msgstr "Mensagem de Comemoração" + +#: src/modules/ranks/ui/refresh.py:134 +msgctxt "ui:refresh_ranks|embed|title:errored" +msgid "Could not refresh the server ranks!" +msgstr "Não pude atualizar os níveis classificatórios do servidor." + +#: src/modules/ranks/ui/refresh.py:142 +msgctxt "ui:refresh_ranks|embed|title:done" +msgid "Rank refresh complete!" +msgstr "Atualização dos níveis classificatórios foi feita!" + +#: src/modules/ranks/ui/refresh.py:148 +msgctxt "ui:refresh_ranks|embed|title:working" +msgid "Refreshing your server ranks, please wait." +msgstr "Atualizando os níveis classificatórios, aguarde um momento." + +#: src/modules/ranks/ui/refresh.py:166 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:ranks" +msgid "**Loading server ranks:** {emoji}" +msgstr "**Atualizando níveis de classificação:** {emoji}" + +#: src/modules/ranks/ui/refresh.py:176 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:members" +msgid "**Loading server members:** {emoji}" +msgstr "**Atualizando membros do servidor:** {emoji}" + +#: src/modules/ranks/ui/refresh.py:186 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:roles" +msgid "**Loading rank roles:** {emoji}" +msgstr "**Atualizando cargos de nível:** {emoji}" + +#: src/modules/ranks/ui/refresh.py:196 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:compute" +msgid "**Computing correct ranks:** {emoji}" +msgstr "**Calculando os níveis adequados:** {emoji}" + +#: src/modules/ranks/ui/refresh.py:207 +msgctxt "ui:refresh_ranks|embed|field:remove|name" +msgid "Removing invalid rank roles from members" +msgstr "Removendo os cargos de níveis inexistentes dos membros." + +#: src/modules/ranks/ui/refresh.py:211 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|field:remove|value" +msgid "{progress} {done}/{total} removed" +msgstr "{progress} {done}/{total} removidos" + +#: src/modules/ranks/ui/refresh.py:222 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:remove" +msgid "**Removed invalid ranks:** {done}/{target}" +msgstr "**Cargos inválidos removidos:** {done}/{target}" + +#: src/modules/ranks/ui/refresh.py:230 +msgctxt "ui:refresh_ranks|embed|field:add|name" +msgid "Giving members their rank roles" +msgstr "" +"Atribuindo os cargos de acordo com os níveis de classificação dos membros." + +#: src/modules/ranks/ui/refresh.py:234 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|field:add|value" +msgid "{progress} {done}/{total} given" +msgstr "{progress} {done}/{total} dados" + +#: src/modules/ranks/ui/refresh.py:245 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:add" +msgid "**Updated member ranks:** {done}/{target}" +msgstr "**Níveis dos membros atualizados:** {done}/{target}" + +#: src/modules/ranks/ui/config.py:42 +msgctxt "ui:rankconfigui|check|not_permitted" +msgid "You have insufficient server permissions to use this UI!" +msgstr "Você não tem permissões suficientes no servidor para usar isto!" + +#: src/modules/ranks/ui/config.py:64 +msgctxt "ui:rank_config|button:overview|label" +msgid "Edit Ranks" +msgstr "Editar Níveis" + +#: src/modules/ranks/ui/config.py:82 +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 +msgctxt "ui:rank_config|menu:types|option:voice" +msgid "Voice Activity" +msgstr "Atividade em Canal de Voz" + +#: src/modules/ranks/ui/config.py:98 +msgctxt "ui:rank_config|menu:types|option:xp" +msgid "XP Earned" +msgstr "EXP Acumulada" + +#: src/modules/ranks/ui/config.py:106 +msgctxt "ui:rank_config|menu:types|option:messages" +msgid "Messages Sent" +msgstr "Mensagens Enviadas" + +#: src/modules/ranks/ui/config.py:126 +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 +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 +msgctxt "dash:rank|title" +msgid "Rank Configuration ({commands[configure ranks]})" +msgstr "" +"Configuração dos Níveis de Classificação ({commands[configure ranks]})" + +#: src/modules/ranks/ui/config.py:175 +msgctxt "dash:rank|dropdown|placeholder" +msgid "Activity Rank Panel" +msgstr "Painel de Classificação dos Membros" + +#: src/modules/ranks/ui/overview.py:95 +msgctxt "ui:rank_overview|button:auto|label" +msgid "Auto Create" +msgstr "Criar Automaticamente" + +#: src/modules/ranks/ui/overview.py:110 +msgctxt "ui:rank_overview|button:refresh|label" +msgid "Refresh Member Ranks" +msgstr "Atualizar Níveis dos Membros" + +#: src/modules/ranks/ui/overview.py:122 +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 +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 +msgctxt "ui:rank_overview|button:clear|confirm|button:no" +msgid "Cancel" +msgstr "Cancelar" + +#: src/modules/ranks/ui/overview.py:149 +msgctxt "ui:rank_overview|button:clear|label" +msgid "Clear Ranks" +msgstr "Limpar Níveis Classificatórios" + +#: src/modules/ranks/ui/overview.py:179 +msgctxt "ui:rank_overview|button:create|label" +msgid "Create Rank" +msgstr "Criar Níveis Classificatórios" + +#: src/modules/ranks/ui/overview.py:222 +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 +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 " +"rank!" +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 +msgctxt "" +"ui:rank_overview|menu:roles|error:not_assignable|suberror:no_permissions" +msgid "" +"I do not have the `MANAGE_ROLES` permission in this server, so I cannot " +"manage ranks!" +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 +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 " +"remove it!" +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 +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 +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 +msgctxt "ui:rank_overview|menu:roles|placeholder" +msgid "Create from role" +msgstr "Criar por cargos" + +#: src/modules/ranks/ui/overview.py:290 +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 +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!" +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 +#, 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 +#, 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 +#, 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 +msgctxt "ui:rank_overview|embed|field:note|name" +msgid "Note" +msgstr "Nota" + +#: src/modules/ranks/ui/overview.py:412 +#, 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 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|field:note|value:without_season" +msgid "" +"Ranks are determined by *all-time* statistics.\n" +"To reward ranks from a later time (e.g. to have monthly/quarterly/yearly ranks) set the `season_start` with {stats_cmd}" +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 +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 " +"voice channel! Use the **Refresh Member Ranks** button below to update all " +"members manually." +msgstr "" +"Perceba também, que os Níveis somente serão atualizados quando um membro " +"sair de um canal em que esteja contabilizando atividade. Para atualizar " +"manualmente todos os níveis, use o botão **Atualizar Níveis dos Membros** " +"abaixo." + +#: src/modules/ranks/ui/editor.py:33 +msgctxt "ui:rank_editor|input:role_name|label" +msgid "Role Name" +msgstr "Nome do Cargo" + +#: src/modules/ranks/ui/editor.py:37 +msgctxt "ui:rank_editor|input:role_name|placeholder" +msgid "Name of the awarded guild role" +msgstr "Nome do cargo concedido" + +#: src/modules/ranks/ui/editor.py:53 +msgctxt "ui:rank_editor|input:role_colour|label" +msgid "Role Colour" +msgstr "Cor de Cargo" + +#: src/modules/ranks/ui/editor.py:57 +msgctxt "ui:rank_editor|input:role_colour|placeholder" +msgid "Colour of the awarded guild role, e.g. #AB1321" +msgstr "Cor do cargo concedido, Exemplo #AB1321" + +#: src/modules/ranks/ui/editor.py:69 +msgctxt "ui:rank_editor|input:role_colour|error:parse" +msgid "" +"`role_colour`: Could not parse colour! Please use `#` format e.g. " +"`#AB1325`." +msgstr "" +"`cor_de_cargo`: Não consegui analisar a cor! Por favor, use o formato " +"`#` Exemplo: `#AB1325`." + +#: src/modules/ranks/ui/editor.py:88 +msgctxt "ui:rank_editor|type:voice|input:requires|label" +msgid "Required Voice Hours" +msgstr "Quantidade de Horas de Voz Necessárias" + +#: src/modules/ranks/ui/editor.py:92 +msgctxt "ui:rank_editor|type:voice|input:requires|placeholder" +msgid "Number of voice hours before awarding this rank" +msgstr "" +"Número de horas, em canal de voz, necessárias para alcançar este nível de " +"classificação." + +#: src/modules/ranks/ui/editor.py:97 +msgctxt "ui:rank_editor|type:xp|input:requires|label" +msgid "Required XP" +msgstr "EXP Necessária" + +#: src/modules/ranks/ui/editor.py:101 +msgctxt "ui:rank_editor|type:xp|input:requires|placeholder" +msgid "Amount of XP needed before obtaining this rank" +msgstr "" +"Quantidade de XP necessárias para alcançar este nível de classificação" + +#: src/modules/ranks/ui/editor.py:106 +msgctxt "ui:rank_editor|type:message|input:requires|label" +msgid "Required Message Count" +msgstr "Quantidade de Mensagens Necessárias" + +#: src/modules/ranks/ui/editor.py:110 +msgctxt "ui:rank_editor|type:message|input:requires|placeholder" +msgid "Number of messages needed before awarding rank" +msgstr "" +"Número, de mensagens enviadas, necessário para alcançar este nível de " +"classificação." + +#: src/modules/ranks/ui/editor.py:126 +msgctxt "ui:rank_editor|type:voice|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum time! Please write a number of " +"hours." +msgstr "" +"ˋrequerˋ: Não pude analisar o tempo mínimo informado! Por favor, informe o " +"número de horas." + +#: src/modules/ranks/ui/editor.py:137 +msgctxt "ui:rank_editor|type:message|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum message count! Please enter an " +"integer." +msgstr "" +"ˋrequerˋ: Não pude analisar o número mínimo de \"mensagens enviadas\" " +"informado. Por favor, use um valor inteiro." + +#: src/modules/ranks/ui/editor.py:148 +msgctxt "ui:rank_editor|type:xp|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum XP! Please enter an integer." +msgstr "" +"ˋrequerˋ: Não pude analisar o valor mínimo de XP informado! Por favor, use " +"um número inteiro." + +#: src/modules/ranks/ui/editor.py:162 +msgctxt "ui:rank_editor|input:reward|label" +msgid "LionCoins awarded upon achieving this rank" +msgstr "" +"Prêmio de LionCoins a ser pago quando atingirem este nível de classificação." + +#: src/modules/ranks/ui/editor.py:166 +msgctxt "ui:rank_editor|input:reward|placeholder" +msgid "LionCoins awarded upon achieving this rank" +msgstr "" +"Prêmio de LionCoins a ser pago quando atingirem este nível de classificação." + +#: src/modules/ranks/ui/editor.py:181 +msgctxt "ui:rank_editor|input:reward|error:parse" +msgid "`reward`: Please enter an integer number of LionCoins." +msgstr "ˋrequerˋ: Por favor, informe um número inteiro de LionCoins. " + +#: src/modules/ranks/ui/editor.py:197 +msgctxt "ui:rank_editor|input:message|label" +msgid "Rank Message" +msgstr "Níveis de Classificação em Mensagens" + +#: src/modules/ranks/ui/editor.py:201 +msgctxt "ui:rank_editor|input:message|placeholder" +msgid "Congratulatory message sent to the user upon achieving this rank." +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" +msgstr "Editor de Níveis" + +#: src/modules/ranks/ui/editor.py:317 +msgctxt "ui:rank_editor|mode:create|title" +msgid "Rank Creator" +msgstr "Criador de Níveis" diff --git a/locales/pt_BR/LC_MESSAGES/reminders.po b/locales/pt_BR/LC_MESSAGES/reminders.po new file mode 100644 index 00000000..c92f5a2e --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/reminders.po @@ -0,0 +1,418 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/reminders/cog.py:114 +#, possible-python-brace-format +msgctxt "create_reminder|error:past" +msgid "The provided reminder time {timestamp} is in the past!" +msgstr "O momento informado para o lembrete {timestamp} é no passado! " + +#: src/modules/reminders/cog.py:123 +msgctxt "create_reminder|error:too_fast" +msgid "" +"You cannot set a repeating reminder with a period less than 10 minutes." +msgstr "" +"Você não pode criar lembretes repetitivos com menos de 10 minutos de " +"intervalo entre eles." + +#: src/modules/reminders/cog.py:133 +msgctxt "create_reminder|error:too_many" +msgid "Sorry, you have reached the maximum of `25` reminders." +msgstr "" +"Sinto muito, mas você já atingiu o máximo de ˋ25ˋ lembretes permitidos." + +#: src/modules/reminders/cog.py:149 +msgctxt "create_reminder|error:cannot_dm" +msgid "" +"I cannot direct message you! Do you have me blocked or direct messages " +"closed?" +msgstr "" +"Eu não posso enviar uma Mensagem Direta a você! O que eu te fiz? Você me " +"bloqueou, ou suas Mensagens Diretas estão fechadas?" + +#: src/modules/reminders/cog.py:186 +#, 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 "" +"Não pude analisar ˋ{given}ˋ como um lembrete, de tempo, válido. Tente usar o" +" formato ˋHH:MMˋ ou ˋAAAA-MM-DD HH:MMˋ." + +#: src/modules/reminders/cog.py:329 +msgctxt "cmd:reminders" +msgid "reminders" +msgstr "lembretes" + +#: src/modules/reminders/cog.py:332 +msgctxt "cmd:reminders|desc" +msgid "View and set your reminders." +msgstr "Veja e configure seus lembretes." + +#: src/modules/reminders/cog.py:353 +msgctxt "cmd:remindme" +msgid "remindme" +msgstr "lembrar-me" + +#: src/modules/reminders/cog.py:354 +msgctxt "cmd:remindme|desc" +msgid "View and set task reminders." +msgstr "Veja e configure lembretes de tarefas." + +#: src/modules/reminders/cog.py:361 +msgctxt "cmd:reminders_cancel" +msgid "cancel" +msgstr "cancelar" + +#: src/modules/reminders/cog.py:364 +msgctxt "cmd:reminders_cancel|desc" +msgid "" +"Cancel a single reminder. Use /reminders to clear or cancel multiple " +"reminders." +msgstr "" +"Cancele um lembrete. Use /lembretes para limpar ou cancelar vários lembretes" +" de uma vez." + +#: src/modules/reminders/cog.py:368 +msgctxt "cmd:reminders_cancel|param:reminder" +msgid "reminder" +msgstr "lembrete" + +#: src/modules/reminders/cog.py:373 +msgctxt "cmd:reminders_cancel|param:reminder|desc" +msgid "Start typing, then select a reminder to cancel." +msgstr "Comece digitando, e então, selecione o lembrete a cancelar." + +#: src/modules/reminders/cog.py:392 +msgctxt "cmd:reminders_cancel|error:no_reminders" +msgid "There are no reminders to cancel!" +msgstr "Não há nenhum lembrete para cancelar." + +#: src/modules/reminders/cog.py:416 +msgctxt "cmd:reminders_cancel|error:no_match" +msgid "" +"I am not sure which reminder you want to cancel. Please try again, selecting" +" a reminder from the list of choices." +msgstr "" +"Eu não entendi ao certo qual lembrete você gostaria de cancelar. Por favor, " +"tente novamente selecionando o lembrete de uma das opções da lista." + +#: src/modules/reminders/cog.py:429 +msgctxt "cmd:reminders_cancel|embed:success|desc" +msgid "Reminder successfully cancelled." +msgstr "Lembretes cancelados com sucesso." + +#: src/modules/reminders/cog.py:446 +msgctxt "cmd:reminders_cancel|acmpl:reminder|error:no_reminders" +msgid "There are no reminders to cancel!" +msgstr "Não há lembretes para cancelar." + +#: src/modules/reminders/cog.py:476 +#, possible-python-brace-format +msgctxt "cmd:reminders_cancel|acmpl:reminder|error:no_matches" +msgid "You do not have any reminders matching \"{partial}\"" +msgstr "Você não tem nenhum lembrete parecido com \"{partial}\"" + +#: src/modules/reminders/cog.py:484 +msgctxt "cmd:remindme_at" +msgid "at" +msgstr "às" + +#: src/modules/reminders/cog.py:487 +msgctxt "cmd:remindme_at|desc" +msgid "Schedule a reminder for a particular time." +msgstr "Agende um lembrete para um horário específico." + +#: src/modules/reminders/cog.py:491 +msgctxt "cmd:remindme_at|param:time" +msgid "time" +msgstr "tempo" + +#: src/modules/reminders/cog.py:492 +msgctxt "cmd:remindme_at|param:reminder" +msgid "reminder" +msgstr "lembrete" + +#: src/modules/reminders/cog.py:493 +msgctxt "cmd:remindme_at|param:every" +msgid "repeat_every" +msgstr "repetir_toda" + +#: src/modules/reminders/cog.py:498 +msgctxt "cmd:remindme_at|param:time|desc" +msgid "When you want to be reminded. (E.g. `4pm` or `16:00`)." +msgstr "Quando você gostaria de ser lembrado. (Ex. ˋ4pmˋ ou ˋ16:00ˋ)." + +#: src/modules/reminders/cog.py:502 +msgctxt "cmd:remindme_at|param:reminder|desc" +msgid "What should the reminder be?" +msgstr "Sobre o quê você quer ser lembrado?" + +#: src/modules/reminders/cog.py:506 +msgctxt "cmd:remindme_at|param:every|desc" +msgid "How often to repeat this reminder." +msgstr "Quantas vezes devo repetir este lembrete." + +#: src/modules/reminders/cog.py:533 +msgctxt "cmd:remindme_at|error|title" +msgid "Could not create reminder!" +msgstr "Não pude criar o lembrete!" + +#: src/modules/reminders/cog.py:564 +#, possible-python-brace-format +msgctxt "cmd:remindme_at|acmpl:time|error:parse" +msgid "" +"Cannot parse \"{partial}\" as a time. Try the format HH:MM or YYYY-MM-DD " +"HH:MM" +msgstr "" +"Não pude analisar \"{partial}\" como um tempo. Tente o formato HH:MM ou " +"AAAA-MM-DD HH:MM" + +#: src/modules/reminders/cog.py:571 +msgctxt "cmd:remindme_in" +msgid "in" +msgstr "em" + +#: src/modules/reminders/cog.py:574 +msgctxt "cmd:remindme_in|desc" +msgid "Schedule a reminder for a given amount of time in the future." +msgstr "" +"Lembrete de check-in para uma determinada quantidade de horários no futuro." + +#: src/modules/reminders/cog.py:578 +msgctxt "cmd:remindme_in|param:time" +msgid "time" +msgstr "tempo" + +#: src/modules/reminders/cog.py:579 +msgctxt "cmd:remindme_in|param:reminder" +msgid "reminder" +msgstr "lembrete" + +#: src/modules/reminders/cog.py:580 +msgctxt "cmd:remindme_in|param:every" +msgid "repeat_every" +msgstr "repetir_toda" + +#: src/modules/reminders/cog.py:585 +msgctxt "cmd:remindme_in|param:time|desc" +msgid "How far into the future to set the reminder (e.g. 1 day 10h 5m)." +msgstr "Daqui há quanto tempo você quer ser lembrado? (ex. 1 dia 10h 5m)." + +#: src/modules/reminders/cog.py:589 +msgctxt "cmd:remindme_in|param:reminder|desc" +msgid "What should the reminder be?" +msgstr "O que deve ser lembrado?" + +#: src/modules/reminders/cog.py:593 +msgctxt "cmd:remindme_in|param:every|desc" +msgid "How often to repeat this reminder. (e.g. 1 day, or 2h)" +msgstr "Quantas vezes repetir este lembrete. (ex 1 dia, ou 2h)" + +#: src/modules/reminders/cog.py:619 +msgctxt "cmd:remindme_in|error|title" +msgid "Could not create reminder!" +msgstr "Não pude criar o lembrete!" + +#: src/modules/reminders/ui.py:47 +msgctxt "ui:reminderlist|button:clear|confirm|title" +msgid "Are You Sure?" +msgstr "Você tem certeza?" + +#: src/modules/reminders/ui.py:50 +#, possible-python-brace-format +msgctxt "ui:reminderlist|button:clear|confirm|desc" +msgid "Are you sure you want to delete your `{count}` reminder?" +msgid_plural "Are you sure you want to clear your `{count}` reminders?" +msgstr[0] "Você tem certeza que deseja limpar seu ˋ{count}ˋ lembrete?" +msgstr[1] "Você tem certeza que deseja limpar seus ˋ{count}ˋ lembretes?" +msgstr[2] "Você tem certeza que deseja limpar seus ˋ{count}ˋ lembretes?" + +#: src/modules/reminders/ui.py:57 +msgctxt "ui:reminderlist|button:clear|confirm|button:yes" +msgid "Yes, clear my reminders" +msgstr "Sim, apagar meus lembretes" + +#: src/modules/reminders/ui.py:68 +msgctxt "ui:reminderlist|button:clear|success|desc" +msgid "Your reminders have been cleared!" +msgstr "Seus lembretes foram apagados!" + +#: src/modules/reminders/ui.py:77 +msgctxt "ui:reminderlist|button:clear|confirm|button:cancel" +msgid "Cancel" +msgstr "Cancelar" + +#: src/modules/reminders/ui.py:89 +msgctxt "ui:reminderlist|button:clear|label" +msgid "Clear Reminders" +msgstr "Apagar Lembretes" + +#: src/modules/reminders/ui.py:110 +msgctxt "ui:reminderlist|button:new|modal|field:time|label" +msgid "When would you like to be reminded?" +msgstr "Quando você gostaria de ser lembrado?" + +#: src/modules/reminders/ui.py:120 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|label" +msgid "How often should the reminder repeat?" +msgstr "Com que frequência o lembrete deve se repetir?" + +#: src/modules/reminders/ui.py:124 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|placeholder" +msgid "1 day 10 hours 5 minutes (Leave empty for no repeat.)" +msgstr "" +"1 dia 10 horas 5 minutos (Caso não queira que se repita, deixe em branco)" + +#: src/modules/reminders/ui.py:133 +msgctxt "ui:reminderlist|button:new|modal|field:content|label" +msgid "What should I remind you?" +msgstr "Do que eu devo te lembrar?" + +#: src/modules/reminders/ui.py:144 +msgctxt "ui:reminderlist|button:new|modal|title" +msgid "Set a Reminder" +msgstr "Configurar um Lembrete" + +#: src/modules/reminders/ui.py:157 +#, possible-python-brace-format +msgctxt "ui:reminderlist|button:new|modal|parse|error:interval" +msgid "Cannot parse '{value}' as a duration." +msgstr "Não pude analisar ˋ{value}ˋ como uma duração." + +#: src/modules/reminders/ui.py:180 +msgctxt "ui:reminderlist|button:new|label" +msgid "New Reminder" +msgstr "Novo Lembrete" + +#: src/modules/reminders/ui.py:208 +msgctxt "ui:reminderlist|select:remove|placeholder" +msgid "Select to cancel" +msgstr "Selecione para cancelar" + +#: src/modules/reminders/ui.py:264 +msgctxt "ui:reminderlist|embed:list|author" +msgid "Your reminders" +msgstr "Seus lembretes" + +#: src/modules/reminders/ui.py:270 +msgctxt "ui:reminderlist|embed:list|footer" +msgid "Click a reminder to jump back to the context!" +msgstr "Clique em um lembrete para retornar ao conteúdo" + +#: src/modules/reminders/ui.py:277 +msgctxt "ui:reminderlist|embed:no_reminders|title" +msgid "You have no reminders set!" +msgstr "Você não possui lembretes configurados!" + +#: src/modules/reminders/ui.py:286 +msgctxt "ui:reminderlist|embed|tips:name" +msgid "Reminder Tips" +msgstr "Dicas dos lembretes." + +#: src/modules/reminders/ui.py:290 +#, possible-python-brace-format +msgctxt "ui:reminderlist|embed|tips:value" +msgid "" +"- Use {at_cmd} to set a reminder at a known time (e.g. `at 10 am`).\n" +"- Use {in_cmd} to set a reminder in a certain time (e.g. `in 2 hours`).\n" +"- Both commands support repeating reminders using the `every` parameter.\n" +"- Remember to tell me your timezone with {timezone_cmd} if you haven't already!" +msgstr "" +"- Use {at_cmd} para configurar um lembrete em para um tempo exato (ex. ˋàs 10 am`).\n" +"- Use {in_cmd} para configurar um lembrete daqui a um certo tempo (ex. `em 2 horas`).\n" +"- Ambos os comandos aceitam lembretes repetitivos, usando o parâmetro 'a cada'.\n" +"- Se lembre de configurar o seu fuso horário com {timezone_cmd}, caso ainda não tenha feito!" + +#: src/modules/reminders/data.py:63 +msgctxt "reminder_set|title" +msgid "Reminder Set!" +msgstr "Lembrete configurado!" + +#: src/modules/reminders/data.py:67 +#, possible-python-brace-format +msgctxt "reminder_set|desc" +msgid "" +"At {timestamp} I will remind you about:\n" +"> {content}" +msgstr "" +"Às {timestamp} eu irei te lembrar sobre:\n" +"> {content}" + +#: src/modules/reminders/data.py:79 +msgctxt "reminder_set|field:repeat|name" +msgid "Repeats" +msgstr "Repete" + +#: src/modules/reminders/data.py:83 +#, possible-python-brace-format +msgctxt "reminder_set|field:repeat|value" +msgid "" +"This reminder will repeat every `{interval}` (after the first reminder)." +msgstr "" +"Este lembrete irá repetir a cada ˋ{interval}ˋ (depois do primeiro lembrete)" + +#: src/modules/reminders/data.py:94 +msgctxt "reminder|embed" +msgid "You asked me to remind you!" +msgstr "Você me pediu para te lembrar!" + +#: src/modules/reminders/data.py:102 +msgctxt "reminder|embed" +msgid "Context?" +msgstr "Contexto?" + +#: src/modules/reminders/data.py:104 +msgctxt "reminder|embed" +msgid "Click Here" +msgstr "Clique Aqui" + +#: src/modules/reminders/data.py:111 +msgctxt "reminder|embed" +msgid "Next reminder" +msgstr "Próximo lembrete" + +#: src/modules/reminders/data.py:135 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every day" +msgid_plural "Every `{days}` days" +msgstr[0] "Todo dia" +msgstr[1] "A cada ˋ{days}ˋ dias" +msgstr[2] "A cada ˋ{days}ˋ dias" + +#: src/modules/reminders/data.py:144 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every hour" +msgid_plural "Every `{hours}` hours" +msgstr[0] "A cada hora" +msgstr[1] "A cada ˋ{hours}ˋ horas" +msgstr[2] "A cada ˋ{hours}ˋ horas" + +#: src/modules/reminders/data.py:153 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every `{duration}`" +msgstr "A cada ˋ{duration}ˋ" diff --git a/locales/pt_BR/LC_MESSAGES/rolemenus.po b/locales/pt_BR/LC_MESSAGES/rolemenus.po new file mode 100644 index 00000000..6086ae13 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/rolemenus.po @@ -0,0 +1,1640 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "argtype:menu_style|opt:reaction" +msgid "Reaction Roles" +msgstr "Cargos por Reação" + +#: src/modules/rolemenus/cog.py:45 +msgctxt "argtype:menu_style|opt:button" +msgid "Button Menu" +msgstr "Botão do Menu" + +#: src/modules/rolemenus/cog.py:49 +msgctxt "argtype:menu_style|opt:dropdown" +msgid "Dropdown Menu" +msgstr "Menu Suspenso" + +#: src/modules/rolemenus/cog.py:68 +msgctxt "ctxcmd:rolemenu" +msgid "Role Menu Editor" +msgstr "Editor de Cargos" + +#: src/modules/rolemenus/cog.py:81 +msgctxt "ctxcmd:rolemenu|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" +"Você precisa ter permissão ˋGERENCIAR_CARGOSˋ para que possa gerenciar as " +"configurações dos cargos." + +#: src/modules/rolemenus/cog.py:88 +msgctxt "ctxcmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "" +"Está faltando uma permissão de ˋGERENCIAR_CARGOSˋ, necessária para " +"disponibilizar o menu de cargos." + +#: src/modules/rolemenus/cog.py:300 +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 +#, possible-python-brace-format +msgctxt "parse:message_link|suberror:no_perms" +msgid "" +"Insufficient permissions! I need the `MESSAGE_HISTORY` permission in " +"{channel}." +msgstr "" +"Permissões insuficientes! Eu preciso de permissões para ˋMESSAGE_HISTORYˋ em" +" {channel}." + +#: src/modules/rolemenus/cog.py:310 +#, 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 +msgctxt "parse:message_link|suberror:malformed_link" +msgid "" +"Malformed message link. Please copy the link by right clicking the target " +"message." +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 +#, possible-python-brace-format +msgctxt "parse:message_link|error" +msgid "" +"Failed to resolve the provided message link.\n" +"**ERROR:** {error}" +msgstr "" +"Uma falha ocorreu com o link da mensagem informado.\n" +"**ERRO:** {error}" + +#: src/modules/rolemenus/cog.py:434 +msgctxt "cmd:rolemenus" +msgid "rolemenus" +msgstr "menucargos" + +#: src/modules/rolemenus/cog.py:437 +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 +msgctxt "cmd:rolemenus|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +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 +msgctxt "cmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "" +"Não tenho permissão de ˋGERENCIAR_CARGOSˋ, necessária para oferecer um menu " +"de cargos." + +#: src/modules/rolemenus/cog.py:496 +#, 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 +msgctxt "acmpl:menuroles|param:menu|keyname" +msgid "menu" +msgstr "menu" + +#: src/modules/rolemenus/cog.py:521 +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 +#, 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 +#, 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 +msgctxt "group:rolemenu" +msgid "rolemenu" +msgstr "menucargo" + +#: src/modules/rolemenus/cog.py:584 +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 +msgctxt "cmd:rolemenu_create" +msgid "newmenu" +msgstr "novomenu" + +#: src/modules/rolemenus/cog.py:596 +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 +msgctxt "cmd:rolemenu_create|param:message" +msgid "message_link" +msgstr "link_mensagem" + +#: src/modules/rolemenus/cog.py:611 +msgctxt "cmd:rolemenu_create|param:menu_style" +msgid "menu_style" +msgstr "estilo_menu" + +#: src/modules/rolemenus/cog.py:612 +msgctxt "cmd:rolemenu_create|param:remplate" +msgid "template" +msgstr "modelo" + +#: src/modules/rolemenus/cog.py:613 +msgctxt "cmd:rolemenu_create|param:rawmessage" +msgid "custom_message" +msgstr "mensagem_personalizada" + +#: src/modules/rolemenus/cog.py:623 +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 +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 +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 +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 +msgctxt "cmd:rolemenu_create|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to create new role menus." +msgstr "" +"Você precisa ter permissão para ˋGERENCIAR_CARGOSˋ para que possa criar " +"novos menus de cargo." + +#: src/modules/rolemenus/cog.py:671 +msgctxt "cmd:rolemenu_create|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +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 +#, 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." +msgstr "" +"A mensagem {link} já é usada como um menu de cargos! Use {edit_cmd} para " +"editá-la." + +#: src/modules/rolemenus/cog.py:711 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:style_notmine" +msgid "" +"I cannot create a `{style}` style menu on a message I didn't send! (Discord " +"restriction)." +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 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:rawmessage_notmine" +msgid "" +"Cannot apply a custom menu message to {message} because I do not own this " +"message!" +msgstr "" +"Não pude aplicar um menu personalizado na mensagem {message}, pois ela não " +"pertence a mim! " + +#: src/modules/rolemenus/cog.py:727 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:template_notmine" +msgid "" +"Cannot apply a menu message template to {message} because I do not own this " +"message!" +msgstr "" +"Não pude aplicar um modelo de mensagem à {message} pois ela não pertence a " +"mim! " + +#: src/modules/rolemenus/cog.py:740 +#, 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 +msgctxt "cmd:rolemenu_edit" +msgid "editmenu" +msgstr "editarmenu" + +#: src/modules/rolemenus/cog.py:791 +msgctxt "cmd:rolemenu_edit|desc" +msgid "Edit an existing role menu." +msgstr "Editar um menu de cargos existente." + +#: src/modules/rolemenus/cog.py:800 +msgctxt "cmd:rolemenu_edit|param:name" +msgid "name" +msgstr "nome" + +#: src/modules/rolemenus/cog.py:801 +msgctxt "cmd:rolemenu_edit|param:new_name" +msgid "new_name" +msgstr "novo_nome" + +#: src/modules/rolemenus/cog.py:802 +msgctxt "cmd:rolemenu_edit|param:channel" +msgid "new_channel" +msgstr "novo_canal" + +#: src/modules/rolemenus/cog.py:807 +msgctxt "cmd:rolemenu_edit|param:menu_style" +msgid "menu_style" +msgstr "menu_estilo" + +#: src/modules/rolemenus/cog.py:808 +msgctxt "cmd:rolemenu_edit|param:remplate" +msgid "template" +msgstr "modelo" + +#: src/modules/rolemenus/cog.py:809 +msgctxt "cmd:rolemenu_edit|param:rawmessage" +msgid "custom_message" +msgstr "mensagem_personalizada" + +#: src/modules/rolemenus/cog.py:814 +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 +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 +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 +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 +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 +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 +msgctxt "cmd:rolemenu_edit|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +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 +#, 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 +#, 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 +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 " +"not send." +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 +#, 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 +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 +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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:forbidden" +msgid "" +"Cannot update channel! I lack the `EMBED_LINKS` or `SEND_MESSAGES` " +"permission in {channel}." +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 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:unknown" +msgid "" +"An unknown error occurred trying to repost the menu to {channel}.\n" +"**Error:** `{exception}`" +msgstr "" +"Um erro desconhecido aconteceu, na tentativa de repostar o menu em {channel}.\n" +"**Erro:** ˋ{exception}ˋ" + +#: src/modules/rolemenus/cog.py:1051 +msgctxt "cmd:rolemenu_delete" +msgid "delmenu" +msgstr "apagarmenu" + +#: src/modules/rolemenus/cog.py:1054 +msgctxt "cmd:rolemenu_delete|desc" +msgid "Delete a role menu." +msgstr "Apagar um menu de cargos." + +#: src/modules/rolemenus/cog.py:1058 +msgctxt "cmd:rolemenu_delete|param:name" +msgid "menu" +msgstr "menu" + +#: src/modules/rolemenus/cog.py:1063 +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 +msgctxt "cmd:rolemenu_delete|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|confirm|title" +msgid "" +"Are you sure you want to delete the role menu **{name}**? This is not " +"reversible!" +msgstr "" +"Você tem certeza que quer apagar o menu de cargos **{name}**? Esta operação " +"é irreversível!" + +#: src/modules/rolemenus/cog.py:1114 +msgctxt "cmd:rolemenu_delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "Sim, Apagar Agora" + +#: src/modules/rolemenus/cog.py:1119 +msgctxt "cmd:rolemenu_delete|confirm|button:no" +msgid "No, Cancel" +msgstr "Não, Cancelar" + +#: src/modules/rolemenus/cog.py:1144 +#, 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 +msgctxt "cmd:rolemenu_addrole" +msgid "addrole" +msgstr "addcargo" + +#: src/modules/rolemenus/cog.py:1155 +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 +msgctxt "cmd:rolemenu_addrole|param:menu" +msgid "menu" +msgstr "menu" + +#: src/modules/rolemenus/cog.py:1163 +msgctxt "cmd:rolemenu_addrole|param:role" +msgid "role" +msgstr "cargo" + +#: src/modules/rolemenus/cog.py:1174 +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 +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 +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 +#, 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 +msgctxt "cmd:rolemenu_addrole|success:create|title" +msgid "Added Menu Role" +msgstr "Menu de Cargos Adicionado" + +#: src/modules/rolemenus/cog.py:1323 +#, 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 +msgctxt "cmd:rolemenu_addrole|success:edit|title" +msgid "Menu Role updated" +msgstr "Menu de Cargo atualizado" + +#: src/modules/rolemenus/cog.py:1353 +#, 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 +msgctxt "cmd:rolemenu_addrole|success|error:reaction|name" +msgid "Note" +msgstr "Nota" + +#: src/modules/rolemenus/cog.py:1383 +msgctxt "cmd:rolemenu_addrole|success|button:editor|label" +msgid "Edit Menu" +msgstr "Editar Menu" + +#: src/modules/rolemenus/cog.py:1400 +msgctxt "cmd:rolemenu_editrole" +msgid "editrole" +msgstr "editarcargo" + +#: src/modules/rolemenus/cog.py:1403 +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 +msgctxt "cmd:rolemenu_editrole|param:menu" +msgid "menu" +msgstr "menu" + +#: src/modules/rolemenus/cog.py:1411 +msgctxt "cmd:rolemenu_editrole|param:menu_role" +msgid "menu_role" +msgstr "menu_de_cargos" + +#: src/modules/rolemenus/cog.py:1414 +msgctxt "cmd:rolemenu_editrole|param:role" +msgid "new_role" +msgstr "novo_cargo" + +#: src/modules/rolemenus/cog.py:1425 +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 +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 +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 +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 +#, 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 +#, 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 +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 +msgctxt "cmd:rolemenu_editrole|success|error:reaction|name" +msgid "Warning!" +msgstr "Atenção!" + +#: src/modules/rolemenus/cog.py:1616 +msgctxt "cmd:rolemenu_delrole" +msgid "delrole" +msgstr "apagarcargo" + +#: src/modules/rolemenus/cog.py:1619 +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 +msgctxt "cmd:rolemenu_delrole|param:menu" +msgid "menu" +msgstr "menu" + +#: src/modules/rolemenus/cog.py:1624 +msgctxt "cmd:rolemenu_delrole|param:menu_role" +msgid "menu_role" +msgstr "menu_de_cargos" + +#: src/modules/rolemenus/cog.py:1629 +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 +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 +msgctxt "cmd:rolemenu_delrole|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" +"Você precisa ter permissão de ˋGERENCIAR_CARGOSˋ para poder gerenciar o menu" +" de cargos do servidor." + +#: src/modules/rolemenus/cog.py:1675 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|success" +msgid "The role **{name}** was successfully removed from the menu **{menu}**." +msgstr "O cargo **{name}** foi removido com sucesso do menu **{menu}**." + +#: src/modules/rolemenus/roleoptions.py:57 +msgctxt "roleset:role" +msgid "role" +msgstr "cargo" + +#: src/modules/rolemenus/roleoptions.py:60 +msgctxt "roleset:role|desc" +msgid "The role associated to this menu item." +msgstr "O cargo associado a este item do menu." + +#: src/modules/rolemenus/roleoptions.py:64 +msgctxt "roleset:role|long_desc" +msgid "The role given when this menu item is selected in the role menu." +msgstr "O cargo dado quando este item é selecionado no menu de cargos." + +#: src/modules/rolemenus/roleoptions.py:77 +#, possible-python-brace-format +msgctxt "roleset:role|set_response:set" +msgid "This menu item will now give the role {role}." +msgstr "Este item do menu, dará agora, o cargo {role}." + +#: src/modules/rolemenus/roleoptions.py:88 +msgctxt "roleset:label" +msgid "label" +msgstr "rótulo" + +#: src/modules/rolemenus/roleoptions.py:91 +msgctxt "roleset:label|desc" +msgid "A short button label for this role." +msgstr "Um botão curto rotulado para este cargo." + +#: src/modules/rolemenus/roleoptions.py:96 +msgctxt "roleset:label|long_desc" +msgid "" +"A short name for this role, to be displayed in button labels, dropdown " +"titles, and some menu layouts. By default uses the Discord role name." +msgstr "" +"Um nome curto para este cargo, a ser mostrado nos rótulos dos botões, menus " +"suspensos e em alguns modelos de menu. Por padrão, usamos o nome do cargo " +"dado pelo Discord. " + +#: src/modules/rolemenus/roleoptions.py:110 +#, possible-python-brace-format +msgctxt "roleset:role|set_response" +msgid "This menu role is now called `{value}`." +msgstr "Este menu de cargos agora se chama ˋ{value}ˋ." + +#: src/modules/rolemenus/roleoptions.py:118 +msgctxt "roleset:emoji" +msgid "emoji" +msgstr "emoji" + +#: src/modules/rolemenus/roleoptions.py:121 +msgctxt "roleset:emoji|desc" +msgid "The emoji associated with this role." +msgstr "O emoji associado a este cargo." + +#: src/modules/rolemenus/roleoptions.py:125 +msgctxt "roleset:emoji|long_desc" +msgid "" +"The role emoji is used for the reaction (in reaction role menus), and " +"otherwise appears next to the role label in the button and dropdown styles. " +"The emoji is also displayed next to the role in most menu templates." +msgstr "" +"O emoji do cargo é usado para a reação do membro (nos menus de reação em " +"mensagem), e em outras horas, aparece próximo ao rótulo do cargo, em menus " +"de botões ou suspensos. O emoji também será mostrado próximo ao cargo na " +"maioria dos modelos de menu." + +#: src/modules/rolemenus/roleoptions.py:165 +#, possible-python-brace-format +msgctxt "roleset:emoji|error:test_emoji" +msgid "The selected emoji `{emoji}` is invalid or has been deleted." +msgstr "O emoji selecionado ˋ{emoji}ˋ é inválido, ou foi deletado." + +#: src/modules/rolemenus/roleoptions.py:176 +#, possible-python-brace-format +msgctxt "roleset:emoji|set_response:set" +msgid "The menu role emoji is now {emoji}." +msgstr "O emoji do menu de cargos, agora é {emoji}." + +#: src/modules/rolemenus/roleoptions.py:181 +msgctxt "roleset:emoji|set_response:unset" +msgid "The menu role emoji has been removed." +msgstr "O emoji do menu de cargos foi removido." + +#: src/modules/rolemenus/roleoptions.py:189 +msgctxt "roleset:description" +msgid "description" +msgstr "descrição" + +#: src/modules/rolemenus/roleoptions.py:192 +msgctxt "roleset:description|desc" +msgid "A longer description of this role." +msgstr "Uma descrição detalhada deste cargo." + +#: src/modules/rolemenus/roleoptions.py:197 +msgctxt "roleset:description|long_desc" +msgid "" +"The description is displayed under the role label in dropdown style menus. " +"It may also be used as a substitution key in custom role selection " +"responses." +msgstr "" +"A descrição é mostrada abaixo do rótulo do cargo, através de um menu " +"suspenso. Talvez ele também seja usado como substituto para uma seleção " +"personalizada de responsabilidades. " + +#: src/modules/rolemenus/roleoptions.py:213 +msgctxt "roleset:description|set_response:set" +msgid "The role description has been set." +msgstr "A descrição do cargo foi configurada." + +#: src/modules/rolemenus/roleoptions.py:218 +msgctxt "roleset:description|set_response:unset" +msgid "The role description has been removed." +msgstr "A descrição do cargo foi removida." + +#: src/modules/rolemenus/roleoptions.py:226 +msgctxt "roleset:price" +msgid "price" +msgstr "preço" + +#: src/modules/rolemenus/roleoptions.py:229 +msgctxt "roleset:price|desc" +msgid "Price of the role, in LionCoins. May be negative." +msgstr "Preço do cargo, em LionCoins. Podendo ser um valor negativo." + +#: src/modules/rolemenus/roleoptions.py:233 +msgctxt "roleset:price|long_desc" +msgid "" +"How many LionCoins should be deducted from a member's account when they equip this role through this menu.\n" +"The price may be negative, in which case the member will instead be rewarded coins when they equip the role." +msgstr "" +"Quantas LionCoins deverão ser cobradas de um usuário quando ele atribuir este cargo por este menu.\n" +"O preço pode ser negativo, em que o membro será recompensado em moedas por ter recebido este cargo." + +#: src/modules/rolemenus/roleoptions.py:240 +msgctxt "roleset:price|accepts" +msgid "Amount of coins that the role costs when equipped." +msgstr "Quantidade de moedas que o cargo irá custar, quando for atribuído." + +#: src/modules/rolemenus/roleoptions.py:254 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:positive" +msgid "Equipping this role will now cost {coin}**{price}**." +msgstr "Atribuir este cargo irá custar {coin}**{price}**." + +#: src/modules/rolemenus/roleoptions.py:259 +msgctxt "roleset:price|set_response:zero" +msgid "Equipping this role is now free." +msgstr "Atribuir este cargo sairá de graça!" + +#: src/modules/rolemenus/roleoptions.py:264 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:negative" +msgid "Equipping this role will now reward {coin}**{price}**." +msgstr "" +"Atribuir este cargo, agora dará uma recompensa, ao membro, de " +"{coin}**{price}**." + +#: src/modules/rolemenus/roleoptions.py:272 +msgctxt "roleset:duration" +msgid "duration" +msgstr "duração" + +#: src/modules/rolemenus/roleoptions.py:275 +msgctxt "roleset:duration|desc" +msgid "Lifetime of the role after selection" +msgstr "Tempo de vida do cargo, depois de atribuído" + +#: src/modules/rolemenus/roleoptions.py:279 +msgctxt "roleset:duration|long_desc" +msgid "" +"Allows creation of 'temporary roles' which expire a given time after being " +"equipped. Refunds will not be given upon expiry." +msgstr "" +"Autoriza a criação de 'cargos temporários' que irão expirar, depois de " +"atribuídos, depois do transcurso do período informado. As moedas não serão " +"devolvidas quando o tempo de validade expirar." + +#: src/modules/rolemenus/roleoptions.py:284 +msgctxt "roleset:duration|notset" +msgid "Forever." +msgstr "Ilimitado." + +#: src/modules/rolemenus/roleoptions.py:297 +#, possible-python-brace-format +msgctxt "roleset:duration|set_response:set" +msgid "This role will now expire after {duration}." +msgstr "Agora, este cargo irá expirar depois de {duration}." + +#: src/modules/rolemenus/roleoptions.py:302 +msgctxt "roleset:duration|set_response:unset" +msgid "This role will no longer expire after being selected." +msgstr "Este cargo não irá expirar, após ser selecionado." + +#: src/modules/rolemenus/templates.py:53 +msgctxt "template:simple|name" +msgid "Simple Menu" +msgstr "Menu Simplificado" + +#: src/modules/rolemenus/templates.py:57 +msgctxt "template:simple|desc" +msgid "A simple embedded list of roles in the menu" +msgstr "Um menu simplificado com integração das listas de menu." + +#: src/modules/rolemenus/templates.py:96 +msgctxt "template:two_column|name" +msgid "Two Column" +msgstr "Duas Colunas" + +#: src/modules/rolemenus/templates.py:100 +msgctxt "template:two_column|desc" +msgid "A compact two column role layout. Excludes prices and durations." +msgstr "" +"Um modelo compacto com apenas duas 2 colunas. Exclui duração e preços." + +#: src/modules/rolemenus/templates.py:131 +msgctxt "template:three_column|name" +msgid "Three Column" +msgstr "Três Colunas" + +#: src/modules/rolemenus/templates.py:135 +msgctxt "template:three_column|desc" +msgid "" +"A compact three column layout using emojis and labels, excluding prices and " +"durations." +msgstr "" +"Um modelo compacto com três colunas, usando títulos e emojis, excluindo as " +"durações e preços." + +#: src/modules/rolemenus/templates.py:168 +msgctxt "template:shop|name" +msgid "Role Shop" +msgstr "Loja de Cargos" + +#: src/modules/rolemenus/templates.py:172 +msgctxt "template:shop|desc" +msgid "A single column display suitable for simple role shops" +msgstr "" +"Um menu em formato de uma coluna, alternável para uma simplificada loja de " +"cargos." + +#: src/modules/rolemenus/rolemenu.py:280 +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 +#, possible-python-brace-format +msgctxt "rolemenu|menu_message|error|desc" +msgid "" +"A critical error occurred trying to display this role menu.\n" +"Error: `{error}`." +msgstr "" +"Um erro crítico ocorreu tentando mostrar este Menu de Cargos.\n" +"Erro: ˋ{error}ˋ." + +#: src/modules/rolemenus/rolemenu.py:336 +#, possible-python-brace-format +msgctxt "rolemenu|update_reactions|error" +msgid "" +"Could not add the {emoji} reaction, perhaps I do not have access to this " +"emoji! Reactions will need to be added manually." +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 +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 +#, 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." + +#: src/modules/rolemenus/rolemenu.py:588 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:insufficient_funds" +msgid "" +"The role **{role}** costs {coin}**{cost}**,but you only have " +"{coin}**{balance}**!" +msgstr "" +"O cargo **{role}** custa {coins}**{cost}**, mas você tem apenas " +"{coin}**{balance}**!" + +#: src/modules/rolemenus/rolemenu.py:604 +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 +msgctxt "rolemenu|select|error:discord" +msgid "" +"An unknown error occurred while assigning your role! Please try again later." +msgstr "" +"Um erro desconhecido ocorreu enquanto estava atribuindo seu cargo. Por " +"favor, tente mais tarde." + +#: src/modules/rolemenus/rolemenu.py:653 +msgctxt "rolemenu|select|success|title" +msgid "Role equipped" +msgstr "Cargo atribuído" + +#: src/modules/rolemenus/rolemenu.py:659 +#, 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 +#, 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ê" + +#: src/modules/rolemenus/rolemenu.py:670 +#, 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 +#, possible-python-brace-format +msgctxt "rolemenu|content:reactions" +msgid "[Click here]({jump_link}) to jump back." +msgstr "[Click here]*({jump_link}) para retornar." + +#: src/modules/rolemenus/menuoptions.py:56 +msgctxt "menuset:name" +msgid "name" +msgstr "nome" + +#: src/modules/rolemenus/menuoptions.py:59 +msgctxt "menuset:name|desc" +msgid "Brief name for this role menu." +msgstr "Um nome curto para este menu." + +#: src/modules/rolemenus/menuoptions.py:64 +msgctxt "menuset:name|long_desc" +msgid "" +"The role menu name is displayed when selecting the menu in commands, and as " +"the title of most default menu layouts." +msgstr "" +"O nome do menu de cargos é mostrado quando está sendo selecionado o menu nos" +" comandos, e também como o título da maioria dos menus padrão." + +#: src/modules/rolemenus/menuoptions.py:78 +#, possible-python-brace-format +msgctxt "menuset:name|set_response" +msgid "This role menu will now be called **{new_name}**." +msgstr "Agora, este menu de cargos terá o nome de **{new_name}**. " + +#: src/modules/rolemenus/menuoptions.py:86 +msgctxt "menuset:sticky" +msgid "sticky_roles" +msgstr "cargos_permanentes" + +#: src/modules/rolemenus/menuoptions.py:89 +msgctxt "menuset:sticky|desc" +msgid "Whether the menu can be used to unequip roles." +msgstr "Se este menu pode ser utilizado para retirar os cargos." + +#: src/modules/rolemenus/menuoptions.py:94 +msgctxt "menuset:sticky|long_desc" +msgid "" +"When enabled, members will not be able to remove equipped roles by selecting" +" them in this menu. Note that when disabled, members will be able to unequip" +" the menu roles even if they were not obtained from the menu." +msgstr "" +"Quando habilitado, os membros não estarão aptos a retirar os cargos " +"atribuídos por este menu. Observe que, quando desabilitado, os membros " +"poderão retirar os cargos através do menu de cargos, mesmo aqueles que não " +"tenham sido colocado por lá." + +#: src/modules/rolemenus/menuoptions.py:110 +msgctxt "menuset:sticky|set_response:true" +msgid "Members will no longer be able to remove roles with this menu." +msgstr "Os membros não estarão habilitados a remover os cargos com este menu." + +#: src/modules/rolemenus/menuoptions.py:115 +msgctxt "menuset:sticky|set_response:false" +msgid "Members will now be able to remove roles with this menu." +msgstr "Os membros poderão remover os cargos com este menu." + +#: src/modules/rolemenus/menuoptions.py:123 +msgctxt "menuset:refunds" +msgid "refunds" +msgstr "ressarcido" + +#: src/modules/rolemenus/menuoptions.py:126 +msgctxt "menuset:refunds|desc" +msgid "Whether removing a role will refund the purchase price for that role." +msgstr "" +"Caso removido um cargo, irá ressarcir o preço pago pela compra do cargo." + +#: src/modules/rolemenus/menuoptions.py:131 +msgctxt "menuset:refunds|long_desc" +msgid "" +"When enabled, members who *purchased a role through this role menu* will obtain a full refund when they remove the role through the menu.\n" +"**Refunds will only be given for roles purchased through the same menu.**\n" +"**The `sticky` option must be disabled to allow members to remove roles.**" +msgstr "" +"Quando habilitado, membros os quais *compraram um cargo através deste menu de cargos* irão obter um ressarcimento quando retirarem o cargo através do menu.\n" +"**Ressarcimentos somente serão feitos por compras feitas através do mesmo menu.**\n" +"**A opção por permanente precisa estar desabilitada para permitir membros a retirar os cargos.** " + +#: src/modules/rolemenus/menuoptions.py:148 +msgctxt "menuset:refunds|set_response:true" +msgid "Members will now be refunded when removing a role with this menu." +msgstr "" +"Os membros irão agora ser ressarcidos quando retirarem um cargo deste menu " +"de cargos." + +#: src/modules/rolemenus/menuoptions.py:153 +msgctxt "menuset:refunds|set_response:false" +msgid "" +"Members will no longer be refunded when removing a role with this menu." +msgstr "" +"Os membros que retirarem o cargo neste menu, não serão mais ressarcidos do " +"valor pago." + +#: src/modules/rolemenus/menuoptions.py:161 +msgctxt "menuset:obtainable" +msgid "obtainable" +msgstr "recebível" + +#: src/modules/rolemenus/menuoptions.py:164 +msgctxt "menuset:obtainable|desc" +msgid "The maximum number of roles equippable from this menu." +msgstr "O número máximo de cargos que podem ser atribuídos por este menu." + +#: src/modules/rolemenus/menuoptions.py:169 +msgctxt "menuset:obtainable|long_desc" +msgid "" +"Members will not be able to obtain more than this number of roles from this " +"menu. This counts roles that were not obtained through the rolemenu system." +msgstr "" +"Os membros não serão permitidos de atribuir mais do que este número de " +"cargos por meio deste menu. Esta contagem inclui cargos que não foram " +"obtidos através do sistema de cargos de menu." + +#: src/modules/rolemenus/menuoptions.py:174 +msgctxt "menuset:obtainable|notset" +msgid "Unlimited." +msgstr "Ilimitado." + +#: src/modules/rolemenus/menuoptions.py:188 +#, possible-python-brace-format +msgctxt "menuset:obtainable|set_response:set" +msgid "" +"Members will be able to select a maximum of **{value}** roles from this " +"menu." +msgstr "" +"Membros estarão habilitados a selecionar um máximo de **{value}** cargos " +"deste menu." + +#: src/modules/rolemenus/menuoptions.py:193 +msgctxt "menuset:obtainable|set_response:unset" +msgid "Members will be able to select any number of roles from this menu." +msgstr "" +"Membros estarão permitidos de selecionar qualquer número de cargos por este " +"menu." + +#: src/modules/rolemenus/menuoptions.py:201 +msgctxt "menuset:required_role" +msgid "required_role" +msgstr "cargo_requerido" + +#: src/modules/rolemenus/menuoptions.py:204 +msgctxt "menuset:required_role|desc" +msgid "Initial role required to use this menu." +msgstr "Cargo inicial requerido para usar este menu." + +#: src/modules/rolemenus/menuoptions.py:209 +msgctxt "menuset:required_role|long_desc" +msgid "" +"If set, only members who have the `required_role` will be able to obtain or " +"remove roles using this menu." +msgstr "" +"Se configurado, membros que tiverem o ˋcargo_requeridoˋ serão permitidos " +"para atribuir e retirar cargos através deste menu." + +#: src/modules/rolemenus/menuoptions.py:223 +#, possible-python-brace-format +msgctxt "menuset:required_role|set_response:set" +msgid "Members will need to have the {role} role to use this menu." +msgstr "Membros precisarão ter o cargo {role} para usar este menu." + +#: src/modules/rolemenus/menuoptions.py:228 +msgctxt "menuset:required_role|set_response:unset" +msgid "Any member who can see the menu may use it." +msgstr "Qualquer membro que possa ver o menu, será permitido a usá-lo." + +#: src/modules/rolemenus/menuoptions.py:236 +msgctxt "menuset:message" +msgid "custom_message" +msgstr "mensagem_personalizada" + +#: src/modules/rolemenus/menuoptions.py:239 +msgctxt "menuset:message|desc" +msgid "Custom message data used to display the menu." +msgstr "Uma mensagem personalizada usada para mostrar o menu." + +#: src/modules/rolemenus/menuoptions.py:243 +msgctxt "menuset:message|long_desc" +msgid "" +"This setting determines the body of the menu message, including the message " +"content and the message embed(s). While most easily modifiable through the " +"`Edit Message` button, raw JSON-formatted message data may also be uploaded " +"via command." +msgstr "" +"Esta configuração determina a mensagem do corpo do menu, incluindo o contedo" +" da mensagem integrada(s). Apesar de ser facilmente modificada pelo botão " +"\"Editar Mensagemˋ, uma mensagem em formato JSON pode ser anexada através de" +" comando." + +#: src/modules/rolemenus/menuoptions.py:260 +msgctxt "menuset:message|set_response:set" +msgid "The role menu message has been set. Edit through the menu editor." +msgstr "" +"A mensagem do menu de cargos foi configurada. Edite através do menu editor." + +#: src/modules/rolemenus/menuoptions.py:265 +msgctxt "menuset:message|set_response:unset" +msgid "" +"The role menu message has been unset. Select a template through the menu " +"editor." +msgstr "" +"A mensagem do menu de cargos foi retirada. Escolha um menu através do menu " +"editor." + +#: src/modules/rolemenus/ui/menus.py:105 +msgctxt "ui:menu_list|menu:editmenu|placeholder" +msgid "Select Menu to Edit" +msgstr "Selecione o Menu a Editar" + +#: src/modules/rolemenus/ui/menus.py:129 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:attached" +msgid "[`{name}`]({jump_url}) with `{count}` roles." +msgstr "[`{name}`]({jump_url}) com `{count}` cargos." + +#: src/modules/rolemenus/ui/menus.py:138 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:unattached" +msgid "`{name}` with `{count}` roles." +msgstr "`{name}` com `{count}` cargos." + +#: src/modules/rolemenus/ui/menus.py:163 +#, possible-python-brace-format +msgctxt "ui:menu_list|embed|title" +msgid "Role Menus in {guild}" +msgstr "Menu de Cargos em {guild}" + +#: src/modules/rolemenus/ui/menus.py:172 +msgctxt "ui:menu_list|embed|field:tips|name" +msgid "Tips" +msgstr "Dicas" + +#: src/modules/rolemenus/ui/menus.py:176 +msgctxt "ui:menu_list|embed|field:tips|value" +msgid "" +"Right click an existing message or use the `newmenu` command to create a new" +" menu." +msgstr "" +"Clique com o botão direito do mouse, ou use o comando ˋnovomenuˋ para criar " +"um novo menu." + +#: src/modules/rolemenus/ui/menus.py:189 +msgctxt "ui:menu_list|embed|field:unattached|name" +msgid "Unattached Menus" +msgstr "Menus Desanexados" + +#: src/modules/rolemenus/ui/menus.py:201 +msgctxt "ui:menu_list|embed|footer:text" +msgid "Click a menu name to jump to the message." +msgstr "Clique no nome do menu para pular para a mensagem." + +#: src/modules/rolemenus/ui/menueditor.py:93 +msgctxt "ui:menu_editor|preview|error:title" +msgid "Display Error!" +msgstr "Erro do mostrador!" + +#: src/modules/rolemenus/ui/menueditor.py:97 +#, possible-python-brace-format +msgctxt "ui:menu_editor|preview|error:desc" +msgid "" +"Failed to display preview!\n" +"**Error:** `{exception}`" +msgstr "" +"Falha ao mostrar a prévia!\n" +"**Error:** ˋ{exception}ˋ" + +#: src/modules/rolemenus/ui/menueditor.py:151 +msgctxt "ui:menu_editor|button:options|label" +msgid "Menu Options" +msgstr "Opções do Menu" + +#: src/modules/rolemenus/ui/menueditor.py:179 +msgctxt "ui:menu_editor|button:bulk_edit|modal|title" +msgid "Menu Options" +msgstr "Opções do Menu" + +#: src/modules/rolemenus/ui/menueditor.py:218 +msgctxt "ui:menu_editor|button:bulk_edit|label" +msgid "Bulk Edit" +msgstr "Edição em Massa" + +#: src/modules/rolemenus/ui/menueditor.py:238 +msgctxt "ui:menu_editor|button:sticky|label" +msgid "Toggle Sticky" +msgstr "Alterar Permanentes" + +#: src/modules/rolemenus/ui/menueditor.py:262 +msgctxt "ui:menu_editor|button:refunds|label" +msgid "Toggle Refunds" +msgstr "Alterar Ressarcimentos" + +#: src/modules/rolemenus/ui/menueditor.py:292 +msgctxt "ui:menu_editor|menu:reqroles|placeholder" +msgid "Select Required Role" +msgstr "Selecione o Cargo Requerido" + +#: src/modules/rolemenus/ui/menueditor.py:311 +msgctxt "ui:menu_editor|button:modify_roles|label" +msgid "Modify Roles" +msgstr "Modificar Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:340 +msgctxt "ui:menu_editor|role_editor|modal|title" +msgid "Edit Menu Role" +msgstr "Editar Menu de Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:416 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_reactions" +msgid "Too many roles! Reaction role menus cannot exceed `20` roles." +msgstr "" +"Muitos cargos! O menu de cargos, através de reações a uma mensagem, não pode" +" exceder ˋ20ˋ cargos." + +#: src/modules/rolemenus/ui/menueditor.py:421 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_roles" +msgid "Too many roles! Role menus cannot have more than `25` roles." +msgstr "Muitos cargos! O menu de cargos não pode exceder ˋ25ˋ cargos." + +#: src/modules/rolemenus/ui/menueditor.py:460 +msgctxt "ui:menu_editor|menu:add_roles|placeholder" +msgid "Add Roles" +msgstr "Adicionar Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:486 +msgctxt "ui:menu_editor|menu:edit_roles|placeholder" +msgid "Edit Roles" +msgstr "Editar Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:524 +msgctxt "ui:menu_editor|menu:del_role|placeholder" +msgid "Remove Roles" +msgstr "Remover Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:548 +msgctxt "ui:menu_editor|button:style|error:non-managed" +msgid "" +"Cannot change the style of a menu attached to a message I did not send! " +"Please repost first." +msgstr "" +"Não posso mudar o estilo de um menu anexado a uma mensagem que eu não " +"enviei! Por favor, reposte primeiro." + +#: src/modules/rolemenus/ui/menueditor.py:561 +msgctxt "ui:menu_editor|button:style|label" +msgid "Menu Style" +msgstr "Estilo do Menu" + +#: src/modules/rolemenus/ui/menueditor.py:586 +msgctxt "ui:menu_editor|menu:style|error:too_many_reactions" +msgid "" +"Too many roles! The Reaction style is limited to `20` roles (Discord " +"limitation)." +msgstr "" +"Muitos cargos! O estilo de atribuição de cargos por Reação é limitado a ˋ20ˋ" +" cargos (Limitação do Discord)." + +#: src/modules/rolemenus/ui/menueditor.py:596 +msgctxt "ui:menu_editor|menu:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the Reaction Role Style! Every role needs to have a " +"distinct emoji first." +msgstr "" +"Não pude alternar para o atribuição Cargos Estilo Reação. Todo cargo " +"precisa, primeiro, ter um emoji distinto. " + +#: src/modules/rolemenus/ui/menueditor.py:614 +msgctxt "ui:menu_editor|menu:style|placeholder" +msgid "Select Menu Style" +msgstr "Selecione o Estilo de Menu" + +#: src/modules/rolemenus/ui/menueditor.py:618 +msgctxt "ui:menu_editor|menu:style|option:reaction|label" +msgid "Reaction Roles" +msgstr "Cargos por Reação" + +#: src/modules/rolemenus/ui/menueditor.py:621 +msgctxt "ui:menu_editor|menu:style|option:reaction|desc" +msgid "Roles are represented compactly as clickable reactions on a message." +msgstr "" +"Os cargos estao representados simbolicamente por um emoji para reação na " +"mensagem." + +#: src/modules/rolemenus/ui/menueditor.py:627 +msgctxt "ui:menu_editor|menu:style|option:button|label" +msgid "Button Menu" +msgstr "Menu por Botões" + +#: src/modules/rolemenus/ui/menueditor.py:630 +msgctxt "ui:menu_editor|menu:style|option:button|desc" +msgid "" +"Roles are represented in 5 rows of 5 buttons, each with an emoji and label." +msgstr "" +"Os cargos são representados em 5 linhas de 5 botões, cada um com um emoji e " +"título." + +#: src/modules/rolemenus/ui/menueditor.py:636 +msgctxt "ui:menu_editor|menu:style|option:dropdown|label" +msgid "Dropdown Menu" +msgstr "Menu Suspenso" + +#: src/modules/rolemenus/ui/menueditor.py:639 +msgctxt "ui:menu_editor|menu:style|option:dropdown|desc" +msgid "Roles are selectable from a dropdown menu below the message." +msgstr "" +"Os cargos serão selecionáveis por um menu, que aparecerá suspenso ao clicar " +"na mensagem. " + +#: src/modules/rolemenus/ui/menueditor.py:709 +msgctxt "ui:menu_editor|menu:template|placeholder" +msgid "Select Message Template" +msgstr "Selecione o Modelo de Mensagem" + +#: src/modules/rolemenus/ui/menueditor.py:719 +msgctxt "ui:menu_editor|menu:template|option:custom|label" +msgid "Custom Message" +msgstr "Mensagem Personalizada" + +#: src/modules/rolemenus/ui/menueditor.py:724 +msgctxt "ui:menu_editor|menu:template|option:custom|description" +msgid "Entirely custom menu message (opens an interactive editor)." +msgstr "" +"Menu de mensagem inteiramente personalizada (abre como um editor " +"interativo)." + +#: src/modules/rolemenus/ui/menueditor.py:741 +msgctxt "ui:menu_editor|button:delete|confirm|title" +msgid "Are you sure you want to delete this menu? This is not reversible!" +msgstr "Você está certo que quer deletar este menu? Isto não é reversivel!" + +#: src/modules/rolemenus/ui/menueditor.py:746 +msgctxt "ui:menu_editor|button:delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "Sim, Deletar Agora!" + +#: src/modules/rolemenus/ui/menueditor.py:751 +msgctxt "ui:menu_editor|button:delete|confirm|button:no" +msgid "No, Go Back" +msgstr "Não, Desejo Voltar" + +#: src/modules/rolemenus/ui/menueditor.py:768 +msgctxt "ui:menu_editor|button:delete|label" +msgid "Delete Menu" +msgstr "Deletar Menu" + +#: src/modules/rolemenus/ui/menueditor.py:825 +msgctxt "ui:menu_editor|button:edit_msg|label" +msgid "Edit Message" +msgstr "Editar Mensagem" + +#: src/modules/rolemenus/ui/menueditor.py:851 +msgctxt "ui:menu_editor|button:preview|label" +msgid "Preview" +msgstr "Pré-Visualização" + +#: src/modules/rolemenus/ui/menueditor.py:867 +msgctxt "ui:menu_editor|button:repost|widget:repost|menu:channel|placeholder" +msgid "Select New Channel" +msgstr "Selecione Novo Canal" + +#: src/modules/rolemenus/ui/menueditor.py:885 +msgctxt "ui:menu_editor|button:repost|widget:repost|error:perms|title" +msgid "Insufficient Permissions!" +msgstr "Permissões insuficientes!" + +#: src/modules/rolemenus/ui/menueditor.py:889 +msgctxt "ui:menu_editor|button:repost|eidget:repost|error:perms|desc" +msgid "" +"I lack the `EMBED_LINKS` or `SEND_MESSAGES` permission in this channel." +msgstr "" +"Eu preciso de permissão para ˋINSERIR_LINKSˋ ou ˋENVIAR_MENSAGENSˋ neste " +"canal." + +#: src/modules/rolemenus/ui/menueditor.py:902 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|error:post_failed" +msgid "" +"An unknown error ocurred while posting to {channel}!\n" +"**Error:** `{exception}`" +msgstr "" +"Um erro desconhecido ocorreu enquanto postava em {channel}!\n" +"**Erro:** ˋ{exception}ˋ" + +#: src/modules/rolemenus/ui/menueditor.py:915 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|title" +msgid "Role Menu Moved" +msgstr "Menu Cargos Movido" + +#: src/modules/rolemenus/ui/menueditor.py:921 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:general" +msgid "The role menu `{name}` is now available at {message_link}." +msgstr "O menu de cargos ˋ{name}ˋ agora está disponível em {message_link}." + +#: src/modules/rolemenus/ui/menueditor.py:935 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:reactions" +msgid "Please check the message reactions are correct." +msgstr "Por favor, verifique se a mensagem das reações está correta." + +#: src/modules/rolemenus/ui/menueditor.py:948 +msgctxt "ui:menu_editor|button:repost|widget:repost|title" +msgid "Repost Role Menu" +msgstr "Repostar Menu Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:952 +msgctxt "ui:menu_editor|button:repost|widget:repost|description" +msgid "Please select the channel to which you want to resend this menu." +msgstr "" +"Por favor, selecione o canal ao qual você gostaria de reenviar este menu." + +#: src/modules/rolemenus/ui/menueditor.py:967 +msgctxt "ui:menu_editor|button:repost|label:repost" +msgid "Repost" +msgstr "Repostar" + +#: src/modules/rolemenus/ui/menueditor.py:972 +msgctxt "ui:menu_editor|button:repost|label:post" +msgid "Post" +msgstr "Postar" + +#: src/modules/rolemenus/ui/menueditor.py:982 +msgctxt "ui:menu_editor|embed|title" +msgid "Role Menu Editor" +msgstr "Editor do Menu Cargos" + +#: src/modules/rolemenus/ui/menueditor.py:991 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|description|jump_text:attached" +msgid "Members may use this menu from {jump_url}" +msgstr "Membros podem usar este menu de {jump_url}" + +#: src/modules/rolemenus/ui/menueditor.py:996 +msgctxt "ui:menu_editor|embed|description|jump_text:unattached" +msgid "" +"This menu is not currently active!\n" +"Make it available by clicking `Post` below." +msgstr "" +"Este menu não está ativo atualmente!\n" +"Ative ele através do botão ˋPostarˋ abaixo." + +#: src/modules/rolemenus/ui/menueditor.py:1010 +msgctxt "ui:menu_editor|embed|field:tips|name" +msgid "Command Tips" +msgstr "Dicas de Comandos" + +#: src/modules/rolemenus/ui/menueditor.py:1014 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|field:tips|value" +msgid "" +"Use the following commands for faster menu setup.\n" +"{menuedit} to edit the above menu options.\n" +"{addrole} to add new roles (recommended for roles with emojis).\n" +"{editrole} to edit role options." +msgstr "" +"Use os seguintes comandos para uma configuração rápida do menu.\n" +"{menuedit} para editar opções abaixo do menu.\n" +"{addrole} para adicionar novos cargos (recomendado para cargos com emojis).\n" +"{editrole} para editar opções de cargo." + +#: src/modules/rolemenus/ui/menueditor.py:1054 +msgctxt "ui:menu_editor|error:invald_emoji|title" +msgid "Invalid emoji encountered." +msgstr "Emoji invalido encontrado." + +#: src/modules/rolemenus/ui/menueditor.py:1058 +#, possible-python-brace-format +msgctxt "ui:menu_editor|error:invalid_emoji|desc" +msgid "" +"The emoji `{emoji}` for menu role `{label}` no longer exists, unsetting." +msgstr "" +"O emoji ˋ{emoji}ˋ para o menu de cargos ˋ{label}ˋ não existe mais. " +"Retirando." diff --git a/locales/pt_BR/LC_MESSAGES/rooms.po b/locales/pt_BR/LC_MESSAGES/rooms.po new file mode 100644 index 00000000..cf2b3546 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/rooms.po @@ -0,0 +1,819 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +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 +msgctxt "ui:room_config|button:visible|label" +msgid "Toggle Room Visibility" +msgstr "Alternar Visibilidade da Sala" + +#: src/modules/rooms/settingui.py:62 +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 +msgctxt "dash:rooms|title" +msgid "Private Room Configuration ({commands[configure rooms]})" +msgstr "Configuração de Salas Particulares ({commands[configure rooms]})" + +#: src/modules/rooms/settingui.py:102 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Private Room Panel" +msgstr "Painel de Salas Particulares" + +#: src/modules/rooms/roomui.py:56 +msgctxt "ui:room_status|error:owner_required" +msgid "You must be the private room owner to do this!" +msgstr "Você precisa ser dono de uma sala particular para fazer isto!" + +#: src/modules/rooms/roomui.py:72 +msgctxt "ui:room_status|error:member_required" +msgid "You need to be a member of the private room to do this!" +msgstr "Você precisa ser membro de uma sala particlar para fazer isto!" + +#: src/modules/rooms/roomui.py:90 +msgctxt "ui:room_status|button:deposit|modal:deposit|title" +msgid "Room Deposit" +msgstr "Depósito de Salas" + +#: src/modules/rooms/roomui.py:94 +msgctxt "ui:room_status|button:deposit|modal:deposit|field:question|label" +msgid "How many LionCoins do you want to deposit?" +msgstr "Quantas LionCoins você gostaria de depositar?" + +#: src/modules/rooms/roomui.py:112 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:invalid_number" +msgid "Cannot deposit `{inputted}` coins. Please enter a positive integer." +msgstr "" +"Não pude depositar `{inputted}` moedas. Por favor, use um valor positivo." + +#: src/modules/rooms/roomui.py:144 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "" +"Você não pode depositar {coin}**{amount}**! Você tem apenas " +"{coin}**{balance}**." + +#: src/modules/rooms/roomui.py:160 +msgctxt "ui:room_status|button:deposit|label" +msgid "Deposit" +msgstr "Depósito" + +#: src/modules/rooms/roomui.py:171 +msgctxt "ui:room_status|button:edit|label" +msgid "Edit Room" +msgstr "Editar Sala" + +#: src/modules/rooms/roomui.py:204 +msgctxt "ui:room_status|button:timer|modal:add_timer|title" +msgid "Create Room Timer" +msgstr "Criar Temporizador na Sala" + +#: src/modules/rooms/roomui.py:236 +#, possible-python-brace-format +msgctxt "ui:room_status|button:timer|timer_created" +msgid "Timer created successfully! Use {edit_cmd} to configure further." +msgstr "" +"Temporizador criado com sucesso! Use {edit_cmd} para mais configurações." + +#: src/modules/rooms/roomui.py:254 +msgctxt "ui:room_status|button:timer|label:edit_timer" +msgid "Edit Timer" +msgstr "Editar Temporizador" + +#: src/modules/rooms/roomui.py:261 +msgctxt "ui:room_status|button:timer|label:add_timer" +msgid "Add Timer" +msgstr "Adicionar Temporizador" + +#: src/modules/rooms/roomui.py:304 +#, possible-python-brace-format +msgctxt "ui:room_status|menu:invite|error:too_many_members" +msgid "" +"Too many members! You are inviting `{count}` new members to your room, but " +"you already have `{current}` members! The member cap is `{cap}`." +msgstr "" +"Muitos membros! Você está convidando ˋ{count}ˋ novos membros para sua sala, " +"mas já tem ˋ{current}ˋ membros! A capacidade máxima de membros é ˋ{cap}ˋ." + +#: src/modules/rooms/roomui.py:330 +msgctxt "ui:room_status|menu:invite_menu|placeholder:capped" +msgid "Room member cap reached!" +msgstr "Capacidade de membros atingida." + +#: src/modules/rooms/roomui.py:336 +msgctxt "ui:room_status|menu:invite_menu|placeholder:notcapped" +msgid "Add Members" +msgstr "Adicionar Membros" + +#: src/modules/rooms/roomui.py:359 +msgctxt "ui:room_status|menu:kick_menu|placeholder" +msgid "Remove Members" +msgstr "Remover Membros" + +#: src/modules/rooms/roomui.py:367 +msgctxt "ui:room_status|embed|title" +msgid "Room Control Panel" +msgstr "Painel de Controle da Sala" + +#: src/modules/rooms/roomui.py:375 +msgctxt "ui:room_status|embed|field:channel|name" +msgid "Channel" +msgstr "Canal" + +#: src/modules/rooms/roomui.py:380 +msgctxt "ui:room_status|embed|field:owner|name" +msgid "Owner" +msgstr "Dono" + +#: src/modules/rooms/roomui.py:385 +msgctxt "ui:room_status|embed|field:created|name" +msgid "Created At" +msgstr "Criado em" + +#: src/modules/rooms/roomui.py:395 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:expiring" +msgid "" +"**Warning:** Insufficient room balance to pay next rent ({coin} **{rent}**).\n" +"The room will expire {expiry}.\n" +"Use {room_deposit_cmd} to increase balance." +msgstr "" +"**Atenção:** Saldo da sala é insuficiente para pagar um novo aluguel ({coin} **{rent}**).\n" +"A sala irá expirar em {expiry}.\n" +"Use {room_deposit_cmd} para aumentar o saldo." + +#: src/modules/rooms/roomui.py:407 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:notexpiring" +msgid "Next rent due {time} (- {coin}**{rent}**)" +msgstr "Novo vencimento do aluguel em {time} (- {coin}**{rent}**)" + +#: src/modules/rooms/roomui.py:416 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|name" +msgid "Room Balance: {coin}**{amount}**" +msgstr "Saldo do caixa da Sala: {coin}**{amount}**" + +#: src/modules/rooms/roomui.py:428 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:members|name" +msgid "Members ({count}/{cap})" +msgstr "Membros ({count}/{cap})" + +#: src/modules/rooms/cog.py:321 +msgctxt "cmd:room" +msgid "room" +msgstr "sala" + +#: src/modules/rooms/cog.py:322 +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 +msgctxt "cmd:room_rent" +msgid "rent" +msgstr "alugar" + +#: src/modules/rooms/cog.py:332 +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 +msgctxt "cmd:room_rent|param:days" +msgid "days" +msgstr "dias" + +#: src/modules/rooms/cog.py:337 +msgctxt "cmd:room_rent|param:members" +msgid "members" +msgstr "membros" + +#: src/modules/rooms/cog.py:338 +msgctxt "cmd:room_rent|param:name" +msgid "name" +msgstr "nome" + +#: src/modules/rooms/cog.py:343 +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 +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 +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 +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`." +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 +msgctxt "cmd:room_rent|error:insufficient_perms" +msgid "" +"I do not have enough permissions to create a new channel under the " +"configured private room category!" +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 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:too_many_members" +msgid "" +"Too many members! You have requested to add `{count}` members to your room, " +"but the maximum private room size is `{cap}`!" +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 +#, possible-python-brace-format +msgctxt "cmd:room_rent|confirm:purchase" +msgid "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `one` day?" +msgid_plural "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `{days}` days?" +msgstr[0] "" +"Você confirma que quer gastar {coin}**{required}** para alugar uma sala " +"privada por ˋumˋ dia?" +msgstr[1] "" +"Você confirma que quer gastar {coin}**{required}** para alugar uma sala " +"privada por ˋ{days}ˋ dias?" +msgstr[2] "" +"Você confirma que quer gastar {coin}**{required}** para alugar uma sala " +"particular por ˋ{days}ˋ dias?" + +#: src/modules/rooms/cog.py:467 +#, 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 +msgctxt "cmd:room_rent|success|title" +msgid "Private Room Created!" +msgstr "Sala Particular Criada!" + +#: src/modules/rooms/cog.py:506 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:insufficient_funds" +msgid "" +"Renting a private room for `one` day costs {coin}**{required}**, but you " +"only have {coin}**{balance}**!" +msgid_plural "" +"Renting a private room for `{days}` days costs {coin}**{required}**, but you" +" only have {coin}**{balance}**!" +msgstr[0] "" +"Alugar uma sala privada por ˋumˋ dia, custa {coin}**{required}**, mas você " +"só tem {coin}**{balance}**!" +msgstr[1] "" +"Alugar uma sala privada por ˋ{days} dias, custa {coin}**{required}**, mas " +"você só tem {coin}**{balance}**!" +msgstr[2] "" +"Alugar uma sala particular por ˋ{days} dias, custa {coin}**{required}**, mas" +" você só tem {coin}**{balance}**!" + +#: src/modules/rooms/cog.py:540 +msgctxt "cmd:room_rent|error:my_permissions" +msgid "" +"Could not create your private room! You were not charged.\n" +"I have insufficient permissions to create a private room channel." +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 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:unknown" +msgid "" +"Could not create your private room! You were not charged.\n" +"An unknown error occurred while creating your private room.\n" +"`{error}`" +msgstr "" +"Não pude criar sua sala particular! Você não foi cobrado por isto.\n" +"Um erro desconhecido ocorreu quando estava criando sua sala.\n" +"ˋ{error}ˋ" + +#: src/modules/rooms/cog.py:562 +msgctxt "cmd:room_status" +msgid "status" +msgstr "status" + +#: src/modules/rooms/cog.py:565 +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 +msgctxt "cmd:room_status|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to view the status of." +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 +msgctxt "cmd:room_invite" +msgid "invite" +msgstr "convidar" + +#: src/modules/rooms/cog.py:600 +msgctxt "cmd:room_invite|desc" +msgid "Add members to your private room." +msgstr "Adicionar membros à sua sala particular." + +#: src/modules/rooms/cog.py:604 +msgctxt "cmd:room_invite|param:members" +msgid "members" +msgstr "membros" + +#: src/modules/rooms/cog.py:609 +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 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "" +"Você não tem uma sala particular! Digite ˋ/sala alugarˋ para alugar uma por " +"{coin}!" + +#: src/modules/rooms/cog.py:644 +#, 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 +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 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:too_many_members" +msgid "" +"Too many members! You have invited `{count}` new members to your room, but " +"you already have `{current}`, and the member cap is `{cap}`!" +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 +msgctxt "cmd:room_invite|success|ack" +msgid "Members Invited successfully." +msgstr "Membros convidados com sucesso." + +#: src/modules/rooms/cog.py:701 +msgctxt "cmd:room_kick" +msgid "kick" +msgstr "expulsar" + +#: src/modules/rooms/cog.py:704 +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 +msgctxt "cmd:room_kick|param:members" +msgid "members" +msgstr "membros" + +#: src/modules/rooms/cog.py:713 +msgctxt "cmd:room_kick|param:members|desc" +msgid "" +"Mention the members you want to remove. Also accepts space-separated user " +"ids." +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 +#, possible-python-brace-format +msgctxt "cmd:room_kick|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "" +"Você não tem uma sala particular! Use `/room rent` para alugar uma com " +"{coin}!" + +#: src/modules/rooms/cog.py:744 +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 +msgctxt "cmd:room_kick|success|ack" +msgid "Members removed." +msgstr "Membros removidos." + +#: src/modules/rooms/cog.py:767 +msgctxt "cmd:room_transfer" +msgid "transfer" +msgstr "transferir" + +#: src/modules/rooms/cog.py:770 +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 +msgctxt "cmd:room_transfer|param:new_owner" +msgid "new_owner" +msgstr "novo_dono" + +#: src/modules/rooms/cog.py:779 +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 +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 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_not_member" +msgid "" +"{mention} is not a member of your private room! You must invite them first." +msgstr "" +"{mention} não é um membro da sua sala particular! Você precisa convidá-lo " +"primeiro." + +#: src/modules/rooms/cog.py:817 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_has_room" +msgid "" +"{mention} already owns a room! Members can only own one room at a time." +msgstr "" +"{mention} já possui uma sala! Cada membro pode ter apenas uma sala " +"particular por vez." + +#: src/modules/rooms/cog.py:826 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|confirm|question" +msgid "" +"Are you sure you wish to transfer your private room {channel} to " +"{new_owner}? This action is not reversible!" +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 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|success|description" +msgid "" +"You have successfully transferred ownership of {channel} to {new_owner}." +msgstr "" +"Você transferiu com sucesso a posse da sala {channel} para {novo_dono}." + +#: src/modules/rooms/cog.py:852 +msgctxt "cmd:room_deposit" +msgid "deposit" +msgstr "depositar" + +#: src/modules/rooms/cog.py:855 +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!)" + +#: src/modules/rooms/cog.py:859 +msgctxt "cmd:room_deposit|param:coins" +msgid "coins" +msgstr "moedas" + +#: src/modules/rooms/cog.py:864 +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 +msgctxt "cmd:room_deposit|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to contribute to." +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 +#, possible-python-brace-format +msgctxt "cmd:room_deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "" +"Você não pode depositar {coin}**{amount}**! Você tem apenas " +"{coin}**{balance}**." + +#: src/modules/rooms/cog.py:921 +#, possible-python-brace-format +msgctxt "cmd:room_depost|success" +msgid "" +"Success! You have contributed {coin}**{amount}** to the private room bank." +msgstr "" +"Sucesso! Você contribuiu com {coin}**{amount}** para o caixa da sala " +"particular." + +#: src/modules/rooms/cog.py:936 +msgctxt "cmd:configure_rooms" +msgid "rooms" +msgstr "salas" + +#: src/modules/rooms/cog.py:937 +msgctxt "cmd:configure_rooms|desc" +msgid "Configure Rented Private Rooms" +msgstr "Configurar Aluguel de Salas Particulares" + +#: src/modules/rooms/room.py:81 +#, 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 +msgctxt "room|notify:new_members|title" +msgid "New Members!" +msgstr "Novos Membros!" + +#: src/modules/rooms/room.py:108 +#, possible-python-brace-format +msgctxt "room|notify:new_members|desc" +msgid "Welcome {members}" +msgstr "Bem Vindos {members}" + +#: src/modules/rooms/room.py:183 +#, 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 +msgctxt "room|embed:expiry|title" +msgid "Private Room Expired!" +msgstr "Sala Particular Expirou!" + +#: src/modules/rooms/room.py:251 +#, 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 +#, possible-python-brace-format +msgctxt "room|tick|rent_deducted" +msgid "Daily rent deducted from room balance. New balance: {coin}**{amount}**" +msgstr "" +"Aluguel diariamente cobrado do saldo do caixa da sala. Novo saldo: " +"{coin}**{amount}** " + +#: src/modules/rooms/settings.py:21 +msgctxt "guildset:room_category" +msgid "rooms_category" +msgstr "salas_categoria" + +#: src/modules/rooms/settings.py:25 +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 +msgctxt "guildset:room_category|long_desc" +msgid "" +"When a member uses {cmds[room rent]} to rent a new private room, a private " +"voice channel will be created under this category, manageable by the member." +" I must have permission to create new channels in this category, as well as " +"to manage permissions." +msgstr "" +"Quando um membro usa {cmds[room rent]} para alugar uma nova sala particular," +" uma sala exclusiva será criada dentro desta categoria gerenciada pelo " +"membro. Eu preciso ter permissão para criar novos canais nesta categoria, " +"assim como para gerenciar permissões." + +#: src/modules/rooms/settings.py:37 +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 +msgctxt "guildset:rooms_category|set_response:unset" +msgid "" +"The private room category has been unset. Existing private rooms will not be" +" affected. Delete the channels manually to remove the private rooms." +msgstr "" +"A categoria de salas particulares foi retirada. As salas particulares atuais" +" não serão afetadas. Apague manualmente os canais para remover as salas " +"particulares." + +#: src/modules/rooms/settings.py:57 +#, possible-python-brace-format +msgctxt "guildset:rooms_category|set_response:set" +msgid "" +"Private room category has been set to {channel}. Existing private rooms will" +" be moved." +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 +#, 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 +msgctxt "guildset:rooms_price" +msgid "room_rent" +msgstr "sala_alugar" + +#: src/modules/rooms/settings.py:80 +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 +msgctxt "guildset:rooms_rent|long_desc" +msgid "" +"Members will be charged this many LionCoins for each day they rent a private" +" room." +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 +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 +#, possible-python-brace-format +msgctxt "guildset:rooms_price|set_response" +msgid "Private rooms will now cost {coin}**{amount}** per 24 hours." +msgstr "" +"A partir de agora, as salas particulares irão custar {coin}**{amount}** a " +"cada 24 horas." + +#: src/modules/rooms/settings.py:112 +msgctxt "guildset:rooms_slots" +msgid "room_member_cap" +msgstr "sala_lim_membros" + +#: src/modules/rooms/settings.py:115 +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 +msgctxt "guildset:rooms_slots|long_desc" +msgid "" +"Private room owners may invite other members to their private room via the " +"UI, or through the {cmds[room invite]} command. This setting limits the " +"maximum number of members a private room may hold." +msgstr "" +"Donos de salas particulares podem convidar outros membros para as suas salas" +" através da interface do usuário, ou através do comando {cmds[room invite]}." +" Esta configuração limita o número máximo de membros que uma sala particular" +" pode permitir." + +#: src/modules/rooms/settings.py:125 +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 +#, 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 +msgctxt "guildset:rooms_visible" +msgid "room_visibility" +msgstr "sala_visibilidade" + +#: src/modules/rooms/settings.py:149 +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." + +#: src/modules/rooms/settings.py:153 +msgctxt "guildset:rooms_visible|long_desc" +msgid "" +"If enabled, new private rooms will be created with the `VIEW_CHANNEL` " +"permission enabled for the `@everyone` role." +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 +msgctxt "guildset:rooms_visible|accepts" +msgid "Visible/Invisible" +msgstr "Visível/Invisível" + +#: src/modules/rooms/settings.py:159 +msgctxt "guildset:rooms_visible|output:true" +msgid "Visible" +msgstr "Visível" + +#: src/modules/rooms/settings.py:160 +msgctxt "guildset:rooms_visible|output:false" +msgid "Invisible" +msgstr "Invisível" + +#: src/modules/rooms/settings.py:166 +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 +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 +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 +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 +#, possible-python-brace-format +msgctxt "guildset:rooms_visible|set_using" +msgid "{cmd} or toggle below." +msgstr "{cmd} ou altere aqui abaixo." diff --git a/locales/pt_BR/LC_MESSAGES/schedule.po b/locales/pt_BR/LC_MESSAGES/schedule.po new file mode 100644 index 00000000..4c702bac --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/schedule.po @@ -0,0 +1,1101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "create_booking|error:no_lobby" +msgid "" +"This server has not set a `session_lobby`, so the scheduled session system " +"is disabled!" +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 +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. " + +#: src/modules/schedule/cog.py:498 +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." + +#: src/modules/schedule/cog.py:509 +#, possible-python-brace-format +msgctxt "create_booking|error:insufficient_balance" +msgid "" +"Booking a session costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgid_plural "" +"Booking `{count}` sessions costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgstr[0] "" +"Agendar um horário custa {coin}**{required}**. Mas você só tem " +"{coin}**{balance}**." +msgstr[1] "" +"Agendar ˋ{count}ˋ horários, custa {coin}**{required}**. Mas você só tem " +"{coin}**{balance}**." +msgstr[2] "" +"Agendar ˋ{count}ˋ horários, custa {coin}**{required}**. Mas você só tem " +"{coin}**{balance}**." + +#: src/modules/schedule/cog.py:523 +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!" + +#: src/modules/schedule/cog.py:726 +msgctxt "cmd:schedule" +msgid "schedule" +msgstr "check-in" + +#: src/modules/schedule/cog.py:729 +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 +#, 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. " + +#: src/modules/schedule/cog.py:765 +#, 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! " + +#: src/modules/schedule/cog.py:774 +#, 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." + +#: src/modules/schedule/cog.py:787 +#, 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 +#, 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." + +#: src/modules/schedule/cog.py:808 +#, 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 +#, 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 +#, 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 +msgctxt "cmd:configure_schedule" +msgid "schedule" +msgstr "check-in" + +#: src/modules/schedule/cog.py:899 +msgctxt "cmd:configure_schedule|desc" +msgid "Configure Scheduled Session system" +msgstr "Sistema de Configuração de Check-ins" + +#: src/modules/schedule/settings.py:36 +msgctxt "guildset:session_lobby" +msgid "session_lobby" +msgstr "balcão_de_agendamentos" + +#: src/modules/schedule/settings.py:39 +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." + +#: src/modules/schedule/settings.py:43 +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" +"**This must be configured in order for the scheduled session system to function.**" +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 +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 +#, 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}" + +#: src/modules/schedule/settings.py:68 +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. " + +#: src/modules/schedule/settings.py:78 +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)." + +#: src/modules/schedule/settings.py:83 +#, possible-python-brace-format +msgctxt "guildset:session_lobby|formatted|set" +msgid "<#{channelid}>" +msgstr "<#{channelid}>" + +#: src/modules/schedule/settings.py:92 +msgctxt "guildset:session_room" +msgid "session_room" +msgstr "Sala_de_checkin" + +#: src/modules/schedule/settings.py:95 +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." + +#: src/modules/schedule/settings.py:99 +msgctxt "guildset:session_room|long_desc" +msgid "" +"If set, this voice channel serves as a dedicated room for scheduled session " +"members. During (and slightly before) each scheduled session, all members " +"who have booked the session will be given permission to join the voice " +"channel (via permission overwrites). I require the `MANAGE_CHANNEL`, " +"`MANAGE_PERMISSIONS`, `CONNECT`, and `VIEW_CHANNEL` permissions in this " +"channel, and my highest role must be higher than all permission overwrites " +"set in the channel. Furthermore, if this is set to a *category* channel, " +"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. " + +#: src/modules/schedule/settings.py:109 +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." + +#: src/modules/schedule/settings.py:123 +#, 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" + +#: src/modules/schedule/settings.py:128 +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." + +#: src/modules/schedule/settings.py:135 +msgctxt "guildset:session_channels" +msgid "session_channels" +msgstr "canais_de_checkin" + +#: src/modules/schedule/settings.py:138 +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 +msgctxt "guildset:session_channels|long_desc" +msgid "" +"Only activity in these channels (and in `session_room` if set) will count " +"towards scheduled session attendance. If a category is selected, then all " +"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ˋ." + +#: src/modules/schedule/settings.py:149 +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 +#, possible-python-brace-format +msgctxt "guildset:session_channels|set_response|set" +msgid "" +"Activity in the following sessions will now count towards scheduled session " +"attendance: {channels}" +msgstr "" +"Agora, a atividade nos canais a seguir contarão como atendimento aos check-" +"inˋs agendados: {channels}" + +#: src/modules/schedule/settings.py:171 +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." + +#: src/modules/schedule/settings.py:181 +msgctxt "guildset:session_channels|formatted|unset" +msgid "All Channels (excluding `untracked_channels`)" +msgstr "Todos Os Canais (excluindo os ˋcanais_nao_contabilizadosˋ)" + +#: src/modules/schedule/settings.py:211 +msgctxt "guildset:schedule_cost" +msgid "schedule_cost" +msgstr "custo_do_agendamento" + +#: src/modules/schedule/settings.py:214 +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 ." + +#: src/modules/schedule/settings.py:218 +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." + +#: src/modules/schedule/settings.py:222 +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)." + +#: src/modules/schedule/settings.py:234 +#, 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." + +#: src/modules/schedule/settings.py:247 +#, 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 +msgctxt "guildset:attendance_reward" +msgid "attendance_reward" +msgstr "recompensa_de_checkin" + +#: src/modules/schedule/settings.py:259 +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." + +#: src/modules/schedule/settings.py:263 +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ˋ." + +#: src/modules/schedule/settings.py:269 +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." + +#: src/modules/schedule/settings.py:281 +#, 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." + +#: src/modules/schedule/settings.py:291 +#, 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 +msgctxt "guildset:attendance_bonus" +msgid "group_attendance_bonus" +msgstr "bonus_comprometimento_do_grupo" + +#: src/modules/schedule/settings.py:303 +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." + +#: src/modules/schedule/settings.py:307 +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ˋ." + +#: src/modules/schedule/settings.py:312 +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." + +#: src/modules/schedule/settings.py:324 +#, 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." + +#: src/modules/schedule/settings.py:334 +#, possible-python-brace-format +msgctxt "guildset:attendance_bonus|formatted" +msgid "{coin}**{amount}** bonus when all booked members attend." +msgstr "" +"{coin}**{amount} de bônus quando todos os membros agendados comparecerem " +"para check-in. " + +#: src/modules/schedule/settings.py:343 +msgctxt "guildset:min_attendance" +msgid "min_attendance" +msgstr "tempo_minimo" + +#: src/modules/schedule/settings.py:346 +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 +msgctxt "guildset:min_attendance|long_desc" +msgid "" +"Scheduled session members will need to attend the session for at least this " +"number of minutes before they are marked as having attended (and hence are " +"rewarded)." +msgstr "" +"Os membros que agendarem o horário, precisarão permanecer, pelo menos, esta " +"quantidade de minutos para que seja validado o check-in (e para que recebam " +"a recompensa por isso)." + +#: src/modules/schedule/settings.py:355 +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 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|set_response" +msgid "" +"Members will be rewarded after they have attended booked sessions for at " +"least **`{amount}`** minutes." +msgstr "" +"Os membros somente serão recompensados quanto tiverem permanecido pelo menos" +" **{amount}** minutos no horário agendado. " + +#: src/modules/schedule/settings.py:379 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|formatted" +msgid "**`{amount}`** minutes" +msgstr "**ˋ{amountˋ}** minutos" + +#: src/modules/schedule/settings.py:400 +msgctxt "guildset:min_attendance|parse|error" +msgid "" +"Minimum attendance must be an integer number of minutes between `1` and " +"`60`." +msgstr "" +"O número mínimo de minutos precisa ser um número inteiro, entre ˋ1ˋ e ˋ60ˋ." + +#: src/modules/schedule/settings.py:410 +msgctxt "guildset:schedule_blacklist_role" +msgid "schedule_blacklist_role" +msgstr "cargo_listanegra_checkin" + +#: src/modules/schedule/settings.py:413 +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 +msgctxt "guildset:schedule_blacklist_role|long_desc" +msgid "" +"Members with this role will not be allowed to book scheduled sessions in " +"this server. If the role is manually added, all future scheduled sessions " +"for the user are cancelled. This provides a way to stop repeatedly " +"unreliable members from blocking the group bonus for all members. " +"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." + +#: src/modules/schedule/settings.py:425 +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 +#, 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." + +#: src/modules/schedule/settings.py:443 +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." + +#: src/modules/schedule/settings.py:453 +#, 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. " + +#: src/modules/schedule/settings.py:458 +msgctxt "guildset:schedule_blacklist_role|formatted|unset" +msgid "Not Set" +msgstr "Não Configurado" + +#: src/modules/schedule/settings.py:467 +msgctxt "guildset:schedule_blacklist_after" +msgid "schedule_blacklist_after" +msgstr "listanegra_checkin_após" + +#: src/modules/schedule/settings.py:470 +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." + +#: src/modules/schedule/settings.py:474 +msgctxt "guildset:schedule_blacklist_after|long_desc" +msgid "" +"Members who miss more than this number of booked sessions in a single 24 " +"hour period will be automatically given the `blacklist_role`. Has no effect " +"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. " + +#: src/modules/schedule/settings.py:481 +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 +#, 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ˋ." + +#: src/modules/schedule/settings.py:501 +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. " + +#: src/modules/schedule/settings.py:511 +#, 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ˋ." + +#: src/modules/schedule/settings.py:516 +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 +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ˋ." + +#: 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 +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 +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 +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 +msgctxt "ui:schedule_config|button:page1|label" +msgid "Page 2" +msgstr "Página 2" + +#: src/modules/schedule/ui/settingui.py:152 +msgctxt "ui:schedule_config|button:page2|label" +msgid "Page 3" +msgstr "Página 3" + +#: src/modules/schedule/ui/settingui.py:169 +msgctxt "ui:schedule_config|menu:blacklist_role|placeholder" +msgid "Select Blacklist Role" +msgstr "Selecione Cargo Lista Negra" + +#: src/modules/schedule/ui/settingui.py:177 +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|dropdown|placeholder" +msgid "Scheduled Sessions Panel" +msgstr "Painel do Sistema de Check-in" + +#: src/modules/schedule/ui/settingui.py:251 +msgctxt "dash:schedule|section:schedule_channels|name" +msgid "Scheduled Session Channels ({commands[configure schedule]})" +msgstr "Canais de Check-in ({commands[configure schedule]})" + +#: src/modules/schedule/ui/settingui.py:261 +msgctxt "dash:schedule|section:schedule_rewards|name" +msgid "Scheduled Session Rewards ({commands[configure schedule]})" +msgstr "Recompensa por Check-in ({commands[configure schedule]})" + +#: src/modules/schedule/ui/settingui.py:271 +msgctxt "dash:schedule|section:schedule_blacklist|name" +msgid "Scheduled Session Blacklist ({commands[configure schedule]})" +msgstr "Lista Negra do Check-in ({commands[configure schedule]})" + +#: src/modules/schedule/ui/scheduleui.py:31 +msgctxt "ui:schedule|about" +msgid "Guide tips here TBD" +msgstr "Dicas para direcionar o usuário, aqui." + +#: src/modules/schedule/ui/scheduleui.py:116 +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. " + +#: src/modules/schedule/ui/scheduleui.py:129 +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." + +#: src/modules/schedule/ui/scheduleui.py:142 +msgctxt "ui:schedule|button:clear|label" +msgid "Clear Schedule" +msgstr "Limpar meus agendamentos." + +#: src/modules/schedule/ui/scheduleui.py:158 +msgctxt "ui:schedule|button:about|label" +msgid "About Schedule" +msgstr "Sobre o Sistema de Check-inˋs." + +#: src/modules/schedule/ui/scheduleui.py:184 +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." + +#: src/modules/schedule/ui/scheduleui.py:191 +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." + +#: src/modules/schedule/ui/scheduleui.py:198 +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 +#, 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}**!" + +#: src/modules/schedule/ui/scheduleui.py:227 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|success" +msgid "Successfully booked your scheduled session at {times}." +msgid_plural "" +"Successfully booked the following scheduled sessions.\n" +"{times}" +msgstr[0] "" +"O agendamento deste horário foi feito com sucesso. Compareça pontualmente " +"para o check-in das {times}." +msgstr[1] "" +"O agendamento destes horários foi feito com sucesso! Compareça pontualmente para o check-in.\n" +"{times}" +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 +msgctxt "ui:schedule|menu:booking|placeholder:blacklisted" +msgid "Book Sessions (Cannot book - Blacklisted)" +msgstr "Agendamentos (Não é possível agendar - Lista Negra)" + +#: src/modules/schedule/ui/scheduleui.py:258 +#, 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 +#, 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 +msgctxt "ui:schedule|menu:slots|option|day:today" +msgid "Today" +msgstr "Hoje" + +#: src/modules/schedule/ui/scheduleui.py:311 +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 +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." + +#: src/modules/schedule/ui/scheduleui.py:368 +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!" + +#: src/modules/schedule/ui/scheduleui.py:385 +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!" + +#: src/modules/schedule/ui/scheduleui.py:395 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:cancel|success" +msgid "" +"Successfully cancelled and refunded your scheduled session booking for " +"{times}." +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." +msgstr[1] "" +"Seus agendamentos de horários foram cancelados com sucesso, e suas moedas foram devolvidas.\n" +"{times}." +msgstr[2] "" +"Seus agendamentos de horário foram cancelados com sucesso, e suas moedas foram devolvidas.\n" +"{times}." + +#: src/modules/schedule/ui/scheduleui.py:416 +msgctxt "ui:schedule|menu:cancel|placeholder" +msgid "Cancel booked sessions" +msgstr "Cancelar agendamentos de horário." + +#: src/modules/schedule/ui/scheduleui.py:438 +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." + +#: src/modules/schedule/ui/scheduleui.py:450 +msgctxt "ui:schedule|embed|field:stats|field:recent" +msgid "Recent" +msgstr "Recentes" + +#: src/modules/schedule/ui/scheduleui.py:457 +msgctxt "ui:schedule|embed|field:stats|field:alltime" +msgid "All Time" +msgstr "Desde o Começo" + +#: src/modules/schedule/ui/scheduleui.py:463 +msgctxt "ui:schedule|embed|field:stats|field:streak" +msgid "Streak" +msgstr "Sequência" + +#: src/modules/schedule/ui/scheduleui.py:468 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|field:stats|field:streak|value:zero" +msgid "One session attended! Keep it up!" +msgid_plural "**{streak}** sessions attended in a row! Good job!" +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 +msgctxt "ui:schedule|embed|field:stats|field:streak|value:positive" +msgid "No streak yet!" +msgstr "Ainda não fez uma sequência!" + +#: src/modules/schedule/ui/scheduleui.py:483 +msgctxt "ui:schedule|embed|field:stats|name" +msgid "Session Statistics" +msgstr "Estatísticas de Check-In's" + +#: src/modules/schedule/ui/scheduleui.py:502 +msgctxt "ui:schedule|embed|field:upcoming|name" +msgid "Upcoming Sessions" +msgstr "Próximos Horários" + +#: src/modules/schedule/ui/scheduleui.py:506 +msgctxt "ui:schedule|embed|field:upcoming|value:empty" +msgid "No sessions scheduled yet!" +msgstr "Sem check-ins cumpridos ainda!" + +#: src/modules/schedule/ui/scheduleui.py:520 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|stats_format" +msgid "" +"**{attended}** attended out of **{total}** booked.\r\n" +"**{percent}%** attendance rate.\r\n" +"**{average}** average attendance time." +msgstr "" +"**{attended}** atendidos de **{total}** agendados.\r\n" +"**{percent}%** de constância.\r\n" +"**{average}** em média por horário." + +#: src/modules/schedule/ui/scheduleui.py:534 +#, 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 +#, possible-python-brace-format +msgctxt "ui:schedule|booking_format:long" +msgid "> `{until}` | {start} - {end}" +msgstr "> `{until}` | {start} - {end}" + +#: src/modules/schedule/ui/sessionui.py:52 +msgctxt "ui:sessionui|button:book|label" +msgid "Book" +msgstr "Agendar" + +#: src/modules/schedule/ui/sessionui.py:56 +msgctxt "ui:sessionui|button:cancel|label" +msgid "Cancel" +msgstr "Cancelar" + +#: src/modules/schedule/ui/sessionui.py:60 +msgctxt "ui:sessionui|button:schedule|label" +msgid "Open Schedule" +msgstr "Abrir Agenda" + +#: src/modules/schedule/ui/sessionui.py:87 +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 +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 +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 +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 +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 +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!" + +#: src/modules/schedule/ui/sessionui.py:150 +msgctxt "ui:session|button:cancel|success" +msgid "Successfully cancelled this session." +msgstr "Este horário foi cancelado com sucesso!" + +#: src/modules/schedule/ui/sessionui.py:164 +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 +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ˋ." + +#: src/modules/schedule/core/session.py:280 +#, possible-python-brace-format +msgctxt "session|prepare|error:room_permissions" +msgid "" +"Could not prepare the configured session room {room} for the next scheduled " +"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ˋ. " + +#: src/modules/schedule/core/session.py:330 +#, possible-python-brace-format +msgctxt "session|open|error:room_permissions" +msgid "" +"Could not set up the configured session room {room} for this scheduled " +"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 " +"ˋVER_CANALˋ." + +#: src/modules/schedule/core/session.py:371 +#, possible-python-brace-format +msgctxt "session|status|title" +msgid "Session {start} - {end}" +msgstr "Horário {start} - {end}" + +#: src/modules/schedule/core/session.py:382 +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." + +#: src/modules/schedule/core/session.py:389 +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 +#, 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 +msgctxt "session|status:preparing|field:members" +msgid "Members" +msgstr "Membros" + +#: src/modules/schedule/core/session.py:405 +#, possible-python-brace-format +msgctxt "session|status:running|desc:has_members" +msgid "Finishing {start}" +msgstr "Terminando {start}" + +#: src/modules/schedule/core/session.py:439 +msgctxt "session|status:running|field:waiting" +msgid "Waiting For" +msgstr "Esperando por" + +#: src/modules/schedule/core/session.py:445 +msgctxt "session|status:running|field:attending" +msgid "Attending" +msgstr "Presentes" + +#: src/modules/schedule/core/session.py:451 +msgctxt "session|status:running|field:attended" +msgid "Attended" +msgstr "Atendidos" + +#: src/modules/schedule/core/session.py:476 +#, 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}**!" + +#: src/modules/schedule/core/session.py:487 +#, 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!**" + +#: src/modules/schedule/core/session.py:499 +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!**" + +#: src/modules/schedule/core/session.py:505 +msgctxt "session|status:finished|field:attended" +msgid "Attended" +msgstr "Atendido" + +#: src/modules/schedule/core/session.py:510 +msgctxt "session|status:finished|field:missing" +msgid "Missing" +msgstr "Faltando" diff --git a/locales/pt_BR/LC_MESSAGES/settings_base.po b/locales/pt_BR/LC_MESSAGES/settings_base.po new file mode 100644 index 00000000..59389c05 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/settings_base.po @@ -0,0 +1,228 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "setting|formatted|notset" +msgid "Not Set" +msgstr "Não Configurado" + +#: src/settings/ui.py:338 +#, 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 +msgctxt "setting|summary_table|field:currently|key" +msgid "Currently" +msgstr "Atualmente" + +#: src/settings/ui.py:357 +msgctxt "setting|summary_table|field:default|key" +msgid "By Default" +msgstr "Por Padrão" + +#: src/settings/ui.py:364 +msgctxt "setting|summary_table|field:set|key" +msgid "Set Using" +msgstr "Configuração Usada" + +#: src/settings/setting_types.py:48 +msgctxt "settype:string|accepts" +msgid "Any Text" +msgstr "Qualquer Texto" + +#: src/settings/setting_types.py:89 +#, possible-python-brace-format +msgctxt "settype:string|error" +msgid "Provided string is too long! Maximum length: {maxlen} characters." +msgstr "String provida é muito comprida. Tamanho máximo: {maxlen} caracteres." + +#: src/settings/setting_types.py:114 +msgctxt "settype:emoji|accepts" +msgid "Paste a builtin emoji, custom emoji, or emoji id." +msgstr "Colar um emoji integrado, personalizado, ou id de um padrão." + +#: src/settings/setting_types.py:167 +#, possible-python-brace-format +msgctxt "settype:emoji|error:parse" +msgid "" +"Could not parse `{provided}` as a Discord emoji. Supported formats are " +"builtin emojis (e.g. `{builtin}`), custom emojis (e.g. {custom}), or custom " +"emoji ids (e.g. `{custom_id}`)." +msgstr "" +"Não pude analisar ˋ{provided}ˋ como um emoji do Discord. Formatos aceitos " +"são de emoji integrados (ex: ˋ{builtin}ˋ), emoji personalizado (ex:. " +"{custom}), ou IDˋs de um emoji personalizado (ex:. ˋ{custom_id}ˋ)." + +#: src/settings/setting_types.py:236 +msgctxt "settype:channel|accepts" +msgid "A channel name or id" +msgstr "O nome ou ID do canal." + +#: src/settings/setting_types.py:282 +#, possible-python-brace-format +msgctxt "settype:channel|parse|error:not_found" +msgid "Channel `{string}` could not be found in this guild!" +msgstr "O Canal ˋ{string}ˋ não pode ser encontrado neste servidor!" + +#: src/settings/setting_types.py:368 +msgctxt "settype:role|accepts" +msgid "A role name or id" +msgstr "O nome ou ID de um cargo." + +#: src/settings/setting_types.py:427 +#, 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 +msgctxt "settype:bool|accepts" +msgid "Enabled/Disabled" +msgstr "Habilitado/Desabilitado" + +#: src/settings/setting_types.py:497 +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 +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 +msgctxt "settype:bool|output:true" +msgid "On" +msgstr "On" + +#: src/settings/setting_types.py:507 +msgctxt "settype:bool|output:false" +msgid "Off" +msgstr "Off" + +#: src/settings/setting_types.py:508 +msgctxt "settype:bool|output:none" +msgid "Not Set" +msgstr "Não Configurado" + +#: src/settings/setting_types.py:619 +msgctxt "settype:integer|accepts" +msgid "An integer" +msgstr "Um número inteiro" + +#: src/settings/setting_types.py:682 +msgctxt "settype:emoji|desc" +msgid "Unicode or custom emoji" +msgstr "Emoji personalizado, ou Unicode" + +#: src/settings/setting_types.py:754 +msgctxt "settype:guildid|accepts" +msgid "Any Snowflake ID" +msgstr "Qualquer ID Snowflake" + +#: src/settings/setting_types.py:823 +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 +msgctxt "settype:timezone|summary_table|field:supported|key" +msgid "Supported" +msgstr "Suportado" + +#: src/settings/setting_types.py:897 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "set_type:timezone|acmpl|choice" +msgid "{tz} (Currently {now})" +msgstr "{tz} (Atualmente {now})" + +#: src/settings/setting_types.py:957 +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 +#, possible-python-brace-format +msgctxt "settype:timestamp|parse|error:invalid" +msgid "" +"Could not parse `{provided}` as a timestamp. Please use `YYYY-MM-DD HH:MM` " +"format." +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 +msgctxt "settype:raw|accepts" +msgid "Anything" +msgstr "Qualquer" + +#: src/settings/setting_types.py:1070 +msgctxt "settype:enum|accepts" +msgid "A valid option." +msgstr "Uma opção válida." + +#: src/settings/setting_types.py:1120 +#, 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 +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 +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 +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 +msgctxt "settype:stringlist|accepts" +msgid "Comma separated strings." +msgstr "Strings separadas por vírgulas." + +#: src/settings/setting_types.py:1387 +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 new file mode 100644 index 00000000..53ee2557 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/shop.po @@ -0,0 +1,635 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/shop/cog.py:108 +msgctxt "group:editshop" +msgid "editshop" +msgstr "editarloja" + +#: src/modules/shop/cog.py:117 +msgctxt "cmd:shop" +msgid "shop" +msgstr "loja" + +#: src/modules/shop/cog.py:118 +msgctxt "cmd:shop|desc" +msgid "Purchase coloures, roles, and other goodies with LionCoins." +msgstr "Comprar cores, cargos e outras coisas com as LionCoins." + +#: src/modules/shop/cog.py:125 +msgctxt "cmd:shop_open" +msgid "open" +msgstr "abrir" + +#: src/modules/shop/cog.py:126 +msgctxt "cmd:shop_open|desc" +msgid "Open the server shop." +msgstr "Abrir a loja do servidor." + +#: src/modules/shop/cog.py:153 +msgctxt "cmd:shop_open|error:no_shops" +msgid "There is nothing to buy!" +msgstr "Não há nada para comprar!" + +#: src/modules/shop/cog.py:215 +msgctxt "ui:stores|button:close|label" +msgid "Close" +msgstr "Fechar" + +#: src/modules/shop/cog.py:222 +msgctxt "ui:stores|button:close|response|title" +msgid "Shop Closed" +msgstr "Loja Fechada" + +#: src/modules/shop/shops/colours.py:105 +#, possible-python-brace-format +msgctxt "ui:colourstore|menu:buycolours|label" +msgid "{name} ({price} LC)" +msgstr "{name} ({price} LC)" + +#: src/modules/shop/shops/colours.py:110 +#, possible-python-brace-format +msgctxt "ui:colourstore|menu:buycolours|label" +msgid "{name} (This is your colour!)" +msgstr "{name} (Esta é sua cor!)" + +#: src/modules/shop/shops/colours.py:115 +#, possible-python-brace-format +msgctxt "ui:colourstore|menu:buycolours|desc" +msgid "Colour: {colour}" +msgstr "Cor: {colour}" + +#: src/modules/shop/shops/colours.py:120 +msgctxt "ui:colourstore|menu:buycolours|desc" +msgid "Colour: Unknown" +msgstr "Cor: Desconhecida" + +#: src/modules/shop/shops/colours.py:134 +msgctxt "shop:colours|name" +msgid "Colour Shop" +msgstr "Loja de Cores" + +#: src/modules/shop/shops/colours.py:173 +msgctxt "shop:colour|purchase|error:not_purchasable" +msgid "This item may not be purchased!" +msgstr "Este item talvez não seja comprado!" + +#: src/modules/shop/shops/colours.py:186 +msgctxt "shop:colour|purchase|error:no_guild" +msgid "Could not retrieve the server from Discord!" +msgstr "Não foi possível acessar o servidor do Discord!" + +#: src/modules/shop/shops/colours.py:196 +msgctxt "shop:colour|purchase|error:no_member" +msgid "Could not retrieve the member from Discord." +msgstr "Não foi possível acessar o membro do Discord." + +#: src/modules/shop/shops/colours.py:206 +msgctxt "shop:colour|purchase|error:no_role" +msgid "This colour role could not be found in the server." +msgstr "Esta cor de cargo não pôde ser encontrada no servidor." + +#: src/modules/shop/shops/colours.py:215 +#, possible-python-brace-format +msgctxt "shop:colour|purchase|error:low_balance" +msgid "" +"This item costs {coin}{amount}!\n" +"Your balance is {coin}{balance}" +msgstr "" +"Este item custa {coin}{amount}!\n" +"Seu saldo é {coin}{balance}" + +#: src/modules/shop/shops/colours.py:230 +msgctxt "shop:colour|purchase|error:owned" +msgid "You already own this item!" +msgstr "Você já comprou este item!" + +#: src/modules/shop/shops/colours.py:264 +msgctxt "shop:colour|purchase|error:failed_no_role" +msgid "This colour role no longer exists!" +msgstr "Esta cor de cargo não existe!" + +#: src/modules/shop/shops/colours.py:271 +msgctxt "shop:colour|purchase|error:failed_permissions" +msgid "I do not have enough permissions to give you this colour role!" +msgstr "Eu não tenho permissões suficientes para te dar esta cor de cargo." + +#: src/modules/shop/shops/colours.py:278 +msgctxt "shop:colour|purchase|error:failed_unknown" +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 +msgctxt "grp:editshop_colours" +msgid "colours" +msgstr "cores" + +#: src/modules/shop/shops/colours.py:353 +msgctxt "cmd:editshop_colours_create" +msgid "create" +msgstr "criar" + +#: src/modules/shop/shops/colours.py:356 +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 +msgctxt "cmd:editshop_colours_create|param:colour" +msgid "colour" +msgstr "cor" + +#: src/modules/shop/shops/colours.py:361 +msgctxt "cmd:editshop_colours_create|param:name" +msgid "name" +msgstr "nome" + +#: src/modules/shop/shops/colours.py:362 +msgctxt "cmd:editshop_colours_create|param:price" +msgid "price" +msgstr "preço" + +#: src/modules/shop/shops/colours.py:367 +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 +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 +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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_create|error:parse_colour" +msgid "" +"I could not extract a colour value from `{colour}`!\n" +"Please enter the colour as a hex string, e.g. `#FA0BC1`" +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 +msgctxt "cmd:editshop_colours_create|error:perms" +msgid "" +"I do not have permission to create server roles!\n" +"Please either give me this permission, or create the role manually and use `/editshop colours add` instead." +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 +msgctxt "cmd:editshop_colours_create|error:max_colours" +msgid "" +"This server already has the maximum of `25` colour roles!\n" +"Please remove some before adding or creating more." +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 +msgctxt "cmd:editshop_colours_create|error:failed_unknown" +msgid "" +"An unknown Discord error occurred while creating your colour role!\n" +"Please try again in a few minutes." +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 +msgctxt "cmd:editshop_colours_create|resp:done|title" +msgid "Colour Role Created" +msgstr " Cor de Cargo Criada" + +#: src/modules/shop/shops/colours.py:497 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_create|resp:done|desc" +msgid "" +"You have created the role {mention}, and added it to the colour shop for " +"{coin}**{price}**!" +msgstr "" +"Você criou o cargo {mention}, e adicionou ele à loja de cores por " +"{coin}**{price}**!" + +#: src/modules/shop/shops/colours.py:504 +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 " +"active colour is determined by their highest coloured role!" +msgstr "" +"A nova cor de cargo foi adicionada abaixo de todas as outras. Lembre-se que " +"a cor ativa de um cargo é determinada pela equivalente à mais alta cor de " +"cargo." + +#: src/modules/shop/shops/colours.py:508 +msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|name" +msgid "Note" +msgstr "Nota" + +#: src/modules/shop/shops/colours.py:517 +msgctxt "cmd:editshop_colours_edit" +msgid "edit" +msgstr "editar" + +#: src/modules/shop/shops/colours.py:520 +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 +msgctxt "cmd:editshop_colours_edit|param:role" +msgid "role" +msgstr "cargo" + +#: src/modules/shop/shops/colours.py:525 +msgctxt "cmd:editshop_colours_edit|param:name" +msgid "name" +msgstr "nome" + +#: src/modules/shop/shops/colours.py:526 +msgctxt "cmd:editshop_colours_edit|param:colour" +msgid "colour" +msgstr "cor" + +#: src/modules/shop/shops/colours.py:527 +msgctxt "cmd:editshop_colours_edit|param:price" +msgid "price" +msgstr "preço" + +#: src/modules/shop/shops/colours.py:532 +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 +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 +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 +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 +#, 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 +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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_edit|error:parse_colour" +msgid "" +"I could not extract a colour value from `{colour}`!\n" +"Please enter the colour as a hex string, e.g. `#FA0BC1`" +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 +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 +#, 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 +#, 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 +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 +msgctxt "cmd:editshop_colours_auto" +msgid "auto" +msgstr "automático" + +#: src/modules/shop/shops/colours.py:668 +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 +msgctxt "cmd:editshop_colours_add" +msgid "add" +msgstr "adicionar" + +#: src/modules/shop/shops/colours.py:680 +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 +msgctxt "cmd:editshop_colours_add|param:role" +msgid "role" +msgstr "cargo" + +#: src/modules/shop/shops/colours.py:685 +msgctxt "cmd:editshop_colours_add|param:price" +msgid "price" +msgstr "preço" + +#: src/modules/shop/shops/colours.py:690 +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 +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 +msgctxt "cmd:editshop_colours_add|error:max_colours" +msgid "" +"This server already has the maximum of `25` colour roles!\n" +"Please remove some before adding or creating more." +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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_add|error:role_perms" +msgid "" +"I do not have enough permissions to assign the role {mention}! Please ensure" +" I have the `MANAGE_ROLES` permission, and that my top role is above this " +"role." +msgstr "" +"Eu não tenho permissão para colocar o cargo {mention}! Por favor, garanta " +"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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_add|error:caller_perms" +msgid "" +"You do not have sufficient server permissions to assign {mention} to the " +"shop! You must have `MANAGE_ROLES`, and your top role must be above this " +"role." +msgstr "" +"Você não tem permissão suficiente para colocar {mention} na loja! Você " +"precisa ter permissão para ˋGERENCIAR_CARGOSˋ, e seu maior cargo precisa " +"estar acima deste." + +#: src/modules/shop/shops/colours.py:760 +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" +" bad idea." +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 +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 +#, 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 +msgctxt "cmd:editshop_colours_clear" +msgid "clear" +msgstr "limpar" + +#: src/modules/shop/shops/colours.py:795 +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 +msgctxt "cmd:editshop_colours_clear|param:delete" +msgid "delete_roles" +msgstr "excluir_cargos" + +#: src/modules/shop/shops/colours.py:804 +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 +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 +#, 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 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_clear|resp:done|line:deleted_failed" +msgid "" +"{emoji} Deleted **{count}/{total}** colour roles. (**{failed}** failed!)" +msgstr "" +"{emoji} Apagadas **{count}/{total}** cores de cargo. (**{failed}** failed!)" + +#: src/modules/shop/shops/colours.py:925 +#, 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 +msgctxt "cmd:editshop_colours_remove" +msgid "remove" +msgstr "remover" + +#: src/modules/shop/shops/colours.py:977 +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 +msgctxt "cmd:editshop_colours_remove|param:role" +msgid "role" +msgstr "cargo" + +#: src/modules/shop/shops/colours.py:982 +msgctxt "cmd:editshop_colours_remove" +msgid "delete_role" +msgstr "excluir_cargo" + +#: src/modules/shop/shops/colours.py:987 +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 +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 +#, 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 +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 +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 +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 +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 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_remove|resp:done|embed:desc" +msgid "" +"Removed {mention} from the colour shop.\n" +"{delete_line}" +msgstr "" +"Removida {mention} da loja de cargos.\n" +"{delete_line}" + +#: src/modules/shop/shops/colours.py:1138 +msgctxt "ui:colourstore|menu:buycolours|embed:error|title" +msgid "Purchase Failed!" +msgstr "A compra falhou!" + +#: src/modules/shop/shops/colours.py:1149 +#, 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 +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 +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 +#, 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 +#, 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 +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 +msgctxt "ui:colourstore|embed|title" +msgid "Colour Role Shop" +msgstr "Loja de Cores de Cargo" + +#: src/modules/shop/shops/colours.py:1257 +#, 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 +msgctxt "ui:colourstore|embed|field:warning|name" +msgid "Note!" +msgstr "Atenção!" + +#: src/modules/shop/shops/colours.py:1268 +#, possible-python-brace-format +msgctxt "ui:colourstore|embed|field:warning|value" +msgid "" +"Purchasing a new colour role will *replace* your currently colour {current} " +"without refund!" +msgstr "" +"Comprando um cargo colorido, a sua cor atual {current} será *alterada*, sem " +"devolução das moedas gastas nela." diff --git a/locales/pt_BR/LC_MESSAGES/statistics.po b/locales/pt_BR/LC_MESSAGES/statistics.po new file mode 100644 index 00000000..3defa85d --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/statistics.po @@ -0,0 +1,774 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "cmd:me" +msgid "me" +msgstr "Eu" + +#: src/modules/statistics/cog.py:46 +msgctxt "cmd:me|desc" +msgid "Display your personal profile and summary statistics." +msgstr "Mostra seu perfil pessoal e resumo das suas estatísticas." + +#: src/modules/statistics/cog.py:56 +msgctxt "cmd:stats" +msgid "stats" +msgstr "estatísticas" + +#: src/modules/statistics/cog.py:59 +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 +msgctxt "cmd:leaderboard" +msgid "leaderboard" +msgstr "Classificação" + +#: src/modules/statistics/cog.py:75 +msgctxt "cmd:leaderboard|desc" +msgid "Server leaderboard." +msgstr "Classificação no servidor." + +#: src/modules/statistics/cog.py:90 +#, 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 +msgctxt "cmd:configure_statistics" +msgid "statistics" +msgstr "Estatísticas" + +#: src/modules/statistics/cog.py:114 +msgctxt "cmd:configure_statistics|desc" +msgid "Statistics configuration panel" +msgstr "Painel de configuração das estatísticas" + +#: src/modules/statistics/cog.py:117 +msgctxt "cmd:configure_statistics|param:season_start" +msgid "season_start" +msgstr "começo_estatísticas" + +#: src/modules/statistics/cog.py:122 +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)" + +#: src/modules/statistics/settings.py:37 +msgctxt "settype:stat|output:voice" +msgid "`Voice`" +msgstr "ˋEm Canais de Vozˋ" + +#: src/modules/statistics/settings.py:38 +msgctxt "settype:stat|output:text" +msgid "`Text`" +msgstr "ˋMensagemˋ" + +#: src/modules/statistics/settings.py:39 +msgctxt "settype:stat|output:anki" +msgid "`Anki`" +msgstr "ˋAnkiˋ" + +#: src/modules/statistics/settings.py:42 +msgctxt "settype:stat|input_format:voice" +msgid "Voice" +msgstr "Em Canais de Voz" + +#: src/modules/statistics/settings.py:43 +msgctxt "settype:stat|input_format:text" +msgid "Text" +msgstr "Mensagens" + +#: src/modules/statistics/settings.py:44 +msgctxt "settype:stat|input_format:anki" +msgid "Anki" +msgstr "Anki" + +#: src/modules/statistics/settings.py:47 +msgctxt "settype:stat|input_pattern:voice" +msgid "voice|study" +msgstr "voz|estudo" + +#: src/modules/statistics/settings.py:48 +msgctxt "settype:stat|input_pattern:text" +msgid "text|messages" +msgstr "texto|mensagens" + +#: src/modules/statistics/settings.py:49 +msgctxt "settype:stat|input_pattern:anki" +msgid "anki" +msgstr "anki" + +#: src/modules/statistics/settings.py:53 +msgctxt "settype:state|accepts" +msgid "Voice/Text/Anki" +msgstr "Voz/Texto/Anki" + +#: src/modules/statistics/settings.py:66 +msgctxt "userset:show_global_stats" +msgid "global_stats" +msgstr "estatísticas_globais" + +#: src/modules/statistics/settings.py:69 +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 +msgctxt "userset:show_global_stats|long_desc" +msgid "" +"Whether statistics commands display combined stats for all servers or just " +"your current server." +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 +msgctxt "guildset:season_start" +msgid "season_start" +msgstr "começo_estatísticas" + +#: src/modules/statistics/settings.py:91 +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 +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" +"Provided dates and times are assumed to be in the guild `timezone`, so set this first!" +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 +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 +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 +#, possible-python-brace-format +msgctxt "guildset:season_start|parse|error:future_time" +msgid "Provided season start time {timestamp} is in the future!" +msgstr "" +"A data informada {timestamp} para começar a contar as estatísticas, é no " +"futuro! " + +#: src/modules/statistics/settings.py:137 +#, possible-python-brace-format +msgctxt "guildset:season_start|set_response|set" +msgid "" +"The leaderboard season and activity ranks will now count from {timestamp}. Member ranks will update when they are next active.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks immediately." +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 +#, possible-python-brace-format +msgctxt "guildset:season_start|set_response|unset" +msgid "" +"The leaderboard and activity ranks will now count all-time statistics. Member ranks will update when they are next active.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks immediately." +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 +msgctxt "guildset:unranked_roles" +msgid "unranked_roles" +msgstr "cargos_não_contabilizados" + +#: src/modules/statistics/settings.py:162 +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 +msgctxt "guildset:unranked_roles|long_desc" +msgid "" +"When set, members with *any* of these roles will not appear on the " +"/leaderboard ranking list." +msgstr "" +"Quando configurado, membros com *qualquer* destes cargos, não irão aparecer " +"na /classificação do servidor." + +#: src/modules/statistics/settings.py:170 +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 +msgctxt "guildset:unranked_roles|set_using" +msgid "Role selector below." +msgstr "Selecione o cargo abaixo." + +#: src/modules/statistics/settings.py:196 +#, possible-python-brace-format +msgctxt "guildset:unranked_roles|set_response|set" +msgid "" +"Members of the following roles will not appear on the leaderboard: {roles}" +msgstr "" +"Os membros dos cargos seguintes não irão aparecer na Lista de Classificação:" +" {roles}" + +#: src/modules/statistics/settings.py:203 +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 +msgctxt "guildset:visible_stats" +msgid "visible_stats" +msgstr "estatística_visível" + +#: src/modules/statistics/settings.py:220 +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 +msgctxt "guildset:visible_stats|desc" +msgid "" +"Choose which statistics types to display in the leaderboard and statistics " +"commands." +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 +msgctxt "guildset:visible_stats|accepts" +msgid "Voice, Text, Anki" +msgstr "Voz, Mensagens, Anki" + +#: src/modules/statistics/settings.py:249 +msgctxt "guildset:visible_stats|set_using" +msgid "Option menu below." +msgstr "Opção de menu, abaixo." + +#: src/modules/statistics/settings.py:257 +#, 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 +msgctxt "guildset:default_stat" +msgid "default_stat" +msgstr "estatística_padrão" + +#: src/modules/statistics/settings.py:270 +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 +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 +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 +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 +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 +msgctxt "ui:statistics_config|menu:visible_stats|item:text" +msgid "Message Activity" +msgstr "Atividade em Conversas" + +#: src/modules/statistics/settings.py:354 +msgctxt "ui:statistics_config|menu:visible_stats|item:anki" +msgid "Anki Reviews" +msgstr "Revisões Anki" + +#: src/modules/statistics/settings.py:365 +msgctxt "ui:statistics_config|menu:visible_stats|placeholder" +msgid "Select Visible Statistics" +msgstr "Selecione Estatísticas Visíveis" + +#: src/modules/statistics/settings.py:386 +msgctxt "ui:statistics_config|embed|title" +msgid "Statistics Configuration Panel" +msgstr "Painel de Configuração de Estatísticas" + +#: src/modules/statistics/settings.py:408 +msgctxt "dash:stats|title" +msgid "Activity Statistics Configuration ({commands[configure statistics]})" +msgstr "" +"Configuração das Estatísticas de Atividade ({commands[configure " +"statistics]})" + +#: src/modules/statistics/settings.py:412 +msgctxt "dash:stats|dropdown|placeholder" +msgid "Activity Statistics Panel" +msgstr "Painel de Estatísticas de Atividade" + +#: src/modules/statistics/ui/goals.py:92 +msgctxt "ui:MonthlyUI|name" +msgid "Monthly" +msgstr "Mensal" + +#: src/modules/statistics/ui/goals.py:135 +msgctxt "ui:WeeklyUI|name" +msgid "Weekly" +msgstr "Semanal" + +#: src/modules/statistics/ui/summary.py:18 +msgctxt "ui:SummaryUI|name" +msgid "Summary" +msgstr "Sumário" + +#: src/modules/statistics/ui/weeklymonthly.py:96 +msgctxt "menu:stat_type|opt:weekly_voice|name" +msgid "Weekly Voice Statistics" +msgstr "Estatística Semanal em Canal de Voz" + +#: src/modules/statistics/ui/weeklymonthly.py:101 +msgctxt "menu:stat_type|opt:weekly_text|name" +msgid "Weekly Text Statistics" +msgstr "Estatística Semanal em Conversas" + +#: src/modules/statistics/ui/weeklymonthly.py:106 +msgctxt "menu:stat_type|opt:weekly_anki|name" +msgid "Weekly Anki Statistics" +msgstr "Estatística Semanal Anki" + +#: src/modules/statistics/ui/weeklymonthly.py:112 +msgctxt "menu:stat_type|opt:monthly_voice|name" +msgid "Monthly Voice Statistics" +msgstr "Estatística Mensal em Canal de Voz" + +#: src/modules/statistics/ui/weeklymonthly.py:117 +msgctxt "menu:stat_type|opt:monthly_text|name" +msgid "Monthly Text Statistics" +msgstr "Estatística Mensal em Conversas" + +#: src/modules/statistics/ui/weeklymonthly.py:122 +msgctxt "menu:stat_type|opt:monthly_anki|name" +msgid "Monthly Anki Statistics" +msgstr "Estatística Mensal Anki" + +#: src/modules/statistics/ui/weeklymonthly.py:144 +msgctxt "modal:goal_editor|field:task_goal|label" +msgid "Task goal" +msgstr "Meta de Tarefas" + +#: src/modules/statistics/ui/weeklymonthly.py:148 +msgctxt "modal:goal_editor|field:task_goal|placeholder" +msgid "Enter the number of tasklist tasks you aim to do" +msgstr "Digite o número de tarefas da lista-de-tarefas para ser o objetivo." + +#: src/modules/statistics/ui/weeklymonthly.py:159 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:task_goal|error:NAN" +msgid "The provided task goal `{input}` is not a number! Please try again." +msgstr "" +"A meta de tarefas informada ˋ{input}ˋ não é um número! Por favor, tente " +"novamente." + +#: src/modules/statistics/ui/weeklymonthly.py:181 +msgctxt "modal:goal_editor|field:voice_goal|label" +msgid "Study time goal" +msgstr "Meta de Horas de Estudo" + +#: src/modules/statistics/ui/weeklymonthly.py:185 +msgctxt "modal:goal_editor|field:voice_goal|placeholder" +msgid "Enter a number of hours of study to aim for." +msgstr "Digite o número de horas de estudo para ser o objetivo." + +#: src/modules/statistics/ui/weeklymonthly.py:190 +msgctxt "modal:goal_editor|field:text_goal|label" +msgid "Message goal" +msgstr "Meta de Mensagens" + +#: src/modules/statistics/ui/weeklymonthly.py:194 +msgctxt "modal:goal_editor|field:text_goal|placeholder" +msgid "Enter a message count to aim for." +msgstr "Digite um valor de mensagens para ser o objetivo." + +#: src/modules/statistics/ui/weeklymonthly.py:199 +msgctxt "modal:goal_editor|field:anki_goal|label" +msgid "Card goal" +msgstr "Meta Cartões" + +#: src/modules/statistics/ui/weeklymonthly.py:203 +msgctxt "modal:goal_editor|field:anki_goal|label" +msgid "Enter a number of card revisions to aim for." +msgstr "Digite um número de revisões em cartões do Anki para ser o objetivo." + +#: src/modules/statistics/ui/weeklymonthly.py:216 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:voice_goal|error:NAN" +msgid "" +"The provided study time goal `{input}` is not a number! Please try again." +msgstr "" +"A meta de estudos informada ˋ{input}ˋ não é um número! Por favor, tente " +"novamente." + +#: src/modules/statistics/ui/weeklymonthly.py:223 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:text_goal|error:NAN" +msgid "The provided message goal `{input}` is not a number! Please try again." +msgstr "" +"A meta de conversas informada ˋ{input}ˋ não é um número! Por favor, tente " +"novamente." + +#: src/modules/statistics/ui/weeklymonthly.py:230 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:anki_goal|error:NAN" +msgid "The provided card goal `{input}` is not a number! Please try again." +msgstr "" +"A meta de cartões informada ˋ{input}ˋ não é um número! Por favor, tente " +"novamente." + +#: src/modules/statistics/ui/weeklymonthly.py:252 +msgctxt "modal:goal_editor|field:weekly_task_editor|label" +msgid "Tasks to complete this week (one per line)" +msgstr "Tarefas a completar nesta semana (uma por linha)" + +#: src/modules/statistics/ui/weeklymonthly.py:256 +msgctxt "modal:goal_editor|field:weekly_task_editor|placeholder" +msgid "" +"[ ] Write my biology essay\n" +"[x] Complete the second maths assignment\n" +msgstr "" +"[ ] Escrever minha redação de biologia\n" +"[x] Estudar na A Seita todos os dias da semana\n" + +#: src/modules/statistics/ui/weeklymonthly.py:262 +msgctxt "modal:goal_editor|field:monthly_task_editor|label" +msgid "Tasks to complete this month (one per line)" +msgstr "Tarefas para completar este mês (uma por linha)" + +#: src/modules/statistics/ui/weeklymonthly.py:266 +msgctxt "modal:goal_editor|field:monthly_task_editor|placeholder" +msgid "" +"[ ] Write my biology essay\n" +"[x] Complete the second maths assignment\n" +msgstr "" +"[ ] Escrever minha redação de biologia\n" +"[x] Estudar na A Seita todos os dias da semana\n" + +#: src/modules/statistics/ui/weeklymonthly.py:284 +#, possible-python-brace-format +msgctxt "modal:goal_editor||field:task_editor|error:parse_general" +msgid "" +"Malformed task!\n" +"`{input}`" +msgstr "" +"Tarefa fora do padrão!\n" +"ˋ{input}ˋ" + +#: src/modules/statistics/ui/weeklymonthly.py:301 +msgctxt "modal:goal_editor|title" +msgid "Weekly goal editor" +msgstr "Editor Meta Semanal" + +#: src/modules/statistics/ui/weeklymonthly.py:306 +msgctxt "modal:goal_editor|monthly|title" +msgid "Monthly goal editor" +msgstr "Editor Meta Mensal" + +#: src/modules/statistics/ui/weeklymonthly.py:503 +msgctxt "ui:weeklymonthly|button:edit_goals|label" +msgid "Edit Goals" +msgstr "Editor Metas" + +#: src/modules/statistics/ui/weeklymonthly.py:519 +#, possible-python-brace-format +msgctxt "ui:weeklymonthly|menu:period|monthly|label" +msgid "{month} {year}" +msgstr "{month} {year}" + +#: src/modules/statistics/ui/weeklymonthly.py:534 +#, possible-python-brace-format +msgctxt "ui:weeklymonthly|menu:period|weekly|label" +msgid "{year} W{week}" +msgstr "{year} S{week}" + +#: src/modules/statistics/ui/weeklymonthly.py:538 +#, possible-python-brace-format +msgctxt "ui:weeklymonthly|menu:period|weekly|desc" +msgid "" +"{start_day} {start_month} {start_year} to {end_day} {end_month} {end_year}" +msgstr "" +"{start_day} {start_month} {start_year} até {end_day} {end_month} {end_year}" + +#: src/modules/statistics/ui/weeklymonthly.py:616 +msgctxt "ui:weeklymonthly|button:period|close|label" +msgid "Close Selector" +msgstr "Fechar Seletor" + +#: src/modules/statistics/ui/weeklymonthly.py:621 +msgctxt "ui:weeklymonthly|button:period|weekly|label" +msgid "Select Week" +msgstr "Selecionar Semana" + +#: src/modules/statistics/ui/weeklymonthly.py:626 +msgctxt "ui:weeklymonthly|button:period|monthly|label" +msgid "Select Month" +msgstr "Selecionar Mês" + +#: src/modules/statistics/ui/weeklymonthly.py:691 +msgctxt "ui:weeklymonthly|menu:period|weekly|placeholder" +msgid "Select a week to display" +msgstr "Selecione uma semana para mostrar" + +#: src/modules/statistics/ui/weeklymonthly.py:696 +msgctxt "ui:weeklymonthly|menu:period|monthly|placeholder" +msgid "Select a month to display" +msgstr "Selecione um mês para mostrar" + +#: src/modules/statistics/ui/weeklymonthly.py:718 +msgctxt "ui:WeeklyMonthly|button:global|resp:success" +msgid "" +"You will now see combined statistics from all your servers (where " +"applicable)! Press again to revert." +msgstr "" +"Você irá ver as estatísticas combinadas de todos os seus servidores (onde " +"for possível)! Pressione novamente para desfazer." + +#: src/modules/statistics/ui/weeklymonthly.py:731 +msgctxt "ui:WeeklyMonthly|button:global|mode:local" +msgid "Server Statistics" +msgstr "Estatísticas do Servidor" + +#: src/modules/statistics/ui/weeklymonthly.py:736 +msgctxt "ui:WeeklyMonthly|button:global|mode:global" +msgid "Global Statistics" +msgstr "Estatísticas Globais" + +#: src/modules/statistics/ui/profile.py:41 +msgctxt "modal:profile_editor|field:editor|label" +msgid "Profile Tags (One line per tag)" +msgstr "Etiquetas de Perfil (uma linha por etiqueta)" + +#: src/modules/statistics/ui/profile.py:45 +msgctxt "modal:profile_editor|field:editor|placeholder" +msgid "" +"Mathematician\n" +"Loves Cats" +msgstr "" +"Matematico\n" +"AmaGatos" + +#: src/modules/statistics/ui/profile.py:53 +msgctxt "modal:profile_editor|title" +msgid "Profile Tag Editor" +msgstr "Editor Etiquetas Perfil" + +#: src/modules/statistics/ui/profile.py:71 +#, possible-python-brace-format +msgctxt "modal:profile_editor|error:too_many_tags" +msgid "Too many tags! You can have at most `{limit}` profile tags." +msgstr "" +"Muitas etiquetas de perfil! Você pode ter no máximo ˋ{limit}ˋ etiquetas de " +"perfil." + +#: src/modules/statistics/ui/profile.py:92 +msgctxt "menu:stat_type|opt:voice|name" +msgid "Voice Statistics" +msgstr "Etatísticas em Canal de Voz" + +#: src/modules/statistics/ui/profile.py:97 +msgctxt "menu:stat_type|opt:text|name" +msgid "Text Statistics" +msgstr "Estatísticas em Conversas" + +#: src/modules/statistics/ui/profile.py:102 +msgctxt "menu:stat_type|opt:anki|name" +msgid "Anki Statistics" +msgstr "Estatísticas Anki" + +#: src/modules/statistics/ui/profile.py:190 +msgctxt "modal:profile_editor|resp:success" +msgid "Your profile has been updated!" +msgstr "Seu perfil foi atualizado!" + +#: src/modules/statistics/ui/profile.py:200 +msgctxt "ui:profile_card|button:edit|label" +msgid "Edit Profile Badges" +msgstr "Editar Distintivos Perfil" + +#: src/modules/statistics/ui/profile.py:219 +msgctxt "ui:profile_card|button:statistics|label:hide" +msgid "Hide Statistics" +msgstr "Ocultar Estatísticas" + +#: src/modules/statistics/ui/profile.py:224 +msgctxt "ui:profile_card|button:statistics|label:show" +msgid "Show Statistics" +msgstr "Mostrar Estatísticas" + +#: src/modules/statistics/ui/profile.py:253 +msgctxt "ui:Profile|button:global|resp:success" +msgid "" +"You will now see statistics from all you servers (where applicable)! Press " +"again to revert." +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 +msgctxt "ui:leaderboard|menu:stats|placeholder" +msgid "Select Activity Type" +msgstr "Selecione Tipo de Atividade" + +#: src/modules/statistics/ui/leaderboard.py:262 +msgctxt "ui:leaderboard|menu:stats|item:voice" +msgid "Voice Activity" +msgstr "Atividade em Canal de Voz" + +#: src/modules/statistics/ui/leaderboard.py:273 +msgctxt "ui:leaderboard|menu:stats|item:study" +msgid "Study Statistics" +msgstr "Estatísticas de Estudos" + +#: src/modules/statistics/ui/leaderboard.py:284 +msgctxt "ui:leaderboard|menu:stats|item:message" +msgid "Message Activity" +msgstr "Atividade em Conversas" + +#: src/modules/statistics/ui/leaderboard.py:295 +msgctxt "ui:leaderboard|menu;stats|item:anki" +msgid "Anki Cards Reviewed" +msgstr "Cartões Anki Revisados" + +#: src/modules/statistics/ui/leaderboard.py:349 +msgctxt "ui:leaderboard|button:season|label" +msgid "This Season" +msgstr "Neste Período" + +#: src/modules/statistics/ui/leaderboard.py:353 +msgctxt "ui:leaderboard|button:day|label" +msgid "Today" +msgstr "Hoje" + +#: src/modules/statistics/ui/leaderboard.py:357 +msgctxt "ui:leaderboard|button:week|label" +msgid "This Week" +msgstr "Esta Semana" + +#: src/modules/statistics/ui/leaderboard.py:361 +msgctxt "ui:leaderboard|button:month|label" +msgid "This Month" +msgstr "Este Mês" + +#: src/modules/statistics/ui/leaderboard.py:365 +msgctxt "ui:leaderboard|button:alltime|label" +msgid "All Time" +msgstr "Desde Sempre" + +#: src/modules/statistics/ui/leaderboard.py:369 +msgctxt "ui:leaderboard|button:jump|label" +msgid "Jump" +msgstr "Ir" + +#: src/modules/statistics/ui/leaderboard.py:384 +msgctxt "ui:leaderboard|button:jump|input:title" +msgid "Jump to page" +msgstr "Ir para a página" + +#: src/modules/statistics/ui/leaderboard.py:388 +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 +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 +msgctxt "ui:leaderboard|chunk_warning" +msgid "" +"**Note:** Could not retrieve member list from Discord, so some members may " +"be missing. Try again in a minute!" +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 +#, 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 +#, 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 +#, 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 +#, 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 +msgctxt "ui:leaderboard|message:empty|title" +msgid "Leaderboard Empty!" +msgstr "Lista de Classificação Vazia!" diff --git a/locales/pt_BR/LC_MESSAGES/stats-gui.po b/locales/pt_BR/LC_MESSAGES/stats-gui.po new file mode 100644 index 00000000..cd376218 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/stats-gui.po @@ -0,0 +1,144 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#. First column +#: src/gui/cards/stats.py:72 +msgctxt "skin:stats|header:col1" +msgid "STATISTICS" +msgstr "ESTATÍSTICAS" + +#: src/gui/cards/stats.py:75 +msgctxt "skin:stats|subheader:leaderboard" +msgid "LEADERBOARD POSITION" +msgstr "POSIÇÃO NA CLASSIFICAÇÃO" + +#: src/gui/cards/stats.py:79 +msgctxt "skin:stats|mode:study|subheader:study" +msgid "STUDY TIME" +msgstr "TEMPO ESTUDOS" + +#: src/gui/cards/stats.py:83 +msgctxt "skin:stats|mode:voice|subheader:study" +msgid "VOICE TIME" +msgstr "TEMPO EM CANAL DE VOZ" + +#: src/gui/cards/stats.py:87 +msgctxt "skin:stats|mode:text|subheader:study" +msgid "MESSAGES" +msgstr "MENSAGENS" + +#: src/gui/cards/stats.py:91 +msgctxt "skin:stats|mode:anki|subheader:study" +msgid "CARDS REVIEWED" +msgstr "CARTÕES REVISADOS" + +#: src/gui/cards/stats.py:102 +msgctxt "skin:stats|subheader:workouts" +msgid "WORKOUTS" +msgstr "EXERCÍCIOS" + +#: src/gui/cards/stats.py:118 +msgctxt "skin:stats|field:daily" +msgid "DAILY" +msgstr "DIÁRIO" + +#: src/gui/cards/stats.py:122 +msgctxt "skin:stats|field:weekly" +msgid "WEEKLY" +msgstr "SEMANAL" + +#: src/gui/cards/stats.py:126 +msgctxt "skin:stats|field:monthly" +msgid "MONTHLY" +msgstr "MENSAL" + +#: src/gui/cards/stats.py:130 +msgctxt "skin:stats|field:alltime" +msgid "ALL TIME" +msgstr "SEMPRE" + +#: src/gui/cards/stats.py:134 +msgctxt "skin:stats|field:time" +msgid "TIME" +msgstr "TEMPO" + +#: src/gui/cards/stats.py:138 +msgctxt "skin:stats|field:anki" +msgid "ANKI: COMING SOON" +msgstr "ANKI: EM BREVE" + +#: src/gui/cards/stats.py:155 +msgctxt "skin:stats|mode:study|header:col2" +msgid "STUDY STREAK" +msgstr "ETAPA DE ESTUDOS" + +#: src/gui/cards/stats.py:159 +msgctxt "skin:stats|mode:voice|header:col2" +msgid "VOICE STREAK" +msgstr "SEQUENCIAS EM CANAL DE VOZ" + +#: src/gui/cards/stats.py:163 +msgctxt "skin:stats|mode:text|header:col2" +msgid "ACTIVITY STREAK" +msgstr "ETAPA DA ATIVIDADE" + +#: src/gui/cards/stats.py:167 +msgctxt "skin:stats|mode:anki|header:col2" +msgid "ANKI REVIEW STREAK" +msgstr "ETAPA DE REVISÃO ANKI" + +#: src/gui/cards/stats.py:180 +#, possible-python-brace-format +msgctxt "skin:stats|mode:study|field:col2_summary" +msgid "{amount} HRS" +msgstr "{amount} HRS" + +#: src/gui/cards/stats.py:184 +#, possible-python-brace-format +msgctxt "skin:stats|mode:voice|field:col2_summary" +msgid "{amount} HRS" +msgstr "{amount} HRS" + +#: src/gui/cards/stats.py:188 +#, possible-python-brace-format +msgctxt "skin:stats|mode:text|field:col2_summary" +msgid "{amount} XP" +msgstr "{amount} XP" + +#: src/gui/cards/stats.py:192 +#, possible-python-brace-format +msgctxt "skin:stats|mode:anki|field:col2_summary" +msgid "{amount} CARDS" +msgstr "{amount} CARTÕES" + +#: src/gui/cards/stats.py:223 +msgctxt "skin:stats|cal|weekdays" +msgid "S,M,T,W,T,F,S" +msgstr "D,S,T,Q,Q,S,S" + +#: src/gui/cards/stats.py:227 +msgctxt "skin:stats|cal|months" +msgid "" +"JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER" +msgstr "" +"JANEIRO,FEVEREIRO,MARÇO,ABRIL,MAIO,JUNHO,JULHO,AGOSTO,SETEMBRO,OUTUBRO,NOVEMBRO,DEZEMBRO" diff --git a/locales/pt_BR/LC_MESSAGES/sysadmin.po b/locales/pt_BR/LC_MESSAGES/sysadmin.po new file mode 100644 index 00000000..c68d7bc4 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/sysadmin.po @@ -0,0 +1,207 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Aline Souki, 2023 +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/sysadmin/presence.py:116 +msgctxt "botset:presence_status" +msgid "online_status" +msgstr "online_status" + +#: src/modules/sysadmin/presence.py:117 +msgctxt "botset:presence_status|desc" +msgid "Bot status indicator" +msgstr "Indicador de sitação do bot " + +#: src/modules/sysadmin/presence.py:120 +msgctxt "botset:presence_status|long_desc" +msgid "Whether the bot account displays as online, idle, dnd, or offline." +msgstr "" +"Se o usuário do bot é mostrado como online, ausente, não perturbe ou " +"offline. " + +#: src/modules/sysadmin/presence.py:124 +msgctxt "botset:presence_status|accepts" +msgid "Online/Idle/Dnd/Offline" +msgstr "Online/Inativa/Não Perturbe/Offline" + +#: src/modules/sysadmin/presence.py:133 +msgctxt "botset:presence_status|output:online" +msgid "**Online**" +msgstr "**Online**" + +#: src/modules/sysadmin/presence.py:134 +msgctxt "botset:presence_status|output:idle" +msgid "**Idle**" +msgstr "**Ausente**" + +#: src/modules/sysadmin/presence.py:135 +msgctxt "botset:presence_status|output:dnd" +msgid "**Do Not Disturb**" +msgstr "**Ocupado**" + +#: src/modules/sysadmin/presence.py:136 +msgctxt "botset:presence_status|output:offline" +msgid "**Offline**" +msgstr "**Offline**" + +#: src/modules/sysadmin/presence.py:139 +msgctxt "botset:presence_status|input_format:online" +msgid "Online" +msgstr "Online" + +#: src/modules/sysadmin/presence.py:140 +msgctxt "botset:presence_status|input_format:idle" +msgid "Idle" +msgstr "Ausente" + +#: src/modules/sysadmin/presence.py:141 +msgctxt "botset:presence_status|input_format:dnd" +msgid "DND" +msgstr "Não Perturbe" + +#: src/modules/sysadmin/presence.py:142 +msgctxt "botset:presence_status|input_format:offline" +msgid "Offline" +msgstr "Offline" + +#: src/modules/sysadmin/presence.py:145 +msgctxt "botset:presence_status|input_pattern:online" +msgid "on|online" +msgstr "on|online" + +#: src/modules/sysadmin/presence.py:146 +msgctxt "botset:presence_status|input_pattern:idle" +msgid "idle" +msgstr "ausente" + +#: src/modules/sysadmin/presence.py:147 +msgctxt "botset:presence_status|input_pattern:dnd" +msgid "do not disturb|dnd" +msgstr "não perturbe|np" + +#: src/modules/sysadmin/presence.py:148 +msgctxt "botset:presence_status|input_pattern:offline" +msgid "off|offline|invisible" +msgstr "off|offline|invisível" + +#: src/modules/sysadmin/presence.py:155 +msgctxt "botset:presence_type" +msgid "activity_type" +msgstr "tipo_de_atividade" + +#: src/modules/sysadmin/presence.py:156 +msgctxt "botset:presence_type|desc" +msgid "Type of presence activity" +msgstr "Tipo de atividade atual" + +#: src/modules/sysadmin/presence.py:159 +msgctxt "botset:presence_type|long_desc" +msgid "" +"Whether the bot activity is shown as 'Listening', 'Playing', or 'Watching'." +msgstr "" +"Se a atividade do bot é mostrada como 'Ouvindo', 'Jogando' ou 'Assistindo'." + +#: src/modules/sysadmin/presence.py:163 +msgctxt "botset:presence_type|accepts" +msgid "Listening/Playing/Watching/Streaming" +msgstr "Ouvindo/Jogando/Assistindo/Transmitindo" + +#: src/modules/sysadmin/presence.py:172 +msgctxt "botset:presence_type|output:watching" +msgid "**Watching**" +msgstr "**Assistindo**" + +#: src/modules/sysadmin/presence.py:173 +msgctxt "botset:presence_type|output:listening" +msgid "**Listening**" +msgstr "**Ouvindo**" + +#: src/modules/sysadmin/presence.py:174 +msgctxt "botset:presence_type|output:playing" +msgid "**Playing**" +msgstr "**Jogando**" + +#: src/modules/sysadmin/presence.py:175 +msgctxt "botset:presence_type|output:streaming" +msgid "**Streaming**" +msgstr "**Transmitindo**" + +#: src/modules/sysadmin/presence.py:178 +msgctxt "botset:presence_type|input_format:watching" +msgid "Watching" +msgstr "Assistindo" + +#: src/modules/sysadmin/presence.py:179 +msgctxt "botset:presence_type|input_format:listening" +msgid "Listening" +msgstr "Ouvindo" + +#: src/modules/sysadmin/presence.py:180 +msgctxt "botset:presence_type|input_format:playing" +msgid "Playing" +msgstr "Jogando" + +#: src/modules/sysadmin/presence.py:181 +msgctxt "botset:presence_type|input_format:streaming" +msgid "Streaming" +msgstr "Transmitindo" + +#: src/modules/sysadmin/presence.py:184 +msgctxt "botset:presence_type|input_pattern:watching" +msgid "watching" +msgstr "assistindo" + +#: src/modules/sysadmin/presence.py:185 +msgctxt "botset:presence_type|input_pattern:listening" +msgid "listening" +msgstr "ouvindo" + +#: src/modules/sysadmin/presence.py:186 +msgctxt "botset:presence_type|input_pattern:playing" +msgid "playing" +msgstr "jogando" + +#: src/modules/sysadmin/presence.py:187 +msgctxt "botset:presence_type|input_pattern:streaming" +msgid "streaming" +msgstr "transmitindo" + +#: src/modules/sysadmin/presence.py:194 +msgctxt "botset:presence_name" +msgid "activity_name" +msgstr "nome_da_atividade" + +#: src/modules/sysadmin/presence.py:195 +msgctxt "botset:presence_name|desc" +msgid "Name of the presence activity" +msgstr "Nome da atividade atual" + +#: src/modules/sysadmin/presence.py:196 +msgctxt "botset:presence_name|long_desc" +msgid "Presence activity name." +msgstr "Nome da atividade atual." + +#: src/modules/sysadmin/presence.py:197 +msgctxt "botset:presence_name|accepts" +msgid "The name of the activity to show." +msgstr "Nome da atividade a mostrar." diff --git a/locales/pt_BR/LC_MESSAGES/tasklist.po b/locales/pt_BR/LC_MESSAGES/tasklist.po new file mode 100644 index 00000000..8c37ac4c --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/tasklist.po @@ -0,0 +1,888 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/tasklist/cog.py:35 +msgctxt "argtype:Before|opt:HOUR" +msgid "The last hour" +msgstr "Última hora" + +#: src/modules/tasklist/cog.py:36 +msgctxt "argtype:Before|opt:HALFDAY" +msgid "The last 12 hours" +msgstr "Nas últimas 12 horas" + +#: src/modules/tasklist/cog.py:37 +msgctxt "argtype:Before|opt:DAY" +msgid "The last 24 hours" +msgstr "Nas últimas 24 horas" + +#: src/modules/tasklist/cog.py:38 +msgctxt "argtype:Before|opt:TODAY" +msgid "Today" +msgstr "Hoje" + +#: src/modules/tasklist/cog.py:39 +msgctxt "argtype:Before|opt:YESTERDAY" +msgid "Yesterday" +msgstr "Ontem" + +#: src/modules/tasklist/cog.py:40 +msgctxt "argtype:Before|opt:Monday" +msgid "This Monday" +msgstr "Esta Segunda" + +#: src/modules/tasklist/cog.py:41 +msgctxt "argtype:Before|opt:THISMONTH" +msgid "This Month" +msgstr "Este Mês" + +#: src/modules/tasklist/cog.py:205 +msgctxt "summon_tasklist|error:insufficient_perms|title" +msgid "Uh-Oh, I cannot do that here!" +msgstr "Oh-oh, eu não posso fazer isto!" + +#: src/modules/tasklist/cog.py:209 +msgctxt "summon_tasklist|error:insufficient_perms|desc" +msgid "" +"This channel is configured as a tasklist channel, but I lack the " +"`EMBED_LINKS` or `SEND_MESSAGES` permission here! If you believe this is " +"unintentional, please contact a server administrator." +msgstr "" +"Este canal é configurado como o Canal da Lista de Tarefas, mas me falta " +"permissão para ˋINSERIR_LINKSˋ ou ˋENVIAR_MENSAGENSˋ aqui! Se você acredita " +"que é um erro não intencional, por favor, contate a Administração do " +"servidor." + +#: src/modules/tasklist/cog.py:258 +msgctxt "cmd:tasklist" +msgid "tasklist" +msgstr "lista_de_tarefas" + +#: src/modules/tasklist/cog.py:261 +msgctxt "cmd:tasklist|desc" +msgid "Open your tasklist." +msgstr "Abra sua lista de tarefas." + +#: src/modules/tasklist/cog.py:270 +msgctxt "group:tasks" +msgid "tasks" +msgstr "tarefas" + +#: src/modules/tasklist/cog.py:271 +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 +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 +msgctxt "argtype:taskid|match:all" +msgid "All tasks" +msgstr "Todas as tarefas" + +#: src/modules/tasklist/cog.py:348 +#, possible-python-brace-format +msgctxt "argtype:taskid|error:parse_multi" +msgid "(Warning: {error})" +msgstr "(Atenção: {error})" + +#: src/modules/tasklist/cog.py:382 +#, 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 +msgctxt "cmd:tasks_new" +msgid "new" +msgstr "nova" + +#: src/modules/tasklist/cog.py:405 +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 +msgctxt "cmd:tasks_new|param:content" +msgid "task" +msgstr "tarefa" + +#: src/modules/tasklist/cog.py:410 +msgctxt "cmd:tasks_new|param:parent" +msgid "parent" +msgstr "tarefa-mãe" + +#: src/modules/tasklist/cog.py:413 +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 +msgctxt "cmd:tasks_new|param:parent" +msgid "Parent of this task." +msgstr "A tarefa-mãe desta tarefa." + +#: src/modules/tasklist/cog.py:434 +#, possible-python-brace-format +msgctxt "cmd:tasks_new|error:parse_parent" +msgid "Could not find parent task number `{input}` in your tasklist." +msgstr "" +"Não consegui encontrar o número ˋ{input}ˋ da tarefa-mãe em sua lista de " +"tarefas. " + +#: src/modules/tasklist/cog.py:449 +#, 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 +msgctxt "cmd:tasks_upload" +msgid "upload" +msgstr "enviar" + +#: src/modules/tasklist/cog.py:464 +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 +msgctxt "cmd:tasks_upload|param:tasklist" +msgid "tasklist" +msgstr "lista_de_tarefas" + +#: src/modules/tasklist/cog.py:469 +msgctxt "cmd:tasks_upload|param:append" +msgid "append" +msgstr "Acrescentar" + +#: src/modules/tasklist/cog.py:474 +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." + +#: src/modules/tasklist/cog.py:478 +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. " + +#: src/modules/tasklist/cog.py:494 +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 +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 +msgctxt "cmd:tasks_upload|error:too_many_lines" +msgid "" +"Too many tasks! Refusing to process a tasklist with more than `1000` lines." +msgstr "" +"Muitas tarefas! Recusa ao tentar processar uma lista de tarefas com mais de " +"1000 linhas." + +#: src/modules/tasklist/cog.py:519 +msgctxt "cmd:tasks_upload|error:decoding" +msgid "" +"Could not decode attached tasklist. Please make sure it is saved with the " +"`UTF-8` encoding." +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 +#, 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 +msgctxt "cmd:tasks_edit" +msgid "edit" +msgstr "editar" + +#: src/modules/tasklist/cog.py:581 +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 +msgctxt "cmd:tasks_edit|param:taskstr" +msgid "task" +msgstr "tarefa" + +#: src/modules/tasklist/cog.py:586 +msgctxt "cmd:tasks_edit|param:new_content" +msgid "new_task" +msgstr "nova_tarefa" + +#: src/modules/tasklist/cog.py:587 +msgctxt "cmd:tasks_edit|param:new_parent" +msgid "new_parent" +msgstr "nova_tarefamae" + +#: src/modules/tasklist/cog.py:590 +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 +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 +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 +#, 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 +#, 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 +#, 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 +msgctxt "ui:tasklist_single_editor|title" +msgid "Edit Task" +msgstr "Editar Tarefa" + +#: src/modules/tasklist/cog.py:683 +msgctxt "cmd:tasks_clear" +msgid "clear" +msgstr "apagar" + +#: src/modules/tasklist/cog.py:684 +msgctxt "cmd:tasks_clear|desc" +msgid "Clear your tasklist." +msgstr "Apagar sua lista de tarefas." + +#: src/modules/tasklist/cog.py:694 +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 +msgctxt "cmd:tasks_remove" +msgid "remove" +msgstr "remover" + +#: src/modules/tasklist/cog.py:705 +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)." + +#: src/modules/tasklist/cog.py:709 +msgctxt "cmd:tasks_remove|param:taskidstr" +msgid "tasks" +msgstr "tarefas" + +#: src/modules/tasklist/cog.py:710 +msgctxt "cmd:tasks_remove|param:created_before" +msgid "created_before" +msgstr "criadas_antes" + +#: src/modules/tasklist/cog.py:711 +msgctxt "cmd:tasks_remove|param:updated_before" +msgid "updated_before" +msgstr "atualizadas_antes" + +#: src/modules/tasklist/cog.py:712 +msgctxt "cmd:tasks_remove|param:completed" +msgid "completed" +msgstr "concluídas" + +#: src/modules/tasklist/cog.py:713 +msgctxt "cmd:tasks_remove|param:cascade" +msgid "cascade" +msgstr "cascata" + +#: src/modules/tasklist/cog.py:718 +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." + +#: src/modules/tasklist/cog.py:722 +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 +msgctxt "cmd:tasks_remove|param:updated_before|desc" +msgid "" +"Only deleted tasks update (i.e. completed or edited) before the selected " +"time." +msgstr "" +"Somente apague tarefas atualizadas (completas ou editadas) antes da data " +"selecionada." + +#: src/modules/tasklist/cog.py:730 +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 +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 +#, 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 +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 +#, possible-python-brace-format +msgctxt "cmd:tasks_remove|resp:success" +msgid "{tick} Deleted task `{label}`" +msgid_plural "{tick} Deleted `{count}` tasks from your tasklist." +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 +msgctxt "cmd:tasks_tick" +msgid "tick" +msgstr "ticar" + +#: src/modules/tasklist/cog.py:822 +msgctxt "cmd:tasks_tick|desc" +msgid "Mark the given tasks as completed." +msgstr "Marca as tarefas como completadas." + +#: src/modules/tasklist/cog.py:825 +msgctxt "cmd:tasks_tick|param:taskidstr" +msgid "tasks" +msgstr "tarefas" + +#: src/modules/tasklist/cog.py:826 +msgctxt "cmd:tasks_tick|param:cascade" +msgid "cascade" +msgstr "cascata" + +#: src/modules/tasklist/cog.py:831 +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." + +#: src/modules/tasklist/cog.py:835 +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 +#, possible-python-brace-format +msgctxt "cmd:tasks_tick|resp:success" +msgid "{tick} Marked `{label}` as complete." +msgid_plural "{tick} Marked `{count}` tasks as complete." +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 +msgctxt "cmd:tasks_untick" +msgid "untick" +msgstr "des-ticar" + +#: src/modules/tasklist/cog.py:898 +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 +msgctxt "cmd:tasks_untick|param:taskidstr" +msgid "taskids" +msgstr "identificador da tarefa" + +#: src/modules/tasklist/cog.py:902 +msgctxt "cmd:tasks_untick|param:cascade" +msgid "cascade" +msgstr "cascata" + +#: src/modules/tasklist/cog.py:907 +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." + +#: src/modules/tasklist/cog.py:911 +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 +#, possible-python-brace-format +msgctxt "cmd:tasks_untick|resp:success" +msgid "{tick} Marked `{label}` as incomplete." +msgid_plural "{tick} Marked `{count}` tasks as incomplete." +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 +msgctxt "cmd:configure_tasklist" +msgid "tasklist" +msgstr "lista_de_tarefas" + +#: src/modules/tasklist/cog.py:977 +msgctxt "cmd:configure_tasklist|desc" +msgid "Tasklist configuration panel" +msgstr "Painel de Configuração da Lista de Tarefas" + +#: src/modules/tasklist/cog.py:980 +msgctxt "cmd:configure_tasklist|param:reward" +msgid "reward" +msgstr "recompensa" + +#: src/modules/tasklist/cog.py:981 +msgctxt "cmd:configure_tasklist|param:reward_limit" +msgid "reward_limit" +msgstr "limite_de_recompensas" + +#: src/modules/tasklist/cog.py:1017 +#, possible-python-brace-format +msgctxt "cmd:configure_tasklist|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{amount}** for each task they complete " +"up to a maximum of `{limit}` tasks per 24h." +msgstr "" +"Os membros serão recompensados com {coin}**{amount}** por cada tarefa " +"completada por eles, até um máximo de ˋ{limit}ˋ tarefas por 24h." + +#: src/modules/tasklist/tasklist.py:267 +#, possible-python-brace-format +msgctxt "tasklist|parse:multi-range|error:parents_match" +msgid "Parents don't match in range `{range}`" +msgstr "Tarefas-mãe não coincidem no intervalo ˋ{range}ˋ" + +#: src/modules/tasklist/tasklist.py:289 +#, possible-python-brace-format +msgctxt "tasklist|parse:multi-range|error:parse" +msgid "Could not parse `{range}` as a task number or range." +msgstr "Não pude analisar ˋ{range}ˋ como um número ou intervalo." + +#: src/modules/tasklist/tasklist.py:320 +#, possible-python-brace-format +msgctxt "modal:tasklist_bulk_editor|error:parse_task" +msgid "" +"Malformed taskline!\n" +"`{input}`" +msgstr "" +"Linha de tarefas mal formatada.\n" +"ˋ{input}ˋ" + +#: src/modules/tasklist/tasklist.py:332 +msgctxt "modal:tasklist_bulk_editor|error:task_too_long" +msgid "Please keep your tasks under 100 characters!" +msgstr "Por favor, mantenha suas tarefas com menos de 100 caracteres!" + +#: src/modules/tasklist/ui.py:39 +msgctxt "ui:tasklist_caller|button:tasklist|label" +msgid "Open Tasklist" +msgstr "Abrir Lista de Tarefas" + +#: src/modules/tasklist/ui.py:57 +msgctxt "modal:tasklist_single_editor|field:task|label" +msgid "Task content" +msgstr "Conteúdo da tarefa" + +#: src/modules/tasklist/ui.py:69 +msgctxt "modal:tasklist_single_editor|field:parent|label" +msgid "Parent Task" +msgstr "Tarefa-Mãe" + +#: src/modules/tasklist/ui.py:73 +msgctxt "modal:tasklist_single_editor|field:parent|placeholder" +msgid "Enter a task number, e.g. 2.1" +msgstr "Digite o número da tarefa, ex 2.1" + +#: src/modules/tasklist/ui.py:104 +msgctxt "modal:tasklist_bulk_editor|field:tasklist|label" +msgid "Tasklist" +msgstr "Lista de Tarefas" + +#: src/modules/tasklist/ui.py:108 +msgctxt "modal:tasklist_bulk_editor|field:tasklist|placeholder" +msgid "" +"- [ ] This is task 1, unfinished.\n" +"- [x] This is task 2, finished.\n" +" - [ ] This is subtask 2.1." +msgstr "" +"- [ ] Esta é a tarefa 1.0, não finalizada.\n" +"- [x] Esta é a tarefa 2.0, finalizada.\n" +" - [ ] Esta é a sub-tarefa 2.1." + +#: src/modules/tasklist/ui.py:130 +msgctxt "modal:tasklist_bulk_editor" +msgid "Tasklist Editor" +msgstr "Editor da Lista de Tarefas" + +#: src/modules/tasklist/ui.py:188 +msgctxt "ui:tasklist|menu:main|mode:toggle|placeholder" +msgid "Select to Toggle" +msgstr "Selecione para Alternar" + +#: src/modules/tasklist/ui.py:192 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:toggle|placeholder" +msgid "Toggle from {label}.*" +msgstr "Alternar de {label}.*" + +#: src/modules/tasklist/ui.py:198 +msgctxt "ui:tasklist|menu:main|mode:edit|placeholder" +msgid "Select to Edit" +msgstr "Selecione para Editar" + +#: src/modules/tasklist/ui.py:202 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:edit|placeholder" +msgid "Edit from {label}.*" +msgstr "Editar de {label}.*" + +#: src/modules/tasklist/ui.py:208 +msgctxt "ui:tasklist|menu:main|mode:delete|placeholder" +msgid "Select to Delete" +msgstr "Selecione para Deletar" + +#: src/modules/tasklist/ui.py:212 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:delete|placeholder" +msgid "Delete from {label}.*" +msgstr "Apagar de {label}.*" + +#: src/modules/tasklist/ui.py:409 +#, possible-python-brace-format +msgctxt "ui:tasklist_single_editor|field:parent|error:parse_id" +msgid "" +"Could not find the given parent task number `{input}` in your tasklist." +msgstr "" +"Não pude encontrar o número ˋ{input}ˋ da tarefa-mãe informado na sua lista " +"de tarefas." + +#: src/modules/tasklist/ui.py:423 +#, possible-python-brace-format +msgctxt "ui:tasklist_single_editor|field:parent|error:multiple_matching" +msgid "" +"Multiple tasks matching given parent task `{input}`. Please use a task " +"number instead!" +msgstr "" +"Multiplas tarefas coincidem com a tarefa-mãe ˋ{input}ˋ. Por favor, use o " +"número de tarefa." + +#: src/modules/tasklist/ui.py:430 +#, possible-python-brace-format +msgctxt "ui:tasklist_single_editor|field:parent|error:no_matching" +msgid "No tasks matching given parent task `{input}`." +msgstr "Não há tarefas coincidindo com a Tarefa-Mãe ˋ{input}ˋ." + +#: src/modules/tasklist/ui.py:501 +msgctxt "ui:tasklist|menu:edit|modal:title" +msgid "Edit task" +msgstr "Editar tarefa" + +#: src/modules/tasklist/ui.py:596 +msgctxt "ui:tasklist_single_editor|title" +msgid "Add task" +msgstr "Adicionar Tarefa" + +#: src/modules/tasklist/ui.py:629 +msgctxt "ui:tasklist|button:edit_mode|label" +msgid "Edit" +msgstr "Editar" + +#: src/modules/tasklist/ui.py:645 +msgctxt "ui:tasklist|button:delete_mode|label" +msgid "Delete" +msgstr "Deletar" + +#: src/modules/tasklist/ui.py:661 +msgctxt "ui:tasklist|button:toggle_mode|label" +msgid "Toggle" +msgstr "Alternar" + +#: src/modules/tasklist/ui.py:678 +msgctxt "ui:tasklist|button:edit_bulk|error:too_long" +msgid "" +"Your tasklist is too long to be edited in a Discord text input! Use the save" +" button and {cmds[tasks upload]} instead." +msgstr "" +"Sua lista de tarefas é muito longa para ser editada por uma entrada de texto" +" do Discord! Use o botão salvar e {cmds[tasks upload]} pra isso." + +#: src/modules/tasklist/ui.py:692 +msgctxt "ui:tasklist|button:edit_bulk|label" +msgid "Bulk Edit" +msgstr "Edição em Escala" + +#: src/modules/tasklist/ui.py:705 +msgctxt "ui:tasklist|button:clear|label" +msgid "Clear Tasklist" +msgstr "Apagar Lista de Tarefas" + +#: src/modules/tasklist/ui.py:724 +#, possible-python-brace-format +msgctxt "ui:tasklist|button:save|dm:contents" +msgid "Your tasklist as of {now} is attached. Click here to jump back: {jump}" +msgstr "" +"Sua lista de tarefas como em {now}, foi anexada. Clique aqui para retornar: " +"{jump}" + +#: src/modules/tasklist/ui.py:737 +msgctxt "ui:tasklist|button:save|error:dms" +msgid "Could not DM you! Do you have me blocked? Tasklist attached below." +msgstr "" +"Não pude enviar mensagem direta a você! Você me bloqueou? Anexei a lista de " +"tarefas aqui abaixo." + +#: src/modules/tasklist/ui.py:782 +msgctxt "ui:tasklist|error:wrong_user" +msgid "This is not your tasklist!" +msgstr "Esta não é sua lista de tarefas!" + +#: src/modules/tasklist/ui.py:824 +#, possible-python-brace-format +msgctxt "ui:tasklist|embed|author" +msgid "{name}'s tasklist ({completed}/{total} complete)" +msgstr "Lista de Tarefas {name}ˋs ({completed}/{total} completos) " + +#: src/modules/tasklist/ui.py:846 +msgctxt "ui:tasklist|embed|description" +msgid "" +"**You have no tasks on your tasklist!**\n" +"Add a task with {cmds[tasks new]}, or by pressing the {new_button} button below." +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 +msgctxt "guildset:task_reward" +msgid "task_reward" +msgstr "recompensa_tarefas" + +#: src/modules/tasklist/settings.py:36 +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 +msgctxt "guildset:task_reward|long_desc" +msgid "" +"The number of coins members will be rewarded each time they complete a task " +"on their tasklist." +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 +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 +#, possible-python-brace-format +msgctxt "guildset:task_reward|response" +msgid "" +"Members will now be rewarded {coin}**{amount}** for each completed task." +msgstr "" +"Os membros serão recompensados {coin}**{amount}** por cada tarefa " +"completada." + +#: src/modules/tasklist/settings.py:65 +#, 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 +msgctxt "guildset:task_reward_limit" +msgid "task_reward_limit" +msgstr "Limite_recompensa_tarefas" + +#: src/modules/tasklist/settings.py:76 +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 +msgctxt "guildset:task_reward_limit|long_desc" +msgid "" +"Maximum number of times in each 24h period that members will be rewarded for" +" completing a task." +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 +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 +#, possible-python-brace-format +msgctxt "guildset:task_reward_limit|response" +msgid "" +"Members will now be rewarded for task completion at most **{amount}** times " +"per 24h." +msgstr "" +"Os membros irão ser recompensados por tarefas completadas até **{amount}** " +"vezes a cada 24h." + +#: src/modules/tasklist/settings.py:106 +#, 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 +msgctxt "guildset:tasklist_channels" +msgid "tasklist_channels" +msgstr "canal_lista_de_tarefas" + +#: src/modules/tasklist/settings.py:116 +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 +#, possible-python-brace-format +msgctxt "guildset:tasklist_channels|long_desc" +msgid "" +"A member's tasklist (from {cmds[tasklist]}) is usually only visible to the " +"member themselves. If set, tasklists opened in `tasklist_channels` will be " +"visible to all members, and the interface will have a much longer expiry " +"period. If a category is provided, this will apply to all channels under the" +" category." +msgstr "" +"O painel da Lista de Tarefas (de {cmds[tasklist]}) é normalmente mostrado " +"somente ao membro. Se configurada esta opção, no ˋcanal_lista_de_tarefasˋ " +"será publicada sua lista visível a todos os outros membros, e o tempo de " +"interação com o painel será muito mais longo também. Se for informada uma " +"categoria de canais, todos os canais dentro desta categoria estarão com " +"estas características." + +#: src/modules/tasklist/settings.py:127 +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 +#, possible-python-brace-format +msgctxt "guildset:tasklist_channels|set_response|set" +msgid "" +"Tasklists will now be publicly displayed in the following channels: " +"{channels}" +msgstr "" +"A lista de tarefas, estará agora, visível publicamente nos seguintes canais:" +" {channels}" + +#: src/modules/tasklist/settings.py:149 +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 +msgctxt "guildset:tasklist_channels|set_using" +msgid "Channel selector below." +msgstr "Selecione canal abaixo." + +#: src/modules/tasklist/settings.py:289 +msgctxt "ui:tasklist_config|button:close|label" +msgid "Close" +msgstr "Fechar" + +#: src/modules/tasklist/settings.py:290 +msgctxt "ui:tasklist_config|button:reset|label" +msgid "Reset" +msgstr "Resetar" + +#: src/modules/tasklist/settings.py:293 +msgctxt "ui:tasklist_config|menu:channels|placeholder" +msgid "Set Tasklist Channels" +msgstr "Configurar Canal da Lista de Tarefas" + +#: src/modules/tasklist/settings.py:311 +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 +msgctxt "dash:tasklist|name" +msgid "Tasklist Configuration ({commands[configure tasklist]})" +msgstr "Configuração da Lista de Tarefas ({commands[configure tasklist]})" + +#: src/modules/tasklist/settings.py:323 +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/test.po b/locales/pt_BR/LC_MESSAGES/test.po new file mode 100644 index 00000000..ff41316b --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/test.po @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/test/test.py:59 src/modules/test/test.py:66 +msgid "test" +msgstr "teste" + +#: src/modules/test/test.py:67 +msgid "Test" +msgstr "Teste" + +#: src/modules/test/test.py:74 +msgid "editor" +msgstr "editor" + +#: src/modules/test/test.py:75 +msgid "Test message editor" +msgstr "Teste do editor de mensagem" + +#: src/modules/test/test.py:101 +msgid "test_ephemeral" +msgstr "teste_provisório" + +#: src/modules/test/test.py:102 +msgid "Test ephemeral delete and edit" +msgstr "Apagar e editar Teste Provisório" + +#: src/modules/test/test.py:114 +msgid "colours" +msgstr "cores" + +#: src/modules/test/test.py:115 +msgid "Test Ansi colours" +msgstr "Teste cores Ansi" + +#: src/modules/test/test.py:135 +msgid "fail" +msgstr "falha" + +#: src/modules/test/test.py:143 +msgid "failui" +msgstr "falha" + +#: src/modules/test/test.py:150 +msgid "pager" +msgstr "pager" + +#: src/modules/test/test.py:178 +msgid "pager2" +msgstr "pager2" + +#: src/modules/test/test.py:209 +msgid "prettyusers" +msgstr "usuáriosfofos" + +#: src/modules/test/test.py:259 +msgid "dmview" +msgstr "ver_md" + +#: src/modules/test/test.py:270 +msgid "multiview" +msgstr "multivisao" + +#: src/modules/test/test.py:287 +msgid "stats-card" +msgstr "stats-cartões" diff --git a/locales/pt_BR/LC_MESSAGES/text-tracker.po b/locales/pt_BR/LC_MESSAGES/text-tracker.po new file mode 100644 index 00000000..992c667f --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/text-tracker.po @@ -0,0 +1,269 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "cmd:configure_message_exp" +msgid "message_exp" +msgstr "exp_message" + +#: src/tracking/text/cog.py:257 +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 +msgctxt "cmd:leo_configure_exp_rates" +msgid "experience_rates" +msgstr "taxas_experiência" + +#: src/tracking/text/cog.py:323 +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 +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 +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 +msgctxt "dash:text_tracking|title" +msgid "Message XP configuration ({commands[configure message_exp]})" +msgstr "Configuração de EXP em Mensagens ({commands[configure message_exp]})" + +#: src/tracking/text/ui.py:93 +msgctxt "dash:text_tracking|dropdown|placeholder" +msgid "Message XP Panel" +msgstr "Painel de EXP Mensagens" + +#: src/tracking/text/settings.py:33 +msgctxt "guildset:xp_per_period" +msgid "xp_per_5min" +msgstr "exp_por_5min" + +#: src/tracking/text/settings.py:36 +msgctxt "guildset:xp_per_period|desc" +msgid "" +"How much XP members will be given every 5 minute period they are active." +msgstr "" +"Quantidade de EXP que os membros receberão a cada 5 min que eles estiverem " +"ativos." + +#: src/tracking/text/settings.py:40 +msgctxt "guildset:xp_per_period|long_desc" +msgid "" +"Amount of message XP to give members for each 5 minute period in which they " +"are active (send a message). Note that this XP is only given *once* per " +"period." +msgstr "" +"Quantidade de EXP em mensagens dado para cada 5 minutos em que os membros " +"estiverem ativos (enviando mensagem). Observe que EXP somente é dada *uma " +"vez* cada período. " + +#: src/tracking/text/settings.py:45 +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 +#, possible-python-brace-format +msgctxt "guildset:xp_per_period|set_response" +msgid "" +"For every **5** minutes they are active (i.e. in which they send a message)," +" members will now be given **{amount}** XP." +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 +msgctxt "guildset:word_xp" +msgid "xp_per_100words" +msgstr "exp_por_100palavras" + +#: src/tracking/text/settings.py:68 +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 +msgctxt "guildset:word_xp|long_desc" +msgid "" +"Amount of message XP to be given (additionally to the XP per period) for " +"each hundred words. Useful for rewarding communication." +msgstr "" +"Quantidade de EXP em mensagem a ser dado (adicionalmente ao EXP por período)" +" por cada cem palavras. Útil para incentivar a interação dos membros através" +" de recompensas. " + +#: src/tracking/text/settings.py:77 +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 +#, possible-python-brace-format +msgctxt "guildset:word_xp|set_response" +msgid "" +"For every **100** words they send, members will now be rewarded an " +"additional **{amount}** XP." +msgstr "" +"Para cada **100** palavras enviadas, os membros agora receberão um adicional" +" de **{amount}** EXP." + +#: src/tracking/text/settings.py:95 +msgctxt "guildset:untracked_text_channels" +msgid "untracked_text_channels" +msgstr "canais_texto_não_contabilizados" + +#: src/tracking/text/settings.py:98 +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 +msgctxt "guildset:untracked_text_channels|long_desc" +msgid "" +"Messages sent in these channels will not count towards a member's message " +"XP. If a category is selected, then all channels under the category will " +"also be untracked." +msgstr "" +"Mensagens enviadas nestes canais não irão contar para acumular EXP em " +"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 +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 +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 +#, possible-python-brace-format +msgctxt "guildset:untracked_text_channels|set_response|set" +msgid "" +"Messages in or under the following channels will be ignored: {channels}" +msgstr "" +"Mensagens nestes seguintes canais, serão ignoradas da contagem: {channels} " + +#: src/tracking/text/settings.py:133 +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 +msgctxt "guildset:untracked_text_channels|set_using" +msgid "Channel selector below" +msgstr "Seletor de canais abaixo" + +#: src/tracking/text/settings.py:173 +msgctxt "botset:xp_per_period" +msgid "xp_per_5min" +msgstr "exp_por_5min" + +#: src/tracking/text/settings.py:176 +msgctxt "botset:xp_per_period|desc" +msgid "" +"How much global XP members will be given every 5 minute period they are " +"active." +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 +msgctxt "botset:xp_per_period|long_desc" +msgid "" +"Amount of global message XP to give members for each 5 minute period in " +"which they are active (send a message). Note that this XP is only given " +"*once* per period." +msgstr "" +"Quantidade de EXP Global de Mensagens a ser dada aos membros por cada " +"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 +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 +#, possible-python-brace-format +msgctxt "leoset:xp_per_period|set_response" +msgid "" +"For every **5** minutes they are active (i.e. in which they send a message)," +" all users will now be given **{amount}** global XP." +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 +msgctxt "botset:word_xp" +msgid "xp_per_100words" +msgstr "exp_por_100palavras" + +#: src/tracking/text/settings.py:209 +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 +msgctxt "botset:word_xp|long_desc" +msgid "" +"Amount of global message XP to be given (additionally to the XP per period) " +"for each hundred words. Useful for rewarding communication." +msgstr "" +"Quantidade de EXP em mensagem a ser dado (adicionalmente ao EXP por período)" +" por cada cem palavras. Útil para incentivar a interação dos membros através" +" de recompensas. " + +#: src/tracking/text/settings.py:218 +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 +#, possible-python-brace-format +msgctxt "leoset:word_xp|set_response" +msgid "" +"For every **100** words they send, users will now be rewarded an additional " +"**{amount}** global XP." +msgstr "" +"A cada **100** palavras que eles enviarem, os membros serão recompensados " +"com um adicional de **{amount}** de EXP Global." diff --git a/locales/pt_BR/LC_MESSAGES/timer-gui.po b/locales/pt_BR/LC_MESSAGES/timer-gui.po new file mode 100644 index 00000000..ce02cd03 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/timer-gui.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/timer.py:73 +msgctxt "skin:timer|field:date_text" +msgid "Use /now to show what you are working on!" +msgstr "Use /now para mostrar a descrição do que você está fazendo!" + +#: src/gui/cards/timer.py:89 +msgctxt "skin:timer|stage:focus|field:stage_text" +msgid "FOCUS" +msgstr "FOCO" + +#: src/gui/cards/timer.py:103 +msgctxt "skin:timer|stage:break|field:stage_text" +msgid "BREAK" +msgstr "PAUSA" diff --git a/locales/pt_BR/LC_MESSAGES/user_config.po b/locales/pt_BR/LC_MESSAGES/user_config.po new file mode 100644 index 00000000..872ea592 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/user_config.po @@ -0,0 +1,114 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/modules/user_config/cog.py:38 +msgctxt "userset:timezone" +msgid "timezone" +msgstr "fuso horário" + +#: src/modules/user_config/cog.py:41 +msgctxt "userset:timezone|desc" +msgid "Timezone in which to display statistics." +msgstr "Fuso horário em que serão exibidas as estatísticas." + +#: src/modules/user_config/cog.py:45 +msgctxt "userset:timezone|long_desc" +msgid "" +"All personal time-related features of StudyLion will use this timezone for " +"you, including personal statistics. Note that leaderboards will still be " +"shown in the server's own timezone." +msgstr "" +"Todas as funcionalidades do StudyLion, para você, relacionadas ao horário, " +"usarão este fuso. Incluindo suas estatísticas pessoais. Note que os " +"rankings de classificação ainda serão exibidos no fuso horário padrão do " +"servidor." + +#: src/modules/user_config/cog.py:60 +#, possible-python-brace-format +msgctxt "userset:timezone|response:set" +msgid "Your personal timezone has been set to `{timezone}`." +msgstr "O seu fuso horário pessoal foi definido para `{timezone}`." + +#: src/modules/user_config/cog.py:65 +msgctxt "userset:timezone|response:unset" +msgid "" +"You have unset your timezone. Statistics will be displayed in the server " +"timezone." +msgstr "" +"Você removeu o seu fuso horário. As estatísticas serão exibidas no fuso " +"horário do servidor." + +#: src/modules/user_config/cog.py:81 +msgctxt "cmd:userconfig" +msgid "my" +msgstr "meu" + +#: src/modules/user_config/cog.py:82 +msgctxt "cmd:userconfig|desc" +msgid "User configuration commands." +msgstr "Comandos de configuração do usuário." + +#: src/modules/user_config/cog.py:89 +msgctxt "cmd:userconfig_timezone" +msgid "timezone" +msgstr "fuso_horário" + +#: src/modules/user_config/cog.py:92 +msgctxt "cmd:userconfig_timezone|desc" +msgid "" +"Set your personal timezone, used for displaying stats and setting reminders." +msgstr "" +"Defina o seu fuso horário pessoal, usado para exibir estatísticas e definir " +"lembretes." + +#: src/modules/user_config/cog.py:96 +msgctxt "cmd:userconfig_timezone|param:timezone" +msgid "timezone" +msgstr "fuso_horário" + +#: src/modules/user_config/cog.py:101 +msgctxt "cmd:userconfig_timezone|param:timezone|desc" +msgid "What timezone are you in? Try typing your country or continent." +msgstr "" +"Em que fuso horário você está? Tente digitar o nome do seu país ou " +"continente." + +#: src/modules/user_config/cog.py:117 +#, possible-python-brace-format +msgctxt "cmd:userconfig_timezone|response:set" +msgid "Your timezone is currently set to {timezone}" +msgstr "O seu fuso horário está atualmente definido como {timezone}." + +#: src/modules/user_config/cog.py:121 +msgctxt "cmd:userconfig_timezone|button:reset|label" +msgid "Reset" +msgstr "Redefinir" + +#: src/modules/user_config/cog.py:133 +#, possible-python-brace-format +msgctxt "cmd:userconfig_timezone|response:unset" +msgid "Your timezone is not set. Using the server timezone `{timezone}`." +msgstr "" +"O seu fuso horário não foi definido. Será usado o fuso horário do servidor " +"{timezone}." diff --git a/locales/pt_BR/LC_MESSAGES/utils.po b/locales/pt_BR/LC_MESSAGES/utils.po new file mode 100644 index 00000000..6de309c9 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/utils.po @@ -0,0 +1,546 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/utils/cog.py:18 +msgctxt "cmd:page" +msgid "page" +msgstr "página" + +#: src/utils/cog.py:21 +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." + +#: src/utils/cog.py:34 +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 +msgctxt "cmd:page_next" +msgid "next" +msgstr "próximo" + +#: src/utils/cog.py:46 +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 +msgctxt "cmd:page_prev" +msgid "prev" +msgstr "anterior" + +#: src/utils/cog.py:53 +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 +msgctxt "cmd:page_first" +msgid "first" +msgstr "Primeira" + +#: src/utils/cog.py:60 +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 +msgctxt "cmd:page_last" +msgid "last" +msgstr "última" + +#: src/utils/cog.py:67 +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 +msgctxt "cmd:page_select" +msgid "select" +msgstr "selecionar" + +#: src/utils/cog.py:74 +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 +msgctxt "cmd:page_select|param:page" +msgid "page" +msgstr "página" + +#: src/utils/cog.py:80 +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 +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 +msgctxt "cmd:page_select|acmpl|error:no_pager" +msgid "No active pagers in this channel!" +msgstr "Não há pagers ativos neste canal!" + +#: src/utils/transformers.py:45 +#, possible-python-brace-format +msgctxt "utils:parse_dur|error" +msgid "Cannot parse `{value}` as a duration." +msgstr "Não pude analisar ˋ{value}ˋ como uma duração." + +#: src/utils/transformers.py:71 +#, possible-python-brace-format +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 +msgctxt "util:parse_dur|regex:day" +msgid "(?P\\d+)\\s*(?:(d)|(day))" +msgstr "(?P\\d+)\\s*(?:(d)|(dia))" + +#: src/utils/lib.py:685 +msgctxt "util:parse_dur|regex:hour" +msgid "(?P\\d+)\\s*(?:(h)|(hour))" +msgstr "(?P\\d+)\\s*(?:(h)|(hora))" + +#: src/utils/lib.py:692 +msgctxt "util:parse_dur|regex:minute" +msgid "(?P\\d+)\\s*(?:(m)|(min))" +msgstr "(?P\\d+)\\s*(?:(m)|(min))" + +#: src/utils/lib.py:699 +msgctxt "util:parse_dur|regex:second" +msgid "(?P\\d+)\\s*(?:(s)|(sec))" +msgstr "(?P\\d+)\\s*(?:(s)|(seg))" + +#: src/utils/ui/config.py:35 +msgctxt "ui:configui|modal:edit|title" +msgid "Setting Editor" +msgstr "Configurando Editor" + +#: src/utils/ui/config.py:75 +msgctxt "ui:configui|check|not_permitted" +msgid "You have insufficient server permissions to use this UI!" +msgstr "" +"Você não tem permissões suficientes para usar esta Interface do Usuário " +"deste servidor!" + +#: src/utils/ui/config.py:153 +msgctxt "ui:configui|button:edit|label" +msgid "Edit" +msgstr "Editar" + +#: src/utils/ui/config.py:192 +msgctxt "ui:guild_config_base|button:reset|label" +msgid "Reset" +msgstr "Resetar" + +#: src/utils/ui/config.py:327 +msgctxt "ui:dashboard|error:section_too_long" +msgid "" +"Oops, the settings in this configuration section are too large, and I can " +"not display them here! Please view the settings in the linked configuration " +"panel instead." +msgstr "" +"Oops, as configurações nesta seção são muito compridas e eu não posso " +"mostrá-las aqui! Por favor, veja mais detalhes da configuração no painel " +"específico desta função." + +#. List of valid keys indicating movement to the next page +#: src/utils/ui/pagers.py:50 +msgctxt "cmd:page|pager:Pager|options:next" +msgid "n, nxt, next, forward, +" +msgstr "p, próximo, pxm, diante, +" + +#. List of valid keys indicating movement to the previous page +#: src/utils/ui/pagers.py:53 +msgctxt "cmd:page|pager:Pager|options:prev" +msgid "p, prev, back, -" +msgstr "a, ant, anterior, atrás, -" + +#. List of valid keys indicating movement to the first page +#: src/utils/ui/pagers.py:56 +msgctxt "cmd:page|pager:Pager|options:first" +msgid "f, first, one, start" +msgstr "1, prim, primeira, começo" + +#. List of valid keys indicating movement to the last page +#: src/utils/ui/pagers.py:59 +msgctxt "cmd:page|pager:Pager|options:last" +msgid "l, last, end" +msgstr "u, última, fim" + +#: src/utils/ui/pagers.py:273 +#, possible-python-brace-format +msgctxt "cmd:page|pager:Pager|error:parse" +msgid "Could not understand page specification `{value}`." +msgstr "Não pude entender a especificação da página ˋ{valor}ˋ." + +#: src/utils/ui/pagers.py:302 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:last" +msgid "Last: Page {page}/{total}" +msgstr "Última: Página {page}/{total}" + +#: src/utils/ui/pagers.py:307 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:current" +msgid "Current: Page {page}/{total}" +msgstr "Atual: Página {page}/{total}" + +#: src/utils/ui/pagers.py:319 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:general" +msgid "Page {page}" +msgstr "Página {page}" + +#: src/utils/ui/pagers.py:353 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Page|choice:select" +msgid "Selected: Page {page}/{total}" +msgstr "Selecionada: Página {page}/{total}" + +#: src/utils/ui/pagers.py:363 +msgctxt "cmd:page|acmpl|pager:Page|error:parse" +msgid "No matching pages!" +msgstr "Não há páginas compatíveis." + +#: src/utils/ui/msgeditor.py:75 +msgctxt "ui:msg_editor|error:empty" +msgid "Rendering failed! The message content and embed cannot both be empty." +msgstr "" +"Falha de processamento! O conteúdo da mensagem e o link da integração não " +"podem estar vazios." + +#: src/utils/ui/msgeditor.py:86 +#, possible-python-brace-format +msgctxt "ui:msg_editor|error:embed_failed" +msgid "" +"Rendering failed! Could not parse the embed.\n" +"Error: {error}" +msgstr "" +"Falha de processamento! Não consegui analisar a link integrado.\n" +"Erro: {error}" + +#: src/utils/ui/msgeditor.py:104 +#, possible-python-brace-format +msgctxt "ui:msg_editor|error:invalid_change" +msgid "" +"Rendering failed! The message was not modified.\n" +"Error: `{text}`" +msgstr "" +"Falha de processamento! A mensagem não foi modificada.\n" +"Erro: ˋ{text}ˋ" + +#: src/utils/ui/msgeditor.py:123 +msgctxt "ui:msg_editor|modal:content|field:content|label" +msgid "Message Content" +msgstr "Conteúdo da Mensagem" + +#: src/utils/ui/msgeditor.py:132 +msgctxt "ui:msg_editor|modal:content|title" +msgid "Content Editor" +msgstr "Editor de Conteúdo" + +#: src/utils/ui/msgeditor.py:150 +msgctxt "ui:msg_editor|button:edit|label" +msgid "Edit Content" +msgstr "Editar Conteúdo" + +#: src/utils/ui/msgeditor.py:162 +msgctxt "ui:msg_editor|button:add_embed|sample_embed|title" +msgid "Title Placeholder" +msgstr "Espaço para Título" + +#: src/utils/ui/msgeditor.py:163 +msgctxt "ui:msg_editor|button:add_embed|sample_embed|description" +msgid "Description Placeholder" +msgstr "Descrição do Espaço" + +#: src/utils/ui/msgeditor.py:174 +msgctxt "ui:msg_editor|button:add_embed|label" +msgid "Add Embed" +msgstr "Adicionar Integração" + +#: src/utils/ui/msgeditor.py:192 +msgctxt "ui:msg_editor|modal:body|field:content|label" +msgid "Message Content" +msgstr "Conteúdo da Mensagem" + +#: src/utils/ui/msgeditor.py:203 +msgctxt "ui:msg_editor|modal:body|field:desc|label" +msgid "Embed Description" +msgstr "Descrição da Integração" + +#: src/utils/ui/msgeditor.py:214 +msgctxt "ui:msg_editor|modal:body|field:title|label" +msgid "Embed Title" +msgstr "Título integrado" + +#: src/utils/ui/msgeditor.py:225 +msgctxt "ui:msg_editor|modal:body|field:colour|label" +msgid "Embed Colour" +msgstr "Cor em Integração" + +#: src/utils/ui/msgeditor.py:240 +msgctxt "ui:msg_editor|modal:body|title" +msgid "Message Body Editor" +msgstr "Editor de Corpo de Mensagem" + +#: src/utils/ui/msgeditor.py:265 +msgctxt "ui:msg_editor|button:body|error:invalid_colour" +msgid "" +"Invalid colour format! Please enter colours as hex codes, e.g. `#E67E22`" +msgstr "" +"Cor em formato inválido! Por favor, insira cores como códigos HEX, Ex. " +"ˋ#E67E22ˋ" + +#: src/utils/ui/msgeditor.py:285 +msgctxt "ui:msg_editor|button:body|label" +msgid "Body" +msgstr "Corpo" + +#: src/utils/ui/msgeditor.py:302 +msgctxt "ui:msg_editor|modal:author|field:name|label" +msgid "Author Name" +msgstr "Nome do Autor" + +#: src/utils/ui/msgeditor.py:313 +msgctxt "ui:msg_editor|modal:author|field:link|label" +msgid "Author URL" +msgstr "Link do Autor" + +#: src/utils/ui/msgeditor.py:323 +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 +msgctxt "ui:msg_editor|modal:author|title" +msgid "Embed Author Editor" +msgstr "Editor Integrado do Autor" + +#: src/utils/ui/msgeditor.py:360 +msgctxt "ui:msg_editor|button:author|label" +msgid "Author" +msgstr "Autor" + +#: src/utils/ui/msgeditor.py:377 +msgctxt "ui:msg_editor|modal:footer|field:text|label" +msgid "Footer Text" +msgstr "Texto de Rodapé" + +#: src/utils/ui/msgeditor.py:388 +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 +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 +msgctxt "ui:msg_editor|modal:footer|title" +msgid "Embed Footer Editor" +msgstr "Editor de Rodapé Integrado" + +#: src/utils/ui/msgeditor.py:429 +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 +msgctxt "ui:msg_editor|button:footer|label" +msgid "Footer" +msgstr "Rodapé" + +#: src/utils/ui/msgeditor.py:467 +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 +msgctxt "ui:msg_editor|modal:images|field:image|label" +msgid "Embed Image URL" +msgstr "Inserir Link de imagem" + +#: src/utils/ui/msgeditor.py:487 +msgctxt "ui:msg_editor|modal:images|title" +msgid "Embed images Editor" +msgstr "Editor de Imagens Integrado" + +#: src/utils/ui/msgeditor.py:517 +msgctxt "ui:msg_editor|button:images|label" +msgid "Images" +msgstr "Imagens" + +#: src/utils/ui/msgeditor.py:535 +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 +msgctxt "ui:msg_editor|modal:add_field|field:name|label" +msgid "Field name" +msgstr "Nome do Campo" + +#: src/utils/ui/msgeditor.py:555 +msgctxt "ui:msg_editor|modal:add_field|field:value|label" +msgid "Field value" +msgstr "Valor do Campo" + +#: src/utils/ui/msgeditor.py:565 +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 +msgctxt "ui:msg_editor|modal:add_field|field:inline|placeholder" +msgid "True/False" +msgstr "Verdadeiro/Falso" + +#: src/utils/ui/msgeditor.py:582 +msgctxt "ui:msg_editor|modal:add_field|title" +msgid "Add Embed Field" +msgstr "Adicionar Campo Integrado" + +#: src/utils/ui/msgeditor.py:602 +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 +msgctxt "ui:msg_editor|button:add_field|label" +msgid "Add Field" +msgstr "Adicione Campo" + +#: src/utils/ui/msgeditor.py:637 +msgctxt "ui:msg_editor|format_field|name_placeholder" +msgid "-" +msgstr "-" + +#: src/utils/ui/msgeditor.py:666 +msgctxt "ui:msg_editor|modal:edit_field|field:name|label" +msgid "Field name" +msgstr "Nome do campo" + +#: src/utils/ui/msgeditor.py:677 +msgctxt "ui:msg_editor|modal:edit_field|field:value|label" +msgid "Field value" +msgstr "Valor do campo" + +#: src/utils/ui/msgeditor.py:688 +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 +msgctxt "ui:msg_editor|modal:edit_field|field:inline|placeholder" +msgid "True/False" +msgstr "Verdadeiro/Falso" + +#: src/utils/ui/msgeditor.py:704 +msgctxt "ui:msg_editor|modal:edit_field|title" +msgid "Edit Embed Field" +msgstr "Editar Campo Integrado" + +#: src/utils/ui/msgeditor.py:733 +msgctxt "ui:msg_editor|menu:edit_field|placeholder" +msgid "Edit Embed Field" +msgstr "Editar Campo Integrado" + +#: src/utils/ui/msgeditor.py:772 +msgctxt "ui:msg_deleteor|menu:delete_field|placeholder" +msgid "Remove Embed Field" +msgstr "Remover Campo Integrado" + +#: src/utils/ui/msgeditor.py:808 +msgctxt "ui:msg_editor|button:save|label" +msgid "Save" +msgstr "Salvar" + +#: src/utils/ui/msgeditor.py:833 +msgctxt "ui:msg_editor|button:download|label" +msgid "Download" +msgstr "Download" + +#: src/utils/ui/msgeditor.py:852 +msgctxt "ui:msg_editor|button:undo|label" +msgid "Undo" +msgstr "Desfazer" + +#: src/utils/ui/msgeditor.py:872 +msgctxt "ui:msg_editor|button:redo|label" +msgid "Redo" +msgstr "Refazer" + +#: src/utils/ui/msgeditor.py:891 +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 +msgctxt "ui:msg_editor|button:quit|confirm|button:yes" +msgid "Yes, Quit Now" +msgstr "Sim! Sair Agora." + +#: src/utils/ui/msgeditor.py:902 +msgctxt "ui:msg_editor|button:quit|confirm|button:no" +msgid "No, Go Back" +msgstr "Não, Retornar." + +#: src/utils/ui/msgeditor.py:996 +msgctxt "ui:msg_editor|timeout_warning|title" +msgid "Warning!" +msgstr "Atenção!" + +#: src/utils/ui/msgeditor.py:1000 +#, possible-python-brace-format +msgctxt "ui:msg_editor|timeout_warning|desc" +msgid "" +"This interface will time out {timestamp}. Press 'Continue' below to keep " +"editing." +msgstr "" +"Esta interface irá finalizar em {timestamp}. Para continuar editando, " +"pressione ˋContinuarˋ." + +#: src/utils/ui/msgeditor.py:1009 +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 new file mode 100644 index 00000000..4edaafeb --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/video.po @@ -0,0 +1,382 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +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 +msgctxt "ui:video_config|menu:exempt|placeholder" +msgid "Select Exempt Roles" +msgstr "Selecione Cargos Excepcionados" + +#: src/modules/video_channels/settingui.py:109 +msgctxt "ui:video_config|menu:video_blacklist|placeholder" +msgid "Select Blacklist Role" +msgstr "Selecione o Cargo ListaNegra" + +#: src/modules/video_channels/settingui.py:117 +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 +msgctxt "dash:video|title" +msgid "Video Channel Settings ({commands[configure video_channels]})" +msgstr "" +"Configuração de Canais de Vídeo ({commands[configure_video_channels]})" + +#: src/modules/video_channels/settingui.py:160 +msgctxt "dash:video|option|name" +msgid "Video Channel Panel" +msgstr "Painel de Canais de Vídeo" + +#: src/modules/video_channels/cog.py:229 +msgctxt "video_watchdog|kick_blacklisted_member|audit_reason" +msgid "Removing video blacklisted member from a video channel." +msgstr "Removendo um membro da Lista Negra dos canais de vídeo." + +#: src/modules/video_channels/cog.py:246 +msgctxt "video_watchdog|kick_blacklisted_member|notification|title" +msgid "You have been disconnected." +msgstr "Você foi desconectado." + +#: src/modules/video_channels/cog.py:250 +#, possible-python-brace-format +msgctxt "video_watchdog|kick_blacklisted_member|notification|desc" +msgid "" +"You were disconnected from the video channel {channel} because you are " +"blacklisted from video channels in **{server}**." +msgstr "" +"Você foi desconectado do canal de vídeo {channel}, pois você foi colocado na" +" lista negra dos canais de vídeo do servidor **{server}**." + +#: src/modules/video_channels/cog.py:290 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|jump_field" +msgid "[Click to jump back]({link})" +msgstr "[Clique para retornar] ({link})" + +#: src/modules/video_channels/cog.py:297 +msgctxt "video_watchdog|join_task|initial_request:title" +msgid "Please enable your video!" +msgstr "Por Favor, Ative sua câmera!" + +#: src/modules/video_channels/cog.py:301 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|initial_request:description" +msgid "" +"**You have joined the video channel {channel}!**\n" +"Please **enable your video** or **leave the channel** or you will be disconnected {timestamp} and potentially **blacklisted**." +msgstr "" +"**Você entrou em um canal de vídeo {channel}!**\n" +"Por favor, **ligue sua câmera** ou **se retire do canal**, ou você será desconectado em {timestamp} e poderá ser colocado na **Lista Negra**." + +#: src/modules/video_channels/cog.py:316 +msgctxt "video_watchdog|join_task|thanks:title" +msgid "Thanks for enabling your video!" +msgstr "Obrigado por ligar sua câmera! " + +#: src/modules/video_channels/cog.py:323 +msgctxt "video_watchdog|join_task|bye:title" +msgid "Thanks for leaving the channel promptly!" +msgstr "Obrigado por ter deixado o canal prontamente!" + +#: src/modules/video_channels/cog.py:367 +msgctxt "video_watchdog|join_task|kick_after_grace|audit_reason" +msgid "Member never enabled their video in video channel." +msgstr "Membro nunca abriu sua câmera em um canal de vídeo." + +#: src/modules/video_channels/cog.py:385 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|kick_after_grace|ticket_reason" +msgid "Failed to enable their video in time in the video channel {channel}" +msgstr "" +"Você deixou de habilitar sua câmera a tempo, no canal de vídeo {channel}." + +#: src/modules/video_channels/cog.py:403 +msgctxt "video_watchdog|join_task|kick_after_grace|warning|title" +msgid "You have received a warning!" +msgstr "Você recebeu um alerta!" + +#: src/modules/video_channels/cog.py:407 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|kick_after_grace|warning|desc" +msgid "" +"**You must enable your camera in camera-only rooms.**\n" +"You have been disconnected from the video {channel} for not enabling your camera." +msgstr "" +"**Você precisa habilitar sua câmera em canais que o uso de câmera é obrigatório!**\n" +"Você foi desconectado do canal de vídeo {channel} justamente por não ter habilitado sua câmera." + +#: src/modules/video_channels/cog.py:422 +msgctxt "video_watchdog|join_task|kick_after_grace|blacklist|title" +msgid "You have been blacklisted!" +msgstr "Você foi colocado na Lista Negra!" + +#: src/modules/video_channels/cog.py:426 +msgctxt "video_watchdog|join_task|kick_after_grace|blacklist|desc" +msgid "You have been blacklisted from the video channels in this server." +msgstr "Você foi colocado na Lista Negra dos canais de vídeo deste servidor." + +#: src/modules/video_channels/cog.py:459 +#, possible-python-brace-format +msgctxt "video_watchdog|disabled_video_kick|audit_reason" +msgid "" +"Disconnected for disabling video for more than {number} seconds in video " +"channel." +msgstr "" +"Desconectado por ter desabilitado o vídeo por mais de {numer} segundos em um" +" canal de vídeo." + +#: src/modules/video_channels/cog.py:474 +msgctxt "video_watchdog|disabled_video_kick|notification|title" +msgid "You have been disconnected." +msgstr "Você foi desconectado." + +#: src/modules/video_channels/cog.py:478 +#, possible-python-brace-format +msgctxt "video_watchdog|disabled_video_kick|notification|desc" +msgid "" +"You were disconnected from the video channel {channel} because you disabled your video.\n" +"Please keep your video on at all times, and leave the channel if you need to disable it!" +msgstr "" +"Você foi desconectado do canal de vídeo {channel} por ter desabilitado seu vídeo.\n" +"Por favor, deixe sua câmera ligada, e, caso precise desabilitar ou tampar, saia do canal. Retorne assim que for possível voltar às condições necessárias. " + +#: src/modules/video_channels/cog.py:510 +msgctxt "cmd:configure_video" +msgid "video_channels" +msgstr "canais_de_vídeo" + +#: src/modules/video_channels/cog.py:512 +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 +msgctxt "guildset:video_channels" +msgid "video_channels" +msgstr "canais_de_vídeo" + +#: src/modules/video_channels/settings.py:32 +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 +msgctxt "guildset:video_channels|long_desc" +msgid "" +"Member will be required to turn on their video in these channels.\n" +"If they do not enable their video with `15` seconds of joining, they will be asked to enable it through a notification in direct messages or the `alert_channel`. If they still have not enabled it after the `video_grace_period` has passed, they will be kicked from the channel. Further, after the first offence (which is considered a warning), they will be given the `video_blacklist` role, if configured, which will stop them from joining video channels.\n" +"As usual, if a category is configured, this will apply to all voice channels under the category." +msgstr "" +"Os membros serão requisitados a ligar sua câmera nestes canais.\n" +"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 +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 +#, possible-python-brace-format +msgctxt "guildset:video_channels|set_response:set" +msgid "" +"Members will be asked to turn on their video in the following channels: " +"{channels}" +msgstr "" +"Os membros serão orientados a ligar suas câmeras nos seguintes canais: " +"{channels}" + +#: src/modules/video_channels/settings.py:72 +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 +msgctxt "guildset:video_blacklist" +msgid "video_blacklist" +msgstr "listanegra_câmera" + +#: src/modules/video_channels/settings.py:108 +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 +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" +"Members who have this role will not be able to join configured video channels. The role permissions may be freely configured by server admins to place further restrictions on the offender.\n" +"The role may also be manually assigned, to the same effect.\n" +"If this role is not set, no video blacklist will occur, and members will only be kicked from the channel and warned." +msgstr "" +"O cargo será automaticamente atribuído ao membro que, repetidamente, deixar de manter a câmera ligada nos canais indicados (conforme abaixo).\n" +"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 +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 +#, 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 +msgctxt "guildset:video_blacklist|set_response:unset" +msgid "" +"Members will no longer be automatically blacklisted from video channels." +msgstr "" +"Membros não serão automaticamente colocados na Lista Negra de salas de " +"vídeo." + +#: src/modules/video_channels/settings.py:155 +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 +msgctxt "guildset:video_durations" +msgid "video_blacklist_durations" +msgstr "câmera_listanegra_duração" + +#: src/modules/video_channels/settings.py:165 +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 +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" +"This setting describes *how long* the member will be blacklisted for, for each offence.\n" +"E.g. if this is set to `1d, 7d, 30d`, then on the first offence the member will be blacklisted for 1 day, on the second for 7 days, and on the third for 30 days. A subsequent offence will result in an infinite blacklist." +msgstr "" +"Quando está configurada a ˋlistanegra_câmeraˋ, e os membros deixarem de habilitar a câmera nas salas com um ˋtempo_tolerância_câmeraˋ configurado, eles serão automaticamente listados na Lista Negra (recebendo o cargo correspondente).\n" +"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 +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 +#, 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 +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 +msgctxt "guildset:video_grace_period" +msgid "video_grace_period" +msgstr "tempo_tolerância_câmera" + +#: src/modules/video_channels/settings.py:224 +msgctxt "guildset:video_grace_period|desc" +msgid "" +"How long to wait (in seconds) before kicking/blacklist members who don't " +"enable their video." +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 +msgctxt "guildset:video_grace_period|long_desc" +msgid "" +"The length of time a member has to enable their video after joining a video " +"channel. After this time, if they have not enabled their video, they will be" +" kicked from the channel and potentially blacklisted from video channels." +msgstr "" +"A quantidade de tempo que um membro terá para abrir sua câmera depois de " +"entrar em um canal de vídeo. Depois deste tempo, sem que tenha habilitado, " +"ele será kickado do canal e poderá ser inscrito na Lista Negra de canais de " +"vídeo." + +#: src/modules/video_channels/settings.py:234 +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 +#, 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 +msgctxt "guildset:video_exempt" +msgid "video_exempt" +msgstr "vídeo_excepcionados" + +#: src/modules/video_channels/settings.py:259 +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 +msgctxt "guildset:video_exempt|long_desc" +msgid "" +"Members who have **any** of these roles will not be required to enable their" +" video in the `video_channels`. This also overrides the `video_blacklist` " +"role." +msgstr "" +"Membros que tiverem **qualquer** destes cargos não serão requisitados a " +"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 +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 +#, possible-python-brace-format +msgctxt "guildset:video_exempt|set_response:set" +msgid "The following roles will now be exempt from video channels: {roles}" +msgstr "" +"Agora, cargos a seguir serão excepcionados dos requisitos em canais de " +"vídeo: {roles}" + +#: src/modules/video_channels/settings.py:289 +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 new file mode 100644 index 00000000..528d733c --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/voice-tracker.po @@ -0,0 +1,437 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +msgctxt "cmd:now" +msgid "now" +msgstr "agora" + +#: src/tracking/voice/cog.py:652 +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 +msgctxt "cmd:now|param:tag" +msgid "tag" +msgstr "etiqueta" + +#: src/tracking/voice/cog.py:657 +msgctxt "cmd:now|param:user" +msgid "user" +msgstr "usuário" + +#: src/tracking/voice/cog.py:658 +msgctxt "cmd:now|param:clear" +msgid "clear" +msgstr "limpar" + +#: src/tracking/voice/cog.py:663 +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 +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 +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 +msgctxt "cmd:now|target:self|error:target_inactive" +msgid "" +"You have no running session! Join a tracked voice channel to start a " +"session." +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 +#, 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 +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 +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 +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 +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 +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 +#, 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 +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 +#, 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 +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 +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 +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 +#, 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 +#, 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 +#, possible-python-brace-format +msgctxt "cmd:now|target:self|mode:show_without_tag|desc" +msgid "" +"You have been working in {channel} since {time}!\n" +"\n" +"Use `/now ` to set what you are working on." +msgstr "" +"Você estava empenhado, em {channel}, desde {time}!\n" +"\n" +"Use `/now ` para conferir o quê você estava fazendo." + +#: src/tracking/voice/cog.py:817 +#, possible-python-brace-format +msgctxt "cmd:now|target:other|mode:show_with_tag|desc" +msgid "" +"{target} is current working in {channel}!\n" +"They have been working on **{tag}** since {time}." +msgstr "" +"{target} está empenhado em {channel}!\n" +"Eles estão empenhados em **{tag}** desde {time}." + +#: src/tracking/voice/cog.py:823 +#, 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 +msgctxt "cmd:configure_voice_rates" +msgid "voice_rewards" +msgstr "recompensa_de_voz" + +#: src/tracking/voice/cog.py:849 +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 +#, possible-python-brace-format +msgctxt "cmd:configure_voice_tracking|mode:voice|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{base} (+ {bonus})** per hour they " +"spend (live) in a voice channel, up to a total of **{cap}** hours per server" +" day." +msgstr "" +"Os membros agora serão recompensados {coin}**{base} (+ {bonus})** por hora " +"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 +#, possible-python-brace-format +msgctxt "cmd:configure_voice_tracking|mode:study|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{base}** per hour of study in this " +"server, with a bonus of {coin}**{bonus}** if they stream of display video, " +"up to a total of **{cap}** hours per server day." +msgstr "" +"Os membros agora serão recompensados em {coin}**{base}** por hora de " +"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 +msgctxt "guildset:untracked_channels" +msgid "untracked_channels" +msgstr "canais_desconsiderados" + +#: src/tracking/voice/settings.py:43 +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 +msgctxt "guildset:untracked_channels|long_desc" +msgid "" +"Activity in these channels will not count towards a member's statistics. If " +"a category is selected, all channels under the category will be untracked." +msgstr "" +"A atividade nestes canais não serão adicionadas às estatísticas dos membros." +" Se você selecionar uma categoria, todos os canais desta categoria, serão " +"desconsiderados." + +#: src/tracking/voice/settings.py:52 +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 +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 +msgctxt "guildset:untracked_channels|set" +msgid "Channel selector below." +msgstr "Seletor de canais abaixo." + +#: src/tracking/voice/settings.py:82 +#, 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 +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 +msgctxt "guildset:hourly_reward" +msgid "hourly_reward" +msgstr "recompensa_horária" + +#: src/tracking/voice/settings.py:120 +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 +msgctxt "guildset:hourly_reward|mode:voice|long_desc" +msgid "" +"Number of LionCoins to each member per hour that they stay in a tracked " +"voice channel." +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 +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 +#, 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 +#, 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 +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 +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 +#, 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 +msgctxt "guildset:hourly_live_bonus" +msgid "hourly_live_bonus" +msgstr "bonus_horário" + +#: src/tracking/voice/settings.py:200 +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." + +#: src/tracking/voice/settings.py:205 +msgctxt "guildset:hourly_live_bonus|long_desc" +msgid "" +"When a member streams or video-chats in a channel they will be given this " +"bonus *additionally* to the `hourly_reward`." +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 +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 +#, 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 +#, possible-python-brace-format +msgctxt "guildset:hourly_live_bonus|response" +msgid "" +"Live members will now *additionally* be given {coin}**{amount}** per hour." +msgstr "" +"Membros em chamada, irão *adicionalmente* receber {coin}**{amount}** por " +"hora." + +#: src/tracking/voice/settings.py:248 +msgctxt "guildset:daily_voice_cap" +msgid "daily_voice_cap" +msgstr "limite_diario_horas" + +#: src/tracking/voice/settings.py:251 +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 +msgctxt "guildset:daily_voice_cap|long_desc" +msgid "" +"Time spend in voice channels over this amount will not be tracked towards " +"the member's statistics. Tracking will resume at the start of the next day. " +"The start of the day is determined by the configured guild timezone." +msgstr "" +"O tempo gasto em canais de voz, além deste limite, não será contabilizado " +"nas estatísticas do membro. O tempo voltará a ser contabilizado na primeira " +"hora do próximo dia. Este horário inicial é configurado pelo fuso horário do" +" servidor." + +#: src/tracking/voice/settings.py:261 +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 +#, possible-python-brace-format +msgctxt "guildset:daily_voice_cap|response" +msgid "" +"Members will be tracked for at most {duration} per day. (**NOTE:** This will" +" not affect members currently in voice channels.)" +msgstr "" +"As horas dos membros serão contadas até {duration} por dia. (**Atenção:** " +"Esta configuração não irá surtir efeito sobre os membros que já estão dentro" +" dos canais.)" + +#: src/tracking/voice/settings.py:335 +msgctxt "ui:voice_tracker_config|button:close|label" +msgid "Close" +msgstr "Fechar" + +#: src/tracking/voice/settings.py:349 +msgctxt "ui:voice_tracker_config|button:reset|label" +msgid "Reset" +msgstr "Resetar" + +#: src/tracking/voice/settings.py:362 +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 +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 +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 +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 +msgctxt "dash:voice_tracker|title" +msgid "Voice Tracker Configuration ({commands[configure voice_rewards]})" +msgstr "" +"Configuração de Contabilização em Canais de Voz ({commands[configure " +"voice_rewards]})" + +#: src/tracking/voice/settings.py:532 +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 new file mode 100644 index 00000000..98f1722b --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/wards.po @@ -0,0 +1,104 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 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" +"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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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 +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 +msgctxt "ward:high_management|failed" +msgid "" +"You must have the `ADMINISTRATOR` permission in this server to do this!" +msgstr "" +"Você precisa ter permissão de ˋADMINISTRADORˋ para fazer isto neste " +"servidor." + +#: src/wards.py:115 +msgctxt "ward:low_management|failed" +msgid "You must have the `MANAGE_GUILD` permission in this server to do this!" +msgstr "" +"Você precisa ter permissão de `MANAGE_GUILD`, neste servidor, para poder " +"fazer isto! " + +#: src/wards.py:127 +msgctxt "ward:moderator|failed" +msgid "" +"You must have the configured moderator role, or `MANAGE_GUILD` permissions " +"to do this." +msgstr "" +"Você precisa de um cargo de Moderador ou permissão `MANAGE_GUILD` para fazer" +" isto." + +#: src/wards.py:153 +#, 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 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:integration" +msgid "I cannot manage {role} because it is managed by a server integration." +msgstr "" +"Eu não posso gerenciar {role}, pois ele é gerenciado por uma integração do " +"servidor." + +#: src/wards.py:167 +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 +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 +#, 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 +#, 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 +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 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:actor_top_role" +msgid "You cannot configure {role} because it is above your top role!" +msgstr "" +"Você não pode configurar {role} pois ele está acima do seu maior cargo!" diff --git a/locales/pt_BR/LC_MESSAGES/weekly-gui.po b/locales/pt_BR/LC_MESSAGES/weekly-gui.po new file mode 100644 index 00000000..85281cc3 --- /dev/null +++ b/locales/pt_BR/LC_MESSAGES/weekly-gui.po @@ -0,0 +1,102 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Bruno Evangelista De Oliveira, 2023 +# Aline Souki, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Aline Souki, 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" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" + +#: src/gui/cards/weekly.py:52 +msgctxt "skin:weeklystats|mode:study|title" +msgid "STUDY HOURS" +msgstr "HORAS ESTUDADAS" + +#: src/gui/cards/weekly.py:56 +msgctxt "skin:weeklystats|mode:voice|title" +msgid "VOICE CHANNEL ACTIVITY" +msgstr "ATIVIDADE EM CANAL DE VOZ" + +#: src/gui/cards/weekly.py:60 +msgctxt "skin:weeklystats|mode:text|title" +msgid "MESSAGE ACTIVITY" +msgstr "ATIVIDADE EM CONVERSAS" + +#: src/gui/cards/weekly.py:64 +msgctxt "skin::weeklystats|mode:anki|title" +msgid "CARDS REVIEWED" +msgstr "CARTÕES REVISADOS" + +#: src/gui/cards/weekly.py:137 +msgctxt "skin:weeklystats|weekdays" +msgid "M,T,W,T,F,S,S" +msgstr "S,T,Q,Q,S,S,D" + +#: src/gui/cards/weekly.py:207 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:study|summary:this_week" +msgid "THIS WEEK: {amount} HOURS" +msgstr "ESTA SEMANA: {amount} HORAS" + +#: src/gui/cards/weekly.py:211 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:voice|summary:this_week" +msgid "THIS WEEK: {amount} HOURS" +msgstr "ESTA SEMANA: {amount} HORAS" + +#: src/gui/cards/weekly.py:215 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:this_week" +msgid "THIS WEEK: {amount} MESSAGES" +msgstr "ESTA SEMANA: {amount} MENSAGENS" + +#: src/gui/cards/weekly.py:219 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:this_week" +msgid "THIS WEEK: {amount} CARDS" +msgstr "ESTA SEMANA: {amount} CARTÕES" + +#: src/gui/cards/weekly.py:240 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:study|summary:last_week" +msgid "LAST WEEK: {amount} HOURS" +msgstr "SEMANA PASSADA: {amount} HORAS" + +#: src/gui/cards/weekly.py:244 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:voice|summary:last_week" +msgid "LAST WEEK: {amount} HOURS" +msgstr "SEMANA PASSADA: {amount} HORAS" + +#: src/gui/cards/weekly.py:248 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:last_week" +msgid "LAST WEEK: {amount} MESSAGES" +msgstr "SEMANA PASSADA: {amount} MENSAGENS" + +#: src/gui/cards/weekly.py:252 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:last_week" +msgid "LAST WEEK: {amount} CARDS" +msgstr "SEMANA PASSADA: {amount} CARTÕES" + +#: src/gui/cards/weekly.py:272 +#, possible-python-brace-format +msgctxt "skin:weeklystats|footer" +msgid "Weekly Statistics • As of {day} {month} • {name} {discrim}" +msgstr "Estatísticas semanais • A partir de {day} {month} • {name} {discrim}"