ayuda con la traducción /mostrar etiquetas correctamente

Estoy intentando crear un componente de tema que agregue subrayado a la barra de herramientas del compositor.

Logro que funcione, la etiqueta del botón funciona, sin embargo, cuando se usa, devuelve

[en.composer.underline_text]

no el esperado

Texto de ejemplo

He estado dando vueltas pero no he podido averiguar por qué, ¿alguien tiene alguna idea de lo que me estoy perdiendo?

Gracias


api-setup.js

import { apiInitializer } from "discourse/lib/api";
import I18n from "I18n";
import { iconNode } from "discourse-common/lib/icon-library";

export default apiInitializer("0.11.1", (api) => {
  const currentLocale = I18n.currentLocale();

  I18n.translations[currentLocale].js.underline_button_title = settings.underline_button;
  I18n.translations[currentLocale].js.underline_text = settings.underline_text;

  api.onToolbarCreate((toolbar) => {
    const buttons = [
      {
        id: "underline_button",
        group: "fontStyles",
        icon: "underline",
        shortcut: "U",
        title: "underline_button_title",
        perform: (e) => e.applySurround("[u]", "[/u]", "underline_text"),
      },
    ];

    buttons.forEach((button) => toolbar.addButton(button));
  });

  api.decorateCookedElement(
    async (elem, helper) => {
      const id = helper ? `post_${helper.getModel().id}` : "composer";
      applyHighlight(elem, id);
    },
    { id: "wrap-mark" }
  );
});

settings.yml

underline_button:
  default: "Underline"
  description:
    en: Enter the text for the title of the button in the composer.
underline_text:
  default: "Example Text"
  description:
    en: Enter the placeholder text that appears in the composer after the user clicks the button.

Svg_icons:
  type: 'list'
  list_type: 'compact'
  default: 'underline'
  description:
    en: "Include FontAwesome 6 icon classes for each icon used in the list."

en.yml

en:
  js:
    underline_button_title: settings.underline_button
    underline_text: settings.underline_text

¿Por qué creas los textos como configuraciones en lugar de ponerlos directamente en en.yml?

Creo que Composer Footnote Button es un ejemplo útil.

Gracias por indicarme la dirección correcta

Resultó que
I18n.translations[currentLocale].js.underline_text = settings.underline_text;
debería ser
I18n.translations[currentLocale].js.composer.underline_text = settings.underline_text;