Локализация ошибок Typo3 9.5 FloatConverter - PullRequest
0 голосов
/ 06 мая 2019

У меня есть шаблон формы, использующий 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>

, но это не похоже на предполагаемый способ решения этой проблемы.

Спасибо за ваш совет.

...