Feature: #81363 - EXT:form - support form element translation arguments¶
See forge#81363
Description¶
Passing arguments to form element property translations is now supported to enrich translations with variable values.
This works for simple, static values purely in YAML:
renderables:
fieldWithTranslationArguments:
identifier: field-with-translation-arguments
type: Checkbox
label: This is a %s feature
renderingOptions:
translation:
translationFile: path/to/locallang.xlf
arguments:
label:
- useful
Alternatively, translation arguments can be set via form
in TypoScript. A common usecase is a checkbox for user confirmation linking to details of
the topic:
renderables:
fieldWithTranslationArguments:
identifier: field-with-translation-arguments
type: Checkbox
label: I agree to the <a href="%s">terms and conditions</a>
renderingOptions:
translation:
translationFile: path/to/locallang.xlf
plugin.tx_form {
settings {
formDefinitionOverrides {
<form-id> {
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
}
}
}
}
}
}
}
}
}
}
}
}
}
Important
There must be at least one translation file with a translation for the configured form element property. Arguments are not inserted into default values defined in a form definition.
The same goes for finisher options:
finishers:
finisherWithTranslationArguments:
identifier: EmailToReceiver
options:
subject: My %s subject
recipientAddress: foo@example.org
senderAddress: bar@example.org
translation:
translationFile: path/to/locallang.xlf
arguments:
subject:
- awesome
Impact¶
Form element property translations and finisher option translations can now use placeholders to output translation arguments.