在侧边栏中显示语言标签

时间:2015-07-27 03:45:48

标签: xslt internationalization xslt-1.0 dspace

几天前我问了this关于如何在项目视图中显示语言标签而不是ISO版本的问题。如何在侧边栏及其搜索过滤器中应用这些?我找不到用于在侧边栏构面中生成显示值的xslt。

Sidebar facet of language

在上图中,我想将显示的值更改为:

English (5325)
French (432)
Chinese (8)
Khmer (5)
Japanese (2)

然后,当点击法语的侧边栏构面时,搜索过滤器中的显示值应为Language Equals French,而不是下图(Language Equals fr):

enter image description here

提前致谢。

我尝试了什么

我不知道这是否是最有效的方法,所以任何建议都会受到赞赏。

<xsl:template
        match="dri:list[@n='language']/dri:item/dri:xref/text()
        | dri:list[@id='aspect.discovery.SidebarFacetsTransformer.list.language']/dri:item/text()
        | dri:div[@id='aspect.discovery.SearchFacetFilter.div.browse-by-language-results']/dri:table/dri:row/dri:cell/dri:xref/text()">
            <xsl:apply-templates select="*[not(name()='head')]"/>
    <xsl:variable name="language">
        <xsl:value-of select="substring-before(.,' (')"/>
    </xsl:variable>
    <xsl:for-each select=".">
        <xsl:value-of select="concat(util:isoLanguageToDisplay($language),' (', substring-after(.,'('))"/>
    </xsl:for-each>
</xsl:template>

我的侧边栏中的dc.language.iso的语言标签现在可以在主页和搜索结果中正确显示。

enter image description here

点击View More

enter image description here

我现在唯一的问题是:

enter image description here

我不知道如何覆盖高级搜索过滤器,或者甚至可以这样做。

0 个答案:

没有答案