Entschuldigt, wenn ich grad das Forum mit Formular Fragen flute.
Jetzt stehe ich vor folgendem Problem: In meinem Testformular gibt es die Checkbox für die Datenschutzbestimmungen. Darunter habe ich ein Contentelement gepackt mit zusätzlichem Text und Links auf die AGB und Datenschutzbestimmungen. Klappt in deutsch auch.
renderingOptions:
submitButtonLabel: Submit
type: Form
identifier: testformular
label: Testformular
prototypeName: standard
finishers:
- options:
subject: E-Mail
recipients:
info@test.de: info@test.de
senderAddress: info@test.de
senderName: info@test.de
addHtmlPart: true
attachUploads: true
translation:
language: Default
title: ""
identifier: EmailToReceiver
renderables:
- renderingOptions:
previousButtonLabel: "Previous step"
nextButtonLabel: "Next step"
type: Page
identifier: page-1
label: Step
renderables:
- type: Checkbox
identifier: datenschutz
label: Ich akzeptiere die Datenschutzbestimmungen
- label: "Content element"
properties:
contentElementUid: "15"
type: ContentElement
identifier: contentelement-1
In meinem XML für die Übersetzungen habe ich das Label für die Checkbox entsprechen übersetzt:
testformular.element.datenschutz.properties.label = Ich akzeptiere die.....
Beim Umschalten der Sprache ändert sich auch das Label, nur der Text darunter wird auf deutsch angezeigt, obwohl die Übersetzung des Contentelementes angelegt ist. Ich habe dann mit
testformular.element.contentelement-1.properties.contentElementUid = 770
versucht bei englischer Sprache das übersetzte Contentelement anzusprechen. Vergebens. Ausgegeben wir immer das deutsche Element.
In der Doku habe ich das hier gefunden: https://docs.typo3.org/c/typo3/cms-form/main/en-us/I/Concepts/FrontendRendering/Index.html#concepts-frontendrendering-translation-arguments
Das bekomme ich aber nicht auf mein Beispiel übertragen. Z.B:
renderables:
- identifier: field-with-translation-arguments
type: Checkbox
label: This is a %s feature
renderingOptions:
translation:
translationFiles:
10: "EXT:mysitepackage/Resources/Private/Language/locallang.xlf"
arguments:
label:
- useful
Ergibt nicht wie zu erwarten "This is a useful feature" sondern "This is a %s feature".
In nächsten Schritt habe ich versucht das folgende Beispiel umzusetzen:
renderables:
fieldWithTranslationArguments:
identifier: field-with-translation-arguments
type: Checkbox
label: I agree to the <a href="%s">terms and conditions</a>
renderingOptions:
translation:
translationFiles:
10: "EXT:mysitepackage/Resources/Private/Language/locallang.xlf"
locallang.xlf
<trans-unit id="<form-id>.element.field-with-translation-arguments.properties.label">
<source><![CDATA[I agree to the <a href="%s">terms and conditions</a>]]></source>
</trans-unit>
lib.form.typoscript
plugin.tx_form {
settings {
formDefinitionOverrides {
testformular {
renderables {
0 {
# Page
renderables {
fieldWithTranslationArguments {
renderingOptions {
translation {
arguments {
label {
0 = TEXT
0.typolink {
# Terms and conditions page, could be
# set also via TypoScript constants
parameter = 42
returnLast = url
}
}
}
}
}
}
}
}
}
}
}
}
}
Das resultiert in dem Fehler "Identifier not set" im Frontend.