diff --git a/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx index 4eb3f013f..00cd2e6c8 100644 --- a/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx +++ b/src/core/client/admin/routes/Moderate/ModerateSearchBar/Bar.tsx @@ -109,7 +109,23 @@ const Bar: FunctionComponent = ({ title, options, onSearch }) => { )} - {searchOptions.length > 0 && ( + {searchOptions.length === 1 && ( + + search{" "} + + Search results + + + } + id="moderate-searchBar-search" + light + > + {searchOptions} + + )} + {searchOptions.length > 1 && ( diff --git a/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx index e2698ce05..e2fa37afd 100644 --- a/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx +++ b/src/core/client/admin/routes/Moderate/ModerateSearchBar/ModerateSearchBarContainer.tsx @@ -13,7 +13,7 @@ import { ModerateSearchBarContainer_story as ModerationQueuesData } from "coral- import { useEffectWhenChanged } from "coral-framework/hooks"; import { useFetch, withFragmentContainer } from "coral-framework/lib/relay"; import { PropTypesOf } from "coral-framework/types"; -import { Spinner } from "coral-ui/components"; +import { Flex, Spinner } from "coral-ui/components"; import { blur } from "coral-ui/helpers"; import { ListBoxOptionClickOrEnterHandler, @@ -174,9 +174,13 @@ function useSearchOptions( nextSearchOptions.push({ element: ( ), group: "SEARCH", diff --git a/src/core/client/admin/test/moderate/searchBar.spec.tsx b/src/core/client/admin/test/moderate/searchBar.spec.tsx index 41416b6c9..bd0f69c75 100644 --- a/src/core/client/admin/test/moderate/searchBar.spec.tsx +++ b/src/core/client/admin/test/moderate/searchBar.spec.tsx @@ -109,7 +109,10 @@ describe("all stories", () => { // Ensure no results message is shown. await wait(() => - within(searchBar).getByText("No results", { exact: false }) + within(searchBar).getByText( + "We could not find any stories matching your criteria", + { exact: false } + ) ); }); diff --git a/src/locales/da/admin.ftl b/src/locales/da/admin.ftl index c0fe8678a..690426384 100644 --- a/src/locales/da/admin.ftl +++ b/src/locales/da/admin.ftl @@ -401,7 +401,6 @@ moderate-queue-viewNew = ### Moderate Search Bar moderate-searchBar-allStories = Alle historier .title = Alle historier -moderate-searchBar-noResults = Ingen resultater moderate-searchBar-stories = Historier: moderate-searchBar-searchButton = Søg moderate-searchBar-titleNotAvailable = diff --git a/src/locales/en-US/admin.ftl b/src/locales/en-US/admin.ftl index b2394289c..2fc3fa532 100644 --- a/src/locales/en-US/admin.ftl +++ b/src/locales/en-US/admin.ftl @@ -442,7 +442,7 @@ moderate-comment-deleted-body = ### Moderate Search Bar moderate-searchBar-allStories = All stories .title = All stories -moderate-searchBar-noResults = No results +moderate-searchBar-noStories = We could not find any stories matching your criteria moderate-searchBar-stories = Stories: moderate-searchBar-searchButton = Search moderate-searchBar-titleNotAvailable = @@ -453,6 +453,7 @@ moderate-searchBar-searchForm = .aria-label = Stories moderate-searchBar-currentlyModerating = .title = Currently moderating +moderate-searchBar-searchResults = Search results moderate-searchBar-searchResultsMostRecentFirst = Search results (Most recent first) moderate-searchBar-moderateAllStories = Moderate all stories moderate-searchBar-comboBoxTextField = @@ -621,18 +622,18 @@ community-userStatus-popover = .description = A dropdown to change the user status community-userStatus-banUser = Ban User -community-userStatus-ban = Ban +community-userStatus-ban = Ban community-userStatus-removeBan = Remove Ban community-userStatus-removeUserBan = Remove ban community-userStatus-suspendUser = Suspend User -community-userStatus-suspend = Suspend +community-userStatus-suspend = Suspend community-userStatus-removeSuspension = Remove Suspension community-userStatus-removeUserSuspension = Remove suspension community-userStatus-unknown = Unknown community-userStatus-changeButton = .aria-label = Change user status community-userStatus-premodUser = Always pre-moderate -community-userStatus-removePremod = Remove pre-moderate +community-userStatus-removePremod = Remove pre-moderate community-banModal-areYouSure = Are you sure you want to ban { $username }? community-banModal-consequence = @@ -665,12 +666,12 @@ community-suspendModal-success = community-suspendModal-success-close = Close community-suspendModal-selectDuration = Select suspension length -community-premodModal-areYouSure = +community-premodModal-areYouSure = Are you sure you want to always pre-moderate { $username }? community-premodModal-consequence = All their comments will go to the Pending queue until you remove this status. community-premodModal-cancel = Cancel -community-premodModal-premodUser = Yes, always pre-moderate +community-premodModal-premodUser = Yes, always pre-moderate community-invite-inviteMember = Invite members to your organization community-invite-emailAddressLabel = Email address: diff --git a/src/locales/pt-BR/admin.ftl b/src/locales/pt-BR/admin.ftl index 1d02a5778..1f60de553 100644 --- a/src/locales/pt-BR/admin.ftl +++ b/src/locales/pt-BR/admin.ftl @@ -22,7 +22,6 @@ role-plural-commenter = Comentadores userStatus-active = Ativo userStatus-banned = Banido userStatus-suspended = Suspenso -userStatus-premod = Sempre pré-moderado ## Navigation navigation-moderate = Moderação @@ -60,7 +59,6 @@ login-signIn-passwordTextField = login-signIn-signInWithEmail = Entrar com o e-mail login-signIn-orSeparator = Ou -login-signIn-forgot-password = Esqueceu sua senha? login-signInWithFacebook = Entrar com Facebook login-signInWithGoogle = Entrar com Google @@ -76,7 +74,6 @@ configure-sideBarNavigation-authentication = Autenticação configure-sideBarNavigation-moderation = Moderação configure-sideBarNavigation-organization = Organização configure-sideBarNavigation-advanced = Avançado -configure-sideBarNavigation-email = Email configure-sideBarNavigation-bannedAndSuspectWords = Palavras banidas e suspeitas configure-sideBar-saveChanges = Salvar mudanças @@ -95,10 +92,6 @@ configure-general-guidelines-explanation =   Markdown podem ser encontradas aqui. configure-general-guidelines-showCommunityGuidelines = Mostrar Resumo das Diretrizes da Comunidade -#### Locale -configure-general-locale-language = Idioma -configure-general-locale-chooseLanguage = Escolha o idioma para sua comunidade Coral. - ### Sitewide Commenting configure-general-sitewideCommenting-title = Comentários em todo o site configure-general-sitewideCommenting-explanation = @@ -157,11 +150,6 @@ configure-organization-emailExplanation =   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. -configure-organization-url = URL da Organização -configure-organization-urlExplanation = - O URL da sua organização aparecerá nos e-mails enviados por { -product-name }aos membros da sua comunidade e organização. - - ### Email configure-email = Configuração de email @@ -172,16 +160,15 @@ configure-email-fromNameDescription = configure-email-fromEmailLabel = Do endereço de email configure-email-fromEmailDescription = Endereço de email que será usado para enviar mensagens -configure-email-smtpHostLabel = hospedeiro de SMTP +configure-email-smtpHostLabel = hospedeiro de SMTP configure-email-smtpHostDescription = (ex. smtp.sendgrid.com) configure-email-smtpPortLabel = porta SMTP configure-email-smtpPortDescription = (ex. 25) configure-email-smtpTLSLabel = TLS -configure-email-smtpAuthenticationLabel = Autenticação SMTP -configure-email-smtpCredentialsHeader = credencial de email +configure-email-smtpAuthenticationLabel = Autenticação SMTP +configure-email-smtpCredentialsHeader = credencial de email configure-email-smtpUsernameLabel = nome de usuário configure-email-smtpPasswordLabel = senha - ### Authentication configure-auth-clientID = Client ID @@ -243,9 +230,6 @@ configure-auth-oidc-tokenURL = Token URL configure-auth-oidc-jwksURI = JWKS URI configure-auth-oidc-useLoginOn = Usar login com OpenID Connect ligado -configure-auth-settings = Configurações de sessão -configure-auth-settings-session-duration-label = Duração da sessão - ### Moderation ### Recent Comment History @@ -260,17 +244,17 @@ configure-moderation-recentCommentHistory-enabled-description = Impede os ofensores de publicar repetidos comentários sem aprovação.   Após a taxa de rejeição de um comentarista estourar o limite definido   abaixo, os próximos comentários enviados são enviados para Pendente para -  aprovação do moderador. O filtro é removido quando a taxa de rejeição normaliza +  aprovação do moderador. O filtro é removido quando a taxa de rejeição normaliza novamente. configure-moderation-recentCommentHistory-triggerRejectionRate = Limite da taxa de rejeição configure-moderation-recentCommentHistory-triggerRejectionRate-description = - Calculado pela divisão do número de comentários rejeitados pela soma - dos comentaristas rejeitados e comentários publicados, dentro do período recente + Calculado pela divisão do número de comentários rejeitados pela soma + dos comentaristas rejeitados e comentários publicados, dentro do período recente do histórico de comentários(não inclui comentários pendentes para toxicidade, spam ou pré-moderação.) #### Pre-Moderation -configure-moderation-preModeration-title = Pré-moderação +configure-moderation-preModeration-title = Pré-moderação configure-moderation-preModeration-explanation = Quando a pré-moderação está ativada, os comentários não serão publicados, a menos que sejam aprovados por um moderador. @@ -283,10 +267,13 @@ configure-moderation-apiKey = API Key configure-moderation-akismet-title = Filtro de Detecção de Spam Akismet configure-moderation-akismet-explanation = - O filtro da API Akismet avisa os usuários quando um comentário é determinado como provável -   spam. Comentários que a Akismet considera spam não serão publicados -   e são colocados na fila pendente para revisão por um moderador. -   Se aprovado por um moderador, o comentário será publicado. + 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 @@ -299,10 +286,11 @@ configure-moderation-akismet-siteURL = URL do site #### Perspective configure-moderation-perspective-filter = Filtro de Comentários Tóxicos configure-moderation-perspective-toxicityThreshold = Limite de toxicidade + 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 + 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. @@ -326,11 +314,12 @@ configure-moderation-perspective-accountNote = #### 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 . + 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 proibidas por uma nova linha. + 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 @@ -340,13 +329,14 @@ configure-wordList-suspect-explanation =   publicado (se os comentários não forem pré-moderados). configure-wordList-suspect-wordList = Lista de Palavras Suspeitas configure-wordList-suspect-wordListDetail = - Separe palavras ou frases proibidas por uma nova linha. + 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. + 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-description = @@ -355,15 +345,14 @@ Domínios onde sua instance de { -product-name } pode ser incorporada, incluindo configure-advanced-liveUpdates = Atualizações ao vivo do Stream de comentários configure-advanced-liveUpdates-explanation = - Quando ativado, habilitará o carregamento e atualização em tempo real dos comentários, à medida que novos - comentários e respostas forem publicados. + Quando ativado, habilitará o carregamento e atualização em tempo real dos comentários, à medida que novos comentários e respostas forem publicados. configure-advanced-embedCode-title = Incorporar configure-advanced-embedCode-explanation = Copie e cole o código abaixo no seu CMS para incorporar fluxos de comentários do Coral em   cada uma das histórias do seu site. configure-advanced-embedCode-comment = - Substitua essas linhas pelo ID do ID e URL da história do seu CMS para fornecer a maior integração. + Substitua essas linhas pelo ID do ID e URL da história do seu CMS para fornecer a maior integração. Consulte a nossa documentação em https://docs.coralproject.net para todas as opções de configuração. ## Decision History decisionHistory-popover = @@ -454,10 +443,6 @@ moderate-searchBar-comboBoxTextField = moderate-searchBar-goTo = Ir para moderate-searchBar-seeAllResults = Ver todos os resultados -moderateCardDetails-tab-details = Detalhes -moderateCardDetails-tab-edits = Editar História -### Moderate User History Drawer - ### Moderate User History Drawer moderate-user-drawer-email = .title = Endereço de email @@ -484,9 +469,6 @@ moderate-user-drawer-username-change = Nome de usuário alterado moderate-user-drawer-username-change-new = Novo: moderate-user-drawer-username-change-old = Antigo: -moderate-user-drawer-account-history-premod-set = Sempre pré moderar -moderate-user-drawer-account-history-premod-removed = Remover pré moderação - moderate-user-drawer-suspension = Suspensão, { $value } { $unit -> [second] { $value -> @@ -527,8 +509,9 @@ moderate-user-drawer-recent-history-calculated = moderate-user-drawer-recent-history-rejected = Rejeitado moderate-user-drawer-recent-history-tooltip-title = Como isso é calculado? moderate-user-drawer-recent-history-tooltip-body = - Comentários rejeitados ÷ (comentários rejeitados + comentários publicados). -   O limite pode ser alterado pelos administradores em Configuração > Moderação. + Comentários rejeitados divididos pela soma dos + comentários publicados e rejeitados, durante o histórico recente de comentários + prazo. moderate-user-drawer-recent-history-tooltip-button = .aria-label = Alternar dica de ferramenta do histórico de comentários recentes moderate-user-drawer-recent-history-tooltip-submitted = Enviado @@ -615,17 +598,12 @@ community-userStatus-popover = .description = Um menu suspenso para alterar o status do usuário community-userStatus-banUser = Banir Usário -community-userStatus-ban = Banir community-userStatus-removeBan = Remover Banimento community-userStatus-suspendUser = Suspender Userário -community-userStatus-suspend = Suspender community-userStatus-removeSupsension = Remover Suspensão -community-userStatus-removeUserSuspension = Remover Suspensão community-userStatus-unknown = Desconhecido community-userStatus-changeButton = .aria-label = Mudar status do usuário -community-userStatus-premodUser = Sempre pré moderar -community-userStatus-removePremod = Remover pré moderação community-banModal-areYouSure = Você tem certeza que quer banir { $username }? community-banModal-consequence = @@ -633,11 +611,8 @@ community-banModal-consequence =   reações ou relatar comentários. community-banModal-cancel = Cancelar community-banModal-banUser = Banir Usário -community-banModal-customize = Customizar mensagem do email de banimento - community-suspendModal-areYouSure = Banir { $username }? -community-suspendModal-consequence = Uma vez banido, este usuário não poderá mais -comentar, reagir ou reportar comentários +community-suspendModal-consequence = Uma vez banido, este usuário não poderá mais comentar, reagir ou reportar comentários community-suspendModal-duration-3600 = 1 hora community-suspendModal-duration-10800 = 3 horas community-suspendModal-duration-86400 = 24 horas @@ -648,7 +623,7 @@ community-suspendModal-emailTemplate = Olá { $username }, De acordo com as orientações da comunidade da { $organizationName }, sua conta foi banida temporariamente. Durante a suspensão, você não poderá comentar, denunciar ou interagir com os outros comentaristas. Por favor tente comentar novamente em { framework-timeago-time }. - + community-suspendModal-customize = Customizar o email de suspensão. community-suspendModal-success = @@ -657,14 +632,6 @@ community-suspendModal-success = community-suspendModal-success-close = Fechado community-suspendModal-selectDuration = Selecione o período de suspensão. -community-premodModal-areYouSure = - Tem certeza de que deseja sempre pré-moderar { $username }? -community-premodModal-consequence = - Todos os comentários serão direcionados para a fila Pendente até você remover esse status. -community-premodModal-cancel = Cancelar -community-premodModal-premodUser = Sim, sempre pré-moderar - - community-invite-inviteMember = Convidar membros para sua organização community-invite-emailAddressLabel = Endereço de email: community-invite-inviteMore = Convidar mais @@ -750,8 +717,8 @@ userDetails-suspension-end = Fim: { $timestamp } configure-general-reactions-title = Reações configure-general-reactions-explanation = - Permitir que sua comunidade interaja com as outras e que se expressem - com as reações de um clique. Por padrão, o Coral permite que os comentaristas "Respeitem" + Permitir que sua comunidade interaja com as outras e que se expressem + com as reações de um clique. Por padrão, o Coral permite que os comentaristas "Respeitem" uns aos outros, mas você pode customizar os textos de reações de acordo com a necessidade da sua comunidade. configure-general-reactions-label = Legenda para a reação @@ -767,9 +734,9 @@ configure-general-reactions-preview = Pré-visualização configure-general-reaction-sortMenu-sortBy = Ordenar por configure-account-features-title = Gerenciamento de recursos da conta de comentaristas -configure-account-features-explanation = - Você pode habilitar ou desabilitar certos recursos para seus comentaristas para - usar dentro de suas contas. Esses recursos também ajudam na +configure-account-features-explanation = + Você pode habilitar ou desabilitar certos recursos para seus comentaristas para + usar dentro de suas contas. Esses recursos também ajudam na conformidade com o GDPR configure-account-features-allow = Permitir usuários a: configure-account-features-change-usernames = Mudar seus nomes de usuário @@ -780,33 +747,3 @@ configure-account-features-download-comments = Fazer o download de seus comentá configure-account-features-download-comments-details = Comentaristas podem fazer download de um csv do histórico de comentarista configure-account-features-delete-account = Excluir suas contas. configure-account-features-delete-account-details = Remover todos os dados de comentários, nome de usuário e endereço de email do site e do banco de dados - -configure-account-features-delete-account-fieldDescriptions = - Remove todos os dados de comentários, nome de usuário e email -   endereço do site e do banco de dados. - -configure-advanced-stories = Criação de histórias -configure-advanced-stories-explanation = Configurações avançadas de como as histórias são criadas no Coral. -configure-advanced-stories-lazy = Criação de histórias Lazy -configure-advanced-stories-lazy-detail = Permita que as histórias sejam criadas automaticamente quando publicadas no seu CMS. -configure-advanced-stories-scraping = Scraping de Histórias -configure-advanced-stories-scraping-detail = Permita que os metadados da história sejam coletados automaticamente quando publicados a partir do seu CMS. -configure-advanced-stories-proxy = URL do proxy do scraper -configure-advanced-stories-proxy-detail = - Quando especificado, permite que as requisições do scraper usem o -   proxy. Todos os pedidos serão passados através do proxy realizado - pelo pacote npm proxy-agent . - -forgotPassword-forgotPasswordHeader = Esqueceu a senha? -forgotPassword-checkEmailHeader = Verifique seu email -forgotPassword-gotBackToSignIn = Volte para a página de login -forgotPassword-checkEmail-receiveEmail = - Se houver uma conta associada a { $email } , -   você receberá um email com um link para criar uma nova senha. -forgotPassword-enterEmailAndGetALink = - Digite seu endereço de e-mail abaixo e nós lhe enviaremos um link -  para redefinir sua senha. -forgotPassword-emailAddressLabel = Endereço de Email -forgotPassword-emailAddressTextField = - .placeholder = Endereço de Email -forgotPassword-sendEmailButton = Enviar email