From b4b37c6a2c768463dac3204a484dfe4a380926ab Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 06:53:30 +0000 Subject: [PATCH 1/8] [Translation] add pt-pt and move pt to pt-br --- app/client/mobile/src/constants/Strings.ts | 413 ++++++++++++++++++++- 1 file changed, 410 insertions(+), 3 deletions(-) diff --git a/app/client/mobile/src/constants/Strings.ts b/app/client/mobile/src/constants/Strings.ts index 99ffebeaf..efa388579 100644 --- a/app/client/mobile/src/constants/Strings.ts +++ b/app/client/mobile/src/constants/Strings.ts @@ -3,7 +3,8 @@ export const languages = [ {name: 'Français', value: 'fr'}, {name: 'Español', value: 'es'}, {name: 'Deutsch', value: 'de'}, - {name: 'Português', value: 'pt'}, + {name: 'Português', value: 'pt-pt'}, + {name: 'Português Brasil', value: 'pt-br'}, {name: 'Русский', value: 'ru'}, {name: 'ελληνικά', value: 'el'}, ]; @@ -1239,7 +1240,413 @@ export const es = { disablePrompt: '¿Estás seguro de que quieres desactivar la autenticación de dos factores?', }; -export const pt = { +export const pt-pt = { + yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', + theirHostname: 'O administrador do contacto ainda não configurou um nome o host do serviço', + + adminSettings: 'Configurações da administração', + accountKeyType: 'Tipo de chave da conta', + media: 'Multimédia', + calling: 'Chamadas', + serviceId: 'ID do serviço', + serviceToken: 'Token do serviço', + serviceUrl: 'URL do serviço', + idHint: 'ID / Nome de utilizador', + tokenHint: 'Token / Senha', + searchAccounts: 'Pesquisar contas', + chatMembers: 'Membros do chat', + tokenRequired: 'Token (requirido)', + change: 'Mudar', + resetAccount: 'Redefinir Conta', + addAccount: 'Adicionar Conta', + generate: 'Criar', + + appPermission: 'A aplicação não tem acesso multimédia de momento.', + + sureLogout: 'Tens a certeza que queres sair?', + changePrompt: 'Aqui podes alterar o teu nome de utilizador e/ou a password da tua conta', + typeDelete: 'Escreve [exclui]', + encryptionKey: 'Chave de encriptação', + generateKey: 'Cria uma chave para activar a encriptação de ponta a ponta nos tópicos.', + moreOptions: 'Mais opções', + saveDelete: 'Guardar a chave com uma password diferente ou exclui a chave', + removeMessage: 'Apagar a mensagem', + reportMessage: 'Denunciar a mensagem', + reportChat: 'Denunciar a conversa', + + addSubject: 'Adicionar um assunto', + chat: 'Chat', + sealingKey: 'Chave E2EE', + createSealed: 'Criar tópicos E2EE', + noKey: 'Nenhuma chave', + + chatSettings: 'Definições do chat', + host: 'Anfitrião', + guest: 'Convidado', + e2ee: 'Encriptação de ponta a ponta', + leaveChat: 'Sair do chat', + blockChat: 'Bloquear o chat', + editMembers: 'Editar membros', + deleteChat: 'Apagar o chat', + searchContacts: 'Procurar contactos', + searchTopics: 'Procurar tópicos', + all: 'Todos', + unread: 'Não lidas', + favorites: 'Favoritos', + addFavorites: 'Adicionar aos favoritos', + removeFavorites: 'Remover dos favoritos', + markRead: 'Marcar como lido', + markUnread: 'Marcar como não lido', + callAction: 'Ligar para o contacto', + textAction: 'Enviar mensagem', + editOption: 'Editar mensagem', + blockOption: 'Bloquear mensagem', + deleteOption: 'Apagar mensagem', + reportOption: 'Denunciar mensagem', + attachImage: 'Anexar imagem', + attachVideo: 'Anexar vídeo', + attachAudio: 'Anexar áudio', + attachFile: 'Anexar arquivo', + textColor: 'Cor do texto', + textSize: 'Tamanho do texto', + offsync: 'Fora de sincronizacão', + + welcomeTo: 'Bem-vindo ao Databag', + notUser: 'Não é um utilizador?', + adminAccess: 'Acesso para Administrador', + yourProfile: 'Configura o teu perfil', + connectWith: 'Conecta-te com pessoas', + startTopic: 'Começa uma conversa', + getStarted: 'Começar', + enterName: 'Escreve o teu nome', + uploadImage: 'Envia uma imagem de perfil', + yourLocation: 'A tua localização', + next: 'Próximo', + skipSetup: 'Saltar', + allDone: 'Tudo pronto!', + moreContacts: 'Mais pessoas podem ser encontradas na aba dos contactos. Uma vez aceite, podes começar uma conversa privada.', + messaging: 'Mensagens', + manageSealed: 'Gerenciar tópicos encriptados', + format: 'Formato', + fontFormat: 'Tamanho de fonte Aa', + dateLabel: 'Data', + hourLabel: 'Hora', + blocked: 'Bloqueado', + messages: 'Mensagens', + support: 'Suporte', + requestSent: 'Pedido enviado', + friendsNotified: 'Os teus amigos vão ser notificados de que tu os adicionas-te!', + appLanguage: 'Idioma da aplicacão', + languageName: 'Português', + + offsyncTag: 'Fora de sincronizacão', + connectedTag: 'Ligado', + requestedTag: 'Pedido', + connectingTag: 'A ligar', + pendingTag: 'Pendente', + confirmedTag: 'Guardado', + unsavedTag: 'Não guardado', + saveAction: 'Guardar o contacto', + acceptAction: 'Aceitar a ligação', + connectAction: 'Solicitar a ligação', + ignoreAction: 'Ignorar a ligação', + denyAction: 'Recusar a ligação', + deleteAction: 'Apagar o contacto', + blockAction: 'Bloquear o contacto', + reportAction: 'Denunciar contacto', + disconnectAction: 'Desligar o contacto', + cancelAction: 'Cancelar ligação', + resyncAction: 'Re-sincronizar o contacto', + + viewTerms: 'Ver os termos de serviço', + acceptTerms: 'Aceitar os termos de serviço', + terms: 'Termos de serviço', + access: 'Acesso', + continue: 'Continuar', + + textSmall: 'Pequeno', + textMedium: 'Médio', + textLarge: 'Grande', + processingError: 'Erro no Anexo', + unknownContact: 'Contacto Desconhecido', + encrypted: 'Encriptado', + unknown: 'Desconhecido', + sealed: 'Encriptado', + notSealed: 'Não Encriptado', + notes: 'Notas', + server: 'Servidor', + token: 'token', + delayMessage: 'A criação da chave pode levar vários minutos.', + blockTopic: 'Bloquear este tópico', + blockTopicPrompt: 'Tens a certeza que queres bloquear este tópico?', + reportTopic: 'Denunciar este tópico', + reportTopicPrompt: 'Tens a certeza que queres denunciar este tópico para revisão do administrador?', + connecting: 'Iniciar Ligação', + + setup: 'configurar', + accounts: 'Contas', + noAccounts: 'Sem Contas', + selectShare: 'Seleciona o Tópico de Partilha', + + addingTitle: 'Adicionar conta', + addingLink: 'Usa o seguinte link para criares uma conta', + addingToken: 'Usa o seguinte token para criares uma conta a partir da janela do login', + accessingTitle: 'Aceder a conta', + accessingLink: 'Usa o seguinte link para acederes a conta referida', + accessingToken: 'Usa o seguinte token para acederes a conta referida a partir da janela de login', + + noAccess: 'Sem Acesso', + membership: 'Associação', + channelHost: 'Anfitrião do Tópico', + channelGuest: 'Convidado do Tópico', + created: 'Criado', + flagMessage: 'Sinalizar a mensagem', + flagMessagePrompt: 'Tens a certeza que queres sinalizar a mensagem para o administrador?', + flag: 'Sinalizar', + blockMessage: 'Bloquear a mensagem', + blockMessagePrompt: 'Tens certeza que queres bloquear a mensagem?', + + code: 'pt-pt', + settings: 'Definicões', + contacts: 'Contactos', + logout: 'Sair', + confirmLogout: 'Tens a certeza que queres sair?', + contactsUpdated: 'Os teus contactos foram actualizados', + disconnected: 'Desligar do servidor', + allDevices: 'Desligar de todos os dispositivos', + ok: 'OK', + cancel: 'Cancelar', + enableNotifications: 'Notificações Push', + accessCode: 'Código de Acesso', + forgotPassword: 'Senha Perdida', + manageTopics: 'Gerenciar Chave de Encriptacão', + + loggingOut: 'Sair', + blockedContacts: 'Contactos Bloqueados', + blockedTopics: 'Tópicos Bloqueados', + blockedMessages: 'Mensagens Bloqueadas', + + unknownStatus: 'Contacto Desconhecido', + savedStatus: 'Contacto Guardado', + pendingStatus: 'Pedido de ligação Desconhecido', + connectingStatus: 'Pedido de ligação Enviado', + requestedStatus: 'Pedido de ligação pelo Contacto', + connectedStatus: 'Contacto ligado', + offsyncStatus: 'Contacto Fora de Sincronização', + + block: 'Bloquear', + report: 'Denunciar', + deny: 'Negar', + ignore: 'Ignorar', + accept: 'Aceitar', + + ignoring: 'Ignorar este contacto', + confirmIgnoring: 'Tens a certeza que queres ignorar esta ligação?', + denying: 'Recusar este contacto', + confirmDenying: 'Tens a certeza que queres recusar esta ligação?', + reporting: 'Denunciar este contacto', + confirmReporting: 'Tens a certeza que queres denunciar este contacto?', + blocking: 'Bloquear este contacto', + confirmBlocking: 'Tens a certeza que queres bloquear este contacto?', + disconnecting: 'Desligar deste contacto', + confirmDisconnecting: 'Tens a certeza que queres desligar-te deste contacto?', + + sealUnlock: 'Desbloqueia a chave de encriptação para acederes às mensagens encriptadas de ponta a ponta', + sealForget: 'Esquece a chave de encriptação para retirar o acesso às mensagens encriptadas de ponta a ponta apenas para este dispositivo', + sealDelete: 'Apagar a chave de encriptação retirará permanentemente o acesso a todas as mensagens encriptadas de ponta a ponta de todos os dispositivos', + sealUpdate: 'Atualizar a chave de selagem mudará apenas a senha de bloqueio', + sealCreate: 'Criar uma chave de selagem para enviar e receber mensagens encriptadas de ponta a ponta', + + new: 'Novo', + newMessage: 'Nova mensagem', + topics: 'Tópicos', + unsetSealing: 'Chave de encriptação não foi definida', + newTopic: 'Novo tópico', + + subject: 'Assunto', + noContacts: 'Sem Contactos', + noTopics: 'Sem Tópicos', + noMessages: 'Sem Mensagens', + noConnected: 'Nenhum contacto ligado', + subjectOptional: 'Assunto (opcional)', + members: 'Membros', + sealedTopic: 'Tópico encriptado', + start: 'Começa', + + communication: 'Comunicação para a Web Descentralizada', + setupProfile: 'Configura o teu perfil', + connectPeople: 'Conecta-te com pessoas', + startConversation: 'Começa uma conversa', + + default: 'Padrão', + dark: 'Escuro', + light: 'Claro', + + operationFailed: 'A operação falhou', + tryAgain: 'Por favor, tenta novamente.', + + add: 'Adicionar', + save: 'Guardar', + resave: 'Guardar Outra Vez', + forget: 'Esquecer', + unlock: 'Desbloquear', + profile: 'Perfil', + application: 'Aplicação', + account: 'Conta', + name: 'Nome', + node: 'Servidor', + location: 'Localização', + description: 'Descrição', + timeFormat: 'Formato da hora', + dateFormat: 'Formato da data', + theme: 'Tema', + language: 'Idioma', + timeUs: '12h', + timeEu: '24h', + dateUs: 'mm/dd', + dateEu: 'dd/mm', + registry: 'Visível no registro', + sealedTopics: 'Tópicos encriptados', + changeLogin: 'Alterar credenciais', + selectImage: 'Selecionar', + profileImage: 'Imagem de perfil', + profileDetails: 'Detalhes de perfil', + enableSealed: 'Activar tópicos encriptados', + password: 'Password', + newPassword: 'Nova password', + confirmPassword: 'Confirmar password', + deleteKey: "Escreve 'apagar' para apagar a chave", + delete: 'apagar', + remove: 'Remover', + username: 'Nome de utilizador', + updateProfile: 'Actualizar o perfil', + + syncError: 'Erro de sincronização', + callTip: 'Ligar para o contacto', + messageTip: 'Enviar mensagem para o contacto', + connectedTip: 'Contacto ligado', + requestedTip: 'Pedido de ligação enviado pelo contacto', + connectingTip: 'A Ligar', + pendingTip: 'Pedido de ligação enviado por um contacto desconhecido', + confirmedTip: 'Contacto desligado', + unsavedTip: 'Contacto desconhecido', + + actions: 'Ações', + resync: 'Re-sincronizar', + connect: 'Ligar', + disconnect: 'Desligar', + disconnectContact: 'Desligar o contacto', + deleteContact: 'Apagar o contacto', + saveContact: 'Guardar o contacto', + saveAccept: 'Guardar e aceitar ligação', + saveRequest: 'Guardar e pedir ligação', + ignoreRequest: 'Ignorar ligação', + acceptConnection: 'Aceitar ligação', + requestConnection: 'Pedir ligação', + cancelRequest: 'Cancelar ligação', + resyncContact: 'Re-sincronizar contacto', + + login: 'Entrar', + create: 'Criar', + createAccount: 'Criar uma conta', + accountLogin: 'Login da conta', + toCreate: 'As contas são criadas através de um link criado no painel do administrador.', + admin: 'Administrador', + loginError: 'Erro no login', + loginMessage: 'Por favor, confirma o teu nome de utilizador e password.', + createError: 'Erro ao criar a conta', + createMessage: 'Por favor, verifica com o teu administrador.', + adminError: 'Erro no acesso', + adminMessage: 'Por favor, confirma a tua password', + + confirmDelete: 'Apagar esta conta', + areSure: 'Tens a certeza que queres apagar esta conta?', + + mb: 'MB', + gb: 'GB', + copied: 'Copiado', + accessAccount: 'Entrar na conta', + browserLink: 'Link no navegador', + mobileToken: 'Token no telemóvel', + createLink: 'Link para criar uma conta', + configureServer: 'Configurar o servidor', + reloadAccounts: 'Recarregar as contas', + disableAccount: 'Desactivar a conta', + enableAccount: 'Activar a conta', + deleteAccount: 'Apagar a conta', + hostHint: 'domínio[:porta]', + federatedHost: 'Host federado', + storageLimit: 'Limite no armazenamento (GB) / conta', + storageHint: '0 para ilimitado', + keyType: 'Tipo de chave', + accountCreation: 'Criar conta pública', + enablePush: 'Activar notificações push', + allowUnsealed: 'Permitir tópicos não encriptados', + topicContent: 'Conteúdo do tópico:', + enableImage: 'Activar imagens no tópico', + imageHint: 'Permitir a publicação de imagens nos tópicos', + enableAudio: 'Activar áudio no tópico', + audioHint: 'Permitir a publicação de áudio nos tópicos', + enableVideo: 'Activar vídeos no tópico', + videoHint: 'Permitir a publicação de vídeos nos tópicos', + enableBinary: 'Activar arquivos binários no tópico', + binaryHint: 'Permitir que arquivos binários sejam postados nos tópicos', + enableWeb: 'Activar chamadas WebRTC', + webHint: 'Permitir chamadas de áudio e vídeo para contactos', + enableService: 'Serviço Cloudflare', + serviceHint: 'Activar o serviço Cloudflare', + serverUrl: 'URL do servidor WebRTC', + urlHint: 'turn:ip:port?transport=udp', + webUsername: 'Nome de utilizador WebRTC', + webPassword: 'Password WebRTC', + failedLoad: 'Falha ao carregar', + limit: 'Limite', + + deleteMessage: 'Apagar esta mensagem', + messageHint: 'Tens a certeza que queres apagar a mensagem?', + fontColor: 'Alterar a cor da fonte', + fontSize: 'Alterar o tamanho da fonte', + postMessage: 'Publicar a mensagem', + + close: 'Fechar', + leave: 'Sair', + confirmTopic: 'Apagar este tópico', + sureTopic: 'Tens a certeza que queres apagar este tópico?', + confirmLeave: 'Sair deste tópico', + sureLeave: 'Tens a certeza que queres sair deste tópico?', + + details: 'Detalhes', + edit: 'Editar', + editSubject: 'Editar este tópico', + editMembership: 'Editar membros deste tópico', + deleteTopic: 'Apagar este tópico', + leaveTopic: 'Sair deste tópico', + + integrated: 'Integrado', + microphone: 'Microfone', + camera: 'Câmera', + + removing: 'Remover o Contacto', + confirmRemove: 'Tens a certeza que queres remover o contacto?', + message: 'Mensagem', + sealedMessage: 'Mensagem Encriptada', + + mfaTitle: 'Autenticação de Dois Factores', + mfaSteps: 'Guarda o teu segredo e confirma o código de verificação', + mfaEnter: 'Escreve o teu código de verificação', + mfaError: 'erro no código de verificação', + mfaDisabled: 'verificação temporariamente desactivada', + mfaConfirm: 'Confirmar', + + enableMultifactor: 'Activar a autenticação multifator', + disableMultifactor: 'Desactivar a autenticação multifator', + + disable: 'Desativar', + confirmDisable: 'Desactivar a Autenticação de Dois Fatores', + disablePrompt: 'Tens a certeza que queres desactivar a autenticação de dois factores?', +}; + +export const pt-br = { yourHostname: 'Seu administrador não configurou o nome do host do serviço', theirHostname: 'O administrador do contato não configurou o nome do host do serviço', @@ -1407,7 +1814,7 @@ export const pt = { blockMessage: 'Bloquear mensagem', blockMessagePrompt: 'Tem certeza de que deseja bloquear a mensagem?', - code: 'pt', + code: 'pt-br', settings: 'Configurações', contacts: 'Contatos', logout: 'Sair', From 4e81ee714900c0b0d94e24441e557e7ca26b598d Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 06:56:18 +0000 Subject: [PATCH 2/8] [Translation] add pt-pt and move pt to pt-br --- app/client/web/src/constants/Strings.ts | 413 +++++++++++++++++++++++- 1 file changed, 410 insertions(+), 3 deletions(-) diff --git a/app/client/web/src/constants/Strings.ts b/app/client/web/src/constants/Strings.ts index ea5e088c6..8d949d424 100644 --- a/app/client/web/src/constants/Strings.ts +++ b/app/client/web/src/constants/Strings.ts @@ -3,7 +3,8 @@ export const languages = [ {name: 'Français', value: 'fr'}, {name: 'Español', value: 'es'}, {name: 'Deutsch', value: 'de'}, - {name: 'Português', value: 'pt'}, + {name: 'Português', value: 'pt-pt'}, + {name: 'Português Brasil', value: 'pt-br'}, {name: 'Русский', value: 'ru'}, {name: 'ελληνικά', value: 'el'}, ]; @@ -1227,7 +1228,413 @@ export const es = { disablePrompt: '¿Estás seguro de que quieres desactivar la autenticación de dos factores?', }; -export const pt = { +export const pt-pt = { + yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', + theirHostname: 'O administrador do contacto ainda não configurou um nome o host do serviço', + + adminSettings: 'Configurações da administração', + accountKeyType: 'Tipo de chave da conta', + media: 'Multimédia', + calling: 'Chamadas', + serviceId: 'ID do serviço', + serviceToken: 'Token do serviço', + serviceUrl: 'URL do serviço', + idHint: 'ID / Nome de utilizador', + tokenHint: 'Token / Senha', + searchAccounts: 'Pesquisar contas', + chatMembers: 'Membros do chat', + tokenRequired: 'Token (requirido)', + change: 'Mudar', + resetAccount: 'Redefinir Conta', + addAccount: 'Adicionar Conta', + generate: 'Criar', + + appPermission: 'A aplicação não tem acesso multimédia de momento.', + + sureLogout: 'Tens a certeza que queres sair?', + changePrompt: 'Aqui podes alterar o teu nome de utilizador e/ou a password da tua conta', + typeDelete: 'Escreve [exclui]', + encryptionKey: 'Chave de encriptação', + generateKey: 'Cria uma chave para activar a encriptação de ponta a ponta nos tópicos.', + moreOptions: 'Mais opções', + saveDelete: 'Guardar a chave com uma password diferente ou exclui a chave', + removeMessage: 'Apagar a mensagem', + reportMessage: 'Denunciar a mensagem', + reportChat: 'Denunciar a conversa', + + addSubject: 'Adicionar um assunto', + chat: 'Chat', + sealingKey: 'Chave E2EE', + createSealed: 'Criar tópicos E2EE', + noKey: 'Nenhuma chave', + + chatSettings: 'Definições do chat', + host: 'Anfitrião', + guest: 'Convidado', + e2ee: 'Encriptação de ponta a ponta', + leaveChat: 'Sair do chat', + blockChat: 'Bloquear o chat', + editMembers: 'Editar membros', + deleteChat: 'Apagar o chat', + searchContacts: 'Procurar contactos', + searchTopics: 'Procurar tópicos', + all: 'Todos', + unread: 'Não lidas', + favorites: 'Favoritos', + addFavorites: 'Adicionar aos favoritos', + removeFavorites: 'Remover dos favoritos', + markRead: 'Marcar como lido', + markUnread: 'Marcar como não lido', + callAction: 'Ligar para o contacto', + textAction: 'Enviar mensagem', + editOption: 'Editar mensagem', + blockOption: 'Bloquear mensagem', + deleteOption: 'Apagar mensagem', + reportOption: 'Denunciar mensagem', + attachImage: 'Anexar imagem', + attachVideo: 'Anexar vídeo', + attachAudio: 'Anexar áudio', + attachFile: 'Anexar arquivo', + textColor: 'Cor do texto', + textSize: 'Tamanho do texto', + offsync: 'Fora de sincronizacão', + + welcomeTo: 'Bem-vindo ao Databag', + notUser: 'Não é um utilizador?', + adminAccess: 'Acesso para Administrador', + yourProfile: 'Configura o teu perfil', + connectWith: 'Conecta-te com pessoas', + startTopic: 'Começa uma conversa', + getStarted: 'Começar', + enterName: 'Escreve o teu nome', + uploadImage: 'Envia uma imagem de perfil', + yourLocation: 'A tua localização', + next: 'Próximo', + skipSetup: 'Saltar', + allDone: 'Tudo pronto!', + moreContacts: 'Mais pessoas podem ser encontradas na aba dos contactos. Uma vez aceite, podes começar uma conversa privada.', + messaging: 'Mensagens', + manageSealed: 'Gerenciar tópicos encriptados', + format: 'Formato', + fontFormat: 'Tamanho de fonte Aa', + dateLabel: 'Data', + hourLabel: 'Hora', + blocked: 'Bloqueado', + messages: 'Mensagens', + support: 'Suporte', + requestSent: 'Pedido enviado', + friendsNotified: 'Os teus amigos vão ser notificados de que tu os adicionas-te!', + appLanguage: 'Idioma da aplicacão', + languageName: 'Português', + + offsyncTag: 'Fora de sincronizacão', + connectedTag: 'Ligado', + requestedTag: 'Pedido', + connectingTag: 'A ligar', + pendingTag: 'Pendente', + confirmedTag: 'Guardado', + unsavedTag: 'Não guardado', + saveAction: 'Guardar o contacto', + acceptAction: 'Aceitar a ligação', + connectAction: 'Solicitar a ligação', + ignoreAction: 'Ignorar a ligação', + denyAction: 'Recusar a ligação', + deleteAction: 'Apagar o contacto', + blockAction: 'Bloquear o contacto', + reportAction: 'Denunciar contacto', + disconnectAction: 'Desligar o contacto', + cancelAction: 'Cancelar ligação', + resyncAction: 'Re-sincronizar o contacto', + + viewTerms: 'Ver os termos de serviço', + acceptTerms: 'Aceitar os termos de serviço', + terms: 'Termos de serviço', + access: 'Acesso', + continue: 'Continuar', + + textSmall: 'Pequeno', + textMedium: 'Médio', + textLarge: 'Grande', + processingError: 'Erro no Anexo', + unknownContact: 'Contacto Desconhecido', + encrypted: 'Encriptado', + unknown: 'Desconhecido', + sealed: 'Encriptado', + notSealed: 'Não Encriptado', + notes: 'Notas', + server: 'Servidor', + token: 'token', + delayMessage: 'A criação da chave pode levar vários minutos.', + blockTopic: 'Bloquear este tópico', + blockTopicPrompt: 'Tens a certeza que queres bloquear este tópico?', + reportTopic: 'Denunciar este tópico', + reportTopicPrompt: 'Tens a certeza que queres denunciar este tópico para revisão do administrador?', + connecting: 'Iniciar Ligação', + + setup: 'configurar', + accounts: 'Contas', + noAccounts: 'Sem Contas', + selectShare: 'Seleciona o Tópico de Partilha', + + addingTitle: 'Adicionar conta', + addingLink: 'Usa o seguinte link para criares uma conta', + addingToken: 'Usa o seguinte token para criares uma conta a partir da janela do login', + accessingTitle: 'Aceder a conta', + accessingLink: 'Usa o seguinte link para acederes a conta referida', + accessingToken: 'Usa o seguinte token para acederes a conta referida a partir da janela de login', + + noAccess: 'Sem Acesso', + membership: 'Associação', + channelHost: 'Anfitrião do Tópico', + channelGuest: 'Convidado do Tópico', + created: 'Criado', + flagMessage: 'Sinalizar a mensagem', + flagMessagePrompt: 'Tens a certeza que queres sinalizar a mensagem para o administrador?', + flag: 'Sinalizar', + blockMessage: 'Bloquear a mensagem', + blockMessagePrompt: 'Tens certeza que queres bloquear a mensagem?', + + code: 'pt-pt', + settings: 'Definicões', + contacts: 'Contactos', + logout: 'Sair', + confirmLogout: 'Tens a certeza que queres sair?', + contactsUpdated: 'Os teus contactos foram actualizados', + disconnected: 'Desligar do servidor', + allDevices: 'Desligar de todos os dispositivos', + ok: 'OK', + cancel: 'Cancelar', + enableNotifications: 'Notificações Push', + accessCode: 'Código de Acesso', + forgotPassword: 'Senha Perdida', + manageTopics: 'Gerenciar Chave de Encriptacão', + + loggingOut: 'Sair', + blockedContacts: 'Contactos Bloqueados', + blockedTopics: 'Tópicos Bloqueados', + blockedMessages: 'Mensagens Bloqueadas', + + unknownStatus: 'Contacto Desconhecido', + savedStatus: 'Contacto Guardado', + pendingStatus: 'Pedido de ligação Desconhecido', + connectingStatus: 'Pedido de ligação Enviado', + requestedStatus: 'Pedido de ligação pelo Contacto', + connectedStatus: 'Contacto ligado', + offsyncStatus: 'Contacto Fora de Sincronização', + + block: 'Bloquear', + report: 'Denunciar', + deny: 'Negar', + ignore: 'Ignorar', + accept: 'Aceitar', + + ignoring: 'Ignorar este contacto', + confirmIgnoring: 'Tens a certeza que queres ignorar esta ligação?', + denying: 'Recusar este contacto', + confirmDenying: 'Tens a certeza que queres recusar esta ligação?', + reporting: 'Denunciar este contacto', + confirmReporting: 'Tens a certeza que queres denunciar este contacto?', + blocking: 'Bloquear este contacto', + confirmBlocking: 'Tens a certeza que queres bloquear este contacto?', + disconnecting: 'Desligar deste contacto', + confirmDisconnecting: 'Tens a certeza que queres desligar-te deste contacto?', + + sealUnlock: 'Desbloqueia a chave de encriptação para acederes às mensagens encriptadas de ponta a ponta', + sealForget: 'Esquece a chave de encriptação para retirar o acesso às mensagens encriptadas de ponta a ponta apenas para este dispositivo', + sealDelete: 'Apagar a chave de encriptação retirará permanentemente o acesso a todas as mensagens encriptadas de ponta a ponta de todos os dispositivos', + sealUpdate: 'Atualizar a chave de selagem mudará apenas a senha de bloqueio', + sealCreate: 'Criar uma chave de selagem para enviar e receber mensagens encriptadas de ponta a ponta', + + new: 'Novo', + newMessage: 'Nova mensagem', + topics: 'Tópicos', + unsetSealing: 'Chave de encriptação não foi definida', + newTopic: 'Novo tópico', + + subject: 'Assunto', + noContacts: 'Sem Contactos', + noTopics: 'Sem Tópicos', + noMessages: 'Sem Mensagens', + noConnected: 'Nenhum contacto ligado', + subjectOptional: 'Assunto (opcional)', + members: 'Membros', + sealedTopic: 'Tópico encriptado', + start: 'Começa', + + communication: 'Comunicação para a Web Descentralizada', + setupProfile: 'Configura o teu perfil', + connectPeople: 'Conecta-te com pessoas', + startConversation: 'Começa uma conversa', + + default: 'Padrão', + dark: 'Escuro', + light: 'Claro', + + operationFailed: 'A operação falhou', + tryAgain: 'Por favor, tenta novamente.', + + add: 'Adicionar', + save: 'Guardar', + resave: 'Guardar Outra Vez', + forget: 'Esquecer', + unlock: 'Desbloquear', + profile: 'Perfil', + application: 'Aplicação', + account: 'Conta', + name: 'Nome', + node: 'Servidor', + location: 'Localização', + description: 'Descrição', + timeFormat: 'Formato da hora', + dateFormat: 'Formato da data', + theme: 'Tema', + language: 'Idioma', + timeUs: '12h', + timeEu: '24h', + dateUs: 'mm/dd', + dateEu: 'dd/mm', + registry: 'Visível no registro', + sealedTopics: 'Tópicos encriptados', + changeLogin: 'Alterar credenciais', + selectImage: 'Selecionar', + profileImage: 'Imagem de perfil', + profileDetails: 'Detalhes de perfil', + enableSealed: 'Activar tópicos encriptados', + password: 'Password', + newPassword: 'Nova password', + confirmPassword: 'Confirmar password', + deleteKey: "Escreve 'apagar' para apagar a chave", + delete: 'apagar', + remove: 'Remover', + username: 'Nome de utilizador', + updateProfile: 'Actualizar o perfil', + + syncError: 'Erro de sincronização', + callTip: 'Ligar para o contacto', + messageTip: 'Enviar mensagem para o contacto', + connectedTip: 'Contacto ligado', + requestedTip: 'Pedido de ligação enviado pelo contacto', + connectingTip: 'A Ligar', + pendingTip: 'Pedido de ligação enviado por um contacto desconhecido', + confirmedTip: 'Contacto desligado', + unsavedTip: 'Contacto desconhecido', + + actions: 'Ações', + resync: 'Re-sincronizar', + connect: 'Ligar', + disconnect: 'Desligar', + disconnectContact: 'Desligar o contacto', + deleteContact: 'Apagar o contacto', + saveContact: 'Guardar o contacto', + saveAccept: 'Guardar e aceitar ligação', + saveRequest: 'Guardar e pedir ligação', + ignoreRequest: 'Ignorar ligação', + acceptConnection: 'Aceitar ligação', + requestConnection: 'Pedir ligação', + cancelRequest: 'Cancelar ligação', + resyncContact: 'Re-sincronizar contacto', + + login: 'Entrar', + create: 'Criar', + createAccount: 'Criar uma conta', + accountLogin: 'Login da conta', + toCreate: 'As contas são criadas através de um link criado no painel do administrador.', + admin: 'Administrador', + loginError: 'Erro no login', + loginMessage: 'Por favor, confirma o teu nome de utilizador e password.', + createError: 'Erro ao criar a conta', + createMessage: 'Por favor, verifica com o teu administrador.', + adminError: 'Erro no acesso', + adminMessage: 'Por favor, confirma a tua password', + + confirmDelete: 'Apagar esta conta', + areSure: 'Tens a certeza que queres apagar esta conta?', + + mb: 'MB', + gb: 'GB', + copied: 'Copiado', + accessAccount: 'Entrar na conta', + browserLink: 'Link no navegador', + mobileToken: 'Token no telemóvel', + createLink: 'Link para criar uma conta', + configureServer: 'Configurar o servidor', + reloadAccounts: 'Recarregar as contas', + disableAccount: 'Desactivar a conta', + enableAccount: 'Activar a conta', + deleteAccount: 'Apagar a conta', + hostHint: 'domínio[:porta]', + federatedHost: 'Host federado', + storageLimit: 'Limite no armazenamento (GB) / conta', + storageHint: '0 para ilimitado', + keyType: 'Tipo de chave', + accountCreation: 'Criar conta pública', + enablePush: 'Activar notificações push', + allowUnsealed: 'Permitir tópicos não encriptados', + topicContent: 'Conteúdo do tópico:', + enableImage: 'Activar imagens no tópico', + imageHint: 'Permitir a publicação de imagens nos tópicos', + enableAudio: 'Activar áudio no tópico', + audioHint: 'Permitir a publicação de áudio nos tópicos', + enableVideo: 'Activar vídeos no tópico', + videoHint: 'Permitir a publicação de vídeos nos tópicos', + enableBinary: 'Activar arquivos binários no tópico', + binaryHint: 'Permitir que arquivos binários sejam postados nos tópicos', + enableWeb: 'Activar chamadas WebRTC', + webHint: 'Permitir chamadas de áudio e vídeo para contactos', + enableService: 'Serviço Cloudflare', + serviceHint: 'Activar o serviço Cloudflare', + serverUrl: 'URL do servidor WebRTC', + urlHint: 'turn:ip:port?transport=udp', + webUsername: 'Nome de utilizador WebRTC', + webPassword: 'Password WebRTC', + failedLoad: 'Falha ao carregar', + limit: 'Limite', + + deleteMessage: 'Apagar esta mensagem', + messageHint: 'Tens a certeza que queres apagar a mensagem?', + fontColor: 'Alterar a cor da fonte', + fontSize: 'Alterar o tamanho da fonte', + postMessage: 'Publicar a mensagem', + + close: 'Fechar', + leave: 'Sair', + confirmTopic: 'Apagar este tópico', + sureTopic: 'Tens a certeza que queres apagar este tópico?', + confirmLeave: 'Sair deste tópico', + sureLeave: 'Tens a certeza que queres sair deste tópico?', + + details: 'Detalhes', + edit: 'Editar', + editSubject: 'Editar este tópico', + editMembership: 'Editar membros deste tópico', + deleteTopic: 'Apagar este tópico', + leaveTopic: 'Sair deste tópico', + + integrated: 'Integrado', + microphone: 'Microfone', + camera: 'Câmera', + + removing: 'Remover o Contacto', + confirmRemove: 'Tens a certeza que queres remover o contacto?', + message: 'Mensagem', + sealedMessage: 'Mensagem Encriptada', + + mfaTitle: 'Autenticação de Dois Factores', + mfaSteps: 'Guarda o teu segredo e confirma o código de verificação', + mfaEnter: 'Escreve o teu código de verificação', + mfaError: 'erro no código de verificação', + mfaDisabled: 'verificação temporariamente desactivada', + mfaConfirm: 'Confirmar', + + enableMultifactor: 'Activar a autenticação multifator', + disableMultifactor: 'Desactivar a autenticação multifator', + + disable: 'Desativar', + confirmDisable: 'Desactivar a Autenticação de Dois Fatores', + disablePrompt: 'Tens a certeza que queres desactivar a autenticação de dois factores?', +}; + +export const pt-br = { yourHostname: 'Seu administrador não configurou o nome do host do serviço', theirHostname: 'O administrador do contato não configurou o nome do host do serviço', @@ -1393,7 +1800,7 @@ export const pt = { blockMessage: 'Bloquear mensagem', blockMessagePrompt: 'Tem certeza de que deseja bloquear a mensagem?', - code: 'pt', + code: 'pt-br', settings: 'Configurações', contacts: 'Contatos', logout: 'Sair', From e11dcda5a6f0af240200d6e080fb50f2d7b5954c Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:01:48 +0000 Subject: [PATCH 3/8] [Translation] Add pt-pt and move pt to pt-br --- app/client/web/src/constants/Strings.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/client/web/src/constants/Strings.ts b/app/client/web/src/constants/Strings.ts index 8d949d424..168ce1d5d 100644 --- a/app/client/web/src/constants/Strings.ts +++ b/app/client/web/src/constants/Strings.ts @@ -1230,7 +1230,7 @@ export const es = { export const pt-pt = { yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', - theirHostname: 'O administrador do contacto ainda não configurou um nome o host do serviço', + theirHostname: 'O administrador do contacto ainda não configurou um nome para o host do serviço', adminSettings: 'Configurações da administração', accountKeyType: 'Tipo de chave da conta', @@ -1240,7 +1240,7 @@ export const pt-pt = { serviceToken: 'Token do serviço', serviceUrl: 'URL do serviço', idHint: 'ID / Nome de utilizador', - tokenHint: 'Token / Senha', + tokenHint: 'Token / Password', searchAccounts: 'Pesquisar contas', chatMembers: 'Membros do chat', tokenRequired: 'Token (requirido)', @@ -1253,11 +1253,11 @@ export const pt-pt = { sureLogout: 'Tens a certeza que queres sair?', changePrompt: 'Aqui podes alterar o teu nome de utilizador e/ou a password da tua conta', - typeDelete: 'Escreve [exclui]', + typeDelete: 'Escreve [apagar]', encryptionKey: 'Chave de encriptação', generateKey: 'Cria uma chave para activar a encriptação de ponta a ponta nos tópicos.', moreOptions: 'Mais opções', - saveDelete: 'Guardar a chave com uma password diferente ou exclui a chave', + saveDelete: 'Guardar a chave com uma password diferente ou apagar a chave', removeMessage: 'Apagar a mensagem', reportMessage: 'Denunciar a mensagem', reportChat: 'Denunciar a conversa', @@ -1303,7 +1303,7 @@ export const pt-pt = { notUser: 'Não é um utilizador?', adminAccess: 'Acesso para Administrador', yourProfile: 'Configura o teu perfil', - connectWith: 'Conecta-te com pessoas', + connectWith: 'Liga-te com pessoas', startTopic: 'Começa uma conversa', getStarted: 'Começar', enterName: 'Escreve o teu nome', From 9fc1c1d634531c6203087cbad34fa8321f00e979 Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:03:07 +0000 Subject: [PATCH 4/8] [Translation] Add pt-pt and move pt to pt-br --- app/client/mobile/src/constants/Strings.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/client/mobile/src/constants/Strings.ts b/app/client/mobile/src/constants/Strings.ts index efa388579..03ba1f86d 100644 --- a/app/client/mobile/src/constants/Strings.ts +++ b/app/client/mobile/src/constants/Strings.ts @@ -1242,7 +1242,7 @@ export const es = { export const pt-pt = { yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', - theirHostname: 'O administrador do contacto ainda não configurou um nome o host do serviço', + theirHostname: 'O administrador do contacto ainda não configurou um nome para o host do serviço', adminSettings: 'Configurações da administração', accountKeyType: 'Tipo de chave da conta', @@ -1252,7 +1252,7 @@ export const pt-pt = { serviceToken: 'Token do serviço', serviceUrl: 'URL do serviço', idHint: 'ID / Nome de utilizador', - tokenHint: 'Token / Senha', + tokenHint: 'Token / Password', searchAccounts: 'Pesquisar contas', chatMembers: 'Membros do chat', tokenRequired: 'Token (requirido)', @@ -1265,11 +1265,11 @@ export const pt-pt = { sureLogout: 'Tens a certeza que queres sair?', changePrompt: 'Aqui podes alterar o teu nome de utilizador e/ou a password da tua conta', - typeDelete: 'Escreve [exclui]', + typeDelete: 'Escreve [apagar]', encryptionKey: 'Chave de encriptação', generateKey: 'Cria uma chave para activar a encriptação de ponta a ponta nos tópicos.', moreOptions: 'Mais opções', - saveDelete: 'Guardar a chave com uma password diferente ou exclui a chave', + saveDelete: 'Guardar a chave com uma password diferente ou apagar a chave', removeMessage: 'Apagar a mensagem', reportMessage: 'Denunciar a mensagem', reportChat: 'Denunciar a conversa', @@ -1315,7 +1315,7 @@ export const pt-pt = { notUser: 'Não é um utilizador?', adminAccess: 'Acesso para Administrador', yourProfile: 'Configura o teu perfil', - connectWith: 'Conecta-te com pessoas', + connectWith: 'Liga-te com pessoas', startTopic: 'Começa uma conversa', getStarted: 'Começar', enterName: 'Escreve o teu nome', From 0928d901b6a61fa2d852e7fd26b254a2cf9e86d2 Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:11:54 +0000 Subject: [PATCH 5/8] [Translation] Add pt-pt and move pt to pt-br From 8a11218b28a49a10a4a80e718f372d723b79422e Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:13:52 +0000 Subject: [PATCH 6/8] [Translation] Add pt-pt and move pt to pt-br From cb5e1635233d0f51d7d18dbfa76ba61d3ccf3a6e Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:21:31 +0000 Subject: [PATCH 7/8] [Translation Add pt and move pt to br Trying to fix the build using - doesn't work --- app/client/mobile/src/constants/Strings.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/client/mobile/src/constants/Strings.ts b/app/client/mobile/src/constants/Strings.ts index 03ba1f86d..e1deecfdb 100644 --- a/app/client/mobile/src/constants/Strings.ts +++ b/app/client/mobile/src/constants/Strings.ts @@ -3,8 +3,8 @@ export const languages = [ {name: 'Français', value: 'fr'}, {name: 'Español', value: 'es'}, {name: 'Deutsch', value: 'de'}, - {name: 'Português', value: 'pt-pt'}, - {name: 'Português Brasil', value: 'pt-br'}, + {name: 'Português', value: 'pt'}, + {name: 'Português Brasil', value: 'br'}, {name: 'Русский', value: 'ru'}, {name: 'ελληνικά', value: 'el'}, ]; @@ -1240,7 +1240,7 @@ export const es = { disablePrompt: '¿Estás seguro de que quieres desactivar la autenticación de dos factores?', }; -export const pt-pt = { +export const pt = { yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', theirHostname: 'O administrador do contacto ainda não configurou um nome para o host do serviço', @@ -1406,7 +1406,7 @@ export const pt-pt = { blockMessage: 'Bloquear a mensagem', blockMessagePrompt: 'Tens certeza que queres bloquear a mensagem?', - code: 'pt-pt', + code: 'pt', settings: 'Definicões', contacts: 'Contactos', logout: 'Sair', @@ -1646,7 +1646,7 @@ export const pt-pt = { disablePrompt: 'Tens a certeza que queres desactivar a autenticação de dois factores?', }; -export const pt-br = { +export const br = { yourHostname: 'Seu administrador não configurou o nome do host do serviço', theirHostname: 'O administrador do contato não configurou o nome do host do serviço', @@ -1814,7 +1814,7 @@ export const pt-br = { blockMessage: 'Bloquear mensagem', blockMessagePrompt: 'Tem certeza de que deseja bloquear a mensagem?', - code: 'pt-br', + code: 'br', settings: 'Configurações', contacts: 'Contatos', logout: 'Sair', From 315ccbb83c49e0acc97c07ad64e38c8825a2ee24 Mon Sep 17 00:00:00 2001 From: Zzzz <46766062+samuraikid0@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:23:01 +0000 Subject: [PATCH 8/8] [Translation Add pt and move pt to br Trying to fix the build using - doesn't work --- app/client/web/src/constants/Strings.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/client/web/src/constants/Strings.ts b/app/client/web/src/constants/Strings.ts index 168ce1d5d..22c952ad1 100644 --- a/app/client/web/src/constants/Strings.ts +++ b/app/client/web/src/constants/Strings.ts @@ -3,8 +3,8 @@ export const languages = [ {name: 'Français', value: 'fr'}, {name: 'Español', value: 'es'}, {name: 'Deutsch', value: 'de'}, - {name: 'Português', value: 'pt-pt'}, - {name: 'Português Brasil', value: 'pt-br'}, + {name: 'Português', value: 'pt'}, + {name: 'Português Brasil', value: 'br'}, {name: 'Русский', value: 'ru'}, {name: 'ελληνικά', value: 'el'}, ]; @@ -1228,7 +1228,7 @@ export const es = { disablePrompt: '¿Estás seguro de que quieres desactivar la autenticación de dos factores?', }; -export const pt-pt = { +export const pt = { yourHostname: 'O teu administrador ainda não configurou um nome para o host do serviço', theirHostname: 'O administrador do contacto ainda não configurou um nome para o host do serviço', @@ -1394,7 +1394,7 @@ export const pt-pt = { blockMessage: 'Bloquear a mensagem', blockMessagePrompt: 'Tens certeza que queres bloquear a mensagem?', - code: 'pt-pt', + code: 'pt', settings: 'Definicões', contacts: 'Contactos', logout: 'Sair', @@ -1634,7 +1634,7 @@ export const pt-pt = { disablePrompt: 'Tens a certeza que queres desactivar a autenticação de dois factores?', }; -export const pt-br = { +export const br = { yourHostname: 'Seu administrador não configurou o nome do host do serviço', theirHostname: 'O administrador do contato não configurou o nome do host do serviço', @@ -1800,7 +1800,7 @@ export const pt-br = { blockMessage: 'Bloquear mensagem', blockMessagePrompt: 'Tem certeza de que deseja bloquear a mensagem?', - code: 'pt-br', + code: 'br', settings: 'Configurações', contacts: 'Contatos', logout: 'Sair',