Post multilíngue no Discourse

discourse-multilingual-post

Um plugin do Discourse que permite versões localizadas múltiplas do conteúdo da postagem.

Este plugin é um conceito de prova: sem a possibilidade de localizar títulos de tópicos, ele não é muito útil.

Como usar

Em uma postagem, use blocos [lang=xx]:

[lang=en]
Hello World!
[/lang]
[lang=fr]
Bonjour monde !
[/lang]
[lang=de]
Hallo Welt !
[/lang]

Resultado:

Hallo Welt !

Os códigos de país devem ter 2 letras (regiões não são suportadas).

Como funciona

Ao renderizar uma postagem, o plugin procura por um bloco [lang=xx] para exibir. Ele parará de procurar assim que encontrar:

  1. o bloco definido para o idioma do usuário (conforme selecionado pelo Discourse)
  2. o bloco definido para o idioma padrão da instância do Discourse
  3. o primeiro bloco

Repositório

https://github.com/sylque/discourse-multilingual-post

13 curtidas

Equipe do Discourse, alguém tem ideia de como eu poderia localizar os títulos dos tópicos?

O que eu gostaria de fazer é o seguinte:

  • Definir uma ordem de idiomas, por exemplo “en,fr,de”
  • Permitir que os usuários escrevam títulos de tópicos assim: Hello World#Bonjour monde#Hallo Welt
  • Quando o Discourse exibir um título de tópico, modificá-lo para manter apenas o idioma correto

No entanto, não encontrei nenhum gancho no lado do cliente para modificar o título. Alguma ideia?

6 curtidas

Você considerou lidar com títulos no Rails? O idioma padrão é o existente, enquanto os títulos adicionais são campos de tópico personalizados. Em seguida, você altera os serializers para enviar o título do idioma selecionado no payload.

8 curtidas

Ótimo trabalho!

Eu apoiaria essa ideia. Acredito que a abordagem do lado do servidor é o caminho a seguir para os títulos.

Na verdade, estou no processo de construção de um plugin multilíngue (quase finalizado) que permite traduções de:

  1. Tags
  2. Nomes de categorias
  3. Descrições de categorias

Além de um painel administrativo para gerenciar idiomas e localidades, além de várias outras funcionalidades, como filtros de conteúdo de idioma específicos por usuário.

Haveria espaço para unir forças aqui.

14 curtidas

Olá! Adoro este plugin e como ele é simples, e sinto que seria mais útil se ele suportasse a decoração de páginas do Discourse (FAQ/Regras, Termos de Serviço, Política de Privacidade), já que os títulos são traduzidos de qualquer forma. Tentei fazer um fork e expandi-lo eu mesmo, mas para ser honesto, sou um completo iniciante. Embora eu tenha a sensação de que ele precisa ser reescrito em torno de decorateWidget() em vez de decorateCooked().

1 curtida

Adicionar estilos a uma página estática do Discourse (FAQ/Guidelines, TOS, Política de Privacidade) seria um recurso legal. No entanto, não tenho certeza se o decorateWidget tem um hook para páginas estáticas. Alguém, alguma dica sobre isso?