EPrints Technical Mailing List Archive

Message: #05806


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Translate citations?


Hi!

Translating citations seems overkilling, I'm unable to do it in a correct way (with pin values, for example), just plain text phrases. This means complex sentences are hard or impossible to translate.

For example, I would like to translate this:

https://github.com/eprints/eprints/blob/33a7bb8a8b3f80ba02ddd6618eb4e7dc3209ec68/lib/defaultcfg/citations/document/default.xml

to italian.

This is the interesting part:

<epc:if test="security != 'public'">
<br />Restricted to <epc:print expr="security"/><epc:if test="date_embargo"> until <epc:print expr="date_embargo"/>.</epc:if>
</epc:if>

This don't work:

======
in citations/document/default.xml:

<epc:if test="security != 'public'">
  <br />
<epc:phrase ref="resticted_warning" ><epc:param name="security"><epc:print expr="security"/></epc:param> <epc:param name="date_embargo"><epc:print expr="date_embargo"/></epc:param>
</epc:phrase>
</epc:if>

lang/en/phrases/custom.xml:

<epp:phrase id="resticted_warning">Restricted to <epc:print expr="security"/><epc:if test="date_embargo"> until <epc:print expr="date_embargo"/>.</epc:if></epp:phrase>

lang/it/phrases/custom.xml:

<epp:phrase id="resticted_warning">Ristretto a <epc:print expr="security"/><epc:if test="date_embargo"> fino a <epc:print expr="date_embargo"/>.</epc:if></epp:phrase>
=====

It returns an error:

------------------------------------------------------------------
---------------- EPrints System Error ----------------------------
------------------------------------------------------------------
Script in Phrase: 'resticted_warning': can't get a property {security} from undefined value at character 0
security
^ here
------------------------------------------------------------------

(this happen also with date_embargo alone)

So, what to do? In this example, I can translate piece by piece (so just text with no variables) but in other situations I can't do it, I need variable substitution in the right place.