diff --git a/ptbr.hjson b/ptbr.hjson new file mode 100644 index 0000000..3f656f7 --- /dev/null +++ b/ptbr.hjson @@ -0,0 +1,970 @@ +{ + /* --------------------------------------------------------------------- + Emoji Key - Guide to what they mean + --------------------------------------------------------------------- */ + /* + + ℹ️ - Indicates an example of how this string could look with real values + ⚠️ - Indicates IMPORTANT TRANSLATIONS. These should be correctly translated first! + + */ + + + /* --------------------------------------------------------------------- + Generic - Used for multiple things + --------------------------------------------------------------------- */ + "generic.callbacks": { + "userBannedBy": "Este usuário foi banido por %s" + # ℹ️ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text, + # and NOT contain any formatting or assume the value of any dynamic values. + "userBannedBySignature": " foi banido por " + "userBannedAnswerText": "Usuário banido" + # ℹ️ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text, + # and NOT contain any formatting or assume the value of any dynamic values. + "userUnbannedBy": "Este usuário foi desbanido por %s" + "userUnbannedBySignature": " foi desbanido por " + "userUnbannedAnswerText": "Usuário Desbanido" + + # ℹ️ Example: /JoinVerify enabled by Andy + "featureEnabledBy": "%s habilitado por %s" + "featureEnabledAnswerText": "%s habilitado" + "featureAlreadyEnabled": "%s já está habilitado" + "featureAlreadyEnabledAnswerText": "%s Já habilitado" + "featureDisabledBy": "%s desabilitado por %s" + "featureDisabledAnswerText": "%s desabilitado" + "featureAlreadyDisabled": "%s já está desabilitado" + "featureAlreadyDisabledAnswerText": "%s Já desabilitado" + + "joinLimitRestrictionsReset": "Este usuário teve suas restrições de /JoinLimit redefinidas por %s" + "joinLimitRestrictionsResetAnswerText": "Restrictions Reset!" + + "joinLockExceptionAdded": "Este usuário recebeu uma exceção de junção única por %s\n\nNa próxima vez que o usuário entrar, não irei removê-lo." + "joinLockExceptionAddedAnswerText": "Exceção Adicionada" + + "chatNameRemoved": "Nome do Chat Removido por %s" + "chatNameRemovedAnswerText": "Nome do Chat Removido" + "chatNameNotSet": "Nome do Chat não foi definido, então não há mada." + "chatNameNotSetAnswerText": "Nome do Chat não foi definido" + + "cantUseFeatureOnAdminsAnswerText": "Não pode %s administradores" + + "CalsiBotNoLongerAdmin": "CalsiBot não é mais um administrador ou não tem as permissões necessárias, então este teclado expirou." + "CalsiBotNoLongerAdminAnswerText": "CalsiBot não é mais um administrador ou não tem as permissões necessárias, então este teclado expirou." + + "keyboardHasExpired": "Este teclado expirou." + "keyboardExpiredAnswerText": "Teclado Expirado" + "keyboardUpdatedPressConfirmAnswerText": "Teclado Atualizado, pressione 'Confirmar' para aplicar" + } + + "generic.buttons": { + "whatIsThis": "❓ O Quê é Isto?" + "whatIsThisShort": "❓ O Quê?" + "imSorry": "😭 Me Desculpe!" + + "joinChannel": "👋 Entrar no Canal" + "addToGroup": "🔱 Adicionar A Grupo" + "tapToVerify": "🤖 Clique para Verificar 🤖" + + "banUser": "Banir Usuário" + "banBot": "Banir Bot" + "allowUser": "Permitir Usuário" + "trustUser": "Confiar em Usuário" + "trustBot": "Confiar em Bot" + "unbanUser": "Desbanir Usuário" + + "settings": "⚙️ Configurações" + + "resetRestrictions": "🤝 Redefinir Restrições" + "yes": "✅ Sim" + "no": "❌ Não" + "enable": "✅ Habilitar" + "disable": "❌ Desabilitar" + "disableLimit": "❌ Desabilitar Limite" + "disableTimeLimit": "❌ Desabilitar Limite de Tempo" + + "permabanUser": "❌ Banir permanentemente usuário" + "unPermabanUser": "🤝 Desbanir permanentemente usuário" + + "remove": "❌ Remover" + "removeAllWarns": "❌ Remover todos os avisos" + "history": "📚 Histórico" + "setMax": "🔢 Definir Máximo" + "back": "⬅️ Voltar" + + "messages": "Mensagens" + "media": "Media" + "stickersAndGIFs": "Stickers & GIFs" + "linkPreviews": "Link Previews" + "confirm": "📝 Confirmar" + "cancel": "❌ Cancelar" + + "seeExample": "👀 Ver Exemplo" + "seeGroupInfo": "Ver Informações do Grupo" + + "marryAccept": "🥰 Aceitar" + "marryReject": "😒 Rejeitar" + + "continueFishing": "🎣 Continuar Pescando" + "continueBuilding": "⚒ Continuar Construindo" + + "chooseAction": "🎭 Escolher Ação" + "ignore": "🙈 Ignorar" + + "changeLanguage": "🌐 Mudar Idioma" + + "createPack": "📸 Criar Pacote" + "removePack": "💀 Remover Pacote" + "viewPack": "🌆 Ver Pacote" + } + + # ℹ️ Note: For languages which don't use English numbers, these should be changed + # to match the 'numbersPlain' localized numbers. + "generic.numbers": { + "zero": "0️⃣" + "one": "1️⃣" + "two": "2️⃣" + "three": "3️⃣" + "four": "4️⃣" + "five": "5️⃣" + "six": "6️⃣" + "seven": "7️⃣" + "eight": "8️⃣" + "nine": "9️⃣" + "ten": "🔟" + } + + # ℹ️ Note: These should be plain text localized numbers. + "generic.numbersPlain": { + "zero": "0" + "one": "1" + "two": "2" + "three": "3" + "four": "4" + "five": "5" + "six": "6" + "seven": "7" + "eight": "8" + "nine": "9" + "ten": "10" + } + + "generic.timePlural": { + "zero": "horas" + "one": "hora" + "other": "horas" + } + + "generic.weekPlural": { + "zero": "semanas" + "one": "semana" + "other": "semanas" + } + + "generic.dayPlural": { + "zero": "dias" + "one": "dia" + "other": "dias" + } + + "generic.hourPlural": { + "zero": "horas" + "one": "hora" + "other": "horas" + } + + "generic.minutePlural": { + "zero": "minutos" + "one": "minuto" + "other": "minutos" + } + + "generic.secondPlural": { + "zero": "segundos" + "one": "segundo" + "other": "segundos" + } + + "generic.onlyInSupergroups": "Desculpe, este comando só pode ser usado em Supergrupos" + "generic.somethingWentWrongTryAgainLater": "Algo deu errado, tente novamente mais tarde..." + "generic.rateLimit": "😡 Agora, ignorando novas mensagens de %s por enviar mais de 3 mensagens de comando em menos de 1 segundo. Por favor, pare.\n\nExpira em alguns minutos" + "generic.willNotSeeAgainForAWhile": "Você não verá esta mensagem novamente por um tempo." + + # ℹ️ Example: Reply to the person you want to /slap + "generic.replyToThePersonYouWantTo": "Responda para a pessoa que você quer %s" + "generic.needToReply": "Você precisa responder a alguém." + + "generic.needToBeAdmin": "❌ Permissão negada. Você precisa:\n\n1️⃣ Ser um administrador\n2️⃣ Ter permissão para %s" + "generic.needToBeAdminAnswerText": "❌ Permissão negada. Você precisa:\n\n1️⃣ Ser um administrador\n2️⃣ Ter permissão para %s" + "generic.CalsiBotNeedsToBeAdmin": "❌ Para que isso funcione, %s tem que:\n\n1️⃣ Ser um administrador\n2️⃣ Ter permissão para %s" + "generic.CalsiBotNotUsedAnymore": "Desculpe, CalsiBot não é mais usado no grupo ou não tem permissões suficientes." + "generic.CalsiBotNotUsedAnymoreAnswerText": "Desculpe, CalsiBot não é mais usado no grupo ou não tem permissões suficientes." + + "generic.permissionTypes": { + "changeGroupInfo": "mudar informações do grupo" + "banUsers": "banir usuários" + "deleteMessages": "excluir mensagens" + "inviteUsers": "convidar usuários" + "pinMessages": "fixar mensagens" + "doEverything": "faz tudo, inclusive adicionar novos administradores" + } + + "generic.loaded": "Carregado" + "generic.loadingEllipsis": "Carregando..." + "generic.disabled": "Desabilitado" + "generic.enabled": "Habilitado" + "generic.cancelled": "Cancelado" + "generic.currently": "Atualmente" + "generic.gaming": "Jogando" + "generic.nobody": "Ninguém" + "generic.none": "Nenhum" + "generic.note": "Nota" + "generic.reasonColon": "Razão:" + "generic.deleteQuestion": "Deletar?" + "generic.banQuestion": "Banir?" + "generic.and": " e " + + # ℹ️ Example: Exception was added by an admin. + "generic.anAdmin": "um admin" + + # ℹ️ Example: Fishing is always allowed in private :) + "generic.featureAlwaysAllowedInPrivate": "%s é sempre permitido em privado :)" + + # ℹ️ Example: Wall Building has now been enabled in this group. + "generic.featureEnabled": "%s agora foi habilitado neste grupo." + "generic.featureAlreadyEnabled": "%s já está habilitado neste grupo." + "generic.featureDisabled": "%s agora está desabilitado neste grupo." + "generic.featureAlreadyDisabled": "%s já está desabilitado neste grupo." + + "generic.featureDisabledByDefault": "Por padrão, %s é desabilitado em chats de grupo.\n\nUm administrador pode %s." + # ℹ️ Example: By default, fishing is disabled in group chats.\n\nAn admin can /EnableGames, or you can fish in private, by tapping the button below: +"generic.featureDisabledByDefaultWithPrivate": "Por padrão, %s é desabilitado em chats de grupo.\n\nUm administrador pode %s, Ou você ṕde %s em privado, pressionando o botão abaixo:" + + # ℹ️ Example: You can use /DisableBrick to change that. + "generic.toggleFeatureHint": "Você pode usar %s para mudar isso." + + # ℹ️ Example: You can't Warn admins + "generic.cantUseFeatureOnAdmins": "Você não pode %s administradoress... Infelizmente." + "generic.cantUseFeatureOnAdminsWithReason": "Você não pode %s administradores porque %s" + # ℹ️ Example: because they can't be warned in the first place. + "generic.theyCantBeInTheFirstPlace": "porque eles não podem estar %s em primeiro lugar." + + "generic.tapNextToContinue": "\n\nPressione /next para Continuar..." + "generic.tapNextToRetry": "\n\nPressione /next para Tentar Novamente..." + "generic.tapCancelToQuit": "\n\nPressione /cancel para Sair %s" + + + /* --------------------------------------------------------------------- + Comfy - Used for /hug, /cuddle, etc. + --------------------------------------------------------------------- */ + "comfy.hug": { + "self": "%s estende um braço e abraça a si mesmo. %s se sente bem menos sozinho agora." + "main": "%s te deu um abraço! :)" + "CalsiBot": "Eu não posso ser abraçado :/" + } + + "comfy.cuddle": { + "self": "%s deita de bruços na cama e tenta abraçar suas laterais. %s se sente bem menos triste agora." + "main": "%s abraça %s com força" + "CalsiBot": "suspiro ☁️😌☁️" + } + + "comfy.snuggle": { + "self": "%s encolhe os joelhos e tenta se aconchegar. %s se sente significantemente mais amado agora." + "main": "%s aconchega %s com satisfação" + "CalsiBot": "🥺 *barulhos de bot relaxado*" + } + + "comfy.poke": { + "self": "%s cutucou seus peitos. Isso os faz lembrar que eles provavelmente deveriam perder um pouco de peso." + "main": "*%s cutucou %s* o_o" + "CalsiBot": ">_<" + } + + "comfy.pat": { + "self": "%s desajeitadamente estende uma das mãos para dar um tapinha na própria cabeça. 🙃" + "main": "*%s dá tapinas na cabeça de %s* :V" + "CalsiBot": "rawr xDddd" + } + + "comfy.ruffle": { + "self": "%s bagunça o próprio cabelo... Caramba. 😐" + "main": "*%s bagunça o cabelo de %s* :&" + "CalsiBot": "Você deveria bagunçar o cabelo da minha cabeça... não... aí. 😳" + } + + "comfy.highfive": { + "self": "%s tenta se cumprimentar batendo nas próprias mãos. %s erra e se afunda ainda mais na depressão." + "main": "%s cumprimentou você por isso!" + "CalsiBot": ":D" + } + + + /* --------------------------------------------------------------------- + Death - Used for /kys, /kms & /kos + --------------------------------------------------------------------- */ + "death.CalsiBot": "Eu não posso ser morto ;)" + + # ℹ️ Example: Josie stabbed Kevin before they starved to death + "death.kos": "%s esfaqueado %s antes deles %s" + + + /* --------------------------------------------------------------------- + Ban - Used for /ban, /kick, etc. + --------------------------------------------------------------------- */ + "ban.kick.main": "%s foi kickado." + "ban.kickme.main": "%s removido." + "ban.ban.main": "%s foi banido." + "ban.deport.main": "%s foi deportado." + "ban.realdeport.main": "%s foi deportado, permanentemente." + + + /* --------------------------------------------------------------------- + Fish - Used for /fish, /MyFish, etc. + --------------------------------------------------------------------- */ + "fish.fish": "Peixe" + "fish.fishing": "Pescando" + "fish.noFish": "Parece que %s nunca pegou um peixe antes!\n\nDê uma chance: /Fish" + "fish.noTrophyFish": "Atualmente você não tem nenhum Troféu de Peixe 😢 - mas não se preocupe!\n\nUse /Fish para pegar seu primeiro peixe!\n\n/MyFish ||| /Fish" + + "fish.verdicts": { + "failure": "Assim como na vida real, sua isca falhou." + "blowfish": "Você pegou um baiacu: 🐡" + "normal": "Nada mal!\nVocê pegou um Peixe Normal: 🐟" + "tropical": "Legal!\nVocê pegou um Peixe Tropical: 🐠" + "squid": "Muito bom!\nVocê pegou uma Lula: 🦑" + "crab": "Incrível!\nVocê pegou um Caranguejo: 🦀" + "dolphin": "WHOA!\nVocê pegou um Golfinho: 🐬" + "shark": "PUTA MERDA!!\nVocê pegou um Tubarão: 🦈" + "crocodile": "ARGHHH!!!\nVocê pegou um Crocodilo: 🐊" + "whale": "O OCEANO PARECE ESTAR AFUNDANDO...\n\nCom toda a sua força, você puxa a vara de pesca!\nVocê pegou uma baleia: 🐳" + } + + "fish.viewYourFish": "\n\nVer seus peixes: /MyFish" + "fish.newTrophyFish": "\n\n🎉 Você acaba de ganhar um novo\n/TrophyFish!" + + "fish.myFish": + ''' + 🎣 %s – Peixe: + + 🐡 - Baiacu: %s + 🐟 - Peixe Normal: %s + 🐠 - Peixe Tropical: %s + 🦀 - Caranguejo: %s + 🦑 - Lula: %s + 🐬 - Golfinho: %s + 🦈 - Tubarão: %s + 🐊 - Crocodilos: %s + 🐳 - Baleias: %s + + 🐠🦑🐊 - Todos Os Peixes: %s + + /TrophyFish ||| /Fish + ''' + + "trophy.types": { + "firstfish": "\n%s<%s> - Primeiro Peixe!" + "1000fish": "\n%s<%s> - Mil Peixes" + "5000fish": "\n%s<%s> - Cinco Mil Peixes" + "10000fish": "\n%s<%s> - Dez Mil Peixes" + "2018newyear": "\n%s<%s> - Ano Novo 2018" + "2018vday": "\n%s<%s> - Dia dos Namorados 2018" + "2018xmas": "\n%s<%s> - Natal 2018" + "2019newyear": "\n%s<%s> - Ano Novo 2019" + "2020xmas": "\n%s<%s> - Natal 2020" + } + + + /* --------------------------------------------------------------------- + JoinEvents - Used for Join Flow + --------------------------------------------------------------------- */ + "joinevents.error.CalsiBotNotEnoughPermissions": "Uma mensagem de boas-vindas, JoinLock, JoinVerify ou JoinLimit está ativada no momento, mas não tenho permissões de administrador suficientes no momento...\n\nPor favor, garanta que eu possa alterar informações do grupo, e banir usuários." + "joinevents.userPermabanned": "%s foi removido permanentemente deste grupo por um administrador.\n\nEu os removi." + "joinevents.joinlockAddedByAdmin": "Join Lock está habilitado mas %s foi adicionado por %s, então eles não foram kickados." + "joinevents.joinlockMemberBanned": "%s foi banido porque o Join Lock está habilitado." + + /* --------------------------------------------------------------------- + JoinConfig - Used for Join Flow + --------------------------------------------------------------------- */ + "joinconfig.welcome.help": "/SetWelcome permite que você defina uma mensagem de boas vindas para seu chat\n\nSua mensagem deve ser como o exemplo abaixo:" + "joinconfig.welcome.error.somethingWrong": "Desculpe, mas tem alguma coisa errada com a mensagem que você postou.\n\nPor favor, verifique a sua formatação, e garanta que você não incluiu nenhum caractere estranho." + "joinconfig.welcome.success": "Ótimo, sua mensagem de boas vindas foi definida. Verifique acima como ela vai ficar!\n\nVocê pode usar /DeleteWelcome para removê-la." + "joinconfig.welcome.removed": "A mensagem de boas vindas foi removida.\n\nVocê pode usar /SetWelcome, seguido pela mensagem que você quiser, para definir uma nova." + "joinconfig.welcome.alreadyRemoved": "Atualmente não tem uma mensagem de boas vindas definida para remover.\n\nVocê pode usar /SetWelcome, seguido pela mensagem que você quiser, para definir uma nova." + + "joinconfig.joinlimit.help": "/JoinLimit permite que você defina as restrições padrão para qualquer membro que se una ao seu chat\n\nSua mensagem deve ser parecida com o exemplo abaixo:" + "joinconfig.joinlimit.success": "Seu /JoinLimit foi definido!\n\nNovos membros vão automaticamente serem restritos %s, até que um administrador remova a restrição deles." + "joinconfig.joinlimit.successTimed": "Seu /JoinLimit foi definido!\n\nNovos membros vão automaticamente serem restritos %s, pelo limite de tempo que você especificou." + + "joinconfig.title.help": "/%s permite que você defina o título do chat com uma mensagem.\n\nSua mensagem deve parecer com isso:\n/%s Novo Título do chat\n\nDica: Tem um nome de chat que você sempre usa em títulos? Verifique /cn" + "joinconfig.title.replyToTextHint": "Se você está respondendo a outra mensagem para definir o título do chat, ele deve ser apenas texto.\n\nDica: Tem um nome de chat que você sempre usa em títulos? Verifique /cn" + + "joinconfig.chatname.help": "/%s permite que você altere o nome do chat. Esse nome vai sempre aparecer na frente de qualquer título do chat definido usando /t ou /title.\n\nSua mensagem deve ser algo como:\n/%s MeuNomeDeChat" + "joinconfig.chatname.replyToTextHint": "Se você está respondendo a outra mensagem para definir o nome do chat, ela deve ser apenas texto." + "joinconfig.chatname.success": "Seu Nome do Chat foi definido como:\n%s\n\nEle vai aparecer no início de todos os títulos de chat definidos usando /t ou /title." + + + /* --------------------------------------------------------------------- + JoinVerify - Used for /JoinVerify + --------------------------------------------------------------------- */ + # ⚠️ IMPORTANT + "joinverify.callbacks": { + "correctAnswerText": "Correto! %s mais para ir..." + "incorrectAnswerText": "Errado. 3 mais para ir..." + "success": "Sucesso!\n\nBom trabalho, humano, você pode agora falar em: %s" + "successAnswerText": "Sucesso! Você pode falar em %s agora..." + "manuallyTrusted": "%s foi manualmente verificado %s." + "manuallyTrustedAnswerText": "Usuário Verificado" + "expired": "Esta Requisição de Verificação Expirou.\n\nVocê pode ter sido manualmente banido ou verificado pelos administradores do grupo. Ou essa pode ser uma requisição muito antiga." + "expiredAnswerText": "Requisição de Verificação Expirou" + + "settingsUnavailable": "A Verificação de Entrada não está habilitada agora, habilite-a primeiro para mudar as configurações:" + "setTimeLimit": "Escolha um Limite de Tempo para a Validação de Entrada\n\nEm quantos minutos usuários não verificados devem ser aprovados, antes de serem banidos?" + "setTimeLimitAnswerText": "Selecione um Valor" + "timeLimitChanged": "O Limite de Tempo para a Verificação de Entrada foi alterado de %s para %s por %s" + # ℹ️ NOTE: Signatures are used for intelligent text switching. MUST be a uniquely identifiable portion of the full text, + # and NOT contain any formatting or assume the value of any dynamic values. + "timeLimitChangedSignature": "Limite de Tempo para Verificação de Entrada alterado de " + "timeLimitChangedAnswerText": "Novas Configurações Salvas" + } + + # ⚠️ IMPORTANT + "joinverify.generateCaptcha.tapMatchingEmojiBelow": "Toque no emoji correspondente abaixo:" + "joinverify.imageText": { + "successTop": "Confirmado" + "successBottom": "Humano" + "errorTop": "Algo deu errado" + "errorBottom": "Errado" + } + + # ⚠️ IMPORTANT + "joinverify.joinevents.joinVerifyAddedByAdmin": "Join Verify está habilitado, mas %s foi adicionado por %s, então eles não precisam se verificar." + "joinverify.joinevents.userVerify": "Hey %s bem-vindo ao %s.\n\nPara conversar, toque no \"Verify\" botão e depois \"Start\":" + "joinverify.joinevents.userVerifyTimed": "Hey %s bem-vindo ao%s.\n\nPara conversar, pressione o botão de \"Verificar\" e então \"Iniciar\". De outra forma, você será banido em %s minutos:" + "joinverify.joinevents.botVerify": "%s é um bot.\n\nUm administrador pode pressionar \"Trust\" abaixo para permitir o envio de mensagens:" + "joinverify.joinevents.botVerifyTimed": "%s é um bot.\n\nUm administrador pode pressionar \"Trust\" abaixo para permitir o envio de mensagens, caso contrário, será banido em %s minutos." + "joinverify.joinevents.userVerified": "%s tem que se verificaram como humanos." + + # ⚠️ IMPORTANT + "joinverify.preverify.callbacks": { + "success": "Clique no Link de Convite temporário abaixo para se unir ao grupo:\n%s\n\nse você foi banido desse grupo, você não será capaz de entrar novamente" + "successAnswerText": "Sucesso! Use o Link de Convite para Entrar!" + "memberCount": "Este grupo tem atualmente %s membros" + } + + "joinverify.preverify.error.preVerifyInvalid": "O Link de convite do PreVerify é inválido ou o grupo desativou o JoinVerify." + "joinverify.preverify.error.joinLockEnabled": "Este grupo atualmente tem JoinLock habilitado, por favor tente novamente mais tarde." + "joinverify.preverify.error.alreadyVerified": "Você já foi verificado anteriormente como humano.\n\n%s" + "joinverify.preverify.error.notAvailable": "Join Verify não está habilitado agora, deve ser habilitado antes que você possa usar PreVerify:" + + "joinverify.preverify.steps": { + "one": "✴️ 1. Encaminhar a mensagem acima (respondida) para um canal público onde %s é um administrador.\n2. Toque ou clique com o botão direito na mensagem encaminhada e Copy Link\n3. Envie o link público copiado para este chat.\n\nO link deve ser parecido com este:\nhttps://t.me/CalsiBotDev/99999" + "oneError.noVerificationString": "❌ Não foi possível encontrar a string de verificação necessária na postagem. Certifique-se de que a postagem vinculada seja a mensagem de verificação de propriedade que você encaminhou." + "oneError.urlFormat": "❌ O link que você enviou não parece correto. Deve ser assim:\nhttps://t.me/CalsiBotDev/99999" + "oneError.targetIsNotChannel": "❌ O link que você forneceu é para um grupo público.\n\nPreVerify é projetado para uso apenas com canais públicos." + "oneError.cantSendPost": "❌ Não foi possível enviar a mensagem, certifique-se %s é um administrador com permissões suficientes em %s.%s" + "oneSuccess": "✅ Okay, postado com sucesso!\n\nVer https://t.me/%s/%s para o post!\n\nPara proteger totalmente o seu grupo, você deve revogar todos os links de convite anteriores. Você pode fazer isso por:\n1. Revogando seu convite pessoal Link\n2. Rebaixar e promover novamente todos os seus administradores (exceto CalsiBot). Isso revogará todos os links de convite que eles compartilharam." + } + + "joinverify.preverify.imageText": { + "title": "Para entrar no grupo:" + "stepOne": "Tocar Verify, depois Start" + "stepTwo": "Passe o teste" + "stepThree": "Junte-se ao grupo!" + } + + "joinverify.preverify.main": "%s%s é protegida pela PreVerify." + "joinverify.preverify.verificationMessage": "Esta mensagem é para verificar a propriedade deste canal para o recurso PreVerify do CalsiBot.\n\n%s" + "joinverify.preverify.setUpCancelled": "Configuração de PreVerify cancelada." + + + /* --------------------------------------------------------------------- + JoinLimit - Used for /JoinLimit + --------------------------------------------------------------------- */ + "joinlimit.joinevents.userLimited": "%s foi restrito %s porque /JoinLimit está habilitado." + "joinlimit.joinevents.userLimitedTimed": "%s foi restrito %s até %s (UTC) porque /JoinLimit está habilitado." + "joinlimit.joinevents.signature": " foi restrito " + + + /* --------------------------------------------------------------------- + Marry - Used for /Marry, /Divorce, etc. + --------------------------------------------------------------------- */ + "marry.marriage": "Casamento" + "marry.callbacks": { + "waitForDecisionAnswerText": "😶 Você tem que esperar por %s para escolher uma opão..." + "userNotInvolvedAnswerText": "🙄 Pare de interferir nos relacionamentos de outras pessoas, %s." + + "proposalAccepted": "💝 %s e %s casaram entre si! 🎉\n(aconteceu %s %s tão rápido)\n\n%s\n\nVeja seu /MarryStats" + "proposalAcceptedAnswerText": "💝 Parabéns! 🎉" + "proposalRejected": "🤕 %s foi rejeitado por %s\n(aconteceu %s %s tão rápido)\n\n%s\n\nVeja seu /MarryStats" + "proposalRejectedAnswerText": "🤕 Ai." + } + + "marry.result.childPlural": { + "zero": "filhos" + "one": "filho" + "other": "filhos" + } + "marry.result.housePlural": { + "zero": "casas" + "one": "casa" + "other": "casas" + } + + "marry.result.bothGainedHappiness": "🙂 Ambos ganharam %s felicidade cada um." + "marry.result.oneLostHappiness": "🙂 %s perdeu %s felicidade." + + "marry.result.bothGainedChildren": "🥺 Ambos ganharam %s %s cada um." + "marry.result.oneTookChildrenFrom": "🥺 %s levou %s %s de %s." + "marry.result.noChildrenGained": "🚫 Não tiveram crianças dessa vez." + + "marry.result.bothGainedHouses": "🏠 Ambos ganharam %s %s cada um." + "marry.result.oneTookHousesFrom": "🏠 %s levou %s %s de %s." + "marry.result.noHousesGained": "🚫 Não tiveram casas dessa vez." + + "marry.result.bothGainedNetWorth": "💰 Ambos ganharam $%s cada um." + "marry.result.oneTookNetWorthFrom": "💰 %s levou $%s de %s." + "marry.result.noNetWorthGained": "🚫 Nenhum patrimônio líquido ganho desta vez." + + "marry.help": "💍 Responda a alguém que você gosta muito com /marry para tornar oficial." + + "marry.error.cooldown": "Você deve esperar 1 minuto entre cada vez que você checar o status.\n\n%s" + + "marry.self": "Você não pode se casar consigo mesmo, mesmo que ninguém mais te queira..." + "marry.main": "💘 %s Te propôs casamento!" + "marry.CalsiBot": "Me desculpe, mas eu já estou casado com meu trabalho... 🥺" + + "marry.divorce.help": "💔 Não está mais sentido amor? /divorce pode ser usado para se separar da pessoa com quem você estava anteriormente casado." + + "marry.divorce.error.notMarried": "😐 Você não está atualmente casado com %s, então você não pode se divorciar..." + + "marry.divorce.self": "Você quis dizer:\n/kms" + "marry.divorce.main": "🖤 %s se divorciou de %s\n(aconteceu %s %s tão rápido)\n\nCasado por: %s\n\n%s\n\nVeja seu /MarryStats" + "marry.divorce.CalsiBot": "Vamos ver o que meus advogadis dizem sobre isso... 🤧" + + "marry.marrystats.error.noData": "🥺 %s nunca foi casado." + "marry.marrystats.error.noMutualData": "😶 %s nunca se casou com %s." + + "marry.marrystats.CalsiBot": "Ao contrário de você, CalsiBot é puro e não tem histórico de casamento." + + "marry.marrystats.own.information": "💖 %s – Status de Casamento – 1️⃣:\n\n🙂 - Felicidade: %s\n🥺 - Crianças: %s\n🏠 - Casas: %s\n💰 - Patrimônio Líquido: $%s" + "marry.marrystats.own.marriages": "💖 %s – Status de Casamento – 2️⃣:\n\n❤️ Casamentos:\nSolicitações aceitas na maioria por %s\nRequests rejected most by %s\nCasado: %s | Rejeitado: %s" + "marry.marrystats.own.divorces": "💖 %s – Status de Casamento – 3️⃣:\n\n🖤 Divórcios:\nDivorciado de %s em maioria\nTotal: %s" + + + /* --------------------------------------------------------------------- + Permaban - Used for /Permaban, /UnPermaban + --------------------------------------------------------------------- */ + "permaban.permaban": "Permaban" + + "permaban.callbacks": { + "userPermabanned": "Este usuário foi banido permanentemente por %s" + "userPermabannedAnswerText": "Usuário banido permanentemente" + "userAlreadyPermabanned": "Este usuário já está banido permanentemente." + "userAlreadyPermabannedAnswerText": "Usuário Já Banido Permanentemente" + + "userUnPermabanned": "Este usuário foi desbanido permanentemente por %s" + "userUnPermabannedAnswerText": "Usuário desbanido permanentemente" + "userAlreadyNotPermabanned": "Este usuário já não está permanentemente banido." + "userAlreadyNotPermabannedAnswerText": "Usuário já não está banido permanentemente" + } + + "permaban.replyHint": "Responda ao usuário que você deseja permaban" + + + /* --------------------------------------------------------------------- + Restrict - Used for /restrict, /unrestrict, /unban + --------------------------------------------------------------------- */ + "restrict.restricted": "restrito" + + "restrict.callbacks": { + "restrictionsReset": "As restrições foram redefinidas por %s" + "restrictionsUpdated": "Restrições atualizadas por %s" + "restrictCancelled": "/restrict cancelada por %s" + } + + "restrict.info": { + "messages": "Controla se o usuário pode enviar qualquer mensagem." + "media": "Controla se o usuário pode enviar áudio, documentos, fotos, vídeos, notas de vídeo e notas de voz." + "stickergifs": "Controla se o usuário pode enviar animações, jogos, adesivos e usar bots inline." + "linkpreviews": "Controla se o usuário pode adicionar visualizações de link às suas mensagens." + } + + "restrict.types": { + "messages": "de enviar qualquer mensagem aqui" + "media": "de enviar qualquer mensagem de mídia aqui" + "stickergifs": "de enviar adesivos ou GIFs aqui" + "linkpreviews": "de adicionar qualquer visualização de link às suas mensagens" + } + + "restrict.success": "%s agora foi restrito %s por %s" + "restrict.successTimed": "%s agora foi restrito %s até %s (UTC) por %s" + "restrict.replyHint": "Responder ao usuário cujas restrições você deseja editar" + + "restrict.main": "Use os botões de alternância abaixo para escolher o que %s pode enviar aqui:" + "restrict.mainTimed": "Use os botões de alternância abaixo para escolher o que %s pode enviar aqui:\n\nAs restrições irão expirar automaticamente em:\n%s %s" + + + /* --------------------------------------------------------------------- + Warn - Used for /warn, /Warns, /MyWarns + --------------------------------------------------------------------- */ + "warn.warned": "avisado" + "warn.checkWarnsOf": "verifique os avisos de" + + "warn.callbacks": { + "warnRemovedBy": "O aviso foi removido por %s" + "warnRemovedAnswerText": "Aviso Removido!" + "noWarns": "Este usuário não possui avisos atualmente" + "noWarnsToRemoveAnswerText": "Sem Avisos para Remover" + "noWarnsToShowAnswerText": "Sem Avisos para Mostrar" + "previousWarns": "Avisosdesse usuário" + "previousWarnsAnswerText": "Avisos Anteriores Carregados" + "confirmRemoveAllWarns": "Tem certeza que quer remover todos os avisos desse usuário?" + "confirmRemoveAllWarnsAnswerText": "Tem Certeza?" + "allWarnsRemovedBy": "All of this user's previous warns have been removed by %s" + "allWarnsRemovedAnswerText": "Avisos Anteriores Removidos" + "chooseMaxWarnsValue": "At which number of warns should a user be banned?" + "chooseMaxWarnsValueAnswerText": "Select a Value" + "maxWarnsValueChangedBy": "Max Warn changed from %s to %s by %s" + "maxWarnsValueChangedAnswerText": "New Max Warn Set" + } + + "warn.noReasonGiven": "Sem razão dada" + + "warn.replyHint": "Reply to the user who you want to warn, e.g:\n\n/warn, or\n/warn <reason here>" + + "warn.success": "%s foi advertido por %s.%s\n\n%s de %s advertências" + "warn.userBanned": "%s was banned. Reached %s out of %s warns" + "warn.myWarns": "Advertências por %s:" + "warn.noWarns": "Sem advertências, muito esperto." + + + /* --------------------------------------------------------------------- + Start - Used for /start + --------------------------------------------------------------------- */ + # ⚠️ IMPORTANT + "start.error.JoinVerifyWrongUser": "That button wasn't meant to be pressed by you.\n\nBut hey, now that you're here:" + "start.error.JoinVerifyExpired": "Sorry, your Join Verify Request has expired.\n\nPlease re-join the group and try again." + "start.main": + ''' + Hey %s, eu sou %s! + + ✴️ I keep your group safe from evil and also have tons of other cool features like translations. + + Ferramentas mais utilizadas de Administração de Grupos: + /JoinVerify + /restrict, /warn, /JoinLock, and /JoinLimit + + Veja outros comandos: + /ListCommands + ''' + + + /* --------------------------------------------------------------------- + Misc - A mix of other commands + --------------------------------------------------------------------- */ + "misc.boi.self": "Imagine unironically trying to /boi yourself..." + "misc.boi.main": "You have been visited by the mighty hand of roasts. Go to your corner and think about the bullshit you've said." + "misc.boi.CalsiBot": "boiii, do you even know what you just tried to do!? 😡😤" + + "misc.denko.main": + ''' + (´・ω・`) + ''' + + "misc.huh.main": "huh" + + "misc.judge.main.truth": "%s está falando a verdade." + "misc.judge.main.lying": "%s está mentindo!" + "misc.judge.CalsiBot": "Eu estou além do julgamento." + + "misc.coin.main.heads": "%s jogou uma moeda!\n\nDeu cara!" + "misc.coin.main.tails": "%s jogou uma moeda!\n\nDeu coroa!" + + "misc.covfefe.tooLong": "❌ Muito longo. ☕😐" + "misc.covfefe.replyHint": "Responda à mensagem que você quer covfefe!" + + "misc.spurdo.tooLong": "❌ too lonk :dd 🥺" + "misc.spurdo.replyHint": "reply to de meszage you wand to spurdo-fy :DD" + + "misc.listcommands.main": + ''' + Quase todos os comandos do CalsiBot: + + Comfy Commands: + /hug, /cuddle, /snuggle, /ruffle + /pat, /poke, /highfive + + Games: + /fish, /marry, /divorce + + Game Commands: + /slap, /wish, /judge, /coin (/flip) + /roll, /dox + /kms, /kys, /kos + + Group Admin Commands: + /kick, /kickme, /ban, /permaban + /mute (/restrict), /unrestrict (/unban), /warn + /pin, /unpin, /title, /chatname, /pfp + /SetWelcome, /RemoveWelcome + /JoinLimit, /JoinLock + /JoinVerify, /PreVerify + + Text Modification Commands: + /covfefe, /spurdo, /emojify + + Outros: + /boi, /denko, /huh + /name, /me, /edgy + "sed" (text switching/replacement) + + Useful Functions: + /stickers, @admin, /language + /translate (/tr), /when, /count + ''' + + # ℹ️ Example: It's + # Alex Wayne" + "misc.name.main": "It's:\n%s" + + "misc.me.main": + ''' + Info Card for %s: + + Username: %s + User ID: %s + Chat ID: %s + ''' + + "misc.wish.help": + ''' + You can use /wish as a general Wishing Well of sorts + + For example: + /wish I could date you 😍, or + /wish that sushi was 🍣 in /emojify, or + /wish I had someone to /cuddle at night... + ''' + + "misc.wish.main": "Your wish has been cast. ✨\n\nchance of success: %s%" + + "misc.adminmode.help": "Admin Mode allows you to disable all CalsiBot commands that are not related to Group Administration" + "misc.adminmode.sorry": "Sorry, Admin Mode is Enabled so you can't use this command here...\n\n%s" + + "misc.sedreplace.main": "Você quis dizer:" + + "misc.pfp.help": "Reply to a compressed image (not sent as a file) which you want to set as the group profile picture" + + "misc.slap.CalsiBot": "You can't slap me, that's just not how this works..." + + "misc.when.forwardMain": "📅 Originally posted on %s at %s (UTC)\n\n⏳ That's %s ago." + "misc.when.otherMain": "⏳ This message was sent %s ago." + "misc.when.otherEdit": "\n\n✏️ Last edited %s ago." + "misc.when.help": "Reply to any message to see how long it's been since it was posted - down to the second.\n\nFor forwarded messages, I'll tell you when the original message was first posted." + + "misc.count.main": "Since being made, this supergroup has had %s messages in total, including yours" + + "misc.pin.help": "/pin allows you to easily set, or change the chat's pin without stupid menus\n\nStill unsure how to use it? Tap the button below to see an example:" + "misc.pin.main": "Reply to a compressed image (not sent as a file) which you want to set as the group profile picture" + + # ℹ️ Example: Couldn't find any\n- non-animated sticker 😕\n\nTry again with a different message. + "misc.fileIDSearch.error.noUsableFileFound": "Couldn't find any:\n%s. 😕\n\nTry again with a different message." + + # ℹ️ Example: Come over here, get on your knees, and translate this 😏 + "misc.knees.main": "Come over here, get on your knees, and %s this %s" + + + /* --------------------------------------------------------------------- + Language - Used for /language + --------------------------------------------------------------------- */ + # ℹ️ NOTE: This should be the native name of the language. + "language.name": "Português" + "language.main": "Seu idioma está atualmente definido como:\n%s" + "language.credit": "This translation is made possible by the hard work of the following people:\n" + # ℹ️ NOTE: The contributors string should NOT be changed by anyone other than me, or those who are already listed + # as contributors. + # + # By default, let's use id-mentions here instead of usernames for privacy reasons, but if you'd prefer to + # be credited by username or something else, feel free to change your tag here - or ask me to do it. + # + # This list of names should be in order of contribution size and frequency, taking into account age of last + # contribution. + "language.credit.activeContributors": "Calsï" + + "language.callbacks": { + "chooseYourLanguage": "Escolha seu idioma:" + "changedBy": "Idioma alterado do %s para o %s por %s" + "changedByAnswerText": "Idioma alterado" + "languageAlreadySetAnswerText": "%s já está definido como o idioma do grupo" + } + + + /* --------------------------------------------------------------------- + Emojify - Used for /emojify + --------------------------------------------------------------------- */ + "emojify.error.tooLong": "❌ Muito longo. 🍆😐" + "emojify.error.replyToHuman": "Nah 🚫 fam 😂\n\nReply 💬 to a human 👤" + "emojify.replyHint": "🙈 Reply 💬 to the 👏 text 📲 you 👈 want 👏 to emojify!" + + + /* --------------------------------------------------------------------- + Translate - Used for /tr, /translate + --------------------------------------------------------------------- */ + "translate.error.notALanguage": "Desculpe, '%s' não é um idioma, ou não possui suporte" + "translate.replyHint": "Reply to the text you want to translate!" + + + /* --------------------------------------------------------------------- + Roll - Used for /roll + --------------------------------------------------------------------- */ + "roll.singlesArray": [ + "Singles :(" + ":( single, like you." + "._." + "REEEEEEEEE" + "rip u" + "(((they))) did this" + "feelsbadman.gaypg" + ] + + # ℹ️ Example: You Got Septuples! + "roll.main": "You Got %s" + + + /* --------------------------------------------------------------------- + Dox - Used for /dox + --------------------------------------------------------------------- */ + "dox.result": + ''' + Dox de %s: + +
Gênero: %s
+  Data de nascimento: %s
+  Endereço: %s, %s
+  Emprego: %s
+
+  IP Atual: %s
+  SSN: %s
+  Número de Telefone: %s
+ ''' + + "dox.gendersArray": [ + "garoto" + "garota" + "e-boy" + "e-girl" + "puta" + "vadia" + "fuckboy" + "idk 😳" + ] + + + /* --------------------------------------------------------------------- + AtAdmin - Used for @admin, @admins + --------------------------------------------------------------------- */ + # ℹ️ NOTE: The last %s may look useless here, but it will hold the 'mentions' to the group's admins + "atAdmin.main": "%s invocou administradores para olharem para esta mensagem.%s" + + "atAdmin.callbacks": { + "chooseAction": "Selecione as ações que deseja realizar com os botões de alternância abaixo:" + "chooseActionAnswerText": "Selecione Uma Ação" + "ignoreAnswerText": "Relatório Ignorado" + "actionTakenAnswerText": "As ações que você selecionou foram tomadas" + } + + "atAdmin.info": { + "delete": "A mensagem reportada deve ser removida? Note que bots são incapazes de remover mensagens mais velhas que 48h..." + "ban": "O usuário reportado deve ser banido?" + } + + + /* --------------------------------------------------------------------- + Stickers - Used for all /sticker commands + --------------------------------------------------------------------- */ + "stickers.defaultPackTitle": "%s's Favorites" + "stickers.acceptableFileTypes": "- compressed photo,\n- uncompressed photo (<15 MB),\n- non-animated sticker" + "stickers.main": "Create, Manage and Add to Sticker Packs with the following commands:\n\n/newpack — make a new pack\n/listpacks — list your packs and their IDs\n/removepack — unlink a pack from CalsiBot\n\n/addsticker — add image or sticker to a pack\n/deletesticker — delete sticker from a pack\n\nExpert usage:\n\n/addsticker 3 — add image or sticker to pack with ID 3\n/addsticker 🥳🙂😉 — create sticker and suggest it when using any of these three emoji\n/addsticker 3 🥳🙂😉 — create sticker and add to pack 3, suggest it when using any of these three emoji" + "stickers.beingAdded": "⏳ Your sticker is being added, please wait..." + "stickers.beingAddedQueued": "⏳ Your sticker will be added in %s, please wait..." + "stickers.beingAddedSuccess": "🥳 Your sticker has been added!\n\nif you don't see it, remove and re-add the Sticker Pack:" + "stickers.beingDeleted": "This sticker has been removed.\n\nit may take up to 2 minutes to disappear:" + "stickers.letsCreateAPackInPrivate": "Sticker Packs must be created in private, let's go:" + "stickers.removeOnlyInPrivate": "Sticker Packs can only be removed in private, let's go:" + "stickers.seeAllCommandsHint": "Send /stickers to see all commands and info." + "stickers.whichPackShouldBeAddedTo": "Which pack should the sticker be added to?\n\n%s" + + "stickers.callbacks": { + "confirmStickerPackCreate": "Your Sticker Pack will have the following title:\n\n%s\n\n⚠️ You will not be able to change this later.\n\nPress Cancel to choose a different title." + "cancelStickerPackCreate": "Okay, choose a different title and try again. For example:\n\n/newpack %s" + "stickerPackCreateSuccess": "Your Sticker Pack has been created!\n\nYou can now reply to images and stickers with /addsticker to add them to your pack\n\n%s" + "confirmStickerPackRemove": "⚠️ Your Sticker Pack will be disconnected from CalsiBot.\n\nYou won't be able to update this pack with CalsiBot ever again.\n\nAre you sure you want to remove this pack?" + "cancelStickerPackRemove": "Okay, pack was not removed." + "stickerPackRemoveSuccess": "Your Sticker Pack has been removed from CalsiBot.\n\nTo fully delete it, talk to @Stickers" + "cancelAddEmojiToMessage": "Okay, you can specify a different emoji yourself. For example:\n\n%s" + } + + "stickers.listPacks": "Your Packs:\n\n%s\n\n%s" + "stickers.listPacksFill": "%s — %s" + "stickers.validStickerPacksAre": "Valid Sticker Pack IDs are:\n%s" + + "stickers.error": { + "noTitleGiven": "You must specify a title. For example:\n\n/%s %s" + "noPackGiven": "You must specify a pack. For example:\n/%s %s\n\n%s" + "noEmojiGiven": "Please choose an emoji below\n\nPress Cancel to specify your own:\n%s" + "noStickerPacks": "You don't have any Sticker Packs.\n\n%s" + "specifiedPackDoesNotExist": "Could not find Sticker Pack %s\n\n%s" + "packLimitReached": "You have reached the limit of %s Sticker Packs.\n\nIf you want to make a new pack, you must use /removepack to remove one first." + "addStickerReplyHint": "Reply to an image or sticker which you want to add to a sticker pack." + "deleteStickerReplyHint": "Reply to a sticker from one of your packs which you want to delete." + } + + + /* --------------------------------------------------------------------- + Herd - Used for /herd, /hkick, /hban, /hunban + --------------------------------------------------------------------- */ + "herd.join.main": "Your Herd Join Request has been generated. It will only last for a short time.\n\nSend this message to a Herd admin who must accept you by sending the command below in the Herd HQ chat:\n/herd join %s" + "herd.join.success": "Your Herd request has been accepted! This group is now a member of this Herd:\n%s\n\n⚖️ A public record of this Herd's data can be found on GitHub here.\n\nActions Herd admins take will overrule your admin's decisions.\n\nYou can /herd leave at any time.%s" + "herd.join.hq.success": "%s has now been added to this Herd.\n\nThere are now %s Herd members." + "herd.join.error": { + "alreadyInHerd": "This group is already a member of this Herd:\n%s\n\nYou must /herd leave to join a new Herd." + "invalidHerd": "The Herd you provided does not exist, or you didn't provide a Herd. Your command should look like this:\n/herd join herd-id-here" + "invalidToken": "The token you provided has expired, or you didn't provide a token.\n\nThis group owns a Herd, so it can use /herd join token-here to accept other groups into the Herd.\n\nOther groups who want to join your Herd can send:\n/herd join %s to generate their token." + "memberLimit": "This Herd:\n%s\n\nHas reached the maximum number of allowed members (25). Other members must leave before you can join." + } + + "herd.leave.success": "This group is no longer a member of this Herd:\n%s\n\nYou can /herd join herd-id-here a different Herd at any time." + + "herd.create.main": "⚠️ Read all of the following text:\n\n- It is highly recommended that you make a new group to serve as the base for your Herd!\n- This allows you to manage Herd admins completely independently of any existing group structures you have.\n\nIf you are already sending this command in a new group, then send the following command to create your Herd:\n/herd create %s" + "herd.create.success": "Success! This group now owns and is a member of this Herd:\n%s%s" + "herd.create.successGuidance": "\n\nA public record of this Herd's data will be uploaded to GitHub here.\n\nPeople in this group who can ban users, will be able to use /hban and /hunban in this group and any other that is a member of this Herd.\n\nYou must respect the people who join your Herd by appointing good admins, and not abusing trust." + "herd.create.error": { + "alreadyInHerd": "This group is already a member of this Herd:\n%s\n\nYou must /herd leave to establish a new Herd that this group owns." + } + + "herd.orphan.main": "⚠️ Orphaning a Herd is serious! Here are some recent statistics for your Herd:\n\nHerd Members: %s\nTotal Bans: %s\n\nSend the following command to confirm:\n/herd orphan %s\n\nIf you'd still like to go forward with orphaning this Herd:\n%s" + "herd.orphan.success": "This group has orphaned this Herd:\n%s" + + "herd.main": "Herds allow you to link together groups you own or groups with similar rules and share kicks, bans, and unbans between all of them, seamlessly.\n\n/herd join herd-id-here - join a Herd\n/herd leave - leave your current Herd\n/herd create - create a new Herd\n/herd orphan - abandon a Herd you created" + "herd.error": { + "cooldown": "A previous Herd action is still being processed for this user, please try again in a while." + "notInHerd": "This group is not in a Herd, so this command can't be used." + "isHerdOwner": "This group owns and is a member of this Herd:\n%s\n\nIf you'd like to make a new Herd and abandon this one, you can use:\n/herd orphan." + "isNotHerdOwner": "This group is not the owner of this Herd:\n%s." + "hqChatNotAccessible": "⚠️ Something is wrong. Please ensure that %s is both a member and admin of the Herd HQ chat.\n\nIf this error keeps occuring, the Herd has probably been adandoned and it is recommended that you:\n/herd leave" + } + + "herd.ban": { + "ban.main": "%s will be banned across all groups in the Herd below, where they are not an admin:\n%s\n\nUse /hunban to undo" + "ban.hq.main": "%s has banned %s\n\nReason:\n%s" + "unban.main": "%s will be unbanned across all groups in Herd:\n%s\n\nUse /hban to undo" + "unban.hq.main": "%s has unbanned %s\n\nReason:\n%s" + } + "herd.ban.error": { + "alreadyBanned": "This user is already banned in Herd:\n%s" + "alreadyNotBanned": "This user is already not banned in Herd:\n%s" + "userIsHerdAdmin": "You can't do anything to %s in this Herd because they're a member of its Herd HQ chat." + "reasonMandatory": "You must provide a reason for Herd actions, for example:\n/%s reason here" + "needToBeAdminAttachment": "\n\nIn Herd:\n%s" + } +}