У меня есть шаблон формы, использующий f:form.validationResults
ViewHelper для отображения ошибок оценки, которые действительно возникали, когда каркас пытался заполнить объект модели, содержащий двойные элементы, следующим образом
<f:form.validationResults for="newObject.floatValue" as="validationResults">
<f:for each="{validationResults.errors}" as="error">
<li>{error}</li>
</f:for>
</f:form.validationResults>
Как и ожидалось,проверка работает, но сообщения об ошибках FloatConverter
не локализованы, потому что соответствующая строка PHP (из typo3 / sysext / extbase / Classes / Property / TypeConverter / FloatConverter.php) равна
return new \TYPO3\CMS\Extbase\Error\Error('"%s" cannot be converted to a float value.', 1332934124, [$source]);
IsЕсть ли некрасивый способ локализовать эти сообщения об ошибках?
Я знаю, что мог бы сделать что-то вроде
<f:if condition="{error.code}==1332934124">
<f:then>
<f:translate key="LLL:EXT:extension/Resources/Private/Language/locallang_err.xlf:float.unconvertable"/>
</f:then>
<f:else>
{error}
</f:else>
</f:if>
, но это не похоже на предполагаемый способ решения этой проблемы.
Спасибо за ваш совет.