-
Notifications
You must be signed in to change notification settings - Fork 0
Internacionalización (i18n)
DSpace cuenta con una interfaz completamente internacionalizable. Además de proveer un amplio numero de idiomas en la que su interfaz esta internacionalizada (p.e. inglés, español, italiano, francés, alemán, etc...), provee mecanismos para modificar o crear nuevos mensajes de internacionalización para un idioma nuevo o ya existente.
Indice
- Configurar los idiomas disponibles
- Configurar idioma por defecto
- i18n en XMLUI
- Customización de mensajes
- Idioma de metadatos
- i18n en input-forms.xml
Desde el archivo dspace/config/dspace.cfg
pueden configurarse algunas propiedades relativas a los idiomas disponibles para la i18n.
La aplicación puede configurarse para que solo se visualice en único idioma o un determinado conjunto de idiomas. Ésto es configurable desde la propiedad webui.supported.locales:
webui.supported.locales = es, en, pt
El idioma por defecto en el que se mostrará la aplicación se puede configurar en la propiedad default.locale, por ejemplo:
# 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 = es
¿Que es la internacionalización?
La internacionalización o i18n es el proceso de diseñar software de manera tal que pueda adaptarse a diferentes idiomas y regiones sin la necesidad de realizar cambios de ingeniería ni en el código.
La interfaz XMLUI soporta i18n gracias al mecanismo de internacionalización del I18N Transformer provisto por Cocoon. A su vez, administra un conjunto de catálogos de Messages en varios idiomas, donde cada uno tiene la siguiente estructura:
<?xml version="1.0"?>
<catalogue xml:lang="en" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<message key="xmlui.ejemplo">Aquí va el texto en el idioma pertinente</message>
<!-- miles de mensajes mas... -->
</catalogue>
DSpace desarrolló el proyecto dspace-xmlui-lang para traducir comunitariamente los archivos de i18n. Desde este proyeto se importan todos los archivos de i18n utilizados por XMLUI.
Para customizar/modificar mensajes i18n en una aplicación DSpace, hay que:
-
Copiar el archivo correspondiente al idioma que se quiere customizar: desde (A) el directorio de instalación
[DSpace_install_dir]/webapps/xmlui/i18n
, ó (B) desde el proyecto dspace-xmlui-lang. -
Pegarlo bajo el directorio
[DSpace-SRC]/dspace/modules/xmlui/src/main/webapp/i18n
, por ejemplo: dspace/modules/xmlui/src/main/webapp/i18n/messages_es.xml. -
Traducir/Modificar los
<messages>
requeridos desde el archivo correspondiente al idioma pertinente.
Durante la carga de metadatos en el Submission, los metadatos se guardarán en el idioma por defecto configurado en locale.default
. Por ejemplo:
metadato | valor | autoridad | idioma |
---|---|---|---|
dc.title | 'Web Semantica: el estado del arte' | null | es |
dcterms.alternative | 'Semantic Web: state of art' | null | es |
Sin embargo, hay veces que el valor del metadato cargado no corresponde con el idioma por defecto. Para estos casos, existe un mecanismo que permite seleccionar el idioma del metadato a cargar.
Imaginemos que queremos que el metadato dc.title
permita seleccionar su idioma durante su carga. Para esto simplemente tenemos que agregar el tag <language>
al <field> correspondiente en el input-forms:
<field>
<dc-schema>dc</dc-schema>
<dc-element>title</dc-element>
<language value-pairs-name="${value-pair-name}">true</language>
<repeatable>false</repeatable>
<label>Título</label>
<input-type>onebox</input-type>
<hint>Título principal del documento tal y como aparece en la obra.</hint>
<required>Debe indicar el título del documento</required>
</field>
Los idiomas posibles a seleccionar serán cargados desde el <value-pairs> con el nombre ${value-pair-name}.
Para mayor información ir a la documentación oficial en DSpace.