[ 
https://jira.duraspace.org/browse/DS-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Masár updated DS-1232:
---------------------------

    Status: Volunteer Needed  (was: Received)
    
> Metadata internationalization
> -----------------------------
>
>                 Key: DS-1232
>                 URL: https://jira.duraspace.org/browse/DS-1232
>             Project: DSpace
>          Issue Type: Improvement
>          Components: DSpace API, Language Packs, XMLUI
>    Affects Versions: 1.8.2, 3.0
>            Reporter: Nestor Oviedo
>              Labels: has-patch, i18n, internationalization, language, 
> submission
>         Attachments: i18nable-metadata-modified-classes.zip, 
> i18nable-metadata.patch, i18nable-metadata-screenshot.png
>
>
> The database schema for the table "metadatavalue" defines a field called 
> "text_lang" which indicates the language in which the text of certain tuple 
> (single metadata) is written in. This database field is filled on every 
> insert with some default value ("en_US") due to DSpace does not provide any 
> way to select a different one.
> Here there is a patch to add this functionality, based on the modifications 
> we have made to our DSpace installation.
> In a few words, this patch adds a SELECT control to the sumission form, next 
> to the respective INPUT or TEXTAREA, in order to allow the user to select the 
> correct language for the text. In case of repetible fields, it adds a hidden 
> input with the language.
> What was modified?
> - Class "org.dspace.app.util.DCInput" in order to consider a new <i18n> 
> element in the input-forms.xml config file. When the element 
> <i18n>true</i18n> is present in a field definition, this class now sets a 
> flag indicating this field will be internationalizable.
> - Classes "Instance", "Text", "TextArea", "Params" and "Value", all from 
> package "org.dspace.app.xmlui.wing.element", in order to accomplish two 
> things:
> a) be able to set a flag when the form field is internationalizable: implies 
> tagging the Param object associated to the Text or TextArea object that it is 
> been constructed. This Param object will be rendered inside the DRI page 
> (within the form field definition) with a new attribute "i18nable=yes".
> b) be able to save a language selected by the user: the selected language is 
> set in the Text, TextArea or Instance object by adding a new Value object of 
> type Value.TYPE_LANG.
> - Classes DescribeStep (from dspace-api and dspace-xmlui-api) in order to 
> configure the Text and TextArea objects, and to read the submitted values 
> (method readText()).
> - There is a new transformer attached to the Submission aspect, which loads 
> the "webui.supported.locales" config property (or "default.locale" that 
> property is not defined) and exposes it in the final DRI source, splitted in 
> multiple "supporte_language" metadata elements inside <pageMeta>. This only 
> when the user enters to the submit form.
> - File forms.xsl (the one from dspace-xmlui-webapp/../themes/dri2xhtml-alt) 
> in order to render the SELECT (or hidden input for instances) control when 
> the "dri:field" matches the expression "dri:params[@i18nable='yes']". Then it 
> takes all the metadata named "supported_locale" from "pageMeta" and creates 
> the OPTION elements with those values.
> It is IMPORTANT to note that:
> - The language selection works only for Text or TextArea fields (it has no 
> sense in other elements).
> - Not internationalizable fields behave just like they did before this patch 
> (the use the default language).
> - This patch won't work with the Reference theme because this theme redefines 
> the XSL template "match="dri:field" mode="normalField", which is responsible 
> to render the select control. If it is modified, it shoul work well.
> - Values displayed in the select control are internationalizable. This patch 
> uses the following syntax to create the i18n codes: 
> xmlui.dri2xhtml.METS-1.0.locale.{locale_code}, where "{locale_code}" is the 
> language code to translate.
> Attached files:
> You can find the complete patch attached. Also you will find a zip file with 
> the modified classes, organized in directories based on the dspace modules 
> they belong to.
> There is also a screenshot that shows the expected result on the submission 
> form.
> Example of field configuration in input-form.xml file:
> <field>
>     <dc-schema>dc</dc-schema>
>     <dc-element>title</dc-element>
>     <dc-qualifier></dc-qualifier>
>     <repeatable>false</repeatable>
>     <label>Title</label>
>     <input-type>onebox</input-type>
>     <hint>Enter the main title of the item.</hint>
>     <required>You must enter a main title for this item.</required>
>     <i18n>true</i18n>
> </field>
> Excerpt of the resulting DRI page with two internationalizable field: 
> dc.title and dc.title.alternative
> <item>
>     <field id="aspect.submission.StepTransformer.field.dc_title" 
> rend="submit-text" n="dc_title" required="yes" type="text">
>       <params i18nable="yes"/>
>       <label>Title</label>
>       <help>Enter the main title of the item.</help>
>       <value type="raw">Main title, in english</value>
>       <value type="lang">en</value>
>     </field>
> </item>
> <item>
>     <field id="aspect.submission.StepTransformer.field.dc_title_alternative" 
> rend="submit-text" n="dc_title_alternative" type="text">
>       <params i18nable="yes" operations="add delete"/>
>       <label>Other Titles</label>
>       <help>If the item has any alternative titles, please enter them 
> below.</help>
>       <instance>
>           <value type="raw">Título alternativo, en español</value>
>           <value type="lang">es</value>
>       </instance>
>     </field>
> </item>

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to