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.
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
- 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. - 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. - Selecione Preferências
No menu lateral, clique em Preferências para abrir o painel de preferências do usuário. - 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. - 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. - 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. - 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. - 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.
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.
- Acesse o terminal do servidor
Conecte-se ao seu servidor Mastodon via SSH ou abra o console do seu ambiente de hospedagem. - 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 - 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. - Salve e feche o arquivo
No nano, pressione Ctrl+X, depois Y, depois Enter para salvar as alterações. - Reinicie os serviços do Mastodon
Execute os seguintes comandos para reiniciar os processos web e sidekiq:systemctl restart mastodon-websystemctl restart mastodon-sidekiq
Para implantações Docker, reinicie os contêineres:docker-compose restart web sidekiq - 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.
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.