Im nachfolgenden Beispiel wird innerhalb einer lokalisierten Zeichenkette ein Teil derer mit dynamischen Daten aus dem Controller / Model ersetzt.
Im nachfolgenden Beispiel wird innerhalb einer lokalisierten Zeichenkette ein Teil derer mit dynamischen Daten aus dem Controller / Model ersetzt.
<label index="tx_myext.headline"> Unsere Produkte im Bereich "%1$s": </label>
<f:translate key="tx_myext.headline" arguments="{1: category.title}" />
Das war der Vorgeschmack, nun wird es etwas komplizierter ;) Im nächsten Beispiel werden mehrere translate-ViewHelper verschachtelt und zusätzlich mit link-ViewHelpern kombiniert. Dem link-ViewHelper wird dabei der pageUid-Parameter aus dem Model übergeben.
<label index="tx_myext_domain_model_booking.privacy_and_terms.text"> Mit Ihrer Buchung erklären Sie sich mit den %1s und der %2s des externen Dienstleisters %3s einverstanden. </label> <label index="tx_myext_domain_model_booking.privacy_and_terms.text.terms"> AGB </label> <label index="tx_myext_domain_model_booking.privacy_and_terms.text.privacy"> Datenschutzerklärung </label>
<f:translate key="tx_myext_domain_model_booking.privacy_and_terms.text" htmlEscape="false" arguments="{ 1: '{f:translate(key: \'tx_myext_domain_model_booking.privacy_and_terms.text.terms\') -> f:link.page(pageUid: event.provider.termsAndConditions, target: \'_blank\')}', 2: '{f:translate(key: \'tx_myext_domain_model_booking.privacy_and_terms.text.privacy\') -> f:link.page(pageUid: event.provider.privacyProtection, target: \'_blank\')}', 3: '{event.provider.company}' ,}" />
Und nun noch ein weiteres Beispiel aus der Praxis: In Kommentarlisten eines Blogs findet man häufig Headlines zu den einzelnen Kommentaren in der Form von "Max Mustermann schrieb am 01.01.2015". Auch hier greifen wir erneut auf die Funktionalität der Platzhalter zurück und verschachteln zusätzlich darin noch die Format- sowie Translate-ViewHelper.
<trans-unit id="general.culture.date.format"> <source>d.m.Y</source> </trans-unit> <trans-unit id="tx_myext.comments.list.headline"> <source>%1s schrieb am %2s</source> </trans-unit>
{f:translate( key: 'tx_myext.comments.list.headline', arguments: '{ 1: \'{comment.authorName}\', 2: \'{comment.datePublished->f:format.date( format: \\'{f:translate( key: \\\\'general.culture.date.format\\\\' )}\\' )}\' }' )}
Lokalisierungen in Fluid sind wirklich mächtig, auch wenn der Code aus dem zweiten und dritten Beispiel auf den ersten Blick vielleicht etwas verwirren mag. Er funktioniert jedoch ;)
Kommentare