Переведите пользовательские validationErrorMessages в typo3 формы с помощью locallang.xlf - PullRequest
0 голосов
/ 09 июля 2019

Я использую locallang.xlf для перевода моей формы (typo3 9.5.5, formextension).

my customform.yaml:

       renderables:
          -
            properties:
              fluidAdditionalAttributes:
                required: required
              validationErrorMessages:
                -
                  code: 1221560910
                  message: 'My Custom Message'
                  code: 1221560718
                  message: 'My Custom Message'
                -
                  code: 1347992400
                  message: 'My Custom Message'
                -
                  code: 1347992400
                  message: 'My Custom Message'
              options:
                products: 'Products'
                miscellaneous: 'Sonstiges'
              prependOptionLabel: 'Please Specify'
            type: SingleSelect
            identifier: subject
            label: 'Your Subject:'
            validators:
              -
                identifier: NotEmpty
          -

my locallang.xlf:

        <trans-unit id="element.subject.properties.prependOptionLabel">
            <source>Please Specify --Works!</source>
        </trans-unit>
        <trans-unit id="element.subject.properties.options.products">
                <source>Products --Works!</source>
        </trans-unit>
    <trans-unit id="element.subject.properties.validationErrorMessages.message">
            <source>Custom Message -Doesn't work!</source>
        </trans-unit>

С точным ключом перевода это работает, за исключением validationErrorMessages.Кто-нибудь знает, как их перевести?

Танки заранее, Milenoi

1 Ответ

0 голосов
/ 09 июля 2019

Вы можете использовать следующие ключи перевода для проверки кодов ошибок. 1221559976 - это код для валидатора EmailAddress:

<trans-unit id="validation.error.1221559976">
    <source>Please enter valid email address. Thanks!</source>
    <target>Bitte gebe eine gültige E-Mail-Adresse ein. Danke!</target>
</trans-unit>
<trans-unit id="MyContactForm.validation.error.1221559976">
    <source>Please enter valid email address. Thank you very much!</source>
    <target>Bitte gebe eine gültige E-Mail-Adresse ein. Vielen herzlichen Dank!</target>
</trans-unit>

Последний будет переопределять первый, поскольку он содержит идентификатор формы и, следовательно, более конкретен.

Имейте в виду, что оба эти ключа перевода не будут работать, если вы уже установили пользовательское сообщение в своем определении формы!

Это означает, что последние три строки следующего примера должны быть удалены:

renderables:
  -
    defaultValue: ''
    identifier: email
    label: Email
    type: Text
    properties:
      fluidAdditionalAttributes:
        placeholder: 'Email address'
      ### Don't set this if you want to translate the message:
      #validationErrorMessages:
      #  - code: 1221559976
      #    message: 'Please enter a valid email address, dear.'
...