Skip to content

Commit

Permalink
✨ Add portuguese
Browse files Browse the repository at this point in the history
  • Loading branch information
Androz2091 committed Mar 9, 2021
1 parent 07b6d4e commit 5540148
Show file tree
Hide file tree
Showing 4 changed files with 329 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/components/NavigationBar/LanguageMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<b-nav-item-dropdown :text="$t('lang.title')" right>
<b-dropdown-item @click="changeLanguage('en')">English (EN)</b-dropdown-item>
<b-dropdown-item @click="changeLanguage('fr')">Français (FR)</b-dropdown-item>
<b-dropdown-item @click="changeLanguage('pt')">Português (PT)</b-dropdown-item>
</b-nav-item-dropdown>
</template>

Expand Down
225 changes: 225 additions & 0 deletions src/locales/pt-BR.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
{
"BASE_BLOCKS": "Blocos de base",
"MESSAGE_RELATED_BLOCKS": "Bloqueios relacionados a mensagens",
"REPLY": "reply %1",
"LOGIN": "Conecte-se ao Discord com o token %1",
"LOGIN_TOOLTIP": "Conecte seu bot ao Discord. Para obter seu token de bot, vá para https://discord.com/developers/.",
"ON_MESSAGE": "Quando uma mensagem é recebida",
"ON_CONNECTED": "Quando o bot está conectado",
"ON_CONNECTED_TOOLTIP": "Evento emitido quando seu bot está conectado ao Discord.",
"MESSAGE_ID": "message ID",
"MESSAGE_CONTENT": "conteudo da mensagem",
"MESSAGE_AUTHOR": "autor da mensagem",
"MESSAGE_AUTHOR_RAW": "%1 do autor da mensagem",
"USERNAME": "apelido",
"NICKNAME": "sobrenome",
"GET_GUILD": "encontre servidor %1 usando %2",
"NAME": "nome",
"ADD_ROLE": "adicione cargo %1 do membro %2",
"BAN_MEMBER": "banir membro %1",
"KICK_MEMBER": "kicka membro %1",
"MESSAGE_GUILD": "servidor da mensagem",
"MESSAGE_CHANNEL": "canal da mensagem",
"BASIC_BLOCKS": "blocos basicos",
"ADVANCED_BLOCKS": "blocos avançados",
"MENTIONED_MEMBER": "membro mensianado",
"ADMINISTRATOR": "Administrator",
"DETECT_MESSAGES": "Detectar mensagem",
"MESSAGE_ACTIONS": "Ações na mensagem",
"RELATED_TO_MESSAGE_STRINGS": "Strings relacionadas à mensagem",
"DELETE_MESSAGE": "deleta a mensagem",
"RES_ADD_REACTION_MISSING_REACTION": "você precisa adiciona um emoji valido !",
"ADD_REACTION": "adiciona reação %1 para a mensagem",
"MESSAGE_EMBED": "Message Embed",
"COLOR": "cor",
"TITLE": "titulo",
"MESSAGE": "mensagem",
"IMAGE": "image",
"TOOLS": "ferramentas",
"CHECK_PERMISSIONS": "Verifique as permissões dos membros",
"MEMBER_HAS_PERMISSION": "o membro %1 tem permissão %2",
"PERM_CREATE_INSTANT_INVITE": "criar convites instantâneos",
"PERM_KICK_MEMBERS": "kicka membros",
"PERM_BAN_MEMBERS": "banir membros",
"PERM_ADMINISTRATOR": "administrator",
"PERM_MANAGE_CHANNELS": "gerenciar canais",
"PERM_MANAGE_GUILD": "gerenciar servidores",
"PERM_ADD_REACTIONS": "adiciona reação",
"PERM_VIEW_AUDIT_LOG": "ver registros de auditoria",
"PERM_PRIORITY_SPEAKER": "Voz Prioritária",
"PERM_VIEW_CHANNEL": "ver canal",
"PERM_READ_MESSAGES": "lé mensagens",
"PERM_SEND_MESSAGES": "mandar mensagens",
"PERM_SEND_TTS_MESSAGES": "manda TTS mensagens",
"PERM_MANAGE_MESSAGES": "gerenciar mensagens",
"PERM_EMBED_LINKS": "embed links",
"PERM_ATTACH_FILES": "anexar arquivos",
"PERM_READ_MESSAGE_HISTORY": "ler histórico de mensagens",
"PERM_MENTION_EVERYONE": "mencionar @everyone",
"PERM_EXTERNAL_EMOJIS": "ver emojis externos",
"PERM_USE_EXTERNAL_EMOJIS": "usar emojis externos",
"PERM_CONNECT": "conectar",
"PERM_SPEAK": "falar",
"PERM_MUTE_MEMBERS": "mutar membros",
"PERM_DEAFEN_MEMBERS": "membros surdos",
"PERM_MOVE_MEMBERS": "mover membros",
"PERM_USE_VAD": "usar atividade de voz",
"PERM_CHANGE_NICKNAME": "troca sobrenome",
"PERM_MANAGE_NICKNAMES": "gerenciar sobrenomes",
"PERM_MANAGE_ROLES": "gerenciar cargos",
"PERM_MANAGE_WEBHOOKS": "gerenciar webhooks",
"PERM_MANAGE_EMOJIS": "Blocos relacionados a associações de membros",
"DETECT_JOINS": "Detectar entrada",
"ON_MEMBER_JOIN": "Quando um membro se junta a um servidor",
"JOINING_MEMBER_INFORMATIONS": "Informações sobre o membro",
"JOINING_MEMBER": "membro entrado",
"RELATED_TO_JOIN_STRINGS": "Strings relacionadas a entrada",
"JOINING_MEMBER_RAW": "%1 do membro que entrou",
"JOINING_GUILD": "servidor onde o membro entrou",
"TEMPORARILY": "Temporariamente",
"HOURS": "horas",
"REASON": "motivo",
"DURING_HOURS": "durante",
"WITH_REASON": "com o motivo",
"RES_MUST_BE_IN_ON_MESSAGE": "Este bloco só pode ser usado em um \"Quando uma mensagem é recebida\" evento",
"RES_MISSING_CONTENT": "You must specify a valid content to reply!",
"RES_MISSING_MEMBER_HAS_PERMISSION": "You must specify a valid member to check permissions!",
"RES_MUST_BE_IN_ON_MEMBER_JOIN": "Este bloco só pode ser usado em um \"Quando um membro se junta a um servidor\" evento",
"RES_ADD_ROLE_MISSING_ROLE": "Você deve especificar um nome ou ID de um cargo válido para adicionar!",
"RES_ADD_ROLE_MISSING_MEMBER": "você teve especifica um membro valido para adiciona o cargo nele!",
"RES_REMOVE_ROLE_MISSING_ROLE": "Você deve especificar um nome ou ID de um cargo válido para remove",
"RES_REMOVE_ROLE_MISSING_MEMBER": "você teve especifica um membro valido para remove o cargo nele!",
"RES_KICK_MEMBER_MISSING_MEMBER": "você teve especifica um membro valido para ser kickado!",
"RES_BAN_MEMBER_MISSING_MEMBER": "você teve especifica um membro valido para ser banido!",
"MANDATORY_BLOCKS": "Blocos obrigatorios",
"STARTS_WITH":"linha nova",
"FIND_CHANNEL": "Encontre um canal",
"SEND_CHANNEL_LABEL": "Envie uma mensagem no canal encontrado",
"GET_CHANNEL": "pegue o salão com %2 igual a %1",
"RES_MISSING_CHANNEL_VALUE": "você teve especifica um nome ou id de um canal valido!",
"RES_SEND_CHANNEL_CONTENT": "você teve especifica um conteudo para manda!",
"RES_SEND_CHANNEL_CHANNEL": "Você deve especificar um canal para enviar o conteúdo!",
"SEND_CHANNEL": "envie %1 no canal %2",
"TOOLBOX_LOGIC": "Logica",
"TOOLBOX_LOOPS": "Loops",
"TOOLBOX_MATH": "Matematica",
"TOOLBOX_TEXT": "Texto",
"TOOLBOX_LISTS": "Listas",
"TOOLBOX_COLORS": "Cors",
"TOOLBOX_VARIABLES": "Variaveis",
"TOOLBOX_FUNCTIONS": "Funções",
"TOOLBOX_CHANNELS": "Canais",
"TOOLBOX_ACTIONS": "Ações",
"TOOLBOX_BASE": "Base",
"TOOLBOX_SERVER": "Servers",
"TOOLBOX_ROLES": "Cargos",
"FIND_SERVER": "Encontre um servidor",
"GET_SERVER": "encontre um servidor com %2 igual a %1",
"RES_GET_SERVER_SERVER": "você precisa especifica um nome ou id de um servidor valido!",
"LABEL_SERVER_INFOS": "Informações sobre o servidor",
"MEMBER_COUNT": "numero de membros no servidor %1",
"RES_VALID_SERVER": "você precisa coloca um servidor valido!",
"ICON_URL": "icone url do servidor %1",
"SERVER_NAME": "nome do servidor %1",
"SERVER_OWNER": "dono do servidor %1",
"RES_SET_SERVER_NAME_SERVER": "você precisa especifica um servidor valido!",
"RES_SET_SERVER_NAME_NEW_NAME": "você precisa especifica um nome novo valido!",
"LABEL_MODIFY_SERVER": "Modifique o servidor",
"SET_SERVER_NAME": "troque o nome do servidor %1 nome novo %2",
"GET_ROLE_SERVER": "no servidor",
"GET_ROLE": "pegue o cargo com %2 igual a %1",
"RES_GET_ROLE_VALUE": "você precisa especifica um nome ou id de um cargo valido!",
"RES_GET_SERVER_VALUE": "você precisa especifica um nome ou id de um servidor valido!",
"FIND_ROLE": "Encontre um cargo",
"ROLE_ASSIGNMENT": "Atribuição de cargos",
"FIND_MEMBER": "Encontre um membro",
"GET_MEMBER": "encontre um membro com %2 igual a %1 no servidor %3",
"INIT_TOOLTIP": "Permite que você use blocos Discord!",
"JOINING_GUILD_RAW": "%1 do membro que entrou no servidor",
"LABEL_MEMBER_ACTIONS": "Ações no membro",
"LABEL_MESSAGE_CONTEXT": "Contexto da mensagem",
"MESSAGE_CHANNEL_RAW": "%1 do canal da mensagem",
"MESSAGE_GUILD_RAW": "%1 do servidor da mensagem",
"RES_GET_MEMBER_SERVER": "você precisa especifica um servidor valido onde o membro esta!",
"RES_GET_MEMBER_VALUE": "você precisa especifica um nome ou id de um membro valido!",
"TOOLBOX_MEMBERS": "Membro",
"MEMBER_INFORMATIONS": "Informações dos membros",
"RES_VALID_MEMBER": "Você deve especificar um membro válido!",
"MEMBER_DISCRIMINATOR": "discriminador de membro %1",
"MEMBER_ID": "id do membro %1",
"MEMBER_TAG": "tag do membro %1",
"MEMBER_USERNAME": "sobrenome do membro %1",
"MEMBER_IS_BOT": "membro %1 é um bot",
"SET_MEMBER_NICKNAME": "troque o apelido %1 novo apelido %2",
"RES_SET_MEMBER_NICKNAME_MEMBER": "Você deve especificar um membro válido para alterar o apelido",
"RES_SET_MEMBER_NICKNAME_NEW_NAME": "Você deve especificar um novo apelido válido para o membro!",
"SERVER_BOOST_COUNT": "numero de impulsos no servidor %1",
"SERVER_BOOST_LEVEL": "nível de impulso do servidor %1",
"SEND_WAIT_REPLY": "envie %1 no canal %2 e espere por uma resposta do membro %3 durante (minutos) %4 quando uma resposta é recebida %5 se nenhuma responde vo recebida %6",
"RES_SEND_WAIT_REPLY_VALUE_PARENT": "This block can only be used in a \"Wait for an answer\" bl!",
"SEND_WAIT_REPLY_VALUE": "resposta do membro",
"FORMS": "Formulários",
"SEND_WAIT_REPLY_EXAMPLE": "Qual é o seu nome??",
"REPLY_EXAMPLE": "Hey!",
"ON_REACT_ADDED": "Quando uma reação é adicionada",
"REACT_RELATED_BLOCKS": "Blocos relacionados a reações",
"DETECT_REACT": "Eu estou escrevendo, estou escrevendo",
"REACT_INFORMATIONS": "Informações sobre a reação adicionada / removida",
"REACT_MESSAGE_ID": "ID da mensagem de reação",
"RES_MUST_BE_IN_ON_REACT": "Este bloco só pode ser usado em um bloco de \"reação adicionada\" ou em um bloco \"reação removida\"!",
"REACT_EMOJI": "emoji da reação",
"REACT_MEMBER": "membro que reaciu",
"ON_REACT_REMOVED": "Quando uma reação é removida",
"BOT_PING": "bot ping",
"BOT_INFORMATIONS": "Informação do bot",
"BOT_ACTIONS": "Ações no bot",
"RES_MISSING_GAME": "Você deve especificar um jogo para o bot!",
"SET_BOT_GAME": "definir o jogo de bot para %1",
"BOT_SERVER_COUNT": "contagem de servidores bot",
"TOOLBOX_E_JOINS": "Entradas",
"TOOLBOX_E_MESSAGES": "Mensagems",
"TOOLBOX_E_REACTIONS": "Reações",
"TOOLBOX_DATABASE": "Banco de dados",
"GET_DATA": "pegue %1 do banco de dados",
"LABEL_READ_DB": "lé banco de dados",
"LABEL_UPDATE_DB": "atualiza banco de dados",
"SET_DATA": "setar %1 para %2 no banco de dados",
"DELETE_DATA": "deletar %1 banco de dados",
"HAS_DATA": "%1 existe no banco de dados",
"ADD_DATA": "adiciona %1 para %2",
"SUBTRACT_DATA": "remover %1 do %2",
"DETECT_LEAVES": "Detectar licenças",
"LEAVING_GUILD": "deixando o servidor membro",
"LEAVING_GUILD_RAW": "%1 do servidor do membro que está saindo",
"LEAVING_MEMBER_INFORMATIONS": "Informações sobre o membro",
"LEAVES_RELATED_BLOCKS": "Bloqueios relacionados às saídas de membros",
"ON_MEMBER_LEAVE": "Quando um membro sai de um servidor",
"RELATED_TO_LEAVE_STRINGS": "Strings relacionados a saida",
"TOOLBOX_E_LEAVES": "Saidas",
"RES_MUST_BE_IN_ON_MEMBER_LEAVE": "Este bloco só pode ser usado em um evento \"Quando um membro deixa um servidor \"",
"LEAVING_MEMBER_RAW": "%1 do membro que saiu do servidor",
"WAIT_SECONDS": "espere %1 segundos",
"TOOLBOX_OTHER": "Outros",
"RUN_SAVE_OUTPUT": "faça %1 e salve a saída em %2",
"TOOLBOX_MESSAGES": "mensagens",
"GET_MESSAGE": "obter mensagem com ID igual a %1 no canal %2",
"RES_GET_MESSAGE_CHANNEL": "Você deve especificar um canal válido no qual a mensagem é!",
"RES_GET_MESSAGE_VALUE": "Você deve especificar um ID de mensagem válido!",
"FIND_MESSAGE": "Encontre a mensagem",
"MESSAGE_INFORMATIONS": "Informações sobre a mensagem",
"CURRENT": "%1 atual",
"HOUR": "hora",
"MINUTE": "minuto",
"MONTH": "mês",
"DAY_OF_WEEK": "dia da semana",
"SECOND": "segundo",
"DATE": "data",
"FOREVER": "repita para sempre %1 faz %2",
"YES": "sim",
"NO": "não",
"CREATE_CHANNEL": "crie um canal com o nome %1 no servidor %2 do tipo %3",
"CHANNEL_ACTIONS": "Ações para o canal",
"TEXT": "texto",
"VOICE": "voz",
"CATEGORY": "categoria"
}
91 changes: 91 additions & 0 deletions src/locales/pt.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import Blockly from "blockly";

import blocklyMessages from "./pt-BR.json";

export const applyBlocklyLocale = () => {
for(let key in blocklyMessages){
Blockly.Msg[key] = blocklyMessages[key];
}
};

export const websiteMessages = {
untitled: "Documento sem nome",
help: "Ajuda",
load: {
error: "O arquivo enviado está corrompido e não pode ser carregado pelo Scratch For Discord..."
},
file: {
title: "Arquivo",
javascript: "Exporta para javascirpt",
open: "abrir arquivo...",
save: "Salva"
},
edit: {
title: "Edita",
undo: "desfazer",
redo: "refazer",
clear: "deleta {blockCount} blocos",
cleanup: "limpa blocos",
cleardb: "limpa database"
},
lang: {
title: "linguagem"
},
examples: {
title: "Exemplos",
confirm: {
title: "Deleta os blocos atual?",
text: "Você gostaria de remover os blocos do projeto atual antes de importar o exemplo?",
cancel: "Cancela",
yes: "Sim",
no: "Não"
},
loaded: "Exemplo {example} importando com sucesso!",
ping_pong: "comando ping-pong",
command_parsing: "handler de comandos",
leveling: "XP e sistema de níveis"
},
download: {
title: "Instale o seu bot",
content: {
title: "Como iniciar o seu bot depois de baixado?",
unzipFile: "Descompacte o arquivo baixado.",
node: "Instale o NPM e o Node.js (pesquise tutoriais no Google)",
start: "Execute 'npm install' e 'npm start' em um terminal",
done: "Seu bot foi iniciado!"
},
cancel: "Cancela",
confirm: "Instala"
},
tour: {
skip: "Pular tour",
previous: "Anterior",
next: "Próximo",
finish: "Termina",
steps: {
load_examples: "Importe exemplos para descobrir Scratch4Discord!",
run_test: "Teste as funcionalidades do seu bot aqui!",
export_code: "Exporte seu código aqui!"
}
},
warnings: {
login_block: "O bloco \"Conectar ao Discord\" na categoria \"Base\" é obrigatório."
},
run_modal: {
title: "Clique em Iniciar para testar seu bot!",
start: "Inicie o bot",
stop: "Pare o bot",
invalid_token: "Unable to connect to Discord... Maybe the bot's token isn't valid!",
error: "Incapaz de conectar ao Discord ... Talvez o token do bot não seja válido!",
disabled: "⚠️ Este recurso está disponível apenas usando o aplicativo Scratch For Discord (pegue ele {here})",
here: "aqui"
},
code_modal: {
title: "Código JavaScript do seu bot"
}
};

export default {
applyBlocklyLocale,
websiteMessages
};
13 changes: 12 additions & 1 deletion src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,16 @@ Vue.config.ignoredElements = ["field","block","category","xml","mutation","value

import blocklyLocaleEN from "blockly/msg/en";
import blocklyLocaleFR from "blockly/msg/fr";
import blocklyLocalePT from "blockly/msg/pt";

import customLocaleEN from './locales/en';
import customLocaleFR from './locales/fr';
import customLocalePT from './locales/pt';

const messages = {
en: customLocaleEN.websiteMessages,
fr: customLocaleFR.websiteMessages
fr: customLocaleFR.websiteMessages,
pt: customLocalePT.websiteMessages
};

const i18n = new Vuei18n({
Expand Down Expand Up @@ -100,6 +103,14 @@ Vue.mixin({
// Change website languages (navbar, etc...)
this.$root.$i18n.locale = "fr";
break;
case "pt":
// Change Blockly language for default blocks
Blockly.setLocale(blocklyLocalePT);
// Change Blockly language for custom blocks
customLocalePT.applyBlocklyLocale();
// Change website languages (navbar, etc...)
this.$root.$i18n.locale = "pt";
break;
default:
break;
}
Expand Down

0 comments on commit 5540148

Please sign in to comment.