diff --git a/src/core/common/helpers/i18n/locales.ts b/src/core/common/helpers/i18n/locales.ts index 86a818775..5430a722c 100644 --- a/src/core/common/helpers/i18n/locales.ts +++ b/src/core/common/helpers/i18n/locales.ts @@ -2,10 +2,10 @@ * LanguageCode is the type represented by the internally identifiable types for * the different languages that can be supported. */ -export type LanguageCode = "en-US" | "es" | "de"; +export type LanguageCode = "en-US" | "pt-BR" | "es" | "de"; /** * LOCALES is an array of supported language codes that can be accessed as a * value. */ -export const LOCALES: LanguageCode[] = ["en-US", "es", "de"]; +export const LOCALES: LanguageCode[] = ["en-US", "pt-BR", "es", "de"]; diff --git a/src/core/server/graph/tenant/resolvers/LOCALES.ts b/src/core/server/graph/tenant/resolvers/LOCALES.ts index efafd8398..fb8dfd1d1 100644 --- a/src/core/server/graph/tenant/resolvers/LOCALES.ts +++ b/src/core/server/graph/tenant/resolvers/LOCALES.ts @@ -4,6 +4,7 @@ import { GQLLOCALES } from "../schema/__generated__/types"; export const LOCALES: Record = { en_US: "en-US", + pt_BR: "pt-BR", es: "es", de: "de", }; diff --git a/src/core/server/graph/tenant/schema/schema.graphql b/src/core/server/graph/tenant/schema/schema.graphql index 033ceb5d4..3932776e5 100644 --- a/src/core/server/graph/tenant/schema/schema.graphql +++ b/src/core/server/graph/tenant/schema/schema.graphql @@ -974,6 +974,7 @@ hyphen is replaced by an underscore. """ enum LOCALES { en_US + pt_BR es de } diff --git a/src/core/server/locales/pt-BR/common.ftl b/src/core/server/locales/pt-BR/common.ftl new file mode 100644 index 000000000..b6b1637d0 --- /dev/null +++ b/src/core/server/locales/pt-BR/common.ftl @@ -0,0 +1,2 @@ +closeCommentingDefaultMessage = Comentários foram fechados nessa história. +disableCommentingDefaultMessage = Comentários foram fechados nessa história. diff --git a/src/core/server/locales/pt-BR/email.ftl b/src/core/server/locales/pt-BR/email.ftl new file mode 100644 index 000000000..08adad66b --- /dev/null +++ b/src/core/server/locales/pt-BR/email.ftl @@ -0,0 +1,47 @@ +email-notification-footer = + Enviado por { $organizationName } + +email-notification-template-forgotPassword = + Olá { $username },

+ Recebemos uma solicitação para redefinir sua senha em { $organizationName }.

+ Por favor, use este link redefinir sua senha: Clique aqui para redefinir sua senha

+ Se você não solicitou isso, ignore este e-mail.
+ +email-subject-forgotPassword = Pedido de Redefinição de Senha + +email-notification-template-ban = + Olá { $username },

+ Alguém com acesso à sua conta violou nossas diretrizes da comunidade. + Como resultado, sua conta foi banida. Você não será mais capaz de + comentar, reagir ou reportar comentários. se você acha que isso foi feito por engano, + entre em contato com nossa equipe da comunidade em { $organizationContactEmail }. + +email-subject-ban = Sua conta foi banida + +email-notification-template-passwordChange = + Olá { $username },

+ A senha da sua conta foi alterada.

+ Se você não solicitou essa alteração, + entre em contato com nossa equipe da comunidade em { $organizationContactEmail }. + +email-subject-passwordChange = Sua senha foi alterada + +email-notification-template-suspend = + Olá { $username },

+ Em concordância com as diretrizes da comunidade { $organizationName }, sua +  conta foi temporariamente suspensa. Durante a suspensão, você será +  incapaz de comentar, interagir ou se envolver com outros comentários. Por favor, junte-se a + nós em { $until }.

+ Se você acha que isso foi feito por engano, entre em contato com nossa equipe em + { $organizationContactEmail }. + +email-subject-suspend = A sua conta foi suspensa + +email-notification-template-confirmEmail = + Olá { $username },

+ Para confirmar seu endereço de e-mail para usar sua conta nos comentários em { $organizationName } + Clique aqui

+ Se você não criou recentemente uma conta de comentários em + { $organizationName }, você pode ignorar este email. + +email-subject-confirmEmail = Confirmar e-mail diff --git a/src/core/server/locales/pt-BR/errors.ftl b/src/core/server/locales/pt-BR/errors.ftl new file mode 100644 index 000000000..0982d3b7e --- /dev/null +++ b/src/core/server/locales/pt-BR/errors.ftl @@ -0,0 +1,53 @@ +error-commentingDisabled = Comentários foram desativados no lado do tenant. +error-storyClosed = A história está fechada para comentários. +error-commentBodyTooShort = O comentário deve ter pelo menos {$min} caracteres. +error-commentBodyExceedsMaxLength = + O corpo do comentário excede o comprimento máximo de {$max} caracteres. +error-storyURLNotPermitted = + A URL da história especificada não existe na lista de domínios permitidos. +error-urlNotPermitted = A URL especificada ({$url}) não é permitida. +error-duplicateStoryURL = A URL da história especificada já existe. +error-tenantNotFound = Hostname do tenant ({$hostname}) não encontrado. +error-userNotFound = Usuário ({$userID}) não encontrado. +error-notFound = URL da requisição desconhecida ({$method} {$path}). +error-tokenInvalid = Token de API inválido. + +error-tokenNotFound = O token especificado não existe. +error-emailAlreadySet = O endereço de e-mail já foi definido. +error-emailNotSet = O endereço de email ainda não foi definido. +error-duplicateUser = + Usuário especificado já existe com um método de login diferente. +error-duplicateEmail = O endereço de e-mail especificado já está em uso. +error-localProfileAlreadySet = + Conta especificada já tem uma senha definida. +error-localProfileNotSet = + A conta especificada não possui uma senha definida. +error-usernameAlreadySet = A conta especificada já tem seu nome de usuário definido. +error-usernameContainsInvalidCharacters = + O nome de usuário fornecido contém caracteres inválidos. +error-usernameExceedsMaxLength = + O nome de usuário excede o comprimento máximo de {$max} caracteres. +error-usernameTooShort = + O nome de usuário deve ter pelo menos {$min} caracteres. +error-passwordTooShort = + A senha deve ter pelo menos {$min} caracteres. +error-emailInvalidFormat = + O endereço de e-mail fornecido não parece ser um e-mail válido. +error-emailExceedsMaxLength = + O endereço de e-mail excede o tamanho máximo de {$max} caracteres. +error-internalError = Erro interno +error-tenantInstalledAlready = Tenant já instalado. +error-userNotEntitled = Você não está autorizado a acessar esse recurso. +error-storyNotFound = História ({$storyID}) não encontrada. +error-commentNotFound = Comentário ({$commentID}) não encontrado. +error-invalidCredentials = Combinação de email e/ou senha incorreta. +error-toxicComment = Você tem certeza? A linguagem deste comentário pode violar nossas diretrizes da comunidade. Você pode editar o comentário ou enviá-lo para revisão do moderador. +error-spamComment = A linguagem neste comentário parece ser um spam. Você pode editar o comentário ou enviá-lo de qualquer maneira para a revisão do moderador. +error-userAlreadySuspended = O usuário já tem uma suspensão ativa até {$until}. +error-userAlreadyBanned = O usuário já está banido. +error-userBanned = Sua conta está banida. +error-userSuspended = Sua conta está suspensa no momento até {$until}. +error-integrationDisabled = A integração especificada está desativada. +error-passwordResetTokenExpired = Link de redefinição de senha expirado. +error-emailConfirmTokenExpired = Link de confirmação de email expirado. +error-rateLimitExceeded = Rate limit excedido. diff --git a/src/core/server/locales/pt-BR/tags.ftl b/src/core/server/locales/pt-BR/tags.ftl new file mode 100644 index 000000000..f1da4eabd --- /dev/null +++ b/src/core/server/locales/pt-BR/tags.ftl @@ -0,0 +1,2 @@ +tags-staff = Staff +tags-featured = Featured diff --git a/src/locales/pt-BR/account.ftl b/src/locales/pt-BR/account.ftl new file mode 100644 index 000000000..d11b18f66 --- /dev/null +++ b/src/locales/pt-BR/account.ftl @@ -0,0 +1,18 @@ +### Localization for Account + +## Password Reset + +resetPassword-resetPassword = Redefinir senha +resetPassword-resetYourPassword = Redefinir sua senha +resetPassword-pleaseEnterNewPassword = + Por favor, entre com uma nova senha para entrar na sua conta. + Certifique-se de que ela é única e certifique-se de mantê-la segura. +resetPassword-passwordLabel = Senha +resetPassword-passwordDescription = Deve ter pelo menos {$minLength} caracteres +resetPassword-passwordTextField = + .placeholder = Senha +resetPassword-successfullyReset = Senha redefinida com sucesso +resetPassword-youMayClose = + Agora você pode fechar esta janela e fazer login na sua conta com sua nova senha. +resetPassword-oopsSorry = Oops Desculpe! +resetPassword-missingResetToken = O token de redefinição parece estar faltando. diff --git a/src/locales/pt-BR/admin.ftl b/src/locales/pt-BR/admin.ftl new file mode 100644 index 000000000..f8306d4ca --- /dev/null +++ b/src/locales/pt-BR/admin.ftl @@ -0,0 +1,490 @@ +### Localization for Admin + +## General +general-notAvailable = Não disponível + +## Story Status +storyStatus-open = Aberto +storyStatus-closed = Fechado + +## Roles +role-admin = Administrador +role-moderator = Moderador +role-staff = Staff +role-commenter = Comentador + +role-plural-admin = Administradores +role-plural-moderator = Moderadores +role-plural-staff = Staff +role-plural-commenter = Comentadores + +## User Statuses +userStatus-active = Ativo +userStatus-banned = Banido +userStatus-suspended = Suspenso + +## Navigation +navigation-moderate = Moderação +navigation-community = Comunidade +navigation-stories = Histórias +navigation-configure = Configuração + +## User Menu +userMenu-signOut = Sair +userMenu-viewLatestRelease = Ver último lançamento +userMenu-reportBug = Reportar um bug ou dar um feedback +userMenu-popover = + .description = Uma caixa de diálogo do menu do usuário com links e ações relacionadas + +## Restricted +restricted-currentlySignedInTo = Atualmente logado +restricted-noPermissionInfo = Você não tem permissão para acessar esta página. +restricted-signedInAs = Você está logado como: +restricted-signInWithADifferentAccount = Entrar com uma conta diferente +restricted-contactAdmin = Se você acha que isso é um erro, entre em contato com seu administrador para obter ajuda. + +## Login + +# Sign In +login-signInTo = Entrar +login-signIn-enterAccountDetailsBelow = Insira os detalhes da sua conta abaixo + +login-emailAddressLabel = Endereço de e-mail +login-emailAddressTextField = + .placeholder = Endereço de e-mail + +login-signIn-passwordLabel = Senha +login-signIn-passwordTextField = + .placeholder = Senha + +login-signIn-signInWithEmail = Entrar com o e-mail +login-signIn-orSeparator = Ou + +login-signInWithFacebook = Entrar com Facebook +login-signInWithGoogle = Entrar com Google +login-signInWithOIDC = Entrar com { $name } + +## Configure + +configure-unsavedInputWarning = + Você tem entrada não salva. + em certeza de que deseja sair desta página? + +configure-sideBarNavigation-general = Geral +configure-sideBarNavigation-authentication = Autenticação +configure-sideBarNavigation-moderation = Moderação +configure-sideBarNavigation-organization = Organização +configure-sideBarNavigation-advanced = Avançado +configure-sideBarNavigation-bannedAndSuspectWords = Palavras banidas e suspeitas + +configure-sideBar-saveChanges = Salvar mudanças +configure-configurationSubHeader = Configuração +configure-onOffField-on = Ligado +configure-onOffField-off = Desligado +configure-permissionField-allow = Permitir +configure-permissionField-dontAllow = Não permitir + +### General +configure-general-guidelines-title = Resumo das Diretrizes da Comunidade +configure-general-guidelines-explanation = + Escreva um resumo das diretrizes da sua comunidade que serão exibidas +  no topo de cada fluxo de comentários em todo o site. Seu resumo pode ser +  formatado usando a Sintaxe do Markdown. Mais informações sobre como usar +  Markdown podem ser encontradas aqui. +configure-general-guidelines-showCommunityGuidelines = Mostrar Resumo das Diretrizes da Comunidade + +### Sitewide Commenting +configure-general-sitewideCommenting-title = Comentários em todo o site +configure-general-sitewideCommenting-explanation = + Abra ou feche fluxos de comentários para novos comentários em todo o site. Quando novos comentários +  estão desativados em todo o site, novos comentários não podem ser enviados, mas +  comentários podem continuar recebendo reações de “Respeito”, ser reportados e +  compartilhados. +configure-general-sitewideCommenting-enableNewCommentsSitewide = + Habilitar comentários em todo o site +configure-general-sitewideCommenting-onCommentStreamsOpened = + Ligado - Fluxo de comentário aberto para novos comentários +configure-general-sitewideCommenting-offCommentStreamsClosed = + Desligado - Fluxo de comentário fechado para novos comentários +configure-general-sitewideCommenting-message = Mensagem de Comentários Fechados em Todo o Site +configure-general-sitewideCommenting-messageExplanation = + Escreva uma mensagem que será exibida quando o fluxo de comentários estiver fechado em todo o site + +### Closing Comment Streams +configure-general-closingCommentStreams-title = Fechando fluxos de comentários +configure-general-closingCommentStreams-explanation = Defina fluxos de comentários para fechar após um período de tempo definido após a publicação de uma história +configure-general-closingCommentStreams-closeCommentsAutomatically = Fechar Comentários Automaticamente +configure-general-closingCommentStreams-closeCommentsAfter = Fechar Comentários Depois de + +#### Comment Length +configure-general-commentLength-title = Tamanho do comentário +configure-general-commentLength-maxCommentLength = Tamanho máximo do comentário +configure-general-commentLength-setLimit = Definir um limite para a duração dos comentários em todo o site +configure-general-commentLength-limitCommentLength = Tamanho limite do comentário +configure-general-commentLength-minCommentLength = Tamanho Mínimo do comentário +configure-general-commentLength-characters = Caracteres +configure-general-commentLength-textField = + .placeholder = Sem limites +configure-general-commentLength-validateLongerThanMin = + Por favor insira um número maior que o comprimento mínimo + +#### Comment Editing +configure-general-commentEditing-title = Edição de Comentários +configure-general-commentEditing-explanation = + Defina um limite de quanto tempo os comentadores precisam editar seus comentários em todo o site. +  Os comentários editados são marcados como (Editados) no fluxo de comentários e +  painel de moderação. +configure-general-commentEditing-commentEditTimeFrame = Período de tempo de edição de comentários +configure-general-commentEditing-seconds = Segundos + +#### Closed Stream Message +configure-general-closedStreamMessage-title = Fechar fluxo de comentários +configure-general-closedStreamMessage-explanation = Escreva uma mensagem para aparecer depois que uma história for fechada para comentários. + +### Organization +configure-organization-name = Nome da organização +configure-organization-nameExplanation = + O nome da sua organização aparecerá nos e-mails enviados pelo Coral para sua comunidade e membros da organização. +configure-organization-email = E-mail organizacional +configure-organization-emailExplanation = + Este endereço de e-mail será usado nos e-mails +  da plataforma para os membros da comunidade para entrarem em contato com +  a organização com alguma dúvida sobre o +  status de suas contas ou questões de moderação. + +### Authentication + +configure-auth-authIntegrations = Integrações de Autenticação +configure-auth-clientID = Client ID +configure-auth-clientSecret = Client Secret +configure-auth-configBoxEnabled = Habilitado +configure-auth-targetFilterCoralAdmin = Coral Admin +configure-auth-targetFilterCommentStream = Fluxo de Comentários +configure-auth-redirectURI = URI de redirecionamento +configure-auth-registration = Cadastro +configure-auth-registrationDescription = + Permitir que usuários que não se inscreveram antes com essa autenticação + integração para se inscrever para uma nova conta. +configure-auth-registrationCheckBox = Permitir cadastro +configure-auth-pleaseEnableAuthForAdmin = + Por favor, ative pelo menos uma integração de autenticação para o Coral Admin +configure-auth-confirmNoAuthForCommentStream = + Nenhuma integração de autenticação foi ativada para o fluxo de comentários. + Você realmente quer continuar? + +configure-auth-facebook-loginWith = Entrar com Facebook +configure-auth-facebook-toEnableIntegration = + Para habilitar a integração com o Facebook Authentication, + você precisa criar e configurar uma aplicação web. + Para mais detalhes, visite: . +configure-auth-facebook-useLoginOn = Usar login com o Facebook login ligado + +configure-auth-google-loginWith = Entrar com Google +configure-auth-google-toEnableIntegration = + Para habilitar a integração com o Google Authentication você precisa + criar e configurar uma aplicação web. Para mais detalhes, visite: + . +configure-auth-google-useLoginOn = Usar login com o Google ligado + +configure-auth-sso-loginWith = Entrar com Single Sign On +configure-auth-sso-useLoginOn = Usar login com Single Sign On ligado +configure-auth-sso-key = Chave +configure-auth-sso-regenerate = Regerar +configure-auth-sso-regenerateAt = CHAVE GERADA EM: + { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric") } +configure-auth-sso-regenerateWarning = + Regenerar uma chave invalida todas as sessões de usuários existentes, +  e todos os usuários conectados serão desconectados. + +configure-auth-local-loginWith = Entrar com autenticação via E-mail +configure-auth-local-useLoginOn = Usar login com autenticação via e-mail ligado + +configure-auth-oidc-loginWith = Login com OpenID Connect +configure-auth-oidc-toLearnMore = Saiba mais: +configure-auth-oidc-providerName = Nome do Provedor +configure-auth-oidc-providerNameDescription = + O provedor da integração do OpenID Connect. Isso será usado quando o nome do provedor +  precisa ser exibido, por exemplo “Login com <Facebook>”. +configure-auth-oidc-issuer = Emissor +configure-auth-oidc-issuerDescription = + Depois de inserir as informações do emissor, clique no botão Descobrir para que o Coral mostre +  os campos restantes. Você também pode inserir as informações manualmente. +configure-auth-oidc-authorizationURL = URL de Autorização +configure-auth-oidc-tokenURL = Token URL +configure-auth-oidc-jwksURI = JWKS URI +configure-auth-oidc-useLoginOn = Usar login com OpenID Connect ligado + +### Moderation +configure-moderation-apiKey = API Key + +configure-moderation-akismet-title = Filtro de Detecção de Spam Akismet +configure-moderation-akismet-explanation = + Os comentários enviados são transmitidos para a API do Akismet para detecção de spam. +  Se um comentário for determinado como spam, ele mostrará ao usuário, +  indicando que o comentário pode ser considerado spam. +  Se o usuário continuar após esse ponto com o comentário ainda como spam, +  o comentário será marcado como contendo spam, não será publicado e +  são colocados na Fila pendente para revisão por um moderador . Se aprovado por um moderador, +  o comentário será publicado. + + +#### Akismet +configure-moderation-akismet-filter = Filtro de Detecção de Spam +configure-moderation-akismet-accountNote = + Nota: Você deve adicionar seu(s) domínio(s) ativo(s) +  na sua conta Akismet: https://akismet.com/account/ +configure-moderation-akismet-siteURL = URL do site + +configure-moderation-perspective-title = Filtro de Comentários Tóxicos Perspective API +configure-moderation-perspective-explanation = + Usando a Perspective API, o filtro de comentários tóxicos avisa os usuários quando os comentários excedem a toxicidade predefinida +  limite. Comentários com uma pontuação de toxicidade acima do limite não serão publicados e serão colocados na +   fila pendente para revisão por um moderador . Se aprovado por um moderador, o comentário será publicado. + +#### Perspective +configure-moderation-perspective-filter = Filtro de Comentários Tóxicos +configure-moderation-perspective-toxicityThreshold = Limite de toxicidade +configure-moderation-perspective-toxicityThresholdDescription = + Esse valor pode ser definido como uma porcentagem entre 0 e 100. Esse número representa a probabilidade de +  o comentário ser tóxico, de acordo com a API do Perspective. Por padrão, o limite é definido como { $default } + (Disponível apenas para o idioma inglês). +configure-moderation-perspective-allowStoreCommentData = Permitir que o Google armazene dados de comentários +configure-moderation-perspective-allowStoreCommentDataDescription = + Comentários armazenados serão usados para futuras pesquisas e propósitos de construção de modelos +  melhorar a API ao longo do tempo +configure-moderation-perspective-customEndpoint = Customizar Endpoint +configure-moderation-perspective-defaultEndpoint = + Por padrão o endpoint é setado como { $default }. Você pode sobrescreve-lo aqui +configure-moderation-perspective-accountNote = + Para obter informações adicionais sobre como configurar o filtro de comentário tóxicos da Perspective API , visite: + https://github.com/conversationai/perspectiveapi/blob/master/quickstart.md + +#### Banned Words Configuration +configure-wordList-banned-bannedWordsAndPhrases = Palavras e Frases Banidas +configure-wordList-banned-explanation = + Comentários contendo uma palavra ou frase na lista de palavras banidas são rejeitados automaticamente e não são publicados . +configure-wordList-banned-wordList = Lista de palavras banidas +configure-wordList-banned-wordListDetail = + Separe palavras ou frases banidas com uma nova linha. Tentando copiar +  e cole uma lista separada por vírgula? Saiba como converter sua lista +  para uma nova lista separada por linha. + +#### Suspect Words Configuration +configure-wordList-suspect-bannedWordsAndPhrases = Palavras e Frases Suspeitas +configure-wordList-suspect-explanation = + Comentários contendo uma palavra ou frase na Lista de Palavras Suspeitas +  são colocados na Fila de Reportados para revisão de moderadores e são +  publicado (se os comentários não forem pré-moderados). +configure-wordList-suspect-wordList = Lista de Palavras Suspeitas +configure-wordList-suspect-wordListDetail = + Separe palavras suspeitas ou frases com uma nova linha. Tentando copiar +  e cole uma lista separada por vírgula? Saiba como converter sua lista +  para uma nova lista separada por linha. + +### Advanced +configure-advanced-customCSS = CSS Customizado +configure-advanced-customCSS-explanation = + URL de uma folha de estilo CSS que substituirá o estilo padrão dos fluxos de comentário das páginas. Pode ser interno ou externo. +configure-advanced-permittedDomains = Domínios Permitidos +configure-advanced-permittedDomains-explanation = + Domínios nos quais sua instância Coral pode ser incorporada. +  O uso típico é localhost, staging.yourdomain.com, +  yourdomain.com, etc. + +## Decision History +decisionHistory-popover = + .description = Uma caixa de diálogo mostrando o histórico de decisões +decisionHistory-youWillSeeAList = + Você verá uma lista de suas ações de moderação de postagens aqui. +decisionHistory-showMoreButton = + Show More +decisionHistory-yourDecisionHistory = Seu Histórico de Decisão +decisionHistory-rejectedCommentBy = Comentário Rejeitado por +decisionHistory-acceptedCommentBy = Comentário Aceito por +decisionHistory-goToComment = Ir para o comentário + +## moderate +moderate-navigation-reported = reportado +moderate-navigation-pending = Pendente +moderate-navigation-unmoderated = não moderado +moderate-navigation-rejected = rejeitado + +moderate-marker-preMod = Pre-Moderado +moderate-marker-link = Link +moderate-marker-bannedWord = Palavra Banida +moderate-marker-suspectWord = Palavra Suspeita +moderate-marker-spam = Spam +moderate-marker-toxic = Tóxico +moderate-marker-karma = Karma +moderate-marker-bodyCount = Tamanho do conteúdo +moderate-marker-offensive = Ofensivo + +moderate-markers-details = Detalhes +moderate-flagDetails-offensive = Ofensivo +moderate-flagDetails-spam = Spam + +moderate-emptyQueue-pending = Muito bem! Não há mais comentários pendentes para moderar. +moderate-emptyQueue-reported = Muito bem! Não há mais comentários relatados para moderar. +moderate-emptyQueue-unmoderated = Muito bem! Todos os comentários foram moderados. +moderate-emptyQueue-rejected = Não há comentários rejeitados. + +moderate-comment-inReplyTo = Responder para +moderate-comment-viewContext = Ver contexto +moderate-comment-rejectButton = + .aria-label = Rejeitar +moderate-comment-acceptButton = + .aria-label = Aceitar +moderate-comment-decision = Decisão +moderate-comment-story = História +moderate-comment-moderateStory = Moderar História + +moderate-single-goToModerationQueues = Ir para a fila de moderação +moderate-single-singleCommentView = Visualização única de comentários + +### Moderate Search Bar +moderate-searchBar-allStories = Todas as histórias + .title = Todas as histórias +moderate-searchBar-noResults = Sem resultados +moderate-searchBar-stories = Histórias: +moderate-searchBar-searchButton = Pesquisar +moderate-searchBar-titleNotAvailable = + .title = Título não disponível +moderate-searchBar-comboBox = + .aria-label = Pesquise ou pular para a história +moderate-searchBar-searchForm = + .aria-label = Histórias +moderate-searchBar-currentlyModerating = + .title = Atualmente moderando +moderate-searchBar-searchResultsMostRecentFirst = Pesquisar resultados (Mais recentes primeiro) +moderate-searchBar-moderateAllStories = Moderar todas as histórias +moderate-searchBar-comboBoxTextField = + .aria-label = Pesquisar ou pular para a história.... + .placeholder = Use aspas em torno de cada termo de pesquisa (por exemplo, "equipe", "St. Louis") +moderate-searchBar-goTo = Ir para +moderate-searchBar-seeAllResults = Ver todos os resultados + +## Create Username + +createUsername-createUsernameHeader = Criar nome do usuário +createUsername-whatItIs = + Seu nome de usuário é um identificador que aparecerá em todos os seus comentários. +createUsername-createUsernameButton = Criar nome do usuário +createUsername-usernameLabel = Nome do Usuário +createUsername-usernameDescription = Você pode usar "_" e "." Espaços não permitidos. +createUsername-usernameTextField = + .placeholder = Nome do Usuário + +## Add Email Address +addEmailAddress-addEmailAddressHeader = Adicionar Endereço de E-mail + +addEmailAddress-emailAddressLabel = Endereço de E-mail +addEmailAddress-emailAddressTextField = + .placeholder = Endereço de E-mail + +addEmailAddress-confirmEmailAddressLabel = Confirmar Endereço de E-mail +addEmailAddress-confirmEmailAddressTextField = + .placeholder = Confirmar Endereço de E-mail + +addEmailAddress-whatItIs = + Para sua segurança adicional, exigimos que os usuários adicionem um endereço de e-mail às contas deles. + +addEmailAddress-addEmailAddressButton = + Adicionar Endereço de E-mail + +## Create Password +createPassword-createPasswordHeader = Criar Senha +createPassword-whatItIs = + Para proteger contra alterações não autorizadas na sua conta, +  Nós exigimos que os usuários criem uma senha. +createPassword-createPasswordButton = + Criar Senha + +createPassword-passwordLabel = Senha +createPassword-passwordDescription = Deve ter pelo menos {$minLength} caracteres +createPassword-passwordTextField = + .placeholder = Senha + +## Community +community-emptyMessage = Não conseguimos encontrar ninguém na sua comunidade que corresponda aos seus critérios. + +community-filter-searchField = + .placeholder = Pesquise por nome de usuário ou endereço de e-mail ... + .aria-label = Pesquise por nome de usuário ou endereço de e-mail +community-filter-searchButton = + .aria-label = Pesquisar + +community-filter-roleSelectField = + .aria-label = Pesquisar por Função + +community-filter-statusSelectField = +.aria-label = Pesquisar por Status + +community-changeRoleButton = + .aria-label = Mudar Função + +community-filter-optGroupAudience = + .label = Público +community-filter-optGroupOrganization = + .label = Organização +community-filter-search = Pesquisar +community-filter-showMe = Me mostre +community-filter-allRoles = Todas as Funções +community-filter-allStatuses = Todos os Status + +community-column-username = Nome do Usuário +community-column-email = E-mail +community-column-memberSince = Membro desde +community-column-role = Função +community-column-status = Status + +community-role-popover = + .description = Um menu suspenso para alterar o papel do usuário + +community-userStatus-popover = + .description = Um menu suspenso para alterar o status do usuário + +community-userStatus-banUser = Banir Usário +community-userStatus-removeBan = Remover Banimento +community-userStatus-suspendUser = Suspender Userário +community-userStatus-removeSupsension = Remover Suspensão +community-userStatus-unknown = Desconhecido +community-userStatus-changeButton = + .aria-label = Mudar status do usuário + +community-banModal-areYouSure = Você tem certeza que quer banir { $username }? +community-banModal-consequence = + Uma vez banido, este usuário não poderá mais comentar, usar +  reações ou relatar comentários. +community-banModal-cancel = Cancelar +community-banModal-banUser = Banir Usário + +## Stories +stories-emptyMessage = Atualmente não há histórias publicadas. +stories-noMatchMessage = Não foi possível encontrar nenhuma história que corresponda aos seus critérios. + +stories-filter-searchField = + .placeholder = Pesquise por título ou autor da história ... + .aria-label = Pesquisar por título ou autor da história +stories-filter-searchButton = + .aria-label = Pesquisar + +stories-filter-statusSelectField = + .aria-label = Pesquisar por status + +stories-changeStatusButton = + .aria-label = Mudar status + +stories-filter-search = Pesquisar +stories-filter-showMe = Me mostre +stories-filter-allStories = Todas as histórias +stories-filter-openStories = Histórias abertas +stories-filter-closedStories = Histórias Fechadas + +stories-column-title = Título +stories-column-author = Autor +stories-column-publishDate = Data de publicação +stories-column-status = Status +stories-column-clickToModerate = Clique no título para moderar a história + +stories-status-popover = + .description = Um menu suspenso para alterar o status da história diff --git a/src/locales/pt-BR/auth.ftl b/src/locales/pt-BR/auth.ftl new file mode 100644 index 000000000..f0a8d4d13 --- /dev/null +++ b/src/locales/pt-BR/auth.ftl @@ -0,0 +1,118 @@ +### Localization for the Auth Popup + +## General +general-orSeparator = Ou + +general-usernameLabel = Usuário +general-usernameDescription = Você pode usar "_" e "." Espaços não permitidos. +general-usernameTextField = + .placeholder = Usuário +general-emailAddressLabel = Endereço de E-mail +general-emailAddressTextField = + .placeholder = Endereço de E-mail +general-passwordLabel = Senha +general-passwordDescription = Deve ter pelo menos {$minLength} caracteres +general-passwordTextField = + .placeholder = Senha +general-confirmPasswordLabel = Confirmar Senha +general-confirmPasswordTextField = + .placeholder = Confirmar Senha +general-confirmEmailAddressLabel = Confirmar endereço de e-mail +general-confirmEmailAddressTextField = + .placeholder = Confirmar endereço de e-mail + +## Sign In + +signIn-signInToJoinHeader = + Logarpara entrar na conversa + +signIn-signInWithEmail = Entrar com o e-mail +signIn-signInWithFacebook = Entrar com o Facebook +signIn-signInWithGoogle = Entrar com o Google +signIn-signInWithOIDC = Entrar com { $name } + +signIn-passwordLabel = Senha +signIn-passwordTextField = + .placeholder = Senha + +signIn-forgotYourPassword = Esqueceu sua senha? + +signIn-noAccountSignUp = Não tem uma conta? Cadastre-se + +## Sign Up + +signUp-signUpToJoinHeader = + Cadastre-se para entrar na conversa + +signUp-signUpWithEmail = Cadastre-se com seu E-mail +signUp-signUpWithFacebook = Cadastre-se com o Facebook +signUp-signUpWithGoogle = Cadastre-se com o Google +signUp-signUpWithOIDC = Cadastre-se como { $name } + +signUp-accountAvailableSignIn = Já tem uma conta? Entre + +## Forgot Password + +forgotPassword-forgotPasswordHeader = Esqueceu sua senha? +forgotPassword-enterEmailAndGetALink = + Digite seu endereço de e-mail abaixo e nós lhe enviaremos um link para +  redefinir sua senha. + +forgotPassword-sendEmailButton = Enviar e-mail + +forgotPassword-emailAddressLabel = Endereço de E-mail +forgotPassword-emailAddressTextField = + .placeholder = Endereço de E-mail +forgotPassword-gotBackToSignIn = Voltar para a página de login + +forgotPassword-enterEmailAndGetALink = + Digite seu endereço de e-mail abaixo e nós lhe enviaremos um link para +  redefina sua senha. + +### Check Email + +forgotPassword-checkEmail-checkEmailHeader = Cheque seu e-mail +forgotPassword-checkEmail-receiveEmail = + Se houver uma conta associada a , +  você receberá um email com um link para criar uma nova senha. +forgotPassword-checkEmail-closeButton = Fechar + +## Reset Password + +resetPassword-resetPasswordHeader = Redefinir Senha +resetPassword-resetPasswordButton = Redefinir Senha + +## Create Username + +createUsername-createUsernameHeader = Create Username +createUsername-whatItIs = + Your username is an identifier that will appear on all of your comments. +createUsername-createUsernameButton = Create Username + +## Add Endereço de E-mail +addEmailAddress-addEmailAddressHeader = Adicionar Endereço de E-mail + +addEmailAddress-whatItIs = + Para sua segurança adicional, exigimos que os usuários adicionem um endereço de e-mail às suas contas. +  Seu endereço de e-mail será usado para: + +addEmailAddress-receiveUpdates = + Receba atualizações sobre qualquer alteração na sua conta + (Endereço de E-mail, usuário, senha, etc.) + +addEmailAddress-allowDownload = + Permitem que você baixe seus comentários. + +addEmailAddress-sendNotifications = + Envie notificações de comentários que você escolheu para receber. + +addEmailAddress-addEmailAddressButton = + Adicionar Endereço de E-mail + +## Create Password +createPassword-createPasswordHeader = Criar Senha +createPassword-whatItIs = + Para proteger contra alterações não autorizadas na sua conta, +  Nós exigimos que os usuários criem uma senha. +createPassword-createPasswordButton = + Criar Senha diff --git a/src/locales/pt-BR/common.ftl b/src/locales/pt-BR/common.ftl new file mode 100644 index 000000000..a7e1aa16a --- /dev/null +++ b/src/locales/pt-BR/common.ftl @@ -0,0 +1,2 @@ +-brand-name = The Coral Project +-product-name = Coral diff --git a/src/locales/pt-BR/framework.ftl b/src/locales/pt-BR/framework.ftl new file mode 100644 index 000000000..5b249e8df --- /dev/null +++ b/src/locales/pt-BR/framework.ftl @@ -0,0 +1,123 @@ +### Localizations for the framework. +### All keys must start with `framework` because this file is shared +### among different targets. + +## Short Number + +# Implementation based on unicode Short Number patterns +# http://cldr.unicode.org/translation/number-patterns#TOC-Short-Numbers + +framework-shortNumber-1000 = 0.0k +framework-shortNumber-10000 = 00k +framework-shortNumber-100000 = 000k +framework-shortNumber-1000000 = 0.0M +framework-shortNumber-10000000 = 00M +framework-shortNumber-100000000 = 000M +framework-shortNumber-1000000000 = 0.0B + +## Validation + +framework-validation-required = Este campo é obrigatório. +framework-validation-tooShort = Por favor, insira pelo menos {$minLength} caracteres. +framework-validation-tooLong = Por favor, insira no máximo {$maxLength} caracteres. +framework-validation-usernameTooShort = O nome de usuário deve conter pelo menos {$minLength} caracteres. +framework-validation-usernameTooLong = Nomes de usuários não podem ser maiores que {$maxLength} caracteres. +framework-validation-invalidCharacters = Caracteres inválidos. Tente novamente. +framework-validation-invalidEmail = Por favor insira um endereço de e-mail válido. +framework-validation-passwordTooShort = A senha deve conter pelo menos {$minLength} caracteres. +framework-validation-passwordsDoNotMatch = As senhas não coincidem. Tente novamente. +framework-validation-invalidURL = URL Inválida +framework-validation-emailsDoNotMatch = Emails não coincidem. Tente novamente. +framework-validation-notAWholeNumberBetween = Por favor, digite um número inteiro entre { $min } e { $max }. +framework-validation-notAWholeNumberGreaterThan = Por favor, insira um número inteiro maior que { $x } +framework-validation-notAWholeNumberGreaterThanOrEqual = Por favor insira um número inteiro maior ou igual a { $x } + + +framework-timeago-just-now = Agora + +framework-timeago-time = + { $value } + { $unit -> + [second] { $value -> + [1] segundo + *[other] segundos + } + [minute] { $value -> + [1] minuto + *[other] minutos + } + [hour] { $value -> + [1] hora + *[other] houras + } + [day] { $value -> + [1] dia + *[other] dias + } + [week] { $value -> + [1] semana + *[other] semanas + } + [month] { $value -> + [1] mês + *[other] meses + } + [year] { $value -> + [1] ano + *[other] anos + } + *[other] unidade desconhecida + } + +framework-timeago = + { $suffix -> + [ago] {framework-timeago-time} ago + *[noSuffix] {framework-timeago-time} + } + +## Components + +### Copy Button +framework-copyButton-copy = Copiar +framework-copyButton-copied = Copiado + +### Password Field +framework-passwordField = + .showPasswordTitle = Mostrar senha + .hidePasswordTitle = Esconder senha + +### Markdown Editor +framework-markdownEditor-bold = Negrito +framework-markdownEditor-italic = Itálico +framework-markdownEditor-titleSubtitleHeading = Título, Subtítulo, Heading +framework-markdownEditor-quote = Citação +framework-markdownEditor-genericList = Lista Genérica +framework-markdownEditor-numberedList = Lista numerada +framework-markdownEditor-createLink = Criar Link +framework-markdownEditor-insertImage = Inserir Imagem +framework-markdownEditor-togglePreview = Alternar visualização +framework-markdownEditor-toggleSideBySide = Alternar Lado a Lado +framework-markdownEditor-toggleFullscreen = Alternar Fullscreen +framework-markdownEditor-markdownGuide = Guia de Markdown + +### Duration Field +framework-durationField-seconds = { $value -> + [1] Segundo + *[others] Segundos +} +framework-durationField-minutes = { $value -> + [1] Minuto + *[others] Minutos +} +framework-durationField-hours = { $value -> + [1] Hora + *[others] Horas +} +framework-durationField-days = { $value -> + [1] Dia + *[others] Dias +} +framework-durationField-weeks = { $value -> + [1] Semana + *[others] Semanas +} diff --git a/src/locales/pt-BR/install.ftl b/src/locales/pt-BR/install.ftl new file mode 100644 index 000000000..3f722787e --- /dev/null +++ b/src/locales/pt-BR/install.ftl @@ -0,0 +1,52 @@ +## Install + +install-backButton-back = Voltar +install-nextButton-next = Próximo +install-permittedDomains-finishInstall = Finalizar Instalação +install-header-title = Assistente de instalação de Coral + +install-initialStep-copy = O restante da instalação do Coral levará cerca de dez minutos. Depois de concluir as três etapas a seguir, você terá uma instalação e fornecimento gratuitos do Mongo e do Redis. +install-initialStep-getStarted = Iniciar + +install-addOrganization-stepTitle = Adicionar Detalhes da Organização +install-addOrganization-title = Adicionar Organização +install-addOrganization-description = Por favor, diga-nos o nome da sua organização. Isso aparecerá nos emails ao convidar novos membros da equipe. +install-addOrganization-orgName = Nome da Organização +install-addOrganization-orgNameTextField = + .placeholder = Nome da Organização +install-addOrganization-orgEmail = E-mail de Contato da Organização +install-addOrganization-orgEmailTextField = + .placeholder = E-mail de Contato da Organização +install-addOrganization-orgURL = URL da Organização +install-addOrganization-orgURLTextField = + .placeholder = URL da Organização +install-addOrganization-orgURLDescription = Certifique-se de incluir http:// ou https:// na sua URL + +install-createYourAccount-stepTitle = Criar Conta de Administrador +install-createYourAccount-title = Criar uma Conta de Administrador +install-createYourAccount-email = E-mail +install-createYourAccount-emailTextField = + .placeholder = E-mail +install-createYourAccount-username = Usuário +install-createYourAccount-usernameTextField = + .placeholder = Usuário +install-createYourAccount-usernameDescription = Um identificador exibido nos seus comentários. Você pode usar "_" e "." +install-createYourAccount-password = Senha +install-createYourAccount-passwordTextField = + .placeholder = Senha +install-createYourAccount-passwordDescription = Deve ter pelo menos 8 caracteres +install-createYourAccount-confirmPassword = Confirmar Senha +install-createYourAccount-confirmPasswordTextField = + .placeholder = Confirmar Senha + +install-permittedDomains-stepTitle = Adicionar domínios permitidos +install-permittedDomains-title = Domínios Permitidos +install-permittedDomains-description = Insira os domínios que você gostaria de permitir para Coral, por exemplo seus ambientes locais, de preparação e produção (ex. localhost: 3000, staging.domain.com, domain.com). +install-permittedDomains-permittedDomains = Domínios Permitidos +install-permittedDomains-permittedDomainsTextField = + .placeholder = Domínios +install-permittedDomains-permittedDomainsDescription = Inserir domínios separados por vírgula + +install-finalStep-description = Obrigado por instalar o Coral! Enviamos um e-mail para confirmar seu endereço de e-mail. Enquanto você termina de configurar a conta, você pode começar a se envolver com seus leitores agora. +install-finalStep-goToTheDocs = Vá para o Documentos +install-finalStep-goToAdmin = Ir para o Admin diff --git a/src/locales/pt-BR/stream.ftl b/src/locales/pt-BR/stream.ftl new file mode 100644 index 000000000..789fa07e3 --- /dev/null +++ b/src/locales/pt-BR/stream.ftl @@ -0,0 +1,172 @@ +### Localization for Embed Stream + +## General + +general-userBoxUnauthenticated-joinTheConversation = Participe da conversa +general-userBoxUnauthenticated-signIn = Entrar +general-userBoxUnauthenticated-register = Cadastre-se + +general-userBoxAuthenticated-signedInAs = + Entrar como . + +general-userBoxAuthenticated-notYou = + Não é você? + +general-tabBar-commentsTab = { $commentCount -> + [-1] Comentário + [1] { SHORT_NUMBER($commentCount) } Comentário + *[other] { SHORT_NUMBER($commentCount) } Comentários + } +general-tabBar-myProfileTab = Meu Perfil +general-tabBar-configure = Configurações + +## Comments Tab + +comments-streamQuery-storyNotFound = História não encontrada + +comments-postCommentForm-submit = Comentar +comments-stream-loadMore = Carregar Mais +comments-replyList-showAll = Mostrar Tudo + +comments-permalinkPopover = + .description = Uma caixa de diálogo mostrando um link permanente para o comentário +comments-permalinkButton-share = Compartilhar +comments-permalinkView-viewFullDiscussion = Ver discussão completa +comments-permalinkView-commentNotFound = Comentário não encontrado + +comments-rte-bold = + .title = Negrito + +comments-rte-italic = + .title = Itálico + +comments-rte-blockquote = + .title = Citação + +comments-poweredBy = Powered by { -brand-name } + +comments-remainingCharacters = { $remaining } caracteres restantes + +comments-postCommentFormFake-signInAndJoin = Entre e Participe da Conversa + +comments-postCommentForm-rteLabel = Postar um comentário + +comments-postCommentForm-rte = + .placeholder = { comments-postCommentForm-rteLabel } + +comments-postCommentFormFake-rte = + .placeholder = { comments-postCommentForm-rteLabel } + +comments-replyButton-reply = Responder + +comments-permalinkViewQuery-storyNotFound = { comments-streamQuery-storyNotFound } + +comments-replyCommentForm-submit = Responder +comments-replyCommentForm-cancel = Cancelar +comments-replyCommentForm-rteLabel = Escrever uma resposta +comments-replyCommentForm-rte = + .placeholder = { comments-replyCommentForm-rteLabel } + +comments-commentContainer-editButton = Editar + +comments-editCommentForm-saveChanges = Salvar Mudanças +comments-editCommentForm-cancel = Cancelar +comments-editCommentForm-close = Fechar +comments-editCommentForm-rteLabel = Editar commentários +comments-editCommentForm-rte = + .placeholder = { comments-editCommentForm-rteLabel } +comments-editCommentForm-editRemainingTime = Editar: restantes +comments-editCommentForm-editTimeExpired = O tempo de edição expirou. Você não pode mais editar este comentário. Por que não postar outro? +comments-editedMarker-edited = Editado +comments-showConversationLink-readMore = Leia mais desta conversa > +comments-conversationThread-showMoreOfThisConversation = + Mostrar mais desta conversa + +comments-permalinkView-currentViewing = Você está visualizando um +comments-permalinkView-singleConversation = CONVERSAÇÃO ÚNICA +comments-inReplyTo = Em resposta a +comments-replyTo = Respondendo a: + +comments-reportButton-report = Denunciar +comments-reportButton-reported = Denunciado + +comments-sortMenu-sortBy = Ordenar Por +comments-sortMenu-newest = Mais novos +comments-sortMenu-oldest = Mais antigos +comments-sortMenu-mostReplies = Mais respostas + +## Profile Tab +profile-historyComment-viewConversation = Ver conversa +profile-historyComment-replies = Respostas {$replyCount} +profile-historyComment-commentHistory = Histórico de Comentários +profile-historyComment-story = História: {$title} +profile-profileQuery-errorLoadingProfile = Erro ao carregar o perfil +profile-profileQuery-storyNotFound = História não encontrada +profile-commentHistory-loadMore = Carregar Mais + +## Report Comment Popover +comments-reportPopover = + .description = Uma caixa de diálogo para relatar comentários +comments-reportPopover-reportThisComment = Denunciar este comentário +comments-reportPopover-whyAreYouReporting = Por que você está denunciando este comentário? + +comments-reportPopover-reasonOffensive = Este comentário é ofensivo +comments-reportPopover-reasonIDisagree = Eu não concordo com esse comentário +comments-reportPopover-reasonSpam = Isso parece um anúncio ou marketing +comments-reportPopover-reasonOther = Outros + +comments-reportPopover-pleaseLeaveAdditionalInformation = + Por favor, deixe qualquer informação adicional que possa ser útil para nossos moderadores. (Opcional) + +comments-reportPopover-maxCharacters = Máximo { $maxCharacters } Caracteres +comments-reportPopover-cancel = Cancelar +comments-reportPopover-submit = Denunciar + +comments-reportPopover-thankYou = Obrigado! +comments-reportPopover-receivedMessage = + Recebemos sua mensagem. Denuncias de membros como você mantêm a comunidade segura. + +comments-reportPopover-dismiss = Dispensar + +## Submit Status +comments-submitStatus-dismiss = Dispensar +comments-submitStatus-submittedAndWillBeReviewed = + Seu comentário foi enviado e será revisado por um moderador + +# Configure +configure-configureQuery-errorLoadingProfile = Erro ao carregar o configure +configure-configureQuery-storyNotFound = História não encontrada + +## Comment Stream +configure-stream-title = Configurar este fluxo de comentários +configure-stream-apply = Aplicar + +configure-premod-title = Ativar Pré-Moderação +configure-premod-description = + Os moderadores devem aprovar qualquer comentário antes de ser publicado neste fluxo. + +configure-premodLink-title = Comentários pré-moderados contendo links +configure-premodLink-description = + Os moderadores devem aprovar qualquer comentário que contenha um link antes de ser publicado. + +configure-messageBox-title = Ativar caixa de mensagens para este fluxo +configure-messageBox-description = + Adicione uma mensagem ao topo da caixa de comentários para seus leitores. Use isso para representar um tópico, +  faça uma pergunta ou faça anúncios relacionados a essa história. +configure-messageBox-preview = Visualizar +configure-messageBox-selectAnIcon = Selecione um ícone +configure-messageBox-noIcon = Sem ícone +configure-messageBox-writeAMessage = Escreve uma mensagem + +configure-closeStream-title = Fechar fluxo de comentários +configure-closeStream-description = + Este fluxo de comentários está aberto no momento. Ao fechar este fluxo de comentários, +  Nenhum novo comentário pode ser enviado e todos os comentários enviados anteriormente +  ainda serão exibidos. +configure-closeStream-closeStream = Fechar Fluxo de Comentários + +configure-openStream-title = Fluxo aberto +configure-openStream-description = + Este fluxo de comentários está atualmente fechado. Abrindo este fluxo de comentários +  novos comentários podem ser enviados e exibidos. +configure-openStream-openStream = Abrir Fluxo diff --git a/src/locales/pt-BR/ui.ftl b/src/locales/pt-BR/ui.ftl new file mode 100644 index 000000000..dd9ad4825 --- /dev/null +++ b/src/locales/pt-BR/ui.ftl @@ -0,0 +1 @@ +ui-brandName = { -product-name }