AEM Maven 在文本的对话框值中转换为 i18n 文本

AEM Maven convert to i18n text in dialog value of text

我下面有这段代码

<disclaimer
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/heading"
level="3"
text="Convert to i18n"/>

我在对话框中有这个,我想将文本部分转换为 i18n。我知道如何在 html 中进行转换,例如:

<a href="#" title="" data-sly-text="${'Convert to i18n' @ i18n}">もっと見る</a>

仅供参考:

我有一个具有相应值的 i18n json 文件。

我似乎无法让它在对话框中工作。

这可能吗? 非常感谢您的建议。

Update:

我找到了this

但我不明白这是否会解决我关于如何自动将 i18n 转换放在对话框文本标题上的问题

在 Sightly 中,当您使用 i18n 时,语言环境是从页面派生的,但在对话框和创作的情况下 UI,语言环境是从当前作者选择的 UI 语言派生的,只是更改用户属性中的语言。

它有点像基于所选用户语言的 OOTB。你只需要做两件事:

  1. 将 i18 密钥和翻译添加到您的 language.json 文件中,例如/apps/demo/i18n/en.json
{
"com.test.aem.prefix.label": "Some prefix text"
}
  1. 在您的对话框定义中使用 i18n 键作为 fieldLabel
<prefix-text
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
    fieldLabel="com.test.aem.prefix.label"
    name="./prefixText" />