Plugin multilíngue 🌐

Isso também está acontecendo no meu site de staging, mas consegui apenas desativar o plugin nas configurações (acessando via modo seguro) e o site voltou a funcionar. Ed, você está ciente da nova política de cronograma de atualizações deles? Eles só vão suportar conflitos com o core nos primeiros 5 dias do mês, então você não deve atualizar seu site de produção agora e esperar correções.

2 curtidas

Obrigado pelo interesse e pelo feedback, pessoal.

Como observação geral, por favor, certifique-se de ler a documentação deste plugin antes de utilizá-lo. Muitas perguntas já são abordadas lá. Se encontrar algum tópico não coberto, me avise e eu o adicionarei.

Você também verá um recurso deste plugin em ação ao visitar a documentação (se for um convidado). O seletor de idiomas:

@eax Obrigado pelo seu feedback

Sim, como você deduziu, essa é a intenção por trás do recurso de idiomas de conteúdo. Recomendo deixá-lo desativado em produção por enquanto (ou seja, mantenha a configuração do site desativada) e testá-lo primeiro em um ambiente controlado enquanto se familiariza com ele.

Observe que:

  • Você pode ativá-lo e desativá-lo com a configuração do site multilingual content languages enabled
  • A filtragem por idioma de conteúdo só será aplicada se um usuário tiver selecionado um idioma de conteúdo em suas configurações de usuário.

Por favor, leia a documentação completa sobre Idiomas de Conteúdo aqui: Pavilion

Você pode aplicar tags de idioma em massa por meio de uma operação no lado do servidor, como as descritas aqui. Recomendo buscar ajuda se não se sentir confortável com a linha de comando e/ou Rails. O recurso de idiomas de conteúdo ainda está em seus estágios iniciais, então essa é a principal maneira de configurar um site existente para funcionar com esse recurso, especialmente em sites grandes.

Você pode tentar o recurso de detecção de idioma do Plugin Tradutor, combinado com o recurso multilingual translator content tag sync neste plugin, para aplicar automaticamente tags de idioma. Observe que a detecção de idioma por meio de serviços de tradução não é gratuita. Além disso, essa abordagem ainda é experimental nesta fase, especialmente em sites grandes.

Acabei de testar a abordagem Plugin Tradutor + Sincronização de Idioma de Conteúdo em try.thepavilion.io, que atualmente possui apenas 77 posts. Foi assim que fiz:

  1. Configure o Plugin Tradutor e este plugin, e ative todas as configurações relevantes para que a sincronização funcione. Veja mais aqui: Pavilion

  2. Execute uma operação de rebake no servidor para acionar a detecção de idioma em todos os posts existentes. Veja mais aqui: Rebake all posts? - #2 by zogstrip.

  3. Uma parte dos posts recebeu automaticamente uma tag de idioma.

Isso não funcionou para todos os tópicos e não funcionou perfeitamente. Não funcionou em alguns tópicos com tags existentes e não acertou em todos os casos. Por exemplo, ele pensou que este post estava em russo: https://try.thepavilion.io/t/well-have-a-whale-of-a-time/59

O maior problema foi que vários tópicos não receberam uma tag. Isso é um problema com a interação entre as operações em massa do Plugin Tradutor e as operações em massa deste plugin. Tentarei refinar esse método de tagging de posts existentes com um idioma de conteúdo no próximo mês ou mais para tornar mais viável a adoção em sites existentes sem qualquer ajuda técnica. Também adicionarei uma seção na documentação sobre o assunto assim que fizer algum progresso.

@Ed_Bobkov Como @davidkingham menciona de forma útil, o Pavilion só atualizará nossos plugins para funcionar com a versão mais recente do Discourse na primeira semana de cada mês.

No entanto, para ajudar, fiz a alteração necessária para que este plugin funcione com a versão mais recente do Discourse. Você pode vê-la em ação agora na versão mais recente do Discourse em https://try.thepavilion.io

6 curtidas

Não sabia disso. Obrigado!

2 curtidas

Não sei se foi uma combinação de plugins que causou meu problema, mas quando desativei o plugin nas configurações, recebi um erro 500; mesmo com o modo seguro ativado, era impossível fazer qualquer coisa.

Se você encontrar esse problema, não se preocupe. Acesse o terminal, conecte-se ao seu servidor e execute os seguintes comandos:

cd /var/discourse
./launcher enter app
rails c
SiteSetting.multilingual_enabled = true

Se o seu fórum voltar ao normal, execute três comandos exit para fechar o terminal com segurança.

FYI - Plugins instalados
      - git clone https://github.com/discourse/discourse-akismet.git
      - git clone https://github.com/discourse/discourse-solved.git
      - git clone https://github.com/discourse/discourse-assign.git
      - git clone https://github.com/discourse/discourse-chat-integration.git
      - git clone https://github.com/discourse/discourse-adplugin.git
      - git clone https://github.com/discourse/discourse-calendar.git
      - git clone https://github.com/discourse/discourse-translator.git
      ## Não oficiais
      - git clone https://github.com/paviliondev/discourse-multilingual.git
      - git clone https://github.com/Ebsy/discourse-nationalflags.git
      - git clone https://github.com/jannolii/discourse-topic-trade-buttons.git

Edição: é seguro excluir o grupo de tags “Multilingual Disabled Content Tags”?

Quando quero criar um novo tópico, essas tags aparecem primeiro na lista, o que não é prático (embora eu possa estar confuso com as configurações de tags às vezes; talvez eu tenha perdido algo).

5 curtidas

Se possível, adoraria dar uma olhada mais de perto no seu site para ver o que está acontecendo lá (se você estiver a fim, me envie uma mensagem privada).

Sim, use os controles no canto inferior direito dessa captura de tela (que são adicionados pelo plugin).

3 curtidas

Engraçado, usar o botão no canto inferior direito não faz nada.

Eles podem ser excluídos um por um, mas vou enviar minhas credenciais para que você possa verificar algumas coisas primeiro. O plugin funciona bem de resto, então não é um grande problema.

1 curtida

Estou procurando uma maneira de meus usuários poderem ler traduções automáticas de posts e respostas.

Instalei os plugins discourse-multilingual e discourse-translator.

Ativei tudo no discourse-multilingual.

E ativei as traduções inline no discourse-translator, além de adicionar uma chave de assinatura do Azure (a chave foi regenerada para esta captura de tela).

Limitei os idiomas do multilingual para simplificar as coisas. Mas ele está reclamando de “conflito de tag” em tudo o que desativei, e não sei o motivo (e ao clicar nos links, carrega uma página 404).


Além disso, as traduções do multilingual estão vazias, e não sei o motivo.

Também ativei as três configurações de localidade do usuário.

Mas em lugar nenhum vejo uma opção para traduzir o conteúdo de outros usuários. Sem botões extras, cabeçalho ou rodapé.

O que posso estar esquecendo?

Verifiquei a configuração em um fórum em que estou trabalhando. Usei a API do Google para tradução e está funcionando corretamente. Minha suposição é que não há nada de errado com este plugin.

Vejo duas opções:

  • a API de tradução não consegue detectar o idioma e, portanto, não consegue propor uma tradução. Sugiro criar um novo tópico em outro idioma, bem curto.
  • algo está errado com a chave de assinatura. Você pode verificar os /logs para ver se algo apareceu.

Mas o problema de conflito de tags é estranho. No meu fórum, na versão mais recente, tudo funciona bem (há um problema com o seletor de idioma para convidados no cabeçalho/rodapé, mas isso já foi relatado). Você deve verificar a página de tags (/tags) para ver se há algo errado nas tags content_languages e, talvez, atualizar todas as tags na página de grupos de tags (/tag_groups).

1 curtida

Eu uso este plugin para traduzir o nome da categoria e da subcategoria; ele funciona bem, mas não funciona para o nome da subcategoria quando esta é exibida em caixas.

Percebi que, no arquivo category-title-link.hbs, o código é:

<span class="category-name">{{dir-span category.name}}</span>

Já no arquivo categories-boxes.hbs:

<a class="parent-box-link" href={{c.url}}>
  <h3>
    {{#if c.read_restricted}}
      {{d-icon "lock"}}
    {{/if}}
    {{c.name}}
  </h3>
</a>

Como posso sobrescrever o template categories-boxes para que funcione com a exibição em caixas?

2 curtidas

Não consigo entender o ponto;
não entendo como os dados do nome da categoria são obtidos nos componentes categories-boxes e category-title-link.
Qual é a diferença entre esses componentes na obtenção dos dados do nome da categoria?

Encontrei. Modifique o categories-boxes.hbs para isto:

<a class="parent-box-link" href={{c.url}}>
     <h3>
        {{category-title-link tagName="span" category=c}}
    </h3>
</a>

Basta usar este componente category-title-link como o título da categoria, funciona. :laughing::laughing::laughing::laughing::laughing:

2 curtidas

Olá, existem exemplos reais de fóruns funcionando com este plugin? Gostaria de entender como ele funciona na prática.

Além disso, gostaria de saber se é possível direcionar os usuários para links diferentes dependendo do idioma.

2 curtidas

Alguém mais está tendo problemas com tags na versão atual do Discourse e do plugin Multilingual?

Seria ótimo se fosse possível extrair apenas a parte de exclusão de localidade, já que isso é um requisito para o meu fórum, mas não vou usar o restante do plugin.

4 curtidas

Encontrei o mesmo problema. O plugin usa uma raiz antiga para Tags. O problema foi resolvido quando desativei o plugin.

1 curtida

E aí, pessoal, obrigado pela paciência.

@anon20593648 @Ed_Bobkov Atualizei o plugin para acomodar a nova rota de tags

Os recursos são descritos em detalhes na documentação, com exemplos:

Se tiver alguma dúvida específica sobre um dos recursos descritos lá, poste no tópico relevante e eu responderei.

7 curtidas

@angus, olá! Como posso adicionar uma tradução para campos de usuário personalizados?

3 curtidas

Em nosso fórum de discussões, estamos usando a interface multilíngue para selecionar os idiomas que serão exibidos na página de perfil do usuário. Estamos mostrando apenas os idiomas selecionados na página de perfil do usuário, ou seja:
Árabe
Inglês
Francês
Alemão
Português
Romeno
Russo
Espanhol

Após selecionar os idiomas listados acima na interface multilíngue e clicar no botão ‘Salvar alterações’, aparece o erro ‘Erro interno do servidor’.
No entanto, verificamos que os dados foram armazenados no banco de dados. Mas, ao verificar após três dias, constatamos que os valores selecionados anteriormente foram desmarcados na interface multilíngue. (/admin/multilingual/languages).
Estão sendo exibidos apenas os valores padrão, como Inglês, Francês, Espanhol e Inglês (Reino Unido). Não foi encontrado nenhum registro de erro relacionado a isso. Alguém já enfrentou um problema semelhante? Por favor, dê uma sugestão.

1 curtida

Ei, vou me concentrar nesse plugin no início da próxima semana e responderei à sua pergunta então :+1:

3 curtidas

Obrigado pela sua resposta.

1 curtida

Não tenho certeza se este é o melhor lugar para fazer essa pergunta, mas acredito que esteja diretamente relacionado ao plugin:

Em nossos novos fóruns (https://forums.sociocracyforall.org), acabei de habilitar o plugin Multilingual e ele está funcionando muito bem, mas:

  1. Quando tento alterar a tag de idioma de postagens feitas antes da ativação do plugin, não consigo — recebo um erro 500. Seja na minha própria postagem ou na de outra pessoa.

Alguma ideia do porquê e como corrigir isso?

  1. Notei que a mensagem de aviso para não inserir uma tag de idioma é um pouco obscura para o usuário final.

  2. A seleção de idioma do conteúdo não é exibida no idioma da interface (neste caso, espanhol) :stuck_out_tongue:
    Isso ocorre porque não foi traduzido, ou há outro motivo?

Se houver um lugar melhor para discutir essas coisas do que este tópico — como o GitHub? —, por favor, me avise :slight_smile:
EDIT: Acabei de abrir uma issue para cada problema no GitHub na verdade: Issues · paviliondev/discourse-multilingual · GitHub

1 curtida