Criando uma tradução de tema para Custom Header Links

Olá, amigo! Quero criar traduções de tema para este componente.

Li sobre o suporte a múltiplos idiomas em Add settings to your Discourse theme

e encontrei este tema GitHub - discourse/DiscoTOC: A Discourse theme component that generates a table of contents for topics with one click · GitHub que possui funções de tradução de tema.

Mas não sei como começar a fazer as traduções para este componente de tema.

Pode me dar algumas orientações?

1 curtida

Estou tentando alterar isto usando o tópico de David Taylor

 I18n.t(themePrefix("my_translation_key"))

em Add localizable strings to themes and theme components

<script type="text/discourse-plugin" version="0.8.20">
  // Adiciona um atributo à tag <html>. Isso pode ajudar o usuário a estilizar
  // seus links do cabeçalho
  $('html').attr('dhp-locale', I18n.locale)

  const customHeaderLinks = I18n.t(themePrefix("header_nav_link"));
  if (!customHeaderLinks.length) return;

  const h = require("virtual-dom").h;
  const headerLinks = [];

  const mobileView = api.container.lookup("site:main").mobileView;

e adicionei um locales/en.yml

mas obtenho o resultado [en.theme_translations.87.header_nav_link]


…então, estou fazendo algo errado?

1 curtida

Não, você não está fazendo nada de errado. Este componente ainda não suporta traduções de temas, mas atualizá-lo está na minha lista de tarefas.

Você está tentando traduzir o texto de cada link para que ele apareça com base na preferência de idioma do usuário?

3 curtidas

Sim, Johani, eu uso este componente como um menu.
Como você disse, quero traduzir o texto de cada link.
Já está na sua lista, estou muito feliz, você consegue fazer isso. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

1 curtida

haha, eu tenho uma ideia: posso usar este componente para criar um site bilíngue. Posso criar algumas categorias em chinês e outras em inglês, e usar este componente como a navegação principal. O link do título estará incluído nos arquivos de tradução en.yml e zh_CN.yml.

Para a página inicial e as páginas de categorias, posso usar um componente de tema traduzido (mesmo que seja uma página estática).

E vou ocultar o menu suspenso de categorias padrão. Na minha opinião, usar apenas dois idiomas no nosso site é uma boa solução para mim.

1 curtida

haha, entendi, basta mover o conteúdo do header.html para o head_tag.html

pegue lendo novamente este tópico

https://meta.discourse.org/t/how-to-add-settings-to-your-discourse-theme/82557/14?u=aksoforever

obrigado, Johani, e você, Joe. :blush: :blush: :blush: :blush:

3 curtidas