Bug #87675
Updated by Björn Jacob over 2 years ago
I've got an installation with german and english localization. My forms are translated and presented in the correct language. Everything is fine except one point: The EmailToSender finisher. finischer. It seems like <pre><code class="php">{formvh:translateElementProperty(element: formValue.element, property: 'label')}</code></pre> which is used in the template file I specified in the templatePathAndFilename for the EmailToSender finisher is buggy. The same line for EmailToReceiver finisher returns the correct translated label. But in EmailToSender finisher I get the english label no matter with which language I fill the form. the typoscript settings <pre> config { // Language Settings linkVars := addToList(L(0-2)) sys_language_uid = 0 sys_language_overlay = 1 sys_language_mode = content_fallback language = de locale_all = de_DE.UTF-8 htmlTag_langKey = de-DE # for real url defaultGetVars { L = 0 } sys_language_softMergeIfNotBlank = tt_content:image, pages:media } [globalVar = GP:L = 1] config { sys_language_uid = 1 language = en locale_all = en_EN.UTF-8 htmlTag_langKey = en-GB } [global] [globalVar = GP:L = 2] config { sys_language_uid = 4 language = fr locale_all = fr_FR.UTF-8 htmlTag_langKey = fr-FR } [global] </pre> The localization files: Forms.xlf <pre><code class="xml"> <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> <file source-language="en" datatype="plaintext" original="messages" date="2018-12-03T20:38:10Z"> <header> <description>Formular Labels.</description> <generator>LFEditor</generator> </header> <body> <trans-unit id="element.f_firstName.properties.label"> <source><![CDATA[First name]]></source> </trans-unit> </body> </file> </xliff> </code></pre> de.Forms.xlf <pre><code class="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="2018-12-03T20:38:10Z"> <header> <description>Formular Labels.</description> <generator>LFEditor</generator> </header> <body> <trans-unit id="element.f_firstName.properties.label" approved="yes"> <source><![CDATA[First name]]></source> <target><![CDATA[Vorname]]></target> </trans-unit> </body> </file> </xliff> </code></pre> The form definition: <pre><code class="yaml"> renderingOptions: submitButtonLabel: 'Anfrage absenden ...' type: Form identifier: ...Konfigurator label: '...Konfigurator' prototypeName: ...KonfiguratorBase finishers: - options: ... templatePathAndFilename: '.../Customer.html' identifier: EmailToSender - options: ... templatePathAndFilename: '.../Company.html' identifier: EmailToReceiver - renderables: - renderingOptions: previousButtonLabel: 'Previous step' nextButtonLabel: 'Neue Seite' type: Page identifier: page-1 label: '' renderables: - defaultValue: '' type: Text identifier: f_firstName label: Vornamen!!!123 properties: fluidAdditionalAttributes: required: required elementDescription: given-name validators: - identifier: NotEmpty </code></pre> the Template file: company.html and customer.html are identical: <pre><code class="html"> {namespace formvh=TYPO3\CMS\Form\ViewHelpers} {namespace v=FluidTYPO3\Vhs\ViewHelpers} <html xmlns:f="https://xsd.helhum.io/ns/typo3/cms-fluid/master/ViewHelpers" xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="format-detection" content="telephone=no"> </head> <body> <table width="600" cellpadding="0" cellspacing="0" border="0"> <tr> <td colspan="2" width="1200" align="left"> <f:render section="replacePlaceholders" arguments="{form:form, uid:'EmailIntro'}"/> <br/> </td> </tr> <formvh:renderAllFormValues renderable="{form.formDefinition}" as="formValue"> <tr> <td width="600" valign="top" align="left">{formvh:translateElementProperty(element: formValue.element, property: 'label')}</td> <td width="600" valign="top" align="left"> <f:if condition="{formValue.value}"> <f:then> <f:if condition="{formValue.isMultiValue}"> <f:then> <table cellspacing="0" border="0"> <f:for each="{formValue.processedValue}" as="value"> <tr> <td>{value}</td> </tr> </f:for> </table> </f:then> <f:else> <table cellspacing="0" border="0"> <tr> <td><f:format.nl2br>{formValue.processedValue}</f:format.nl2br></td> </tr> </table> </f:else> </f:if> </f:then> <f:else> - </f:else> </f:if> </td> </tr> </formvh:renderAllFormValues> <tr> <td colspan="2" width="1200" align="left"> <br/> <f:render section="replacePlaceholders" arguments="{form:form, uid:'EmailOutro'}"/> </td> </tr> </table> </body> <f:section name="replacePlaceholders"> <v:variable.set name="messageUid" value="{v:variable.typoscript(path: 'plugin.tx_form.settings.UIDs.{form.identifier}.{uid}')}"/> <v:variable.set name="message" value="{v:content.render(contentUids:{0:messageUid})}"/> <formvh:renderAllFormValues renderable="{form.formDefinition}" as="formValue"> <v:variable.set name="message"> <v:format.replace content="{message}" substring="[{formValue.element.identifier}]" replacement="{formValue.processedValue}"/> </v:variable.set> </formvh:renderAllFormValues> <f:format.raw>{message}</f:format.raw> </f:section> </html> </code></pre> *Summary:* All contents and translation in EmailToReceiver is correct in both languages. EmailToSender form labels are always english. Everything else is correct. Is there a configuration error?