[Kobv-opus-tester] Frontdoor Spracheinstellung

Jens Schwidder schwidder at zib.de
Mi Jun 23 13:01:09 CEST 2021


Lieber Herr Schwarten,

im PHP Code kann man folgendes verwenden

$locale = Application_Translate::getInstance()::getLocale();

und sollte dann 'einen String wie 'en' bekommen. Es kann sein, dass sich 
diese Zeile mit dem Laminas umstieg ändert, der aber noch eine Weile 
dauern wird.

Im XSLT wird die gleiche Funktionalität über einen ViewHelper verfügbar 
gemacht, z.B. in folgender Datei

modules/frontdoor/views/scripts/index/templates/services.xslt

Dort wird mit

<xsl:value-of select="php:functionString('Application_Xslt::locale')" />

die Locale mit im HTML ausgegeben. Man könnte das aber auch xsl:when 
test Ausdrücken verwenden.

<xsl:when test="php:functionString('Application_Xslt::locale') == 'en'">

Hoffe das hilft Ihnen erst einmal weiter!


Eigentlich sollte diese Funktionalität für Enrichment-Felder, die 
Datumsangaben enthalten, in den Standard aufgenommen werden. Man müsste 
dann berücksichtigen, dass sich die unterstützten Sprachen von Instanz 
zu Instanz unterscheiden können und man würde vermutlich einen weiteren 
ViewHelper bauen, um die Unterscheidungslogik im XSLT zu vermeiden.

In der Datei "metadata.xslt" wird bereits der ViewHelper formatDate
verwendet.

<xsl:template name="formatDate">
     <xsl:param name="day"/>
     <xsl:param name="month"/>
     <xsl:param name="year"/>
     <xsl:value-of 
select="php:functionString('Application_Xslt::formatDate', $day, $month, 
$year)" />
</xsl:template>

Leider unterstützt dieser alte ViewHelper momentan nur unterschiedliche 
Formate für Deutsch und Englisch. Für andere Sprachen wird die englische 
Formatierung verwendet.


Viele Grüße

Jens Schwidder


On 22.06.21 09:59, Martin Schwarten wrote:
> Lieber Herr Schwidder,
> 
>> geht es um eine Abfrage im PHP-Code oder im XSLT?
> 
> XSLT bevorzugt, aber PHP als Alternative wäre ebenfalls gut. ich möchte 
> es in templates/metadata.xslt nutzen und in functions.xslt die 
> aufzurufende Datierungsfunktion hinzupacken.
> 
> 
> Viele Grüße
> Martin Schwarten
> 

-- 
==============================================================
Jens Schwidder
Kooperativer Bibliotheksverbund Berlin-Brandenburg (KOBV)
c/o Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)
Takustr. 7, D-14195 Berlin
Telefon: (030) 841 85 - 308
Telefax: (030) 841 85 - 269
  E-Mail: schwidder at zib.de
     WWW: http://www.kobv.de
==============================================================


Mehr Informationen über die Mailingliste Kobv-opus-tester