Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.

pt-BR (Brazilian portuguese) translation #227

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 201 additions & 0 deletions languages/pt-BR.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
const { Language, util } = require('klasa');

module.exports = class extends Language {
constructor(...args) {
super(...args, { enabled: true });

this.language = {
DEFAULT: (key) => `${key} não foi encotrada para pt-BR ainda.`,
DEFAULT_LANGUAGE: 'Idioma padrão',
PREFIX_REMINDER: (prefix = `@${this.client.user.tag}`) => (Array.isArray(prefix)
? `Os prefixos para esta guilda são: ${prefix.map((pre) => `\`${pre}\``).join(', ')}`
: ` O prefixo para esta guilda é: \`${prefix}\``
),
SETTING_GATEWAY_EXPECTS_GUILD: 'O parâmetro \'<Guild>\' espera tanto uma Guilda ou um \'Guild Object\'.',
SETTING_GATEWAY_VALUE_FOR_KEY_NOEXT: (data, key) => `O valor ${data} para a chave ${key} não existe.`,
SETTING_GATEWAY_VALUE_FOR_KEY_ALREXT: (data, key) => `O valor ${data} para a chave ${key} já existe.`,
SETTING_GATEWAY_SPECIFY_VALUE: 'Você deve especificar o valor para adicionar no filtro.',
SETTING_GATEWAY_KEY_NOT_ARRAY: (key) => `A chave ${key} não é um 'array'.`,
SETTING_GATEWAY_KEY_NOEXT: (key) => `A chave ${key} não existe no esquema atual.`,
SETTING_GATEWAY_INVALID_TYPE: 'O tipo do parâmetro deve ser tanto um \'add\' ou \'remove\'.',
SETTING_GATEWAY_INVALID_FILTERED_VALUE: (piece, value) => `${piece.key} não aceita o valor: ${value}`,
RESOLVER_MULTI_TOO_FEW: (name, min = 1) => `Forneceu poucos ${name}s. Pelo menos ${min} ${min === 1 ? 'é requirido' : 'são requiridos'}.`,
RESOLVER_INVALID_BOOL: (name) => `${name} deve ser 'true' ou 'false'.`,
RESOLVER_INVALID_CHANNEL: (name) => `${name} deve ser um 'channel tag' ou um id de canal válido.`,
RESOLVER_INVALID_CUSTOM: (name, type) => `${name} deve ser um válido ${type}.`,
RESOLVER_INVALID_DATE: (name) => `${name} deve ser uma data válida.`,
RESOLVER_INVALID_DURATION: (name) => `${name} deve ser uma válida 'duration string'.`,
RESOLVER_INVALID_EMOJI: (name) => `${name} deve ser um 'emoji tag' customizado ou um válido id de emoji.`,
RESOLVER_INVALID_FLOAT: (name) => `${name} deve ser um número válido.`,
RESOLVER_INVALID_GUILD: (name) => `${name} deve ser um 'guild id' válido.`,
RESOLVER_INVALID_INT: (name) => `${name} deve ser um inteiro.`,
RESOLVER_INVALID_LITERAL: (name) => `Sua opção não correspondeu a única possível: ${name}`,
RESOLVER_INVALID_MEMBER: (name) => `${name} deve ser uma menção ou um id de usuário válido.`,
RESOLVER_INVALID_MESSAGE: (name) => `${name} deve ser um id de mensagem válido`,
RESOLVER_INVALID_PIECE: (name, piece) => `${name} deve ser um nome ${piece} válido.`,
RESOLVER_INVALID_REGEX_MATCH: (name, pattern) => `${name} deve seguir este padrão de regex \`${pattern}\`.`,
RESOLVER_INVALID_ROLE: (name) => `${name} deve ser uma menção de cargo ou um id.`,
RESOLVER_INVALID_STRING: (name) => `${name} deve ser uma 'string' válida.`,
RESOLVER_INVALID_TIME: (name) => `${name} deve ser uma duração válida ou 'date string'.`,
RESOLVER_INVALID_URL: (name) => `${name} deve ser uma url válida.`,
RESOLVER_INVALID_USER: (name) => `${name} deve ser uma menção ou um id de usuário válido.`,
RESOLVER_STRING_SUFFIX: ' caracteres',
RESOLVER_MINMAX_EXACTLY: (name, min, suffix) => `${name} deve ser exatamente ${min}${suffix}.`,
RESOLVER_MINMAX_BOTH: (name, min, max, suffix) => `${name} deve estar entre ${min} e ${max}${suffix}.`,
RESOLVER_MINMAX_MIN: (name, min, suffix) => `${name} deve ser maior que ${min}${suffix}.`,
RESOLVER_MINMAX_MAX: (name, max, suffix) => `${name} deve ser menor que ${max}${suffix}.`,
REACTIONHANDLER_PROMPT: 'Para qual página você gostaria de ir?',
COMMANDMESSAGE_MISSING: 'Faltando um ou mais argumentos ao fim do comando.',
COMMANDMESSAGE_MISSING_REQUIRED: (name) => `${name} é um argumente necessário.`,
COMMANDMESSAGE_MISSING_OPTIONALS: (possibles) => `Faltando as seguintes opções: (${possibles})`,
COMMANDMESSAGE_NOMATCH: (possibles) => `Sua opção não correspondeu com nenhuma das possibilidades: (${possibles})`,
MONITOR_COMMAND_HANDLER_REPROMPT: (tag, error, time, abortOptions) => (
`${tag} | **${error}** | Você tem **${time}** segundos para responder para este 'prompt' com um argumento válido.`
+ ` Digite **${abortOptions.join('**, **')}** para abortar este 'prompt'.`),
MONITOR_COMMAND_HANDLER_REPEATING_REPROMPT: (tag, name, time, cancelOptions) => (
`${tag} | **${name}** é um argumento repetido | Você tem **${time}** segundos para responder para este`
+ ` 'prompt' com argumentos válidos adicionais. Digite **${cancelOptions.join('**, **')}** para cancelar`
+ 'este \'prompt\'.'),
MONITOR_COMMAND_HANDLER_ABORTED: 'Abortado',
INHIBITOR_COOLDOWN: (remaining, guildCooldown) => (
`${guildCooldown ? 'Alguém' : 'Você'} já utilizou este comando. Você poderá o utilizar`
+ ` novamente em ${remaining} segundo${remaining === 1 ? '' : 's'}.`),
INHIBITOR_DISABLED_GUILD: 'Este comando foi desabilitado por um administrador desta guilda.',
INHIBITOR_DISABLED_GLOBAL: 'Este comando foi desabilitado globalmente pelo dono do bot.',
INHIBITOR_MISSING_BOT_PERMS: (missing) => `Permissões insuficientes, faltando: **${missing}**`,
INHIBITOR_NSFW: 'Você pode apenas usar comandos \'NSFW\' em canais \'NSFW\'.',
INHIBITOR_PERMISSIONS: 'Você não tem permissão para utilizar este comando.',
INHIBITOR_REQUIRED_SETTINGS: (settings) => (`A guilda está faltando ${settings.length !== 1 ? 'as configuraçãos' : 'a configuração'}`
+ `**${settings.join(', ')}** e por isso este comando não irá rodar.`),
INHIBITOR_RUNIN: (types) => `Este comando está apenas disponível em canais do tipo ${types}.`,
INHIBITOR_RUNIN_NONE: (name) => `O comando ${name} não está configurado para rodar em qualquer canal.`,
COMMAND_BLACKLIST_DESCRIPTION: '\'Blacklists\' ou \'un-blacklists\' de usuários e guildas do bot.',
COMMAND_BLACKLIST_SUCCESS: (usersAdded, usersRemoved, guildsAdded, guildsRemoved) => [
usersAdded.length ? `**Usuários adicionados**\n${util.codeBlock('', usersAdded.join(', '))}` : '',
usersRemoved.length ? `**Usuários removidos**\n${util.codeBlock('', usersRemoved.join(', '))}` : '',
guildsAdded.length ? `**Guildas adicionadas**\n${util.codeBlock('', guildsAdded.join(', '))}` : '',
guildsRemoved.length ? `**Guildas removidas**\n${util.codeBlock('', guildsRemoved.join(', '))}` : '',
].filter((val) => val !== '').join('\n'),
COMMAND_EVAL_DESCRIPTION: 'Avalia código Javascript arbitrariamente. Reservado apenas para o dono do bot.',
COMMAND_EVAL_EXTENDEDHELP: [
'O comando eval avalia código do jeito que está, qualquer erro providenciado será tratado.',
'Também usa o recurso de \'flags\'. Write --silent, --depth=number ou --async para customizar o resultado.',
'A \'flag\'--silent fará com resultado seja não seja mostrado.',
'A \'flag\' --depth aceita um número, por exemplo, --depth=2, para customizar \'util.inspect\'s depth\'.',
'A \'flag\' --async transformará o código um uma função async onde você pode utilizar \'await\', porém, se você não quiser retornar o resultado, você irá precisar a palavra reservada \'return\'.',
'A \'flag\' --showHidden irá habilitar a opção \'showHidden\' em \'util.inspect\'.',
'Caso o resultado seja muito grande, o resultado será mandado como arquivo, ou no console caso o bot não tiver a permissão \'ATTACH_FILES\'.',
].join('\n'),
COMMAND_EVAL_ERROR: (time, output, type) => `**Erro**:${output}\n**Tipo**:${type}\n${time}`,
COMMAND_EVAL_OUTPUT: (time, output, type) => `**Resultado**:${output}\n**Tipo**:${type}\n${time}`,
COMMAND_EVAL_SENDFILE: (time, type) => `Resultado era muito grande... foi enviado como arquivo.\n**Type**:${type}\n${time}`,
COMMAND_EVAL_SENDCONSOLE: (time, type) => `Resultado era muito grande... foi enviado no console.\n**Type**:${type}\n${time}`,
COMMAND_UNLOAD: (type, name) => `✅ Descarregado ${type}: ${name}`,
COMMAND_UNLOAD_DESCRIPTION: 'Descarrega um \'klasa piece\'.',
COMMAND_UNLOAD_WARN: 'Você provavelmente não quer desabilitar isto, já que você não poderia rodar um comando para a habilitar novamente',
COMMAND_TRANSFER_ERROR: '❌ Este arquivo já fora transferido ou nunca existiu.',
COMMAND_TRANSFER_SUCCESS: (type, name) => `✅ Transferido com sucesso ${type}: ${name}.`,
COMMAND_TRANSFER_FAILED: (type, name) => `Transferência de ${type}: ${name} para o 'Client' falhou. Por favor cheque seu console.`,
COMMAND_TRANSFER_DESCRIPTION: 'Transfere um \'core piece\' para sua respectiva pasta.',
COMMAND_RELOAD: (type, name, time) => `✅ Recarregado ${type}: ${name}. (Demorou: ${time})`,
COMMAND_RELOAD_FAILED: (type, name) => `❌ Falhou para recarregar ${type}: ${name}. Por favor cheque seu console.`,
COMMAND_RELOAD_ALL: (type, time) => `✅ Recerrado todos ${type}. (Demorou: ${time})`,
COMMAND_RELOAD_EVERYTHING: (time) => `✅ Recarregado tudo. (Demorou: ${time})`,
COMMAND_RELOAD_DESCRIPTION: 'Recarregado um \'klasa piece\', ou todos \'pieces\' de uma \'klasa store\'.',
COMMAND_REBOOT: 'Reiniciando...',
COMMAND_REBOOT_DESCRIPTION: 'Reinicia o bot.',
COMMAND_LOAD: (time, type, name) => `✅ Carregado com sucesso ${type}: ${name}. (Demorou: ${time})`,
COMMAND_LOAD_FAIL: 'O arquivo não existe, ou ocorreu um erro ao carregar o arquivo. Por favor cheque seu console.',
COMMAND_LOAD_ERROR: (type, name, error) => `❌ Falha ao carregar ${type}: ${name}. Motivo:${util.codeBlock('js', error)}`,
COMMAND_LOAD_DESCRIPTION: 'Carrega um \'piece\' de seu bot.',
COMMAND_PING: 'Ping?',
COMMAND_PING_DESCRIPTION: 'Roda um teste de conexão com o Discord.',
COMMAND_PINGPONG: (diff, ping) => `Pong! (Volta completa demorou: ${diff}ms. Batimento cardíaco: ${ping}ms.)`,
COMMAND_INVITE: () => [
`Para adicionar ${this.client.user.username} para sua guilda do discord:`,
`<${this.client.invite}>`,
util.codeBlock('', [
'O link acima é gerado requirindo o mínimo de permissões para utilizar todos os comandos atualmente.',
'Eu sei nem todas as permissões estão certas para todas as guilds, então não fique com medo de retirar o que achar necessário.',
'Se você tentar usar um comando que precisa de mais permissão do que o bot tem, ele irá lhe informar.',
].join(' ')),
'Por favor registre um \'issue\' em <https://github.com/dirigeants/klasa> caso você encontre algum bug.',
],
COMMAND_INVITE_DESCRIPTION: 'Mostra o link de vonite do bot, para o convidálo para sua guilda.',
COMMAND_INFO: [
'Klasa é um framework \'plug-and-play\' construído em cima do \'Discord.js library\'.',
'A maioria dos comandos é modularizado, que permite desenvolvedores editar o \'Klasa\' para servir a suas necessidades.',
'',
'Algums recursos do Klasa incluem:',
'• 🐇💨 Carregamento rápido com o suporte de ES2017 (`async`/`await`)',
'• 🎚🎛 Configurações por cliente/guilda/usuário que podem ser estendidas com seus próprios campos',
'• 💬 Sistema de comandos customizáveis com resolução de parâmetros automatizados e a habilidade de carregar/recarregar comandos \'on-the-fly\'',
'• 👀 "Monitors", os quais podem monitorar mensagens e edições (para filtro de palavrões, proteção contra spam, etc.)',
'• ⛔ "Inhibitors", os quais previnem comandos de rudar baseado em quaisquer condições que você aplicar (for permissions, blacklists, etc.)',
'• 🗄 "Providers", os quais simplificam de qualquer \'database\' de sua escolha',
'• ✅ "Finalizers", os quais rodam após um comando bem-sucedido (para logging, armazenar status, limpando respostas, etc.)',
'• ➕ "Extendables", os quais passivamente adicionam métodos, \'getters/setters\', ou \'static properties\' para uma classe existente do Discord.js ou Klasa',
'• 🌐 "Languages", as quais o permitem a modificar o idioma das respostas de seu bot',
'• ⏲ "Tasks", as quais podem ser agendadas para rodar no futuro, opicionalmente repetidamente',
'',
'Nós esperamos que o framework seja 100% customizável para que possa atendar a todas as audiências. Nós frequentemente atualizamos e corrigimos bugs quando disponível.',
'Se estiver interessado, confira https://klasa.js.org',
],
COMMAND_INFO_DESCRIPTION: 'Provê algumas informações sobre este bot.',
COMMAND_HELP_DESCRIPTION: 'Mostra ajuda para algum comando.',
COMMAND_HELP_NO_EXTENDED: 'Nenhuma ajuda extendida disponível.',
COMMAND_HELP_DM: '📥 | A lista de comandos os quais você tem acesso foi enviada no seu privado.',
COMMAND_HELP_NODM: '❌ | Você tem as mensagens privadas desabilitadas para este servidor então não consegui lhe enviar os comandos em seu privado.',
COMMAND_HELP_USAGE: (usage) => `Uso :: ${usage}`,
COMMAND_HELP_EXTENDED: 'Uso extendido ::',
COMMAND_ENABLE: (type, name) => `+ Habilitado com sucesso ${type}: ${name}`,
COMMAND_ENABLE_DESCRIPTION: 'Rehabilita ou temporiariamente habilita um comando/inibidor/monitor/finalisador. Estado padrão é restaurado no reinício.',
COMMAND_DISABLE: (type, name) => `+ Desabilitado com sucesso ${type}: ${name}`,
COMMAND_DISABLE_DESCRIPTION: 'Desabilita novamente ou temporiariamente desabilita um comando/inibidor/monitor/finalisador/evento. Estado padrão é restaurado no reinício.',
COMMAND_DISABLE_WARN: 'Você provavelmente não quer desabilitar aquilo, '
+ 'já que você não conseguiria rodar nenhum comando para habilitar novamente',
COMMAND_CONF_NOKEY: 'Você deve fornecer uma chave',
COMMAND_CONF_NOVALUE: 'Você deve fornecer um valor',
COMMAND_CONF_GUARDED: (name) => `${util.toTitleCase(name)} não pode ser desabilitado.`,
COMMAND_CONF_UPDATED: (key, response) => `Chave atualizada com sucesso **${key}**: \`${response}\``,
COMMAND_CONF_KEY_NOT_ARRAY: 'Esta chave não é um array. Ao invés utilize a ação \'reset\'.',
COMMAND_CONF_GET_NOEXT: (key) => `A chave **${key}** não parece que existe.`,
COMMAND_CONF_GET: (key, value) => `O valor da chave **${key}** é: \`${value}\``,
COMMAND_CONF_RESET: (key, response) => `A chave **${key}** foi restada para: \`${response}\``,
COMMAND_CONF_NOCHANGE: (key) => `O valor para **${key}** já era anteriormente o mesmo valor.`,
COMMAND_CONF_SERVER_DESCRIPTION: 'Define configurações por guild.',
COMMAND_CONF_SERVER: (key, list) => `**Configurações de guild${key}**\n${list}`,
COMMAND_CONF_USER_DESCRIPTION: 'Define configurações por usuário.',
COMMAND_CONF_USER: (key, list) => `**Configurações do usuário${key}**\n${list}`,
COMMAND_STATS: (...statsArgs) => {
const [
memUsage,
uptime,
users,
guilds,
channels,
klasaVersion,
discordVersion,
processVersion,
message,
] = statsArgs;
return [
'= Estatísticas =',
'',
`• Uso de ram :: ${memUsage} MB`,
`• Uptime :: ${uptime}`,
`• Usuários :: ${users}`,
`• Servidores :: ${guilds}`,
`• Canais :: ${channels}`,
`• Klasa :: v${klasaVersion}`,
`• Discord.js :: v${discordVersion}`,
`• Node.js :: ${processVersion}`,
`• Shard :: ${(message.guild ? message.guild.shardID : 0) + 1} / ${this.client.options.totalShardCount}`,
];
},
COMMAND_STATS_DESCRIPTION: 'Provê alguns detalhes sobre o bot e seu estado.',
MESSAGE_PROMPT_TIMEOUT: 'O prompt expirou.',
TEXT_PROMPT_ABORT_OPTIONS: ['abort', 'stop', 'cancel'],
};
}
};