AEM Tags 控制台允许将本地化标题添加到每个标签。
但是,此列表缺少一些我需要支持的区域设置代码。这份名单的来源是什么?
/libs/wcm/core/resources/languages
下有可用语言的基本配置,但它包含的条目比此下拉菜单多得多。
此下拉列表由
/libs/cq/tagging/gui/components/tagedit/languagepicker/render.jsp
下的脚本处理
根据此 JSP,标签列表的原始来源是
com.day.cq.tagging.TagManager
接口。
这意味着我们需要确定是什么驱动了
com.day.cq.tagging.TagManager#getSupportedLanguageCodes()
返回的标签列表以及如何将支持的语言添加到 AEM 的 TagManager
。
AEM 中的全局配置通常是上下文相关的,可能是内容子树根附近的 JCR 属性、Sling 上下文感知配置或类似配置。
让我们猜测一下,看看 AEM Tags 内容树的根:
/content/cq:tags
此节点有一个名为
languages
、类型为 String[]
的 JCR 属性。这看起来是一个不错的候选人。这是我在实例上找到的值:en, de, es, fr, it, pt_br, zh_cn, zh_tw, ja, ko_kr
扩展此列表似乎可以解决问题。我已将
de_de
添加到列表中,选项 德语(德国) 显示在下拉列表中。
对于以这种方式添加的任何自定义区域设置代码,它也需要出现在
/libs/wcm/core/resources/languages
下的全局列表中或位于/apps/wcm/core/resources/languages
下的覆盖层中