Créer une traduction de thème pour Custom Header Links

Bonjour ami, je souhaite créer des traductions de thème pour ce composant.
J’ai lu l’article sur le support multilingue à l’adresse Add settings to your Discourse theme

et j’ai trouvé ce thème GitHub - discourse/DiscoTOC: A Discourse theme component that generates a table of contents for topics with one click · GitHub qui dispose de fonctions de traduction de thème.

Cependant, je ne sais pas comment commencer à créer des traductions pour ce composant de thème.

Pouvez-vous me fournir des directives ?

1 « J'aime »

Je tente de modifier ceci en utilisant le sujet de David Taylor :

 I18n.t(themePrefix("my_translation_key"))

sur Add localizable strings to themes and theme components

<script type="text/discourse-plugin" version="0.8.20">
  // Ajoute un attribut à la balise <html>. Cela pourrait aider l'utilisateur à styliser
  // ses liens d'en-tête
  $('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;

et d’ajouter un fichier locales/en.yml

mais j’obtiens le résultat [en.theme_translations.87.header_nav_link]


…donc, j’ai fait quelque chose de mal ?

1 « J'aime »

Non, vous ne faites rien de mal. Ce composant ne prend pas encore en charge les traductions de thème, mais sa mise à jour figure sur ma liste de tâches.

Essayez-vous de traduire le texte de chaque lien afin qu’il s’affiche en fonction de la préférence de langue de l’utilisateur ?

3 « J'aime »

oui, Johani, j’utilise ce composant comme un menu,
comme tu l’as dit, je souhaite traduire le texte pour chaque lien.
c’est sur ta liste, je suis très heureux, tu peux le faire. :smiling_face_with_three_hearts: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

1 « J'aime »

haha, j’ai une idée,
je peux utiliser ce composant pour réaliser un site web bilingue,
je peux créer des catégories en chinois et des catégories en anglais,
et utiliser ce composant comme navigation principale,
le lien du titre est inclus dans les fichiers de traduction locales en.yml et zh_CN.yml

la page d’accueil et la page des catégories peuvent être réalisées en utilisant un composant de thème traduit (même s’il s’agit d’une page statique).

et masquer le menu déroulant de catégorie par défaut,
et à mon avis, il est préférable pour moi d’utiliser uniquement deux langues sur notre site web.

1 « J'aime »

haha, je comprends, il suffit de déplacer le contenu de header.html vers head_tag.html

Obtenez-le en relisant ce sujet :

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

Merci à Johani et à ce type nommé Joe. :blush: :blush: :blush: :blush:

3 « J'aime »