Como os emblemas e grupos podem ser localizados (multilíngues)? Durante a configuração, notei que os títulos dos emblemas e grupos não mudam com o idioma do tema. Como posso fazer com que os emblemas e grupos sigam a troca de tema?
A capacidade de localizar emblemas e grupos personalizados para um site multilíngue ainda não existe — no momento, apenas publicações, categorias e etiquetas podem ser localizadas.
Ok, obrigado. Mas por que os emblemas neste site (meta.discourse.org) mudam de idioma junto com o tema? Isso é causado por um recurso de tradução? Eu sugiro que a equipe oficial adicione configurações de personalização multilíngue para emblemas, grupos e tags; caso contrário, usuários multilíngues não conseguirão entender o conteúdo dos emblemas, grupos e tags.
Existem alguns emblemas semeados em todos os sites que são internacionalizados (i18n) através do Crowdin.
Emblemas personalizados armazenam nome/descrição como texto simples no banco de dados. Quando I18n.t (recurso de internacionalização) é chamado com uma chave como badges.my_custom_badge.name, não há uma tradução correspondente, então ele retorna para o valor armazenado no BD — o mesmo texto para todas as localizações.
Existe uma solução alternativa onde os administradores podem adicionar manualmente traduções para chaves de emblemas personalizados por localização.
Você pode personalizar os textos do seu site em \u003cyour site\u003e/admin/customize/site_texts.
Algumas etapas concretas para você
- Crie o emblema
- Vá para /admin/badges → Novo Emblema
- Defina nome, descrição, ícone, etc. normalmente
- Encontre a chave i18n
- O padrão da chave é
badges.{snake_case_name}.name - O snake_case_name é o nome do emblema em letras minúsculas com espaços substituídos por sublinhados
- Então “Pokémon Master” →
badges.pokémon_master.name
- Adicione substituições de tradução
- Vá para /admin/customize/site_texts
- Pesquise por
badges.pokémon_master - Você verá chaves como:
badges.pokémon_master.namebadges.pokémon_master.descriptionbadges.pokémon_master.long_description
- Mude para a localização de destino (ex: 简体中文), clique na chave e insira o texto traduzido
- Repita por localização
- Mude a localização no menu suspenso, adicione traduções para cada idioma que você precisa
.name- título do emblema.description- descrição curta mostrada nos cartões de emblema.long_description- descrição completa mostrada na página de detalhes do emblema
english
japanese
Oi! Obrigado pela resposta! Como é implementada a segunda etapa de encontrar a “i18n key”? Não encontrei a localização da i18n key.
Você não o "encontra" de verdade, apenas o deriva do nome que você dará ao distintivo. (Atualizarei a segunda etapa para usar "derivar" em vez de "encontrar")
Portanto, se você usar “Bug Finder” como nome do distintivo, a chave será badges.bug_finder.name
Não sei por que, mas ao pesquisar qualquer coisa em /admin/customize/site_texts, ele sempre retorna “No matching site texts found”. Você sabe qual pode ser a causa?


