Estruturando uma comunidade multilíngue

Olá, Neil, isso é incrível! Obrigado por assumir este projeto.

Acabei de testar o novo recurso de tags obrigatórias e, infelizmente, não funcionou para mim.

Criei uma categoria e defini a tag obrigatória.


Descrição da imagem: Captura de tela mostrando que a configuração de Tags da Categoria de uma categoria exige 1 tag do grupo de tags de gerenciamento de projetos.

Mas consegui criar um tópico com sucesso sem nenhuma tag. Isso é reproduzível em algum lugar?


Descrição da imagem: Captura de tela do tópico intitulado “Funciona exigir tag? teste” que foi publicado com sucesso sem nenhuma tag.

1 curtida

Você é um administrador do site, então pode fazer o que quiser. Teste com uma conta que não seja de equipe para ver como fica.

3 curtidas

Isso explica tudo e funcionou perfeitamente, especialmente as tags aparecendo no menu suspenso. OBRIGADO.

É possível adicionar um link para a página de tags na mensagem de erro?

1 curtida

@neil Desculpe a demora para responder, mas aproveitei seu trabalho aqui em um novo plugin que estou construindo para implementar o conjunto de recursos que descrevi acima. Ele usa uma versão modificada da estrutura que você adicionou para exigir que todos os tópicos tenham uma tag de idioma, caso uma configuração do site esteja habilitada. Então, muito obrigado!

Mais notas sobre o 'plugin multilíngue' (em desenvolvimento), caso alguém tenha interesse.

Repositório: GitHub - paviliondev/discourse-multilingual: A Discourse Plugin that makes it easier to administer a Multilingual Forum. · GitHub

Espero que a interface do usuário seja relativamente autoexplicativa, mas algumas observações sobre a nomenclatura e o comportamento atual:

  1. O tipo “Base” significa que o idioma faz parte da “lista base” de idiomas. Atualmente, a lista base é a lista completa de idiomas no código do Discourse, especificamente esta lista: discourse/config/locales/names.yml at main · discourse/discourse · GitHub. O plugin foi construído de forma que a lista base possa ser alterada posteriormente, se necessário (embora com algumas pequenas alterações no código).

  2. Você notará que vários idiomas da lista “Base” estão listados como tendo “sem traduções”. Isso reflete o fato de que a lista de locais suportados no Discourse é um subconjunto da lista de idiomas em names.yml. Sem dúvida, o objetivo é adicionar mais locais suportados ao longo do tempo; no entanto, isso depende da tradução do Discourse para diferentes locais (gerenciada no Transifex).

  3. Você pode adicionar novos idiomas fazendo upload de um arquivo .yml no formato:

    iso_code: nome nativo
    iso_code: nome nativo
    ...
    

    Você pode incluir quantos idiomas desejar no arquivo. Faça o upload do arquivo clicando em “Upload de Idiomas” e selecionando o arquivo .yml. A lista será atualizada automaticamente com o novo idioma adicionado. Idiomas adicionados dessa forma serão exibidos como tipo “Personalizado”.

  4. Você pode ordenar a lista por qualquer um dos cabeçalhos (exceto “Ações”) clicando no cabeçalho. Também é possível filtrar a lista usando a entrada de filtro no canto superior esquerdo (um pequeno problema com isso é que ela é atualizada a cada caractere adicionado; corrigirei isso mais tarde).

  5. As caixas de seleção nas colunas Conteúdo e Local indicam se o idioma deve ser usado como filtro de conteúdo e/ou local. A funcionalidade de gerenciamento de locais ainda não está completa, então as caixas de seleção nessa coluna não funcionarão corretamente (e idiomas personalizados sem traduções de local mostrarão uma caixa de seleção em vez de “sem traduções”).

  6. As caixas de seleção na coluna Conteúdo alterarão a disponibilidade dos idiomas de conteúdo para os usuários, ou seja, se esta caixa de seleção estiver desabilitada:

    1. Não haverá tag de idioma de conteúdo para esse idioma listada no seletor de idioma de conteúdo no editor.

    2. O usuário não poderá selecionar o idioma de conteúdo em seu perfil.

Observe também que os seletores de idioma de conteúdo e local do usuário estão agrupados no topo das configurações de interface dele.

Observe também que a inicialização do seletor de idioma no editor (ou seja, adicionar o idioma de conteúdo do usuário por padrão) agora deve estar funcionando.

Observe também que a configuração do site multilingual require language tag determina se uma tag de idioma é obrigatória. Ela possui três valores possíveis: no (não obrigatório para ninguém), yes (obrigatório para todos), non-staff (obrigatório para quem não é equipe).

9 curtidas

Olá, dei uma olhada. Qual é o caminho para ter esse tipo de estrutura?
Entendo que ‘outras línguas’ é uma categoria e as diferentes línguas são as subcategorias?
É isso mesmo?
E os contribuidores postam aqui de acordo com suas próprias línguas?

Então eles podem postar todos os assuntos sem nenhum tema específico?
Obrigado.

Yves

1 curtida

Alguém acha que seria ótimo exibir todo o conteúdo e a interface para os usuários em seu idioma nativo?

O AirBnB faz isso há anos: todo mundo escreve em seu próprio idioma e vê as respostas no idioma em que escreve.

Isso poderia ser facilmente feito tecnicamente com a API do Google Tradutor, que, para ser honesto, acho realmente impressionante em quão boa ela é.

Acho que as sugestões, bem como o “plugin multilíngue”, se entendi corretamente sua função, apenas levam a mais segregação em vez de remover as barreiras linguísticas.

1 curtida

Você já viu isto?

2 curtidas

Você viu isto?

Claro, mas pelo que entendi, isso só traduz as postagens após clicar nelas - ou funciona automaticamente e eu ainda não descobri como?

1 curtida

2 posts foram divididos em um novo tópico: Estimativas de custo de tradução para uma pequena comunidade