diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/Navigation.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/Navigation.java index 4fca691735ca7a9f9f2c22274f03bb15f8bf8a1f..4ed8cdf92aa3e3af34b61282fe5be3dd3efe0e0d 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/Navigation.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser/Navigation.java @@ -11,6 +11,7 @@ import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import org.apache.cocoon.caching.CacheableProcessingComponent; @@ -36,6 +37,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.app.util.Util; import org.dspace.core.ConfigurationManager; +import org.dspace.core.I18nUtil; import org.xml.sax.SAXException; /** @@ -206,6 +208,19 @@ public class Navigation extends AbstractDSpaceTransformer implements CacheablePr pageMeta.addMetadata("page","contactURL").addContent(contextPath + "/contact"); pageMeta.addMetadata("page","feedbackURL").addContent(contextPath + "/feedback"); +// ############################################################################################# + // Add the locale meta data including language dependant labels + Locale[] locales = I18nUtil.getSupportedLocales(); + for (int i=0; i < locales.length; i++) + { + pageMeta.addMetadata("page", "supportedLocale").addContent(locales[i].toString()); + // now add the appropriate labels + pageMeta.addMetadata("supportedLocale", locales[i].toString()).addContent(locales[i].getDisplayName(locales[i])); + } + pageMeta.addMetadata("page","currentLocale").addContent(context.getCurrentLocale().toString()); +// ############################################################################################# + + DSpaceObject dso = HandleUtil.obtainHandle(objectModel); if (dso != null) { diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/eperson/EditProfile.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/eperson/EditProfile.java index e7674ef48c53b9408e07b463d8f09eeefc952821..9a68759e9324bec3314a32a96c8c1d9c6ab6c84e 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/eperson/EditProfile.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/eperson/EditProfile.java @@ -62,7 +62,7 @@ import org.xml.sax.SAXException; */ public class EditProfile extends AbstractDSpaceTransformer { - private static Logger log = Logger.getLogger(EditProfile.class); + private static java.util.logging.Logger log = Logger.getLogger(EditProfile.class); /** Language string used: */ private static final Message T_title_create = @@ -481,7 +481,8 @@ public class EditProfile extends AbstractDSpaceTransformer */ private static Locale[] getSupportedLocales() { - String ll = ConfigurationManager.getProperty("xmlui.supported.locales"); +// ############################################################################################# + String ll = ConfigurationManager.getProperty("webui.supported.locales"); if (ll != null) { return I18nUtil.parseLocales(ll); diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/viewArtifacts/Navigation.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/viewArtifacts/Navigation.java index ff4ba4eb61ee54c91397ecacc1611f1e5e9a8577..ac12e95ff5ba6ab8a0f3a018be02545903193d2b 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/viewArtifacts/Navigation.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/viewArtifacts/Navigation.java @@ -26,11 +26,13 @@ import org.dspace.content.Community; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.core.ConfigurationManager; +import org.dspace.core.I18nUtil; import org.xml.sax.SAXException; import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; +import java.util.Locale; /** * This transform applies the basic navigational links that should be available @@ -128,6 +130,20 @@ public class Navigation extends AbstractDSpaceTransformer implements CacheablePr pageMeta.addMetadata("page","contactURL").addContent(contextPath + "/contact"); pageMeta.addMetadata("page","feedbackURL").addContent(contextPath + "/feedback"); + +// ############################################################################################# + // Add the locale meta data including language dependant labels + Locale[] locales = I18nUtil.getSupportedLocales(); + for (int i=0; i < locales.length; i++) + { + pageMeta.addMetadata("page", "supportedLocale").addContent(locales[i].toString()); + // now add the appropriate labels + pageMeta.addMetadata("supportedLocale", locales[i].toString()).addContent(locales[i].getDisplayName(locales[i])); + } + pageMeta.addMetadata("page","currentLocale").addContent(context.getCurrentLocale().toString()); +// ############################################################################################# + + DSpaceObject dso = HandleUtil.obtainHandle(objectModel); if (dso != null) { diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceLocaleAction.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceLocaleAction.java index 1a601fdc5274f21ee41462423f8d325ac346e835..e9980e67990cd90bbeb59d2b3cea25e9f356a28f 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceLocaleAction.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/cocoon/DSpaceLocaleAction.java @@ -16,7 +16,10 @@ import org.apache.cocoon.environment.Redirector; import org.apache.cocoon.environment.SourceResolver; import org.apache.cocoon.i18n.I18nUtils; import org.apache.cocoon.i18n.I18nUtils.LocaleValidator; + +import org.dspace.app.xmlui.utils.ContextUtil; import org.dspace.core.ConfigurationManager; +import org.dspace.core.Context; import org.dspace.core.I18nUtil; import java.util.ArrayList; @@ -96,14 +99,25 @@ public class DSpaceLocaleAction extends ServiceableAction implements Configurabl getLogger().debug("Found locale: " + localeStr); } +// ############################################################################################# +// I18nUtils.storeLocale(objectModel, +// "locale-attribute", +// localeStr, +// false, +// false, +// false, +// false); I18nUtils.storeLocale(objectModel, - "locale-attribute", - localeStr, - false, - false, - false, - false); - + "locale-attribute", + localeStr, + false, + true, + false, + false); + Context context = ContextUtil.obtainContext(objectModel); + context.setCurrentLocale(locale); +// ############################################################################################# + // Set up a map for sitemap parameters Map<String, String> map = new HashMap<String, String>(); map.put("language", locale.getLanguage()); @@ -129,11 +143,13 @@ public class DSpaceLocaleAction extends ServiceableAction implements Configurabl */ public DSpaceLocaleValidator() { - if (ConfigurationManager.getProperty("xmlui.supported.locales") != null) +// ############################################################################################# + if (ConfigurationManager.getProperty("webui.supported.locales") != null) { supportedLocales = new ArrayList<Locale>(); - String supportedLocalesConfig = ConfigurationManager.getProperty("xmlui.supported.locales"); +// ############################################################################################# + String supportedLocalesConfig = ConfigurationManager.getProperty("webui.supported.locales"); String[] parts = supportedLocalesConfig.split(","); diff --git a/dspace/config/dspace.cfg b/dspace/config/dspace.cfg index 8a52c32be1e0d9e3d66b88af970209d8333d0f54..29a60adcc4d32f8a98fb43d301354926c65fb74e 100644 --- a/dspace/config/dspace.cfg +++ b/dspace/config/dspace.cfg @@ -1579,13 +1579,13 @@ plugin.single.org.dspace.app.webui.util.StyleSelection = \ # Default Locale # A Locale in the form country or country_language or country_language_variant # if no default locale is defined the server default locale will be used. -default.locale = en +default.locale = pt_BR # All the Locales that are supported by this instance of DSpace # A comma-separated list of Locales. All types of Locales country, country_language, country_language_variant # Note that the appropriate file are present, especially that all the Messages_x.properties are there # may be used, e. g: webui.supported.locales = en, de - +webui.supported.locales = pt_BR, en #### Additional configuration for Item Mapper #### diff --git a/dspace/modules/xmlui/src/main/webapp/i18n/messages_pt_BR.xml b/dspace/modules/xmlui/src/main/webapp/i18n/messages_pt_BR.xml index 51fc572901fe9740f96a9784100d78ae74b7f223..ecf078e22fc1fd03b34cd5e456dc14ea7dd35f75 100644 --- a/dspace/modules/xmlui/src/main/webapp/i18n/messages_pt_BR.xml +++ b/dspace/modules/xmlui/src/main/webapp/i18n/messages_pt_BR.xml @@ -2546,7 +2546,7 @@ <message key="xmlui.structure.AboutRepositoryTitle">Sobre o repositório</message> <message key="xmlui.structure.AboutRepositoryTrail">Sobre o repositório</message> - <message key="xmlui.structure.AboutRepositoryText">Para modificar o conteúdo desta pagin, edite os arquivos de internacionalização e adicione seu próprio texto ao titulo, trail e corpo.</message> + <message key="xmlui.structure.AboutRepositoryText">Para modificar o conteúdo desta pagina, edite os arquivos de internacionalização e adicione seu próprio texto ao titulo, trail e corpo.</message> </catalogue> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css index 5514dbabb2e2d5395491b98856047cc2cb0c6c5a..7a998d1c774b39a5cfd0e9af4eca5871b2adf2c2 100644 --- a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css @@ -164,6 +164,11 @@ select.multiple { color: #1F3F5E; } +#ds-language-selection { + float: right; + margin-right: 5px; +} + #no-js-warning, #ds-trail, #ds-header, @@ -395,6 +400,7 @@ p { .primary { margin-top: 10px; margin-bottom: 30px; + margin-right: 10px; } ol { @@ -1082,7 +1088,8 @@ div.item-summary-view-metadata { div.simple-item-view-authors { font-size: 123.1%; font-weight: bold; - border-bottom:1px solid #D8E8EB; + border-bottom: 1px dotted #CCCCCC; + padding-top: 5px; padding-bottom: 2px; margin-bottom: 20px; text-align: justify; @@ -1100,7 +1107,8 @@ div.simple-item-view-description { #aspect_artifactbrowser_ItemViewer_div_item-view h2, div.simple-item-view-description h3{ - border-bottom:1px solid #D8E8EB; + border-top: 1px dotted #CCCCCC; + padding-top: 5px; margin-bottom: 3px; } @@ -1172,8 +1180,10 @@ div.spacer{ #aspect_artifactbrowser_CommunityViewer_div_community-home h2, #aspect_artifactbrowser_CollectionViewer_div_collection-home h2 { margin-top: 30px; - border-bottom:1px solid #D8E8EB; margin-bottom: 3px; + border-top: 1px dotted #CCCCCC; + padding-top: 5px; + } .ds-logo-wrapper { diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl index d8f98cb15fb70c722980a9c20dd119ecc5a4160a..35638001f5ad32b26a1af4e2cad3c31d7ed04bc9 100644 --- a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl @@ -420,6 +420,41 @@ <xsl:template name="buildTrail"> <div id="ds-trail-wrapper"> <ul id="ds-trail"> + <!-- Seletor de linguagem pt_BR / en --> + <div id="ds-language-selection"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="concat($context-path,'/?locale-attribute=pt_BR')"/> + </xsl:attribute> + <xsl:text>Português</xsl:text> + </a> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="concat($context-path,'/?locale-attribute=en')"/> + </xsl:attribute> + <xsl:text>English</xsl:text> + </a> + </div> +<!-- ############################################################################################# --> +<!-- Seletor de linguagem baseado no que está ativo no arquivo de configuração do dspace (webui.supported.locales) --> +<!-- Infelizmente, não funciona... algum problema com a geração de pageMeta, provavelmente no metodo --> +<!-- org.dspace.app.xmlui.aspect.viewArtifacts.Navigation.addPageMeta --> +<!-- Display a language selection if more than 1 language is supported --> +<!-- <xsl:if test="count(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='supportedLocale']) > 1"> --> +<!-- <div id="ds-language-selection"> --> +<!-- <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='supportedLocale']"> --> +<!-- <xsl:variable name="locale" select="."/> --> +<!-- <a> --> +<!-- <xsl:attribute name="href"> --> +<!-- <xsl:value-of select="concat($context-path,'/?locale-attribute=')"/> --> +<!-- <xsl:value-of select="$locale"/> --> +<!-- </xsl:attribute> --> +<!-- <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='supportedLocale'][@qualifier=$locale]"/> --> +<!-- </a> --> +<!-- </xsl:for-each> --> +<!-- </div> --> +<!-- </xsl:if> --> +<!-- ############################################################################################# --> <xsl:choose> <xsl:when test="starts-with($request-uri, 'page/about')"> <li class="ds-trail-link first-link"> @@ -532,6 +567,7 @@ </xsl:if> </xsl:template> + <!-- Like the header, the footer contains various miscellaneous text, links, and image placeholders --> <xsl:template name="buildFooter"> <div id="ds-footer-wrapper">