Web Development
Oliver Thiele

Lokalisierte Datumsausgabe mit Fluid-ViewHelpern
Optimal durch geschickten Einsatz von Tag- & Inlinesyntax kombiniert mit dem richtigen Escapen der Argumente

In diesem Code-Snippet finden Sie eine Lösung, um in einer lokalisierten Zeichenkette lokalisierte Variablen zu verwenden. Der Extensionname muss bei dem Aufruf der Templatedatei über das cObject FLUIDTEMPLATE angegeben werden, in dem dann die locallang.xlf-Dateien liegen. Diesen müssen Sie natürlich an Ihren eigenen Extensionkey anpassen. In diesem Beispiel wäre der Pfad zu der englischsprachigen XLF-Datei typo3conf/ext/ot_website/Resources/Private/locallang.xlf.

Beispiele für die Ausgabe:

Deutsche Version: Die Seite wurde am 12.1.2014 um 18:54 Uhr erstellt.

Englische Version: The page was created on 1/12/2014 at 6:54 PM.

FluidTemplateSnippet.html

html4strict
<f:translate id="page_created"
	default="Diese Seite wurde am %1s um %2s Uhr erstellt."
	extensionName="ot_website"
	arguments="{
0: '
	{f:format.date(
		format: \'{f:translate(id: \\\'formatDate\\\', default: \\\'m/d/Y\\\', extensionName: \\\'ot_website\\\')}\',
		date: \'@{data.crdate}\'
	)}
	',
1: '
	{f:format.date(
		format: \'{f:translate(id: \\\'formatTime\\\', default: \\\'H:i\\\', extensionName: \\\'ot_website\\\')}\',
		date: \'@{data.crdate}\'
	)}
	'

	}"
/>

Lokalisierungsdateien für die Übersetzungen

locallang.xlf

XML
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
	<file source-language="en" datatype="plaintext" original="messages" date="2015-02-17T14:04:47Z" product-name="ot_website">
		<header/>
		<body>
			<!-- ... -->
			<trans-unit id="page_created">
				<source>The page was created on $1s at $2s.</source>
			</trans-unit>
			<trans-unit id="formatDate">
				<source>m/d/Y</source>
			</trans-unit>
			<trans-unit id="formatTime">
				<source>h:i a</source>
			</trans-unit>
			<!-- ... -->
		</body>
	</file>
</xliff>
 

de.locallang.xlf

XML
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
	<file source-language="en" target-language="de" datatype="plaintext" original="messages" date="2015-02-17T14:04:47Z"
		  product-name="ot_website">
		<header/>
		<body>
			<!-- ... -->
			<trans-unit id="page_created">
				<source>The page was created on $1s at $2s.</source>
				<target>Diese Seite wurde am %1s um %2s Uhr erstellt</target>
			</trans-unit>
			<trans-unit id="formatDate">
				<source>m/d/Y</source>
				<target>d.m.Y</target>
			</trans-unit>
			<trans-unit id="formatTime">
				<source>h:i a</source>
				<target>H:i</target>
			</trans-unit>
			<!-- ... -->
		</body>
	</file>
</xliff>

© Copyright 2003-2017 Web Development Oliver Thiele. All rights reserved. - Diese Seite wurde am 27.02.2015 um 14:20 erstellt.
Letzte Änderung: 29.03.2016 16:30:41

oliver-thiele.de Trustcheck Seal