[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