diff --git a/lang/languages-pt_BR.json b/lang/languages-pt_BR.json
new file mode 100644
index 000000000..428b031ca
--- /dev/null
+++ b/lang/languages-pt_BR.json
@@ -0,0 +1,14 @@
+{
+ "en": "Inglês",
+ "bg": "Búlgaro",
+ "de": "Alemão",
+ "es": "Espanhol",
+ "fr": "Francês",
+ "hy": "Armênio",
+ "it": "Italiano",
+ "oc": "Provençal",
+ "sk": "Eslovaco",
+ "sl": "Esloveno",
+ "sv": "Sueco",
+ "tr": "Turco"
+}
\ No newline at end of file
diff --git a/lang/main-pt_BR.json b/lang/main-pt_BR.json
new file mode 100644
index 000000000..78e1c9dc0
--- /dev/null
+++ b/lang/main-pt_BR.json
@@ -0,0 +1,319 @@
+{
+ "contactlist": "LISTA DE CONTATO",
+ "connectionsettings": "Configurações de conexão",
+ "poweredby": "distribuído por",
+ "downloadlogs": "Baixar registros",
+ "feedback": "Dê seus comentários",
+ "roomUrlDefaultMsg": "Sua conferência está sendo criado...",
+ "participant": "Participante",
+ "me": "eu",
+ "speaker": "Orador",
+ "raisedHand": "Gostaria de falar",
+ "defaultNickname": "ex. João Pedro",
+ "defaultLink": "i.e. __url__",
+ "calling": "Chamando __name__ ...",
+ "userMedia": {
+ "react-nativeGrantPermissions": "",
+ "chromeGrantPermissions": "",
+ "androidGrantPermissions": "",
+ "firefoxGrantPermissions": "Dê as permissões para usar sua câmera e microfone pressionando o botão Compartilhar Dispositivos Selecionados ",
+ "operaGrantPermissions": "Dê as permissões para usar sua câmera e microfone pressionando o botão Permitir ",
+ "iexplorerGrantPermissions": "",
+ "safariGrantPermissions": "Dê as permissões para usar sua câmera e microfone pressionando o botão OK ",
+ "nwjsGrantPermissions": "Dê as permissões para usar sua câmera e microfone"
+ },
+ "keyboardShortcuts": {
+ "keyboardShortcuts": "Atalhos de teclado:",
+ "raiseHand": "Erguer sua mão.",
+ "pushToTalk": "Pressione para falar.",
+ "toggleScreensharing": "Trocar entre câmera e compartilhamento de tela.",
+ "toggleFilmstrip": "Mostrar ou ocultar a tira de filme.",
+ "toggleShortcuts": "Mostrar ou ocultar este menu de ajuda.",
+ "focusLocal": "Foco no vídeo local.",
+ "focusRemote": "Foco em um dos vídeos remotos.",
+ "toggleChat": "Abrir ou fechar o painel de bate-papo.",
+ "mute": "Deixar mudo ou não o microfone.",
+ "videoMute": "Parar ou iniciar o vídeo local."
+ },
+ "welcomepage": {
+ "go": "IR",
+ "roomname": "Digite o nome da sala",
+ "disable": "Não mostre esta página novamente",
+ "feature1": {
+ "title": "Simples para usar",
+ "content": "Não precisa baixar nada. __app__ trabalha diretamente no seu navegador. Simplesmente compartilhe sua URL da conferência com outros para começar."
+ },
+ "feature2": {
+ "title": "Largura de banda baixa",
+ "content": "Conferências de vídeo de multipartes trabalha com tão pouco quanto 128 kbps. Compartilhamento de tela e conferências de áudio somente são possíveis com muito menos."
+ },
+ "feature3": {
+ "title": "Código aberto",
+ "content": "__app__ é licenciado sob a Licença Apache. Você é livre para baixar, usar, modificar e compartilhar ela com a mesma licença."
+ },
+ "feature4": {
+ "title": "Usuários ilimitados",
+ "content": "Aqui não há restrições artificiais no número de usuários ou participantes da conferência. A potência do servidor e largura de banda são os únicos fatores limitantes."
+ },
+ "feature5": {
+ "title": "Compartilhamento de tela",
+ "content": "É fácil compartilhar sua tela com outros. __app__ é ideal para apresentações online, leituras, e sessões de suporte técnico."
+ },
+ "feature6": {
+ "title": "Salas seguras",
+ "content": "Precisa alguma privacidade? Salas de conferência do __app__ podem ser seguras com uma senha para excluir visitantes indesejados e prevenir interrupções."
+ },
+ "feature7": {
+ "title": "Notas compartilhadas",
+ "content": "__app_ disponibiliza o Etherpad, um editor de texto colaborativo em tempo real, que é ótimo para reuniões rápidas, escrevendo artigos, e mais."
+ },
+ "feature8": {
+ "title": "Estatísticas de uso",
+ "content": "Aprenda sobre seus usuários através de integração fácil com o Piwik, Google Analytics, e outros sistemas de monitoramento e estatísticas."
+ }
+ },
+ "toolbar": {
+ "mute": "Mudo / Não mudo",
+ "videomute": "Iniciar / parar a câmera",
+ "authenticate": "Autenticar",
+ "lock": "Travar / destravar a sala",
+ "invite": "Convidar outros",
+ "chat": "Abrir / fechar bate-papo",
+ "etherpad": "Documento compartilhado",
+ "sharedvideo": "Compartilhar um vídeo do YouTube",
+ "sharescreen": "Compartilhar tela",
+ "fullscreen": "Entrar / Sair de Tela Cheia",
+ "sip": "Chamar número SIP",
+ "Settings": "Configurações",
+ "hangup": "Desligar",
+ "login": "Iniciar sessão",
+ "logout": "Encerrar sessão",
+ "dialpad": "Mostrar teclas de discagem",
+ "sharedVideoMutedPopup": "Seu vídeo compartilhado está mudo assim
você pode falar com os outros participantes.",
+ "micMutedPopup": "Seu microfone está mudo assim que você
pode curtir plenamente seu vídeo compartilhado.",
+ "unableToUnmutePopup": "Você não pode sair do mudo enquanto seu vídeo compartilhado está ativo.",
+ "cameraDisabled": "A câmera não está disponível",
+ "micDisabled": "O microfone não está disponível"
+ },
+ "bottomtoolbar": {
+ "chat": "Abrir / fechar bate-papo",
+ "filmstrip": "Mostrar / ocultar a tira de usuários",
+ "contactlist": "Abrir / fechar a lista de contatos"
+ },
+ "chat": {
+ "nickname": {
+ "title": "Digite um apelido na caixa a seguir",
+ "popover": "Escolha um apelido"
+ },
+ "messagebox": "Digite um texto..."
+ },
+ "settings": {
+ "title": "CONFIGURAÇÕES",
+ "update": "Atualizar",
+ "name": "Nome",
+ "startAudioMuted": "Iniciar sem áudio",
+ "startVideoMuted": "Iniciar sem vídeo",
+ "selectCamera": "Selecione a câmera",
+ "selectMic": "Selecionar o microfone",
+ "selectAudioOutput": "Selecionar a saída de áudio",
+ "followMe": "Habilitar o siga-me",
+ "noDevice": "Nenhum",
+ "noPermission": "Permissão para usar o dispositivo não concedida",
+ "avatarUrl": "URL do Avatar"
+ },
+ "videothumbnail": {
+ "editnickname": "Clique para editar o seu
nome de exibição",
+ "moderator": "O proprietário
desta conferência",
+ "videomute": "Participante parou
a câmera.",
+ "mute": "Participante está mudo",
+ "kick": "Chutar fora",
+ "muted": "Mudo",
+ "domute": "Mudo",
+ "flip": "Inverter"
+ },
+ "connectionindicator": {
+ "bitrate": "Taxa de bits:",
+ "packetloss": "Perda de pacote:",
+ "resolution": "Resolução:",
+ "less": "Mostrar menos",
+ "more": "Mostrar mais",
+ "address": "Endereço:",
+ "remoteport": "Porta remota:",
+ "remoteport_plural": "Portas remotas:",
+ "localport": "Porta local:",
+ "localport_plural": "Portas locais:",
+ "localaddress": "Endereço local:",
+ "localaddress_plural": "Endereços locais:",
+ "remoteaddress": "Endereço remoto:",
+ "remoteaddress_plural": "Endereços remotos:",
+ "transport": "Transporte:",
+ "bandwidth": "Largura de banda estimada:",
+ "na": "Volte aqui para informações de conexão uma vez que a conferência inicie"
+ },
+ "notify": {
+ "disconnected": "desconectado",
+ "moderator": "Direitos de moderador concedidos!",
+ "connected": "conectado",
+ "somebody": "Alguém",
+ "me": "Eu",
+ "focus": "Foco da conferência",
+ "focusFail": "__component__ não disponĩvel - tente em __ms__ seg.",
+ "grantedTo": "Direitos de moderador concedido para __to__!",
+ "grantedToUnknown": "Direitos de moderador concedido para $t(somebody)!",
+ "muted": "Você iniciou uma conversa muda.",
+ "mutedTitle": "Você está mudo!",
+ "raisedHand": "Gostaria de falar."
+ },
+ "dialog": {
+ "kickMessage": "Ouch! Você o chutou para fora da reunião!",
+ "popupError": "Seu navegador está bloqueando janelas popup deste site. Por favor, habilite popups nas configurações de segurança do seu navegador e tente novamente.",
+ "passwordError": "Esta conversa está protegida atualmente por uma senha. Somente o dono da conferência pode definir a senha.",
+ "passwordError2": "Esta reunião não está protegida por senha atualmente. Somente o dono da conferência pode definir a senha.",
+ "connectError": "Oops! Alguma coisa está errada e nós não pudemos conectar à conferência.",
+ "connectErrorWithMsg": "Oops! Alguma coisa está errada e não podemos conectar à conferência: __msg__",
+ "connecting": "Conectando",
+ "error": "Erro",
+ "detectext": "Erro enquanto tenta detectar a extensão de compartilhamento de tela.",
+ "failtoinstall": "Falhou a instalação da extensão de compartilhamento de tela",
+ "failedpermissions": "Falha ao obter permissões para usar o microfone e/ou câmera local.",
+ "bridgeUnavailable": "Jitsi Videobridge está atualmente indisponível. Por favor, tente mais tarde!",
+ "jicofoUnavailable": "Jicofo está atualmente indisponível. Por favor, tente mais tarde!",
+ "maxUsersLimitReached": "O limite para o número máximo de participantes na conferência foi atingida. A conferência está cheia. Por favor, tente mais tarde!",
+ "lockTitle": "Bloqueio falhou",
+ "lockMessage": "Falha ao travar a conferência.",
+ "warning": "Atenção",
+ "passwordNotSupported": "Senhas de salas não são suportadas atualmente.",
+ "sorry": "Desculpe",
+ "internalError": "Erro interno de aplicação [setRemoteDescription]",
+ "unableToSwitch": "Impossível trocar o fluxo de vídeo.",
+ "SLDFailure": "Oops! Alguma coisa está errada e nós falhamos em silenciar! (Falha do SLD)",
+ "SRDFailure": "Oops! Alguma coisa está errada e nós falhamos em parar o vídeo! (Falha do SRD)",
+ "oops": "Oops!",
+ "defaultError": "Aqui teve algum tipo de erro",
+ "passwordRequired": "Senha requerida",
+ "Ok": "Ok",
+ "Remove": "Remover",
+ "shareVideoTitle": "Compartilhar um vídeo",
+ "shareVideoLinkError": "Por favor, forneça um link do youtube correto.",
+ "removeSharedVideoTitle": "Remover vídeo compartilhado",
+ "removeSharedVideoMsg": "Está certo que gostaria de remover seu vídeo compartilhado?",
+ "alreadySharedVideoMsg": "Outro participante já está compartilhando o vídeo. Esta conferência permite somente um vídeo compartilhado por vez.",
+ "WaitingForHost": "Esperando o hospedeiro...",
+ "WaitForHostMsg": "A conferência __room__ não foi iniciada. Se você é o hospedeiro, então autentique-se. Caso contrário, aguarde o hospedeiro chegar.",
+ "IamHost": "Eu sou o hospedeiro",
+ "Cancel": "Cancelar",
+ "retry": "Tentar novamente",
+ "logoutTitle": "Encerrar sessão",
+ "logoutQuestion": "Está certo em encerrar a sessão e terminar a conferência?",
+ "sessTerminated": "Sessão Terminada",
+ "hungUp": "Você desconectou",
+ "joinAgain": "Conectar novamente",
+ "Share": "Compartilhar",
+ "Save": "Salvar",
+ "recording": "Gravando",
+ "recordingToken": "Digite o token de gravação",
+ "Dial": "Discar",
+ "sipMsg": "Digite o número SIP",
+ "passwordCheck": "Você tem certeza que deseja remover sua senha?",
+ "passwordMsg": "Definir uma senha para trancar sua sala",
+ "Invite": "Convidar",
+ "shareLink": "Compartilhar este link com quem você espera convidar",
+ "settings1": "Configure sua conferência",
+ "settings2": "Participantes entram mudos",
+ "settings3": "Requer apelidos
Defina uma senha para trancar sua sala:",
+ "yourPassword": "sua Senha",
+ "Back": "Voltar",
+ "serviceUnavailable": "Serviço indisponível",
+ "gracefulShutdown": "Nosso serviço está desligado para manutenção. Por favor, tente mais tarde.",
+ "Yes": "Sim",
+ "reservationError": "Erro de sistema de reserva",
+ "reservationErrorMsg": "Código do erro: __code__, mensagem: __msg__",
+ "password": "senha",
+ "userPassword": "senha do usuário",
+ "token": "token",
+ "tokenAuthFailed": "Falha em autenticar com o servidor XMPP: token inválido",
+ "displayNameRequired": "Digite seu nome de exibição",
+ "extensionRequired": "Extensão requerida:",
+ "firefoxExtensionPrompt": "Você precisa instalar uma extensão do Firefox para compartilhar a tela. Tente novamente depois que você pegá-lo aqui!",
+ "feedbackQuestion": "Como foi a chamada?",
+ "thankYou": "Obrigado por usar o __appName__!",
+ "sorryFeedback": "Lamentamos escutar isso. Gostaria de nos contar mais?",
+ "liveStreaming": "Live Streaming",
+ "streamKey": "Nome/chave do fluxo",
+ "startLiveStreaming": "Iniciar live streaming",
+ "stopStreamingWarning": "Você tem certeza que deseja parar o live streaming?",
+ "stopRecordingWarning": "Tem certeza que deseja parar a gravação?",
+ "stopLiveStreaming": "Parar o live streaming",
+ "stopRecording": "Parar a gravação",
+ "doNotShowWarningAgain": "Não exibir este aviso novamente",
+ "permissionDenied": "Permissão Negada",
+ "screenSharingPermissionDeniedError": "Você não tem permissão concedida para compartilhar sua tela.",
+ "micErrorPresent": "Ocorreu um erro conectando seu microfone.",
+ "cameraErrorPresent": "Ocorreu um erro conectando sua câmera.",
+ "cameraUnsupportedResolutionError": "Sua câmera não suporta a resolução de vídeo requerida.",
+ "cameraUnknownError": "Não pode usar a câmera por uma razão desconhecida.",
+ "cameraPermissionDeniedError": "Você não tem permissão para usar sua câmera. Você ainda pode entrar na conferência, mas os outros não verão você. Use o botão da câmera na barra de endereço para fixar isto.",
+ "cameraNotFoundError": "Câmera solicitada não foi encontrada.",
+ "cameraConstraintFailedError": "Sua câmera não satisfaz algumas condições requeridas.",
+ "micUnknownError": "Não pode usar o microfone por uma razão desconhecida.",
+ "micPermissionDeniedError": "Você não tem permissão para usar seu microfone. Você ainda pode entrar na conferência, mas os outros não ouvirão você. Use o botão da câmera na barra de endereço para fixar isto.",
+ "micNotFoundError": "O microfone solicitado não foi encontrado.",
+ "micConstraintFailedError": "Seu microfone não satisfaz algumas condições requeridas."
+ },
+ "email": {
+ "sharedKey": [
+ "Esta conferência está protegida com senha. Use o seguinte código quando entrar:",
+ "",
+ "",
+ "__sharedKey__",
+ "",
+ ""
+ ],
+ "subject": "Convite para __appName__ (__conferenceName__)",
+ "body": [
+ "Olá, gostaria de convidá-lo para uma conferência do __appName__ na qual eu estou participando.",
+ "",
+ "Por favor clique no endereço a seguir para participar:",
+ "",
+ "__roomUrl__",
+ "",
+ "__sharedKeyText__",
+ " Note que o __appName__ atualmente só funciona nos navegadores __supportedBrowsers__, assim é preciso abrir o link com um deles para poder participar.",
+ "",
+ "Aguardo sua presença!"
+ ],
+ "and": "e"
+ },
+ "connection": {
+ "ERROR": "Erro",
+ "CONNECTING": "Conectando",
+ "RECONNECTING": "Ocorreu um problema de rede. Reconectando...",
+ "CONNFAIL": "Falha de conexão",
+ "AUTHENTICATING": "Autenticando",
+ "AUTHFAIL": "Falha de autenticação",
+ "CONNECTED": "Conectado",
+ "DISCONNECTED": "Desconectado",
+ "DISCONNECTING": "Desconectando",
+ "ATTACHED": "Anexado"
+ },
+ "recording": {
+ "pending": "Aguardando um participante para iniciar a gravação...",
+ "on": "Gravando",
+ "off": "Gravação parada",
+ "failedToStart": "Falha ao iniciar a gravação",
+ "buttonTooltip": "Iniciar / parar gravação",
+ "error": "A gravação falhou. Tente novamente.",
+ "unavailable": "O serviço de gravação está indisponível. Por favor, tente mais tarde."
+ },
+ "liveStreaming": {
+ "pending": "Iniciando Transmissão Ao Vivo...",
+ "on": "Live Streaming",
+ "off": "Transmissão ao vivo encerrada",
+ "unavailable": "O serviço de transmissão ao vivo está indisponível no momento.Por favor, tente mais tarde.",
+ "failedToStart": "Falha ao iniciar a transmissão ao vivo",
+ "buttonTooltip": "Iniciar / parar live stream",
+ "streamIdRequired": "Por favor digite o id da transmissão ao vivo para começar a transmitir.",
+ "error": "Falha na transmissão ao vivo. Tente novamente",
+ "busy": "Todos os gravadores estão ocupados no momento. Por favor, tente mais tarde."
+ }
+}
\ No newline at end of file