Como Definir o Idioma Padrão da Instância Mastodon para Novos Usuários
🔍 WiseChecker

Como Definir o Idioma Padrão da Instância Mastodon para Novos Usuários

Ao administrar uma instância do Mastodon, novos usuários se registram com uma configuração de idioma padrão que afeta toda a experiência. O idioma padrão determina o idioma da interface, o filtro de conteúdo da linha do tempo federada e as contas sugeridas durante a integração. Muitos administradores desejam definir um idioma padrão diferente do local do servidor, como inglês para uma comunidade multilíngue. Este artigo explica como configurar o idioma padrão para novos usuários usando as configurações de administração do Mastodon e variáveis de ambiente.

Principais Conclusões: Configuração do Idioma Padrão da Instância Mastodon

  • Admin > Configurações do Servidor > Descoberta > Idioma padrão: Define o idioma de fallback para contas de novos usuários quando nenhum idioma do navegador é detectado.
  • Variável de ambiente DEFAULT_LANG: Substitui a configuração do painel de administração para toda a instância, incluindo página de registro e notificações por e-mail.
  • Cabeçalho Accept-Language do navegador: O Mastodon detecta o idioma do navegador do usuário e o utiliza em vez do padrão se corresponder a uma localidade disponível.

ADVERTISEMENT

Como o Mastodon Atribui um Idioma Padrão a Novos Usuários

O Mastodon determina o idioma para uma nova conta de usuário por meio de uma cadeia de prioridade. O sistema primeiro verifica o cabeçalho Accept-Language do navegador enviado durante o registro. Se o idioma do navegador corresponder a uma das mais de 70 localidades suportadas, o Mastodon usa esse idioma para a interface e o define como idioma de postagem do usuário. Se nenhuma correspondência for encontrada, o Mastodon recorre à configuração de idioma padrão da instância. Se essa configuração estiver vazia, o servidor usa a localidade do sistema operacional.

A configuração de idioma padrão afeta três áreas: o idioma da página de registro, o idioma inicial da interface para o novo usuário e a tag de idioma padrão aplicada a todas as novas postagens até que o usuário a altere. Alterar o idioma padrão não se aplica retroativamente a usuários existentes. Cada usuário pode alterar seu idioma em Preferências > Aparência > Idioma.

Idiomas Suportados e Códigos de Localidade

O Mastodon usa códigos de localidade padrão BCP 47. Os códigos mais comuns são en para inglês, de para alemão, fr para francês, ja para japonês e es para espanhol. Uma lista completa de localidades suportadas está disponível no código-fonte do Mastodon no diretório config/locales. O valor do idioma padrão deve corresponder exatamente a um desses códigos. Por exemplo, definir o valor como en funciona, mas defini-lo como eng ou english falha silenciosamente.

Quando o Idioma do Navegador Substitui o Padrão da Instância

O cabeçalho Accept-Language do navegador tem precedência sobre o padrão da instância. Se um usuário se registrar com um navegador configurado para francês, o Mastodon atribui a localidade francesa mesmo que o padrão da instância seja inglês. O padrão da instância só é aplicado quando o idioma do navegador não é suportado pelo Mastodon. Esse comportamento não pode ser desabilitado pela interface de administração. Para forçar um único idioma para todos os novos usuários, é necessário modificar a configuração do nginx ou proxy reverso do servidor para remover o cabeçalho Accept-Language, mas isso não é recomendado para instâncias multilíngues.

Passos para Definir o Idioma Padrão no Painel de Administração

  1. Faça login como administrador
    Abra a URL da sua instância Mastodon e faça login com uma conta que tenha o papel de Administrador. Apenas usuários com o papel de Administrador podem acessar as configurações do servidor.
  2. Clique no ícone do menu hambúrguer
    No canto superior direito da interface do Mastodon, clique no ícone de três linhas horizontais para abrir o menu de navegação lateral.
  3. Selecione Preferências
    No menu lateral, clique em Preferências para abrir o painel de preferências do usuário.
  4. Clique em Administração na barra lateral esquerda
    Na página de Preferências, localize a seção Administração na barra de navegação lateral esquerda. Clique em Configurações do Servidor.
  5. Abra a aba Descoberta
    Na página Configurações do Servidor, clique na aba Descoberta. Esta aba contém configurações relacionadas à descoberta de conteúdo, federação e idioma padrão.
  6. Encontre o campo Idioma padrão
    Role para baixo até a seção Idioma padrão. Você verá um menu suspenso rotulado como Idioma padrão para novos usuários. O valor atual é exibido.
  7. Selecione o idioma desejado
    Clique no menu suspenso e escolha o idioma que deseja como padrão para novos usuários. Por exemplo, selecione English para a localidade en.
  8. Clique em Salvar alterações
    Role até o final da aba Descoberta e clique no botão azul Salvar alterações. Uma mensagem de confirmação aparece no topo da página.

ADVERTISEMENT

Passos para Definir o Idioma Padrão via Variável de Ambiente

A variável de ambiente DEFAULT_LANG substitui a configuração do painel de administração. Este método é útil para implantações Docker ou quando você deseja impor um idioma específico em todos os ambientes. A variável deve ser definida antes de iniciar os processos web e sidekiq do Mastodon.

  1. Acesse o terminal do servidor
    Conecte-se ao seu servidor Mastodon via SSH ou abra o console do seu ambiente de hospedagem.
  2. Abra o arquivo .env.production do Mastodon
    Navegue até o diretório de instalação do Mastodon, geralmente /home/mastodon/live. Use um editor de texto como nano para abrir o arquivo .env.production: nano .env.production
  3. Adicione a variável DEFAULT_LANG
    Adicione uma nova linha no final do arquivo: DEFAULT_LANG=en. Substitua en pelo código de localidade desejado.
  4. Salve e feche o arquivo
    No nano, pressione Ctrl+X, depois Y, depois Enter para salvar as alterações.
  5. Reinicie os serviços do Mastodon
    Execute os seguintes comandos para reiniciar os processos web e sidekiq:
    systemctl restart mastodon-web
    systemctl restart mastodon-sidekiq
    Para implantações Docker, reinicie os contêineres: docker-compose restart web sidekiq
  6. Verifique a alteração
    Abra uma janela de navegação privada e navegue até a página de registro da sua instância. A interface agora deve ser exibida no idioma selecionado. Registre uma conta de teste para confirmar que o idioma foi aplicado corretamente.

Erros Comuns e Limitações

Variável de Ambiente DEFAULT_LANG Não Faz Efeito

Se a variável DEFAULT_LANG não alterar o idioma para novos usuários, verifique se a variável foi definida antes de os processos do Mastodon iniciarem. A variável deve estar presente no ambiente tanto do processo web quanto do processo sidekiq. Reinicie ambos os serviços após editar o arquivo .env.production. Verifique também se o código de localidade está correto. O Mastodon ignora códigos inválidos sem aviso.

Usuários Existentes Não São Afetados pela Alteração do Idioma Padrão

A configuração de idioma padrão se aplica apenas a usuários que se registrarem após a alteração. Usuários existentes mantêm sua configuração de idioma atual. Para alterar o idioma de todos os usuários existentes, você deve executar uma migração de banco de dados ou pedir aos usuários que atualizem seu idioma em Preferências > Aparência > Idioma. O Mastodon não fornece uma ferramenta de atualização em massa de idioma no painel de administração.

Idioma da Página de Registro Difere do Idioma da Interface do Usuário

O idioma da página de registro é controlado pela variável de ambiente DEFAULT_LANG ou pelo idioma do navegador. O idioma da interface do usuário após o registro é definido com base na mesma cadeia de prioridade. Se você definir DEFAULT_LANG como inglês, mas a página de registro exibir um idioma diferente, o cabeçalho Accept-Language do navegador provavelmente está substituindo a configuração. Use o método da variável de ambiente para impor o idioma na página de registro.

ADVERTISEMENT

Painel de Administração do Mastodon vs Variável de Ambiente: Controle do Idioma Padrão

Item Configuração do Painel de Administração Variável de Ambiente DEFAULT_LANG
Local da configuração Admin > Configurações do Servidor > Descoberta Arquivo .env.production
Substituído pelo idioma do navegador Sim, o cabeçalho Accept-Language do navegador tem precedência Sim, o cabeçalho Accept-Language do navegador tem precedência
Afeta a página de registro Não, a página de registro usa a localidade do servidor ou a variável de ambiente Sim, controla diretamente o idioma da página de registro
Requer reinicialização do serviço Não, as alterações entram em vigor imediatamente Sim, é necessário reiniciar os processos web e sidekiq
Aplica-se a usuários existentes Não Não

Agora você pode definir o idioma padrão para novos usuários na sua instância Mastodon usando o painel de administração para alterações imediatas ou a variável de ambiente DEFAULT_LANG para imposição em todo o servidor. Após configurar o idioma padrão, teste o fluxo de registro com uma nova conta em uma janela de navegação privada. Para controle avançado, considere configurar o proxy nginx para modificar o cabeçalho Accept-Language para caminhos específicos se precisar impor um único idioma para todos os usuários.

ADVERTISEMENT