¿Es posible obtener la clave (o código) de idioma actual en una plantilla de fluido TYPO3?Plantilla de fluido TYPO3 obtener el código de idioma
Mientras tanto he encontrado otra solución utilizando un ayudante de vista encontrados here:
<?php
class Tx_AboUnitReservation_ViewHelpers_LanguageViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
/**
* Get the current language
*/
protected function getLanguage() {
if (TYPO3_MODE === 'FE') {
if (isset($GLOBALS['TSFE']->config['config']['language'])) {
return $GLOBALS['TSFE']->config['config']['language'];
}
} elseif (strlen($GLOBALS['BE_USER']->uc['lang']) > 0) {
return $GLOBALS['BE_USER']->uc['lang'];
}
return 'en'; //default
}
/**
* Return current language
* @return string
*/
public function render() {
return $this->getLanguage();
}
}
?>
que utilizo en la plantilla de la siguiente manera fluida.
<f:alias map="{isGerman: 'de'}">
<f:if condition="{aboUnitReservation:language()} == {isGerman}">
<script type="text/javascript" src="{f:uri.resource(path:'js/jquery.ui.datepicker-de-CH.js')}"></script>
</f:if>
</f:alias>
Muy simple y elegante en comparación con lo que he encontrado, gracias. –
Yo desaconsejaría este tipo de tareas, conlleva algunos problemas. Primero, utiliza referencias codificadas a los UID del lenguaje del sistema que es probable que se rompa si se transfiere a otro sitio. En segundo lugar, si necesita traducir etiquetas, debe usar 'f: translate'. Quizás una mejor estrategia es leer el valor del "nombre del icono de la bandera" del idioma y usarlo en el nombre de una etiqueta traducida, p. 'LLL: EXT: myext/Resources/Private/Language/locallang.xml: languages.de' y' .en' etc. –