- dc.language.iso iso, .
:
<xsl:for-each select="dim:field[@element='language' and @qualifier='iso']">
<xsl:value-of select="util:isoLanguageToDisplay(node())"/>
<xsl:if test="count(following-sibling::dim:field[@element='language' and @qualifier='iso']) != 0">
<xsl:text>; </xsl:text>
</xsl:if>
</xsl:for-each>
isoLanguageToDisplay , util, org.dspace.app.xmlui.utils.XSLUtils ( / ):
public static String isoLanguageToDisplay(String iso) {
if (StringUtils.isBlank(iso)) {
return iso;
}
Locale locale;
if (iso.contains("_")) {
String language = iso.substring(0, iso.indexOf("_"));
locale = new Locale(language);
} else {
locale = new Locale(iso);
}
String englishNameOfLanguage = locale.getDisplayLanguage(Locale.getDefault());
if (!StringUtils.isBlank(englishNameOfLanguage))
{
if ("Maori".equals(englishNameOfLanguage)) {
englishNameOfLanguage = "Māori";
}
return englishNameOfLanguage;
}
return iso;
}
, "".
, , , . ,
locale.getDisplayLanguage(Locale.getDefault());
to
locale.getDisplayLanguage(locale);